Toon posts:

[Database] Hoe indelen...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil dus een van mijn sites veel meer laten samenhangen, ik heb nu voor de verschillende onderdelen:

-Nieuws
-Members
-Personal Info
-Speeltijden

allemaal een eigen database...Wat niet zo handig is...

Ik wil nu dus alles in een database, en zelfs, in een tabel zetten...zodat ik bijv. dmv een menu'tje snel kan zien wat de laatste acties van de members\andere admin zijn geweest...Deze laat ik dan opslaan onder "acties".

Ik dacht zelf om het ongeveer zo in te delen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
+--+----------+------+------+------+--------+--------+----+
|Id|Type    |news_1|news_2|news_3|username|password|ETC.|
+--+----------+------+------+------+--------+--------+----+
|  |news    |   |   |   |   X    |    X   |    |
+--+----------+------+------+------+--------+--------+----+
|  |members   |  X   |   X  |   X  |      |   |    |
+--+----------+------+------+------+--------+--------+----+
|  |member    |  X   |   X  |   X  |   X    |    X   |    |
+--+----------+------+------+------+--------+--------+----+
|  |speeltijd |  X   |   X  |   X  |   X    |    X   |    |
+--+----------+------+------+------+--------+--------+----+
|  |design    |  X   |   X  |   X  |   X    |    X   |    |
+--+----------+------+------+------+--------+--------+----+
|  |acties    |  X   |   X  |   X  |   X    |    X   |    |
+--+----------+------+------+------+--------+--------+----+
|  |wars    |  X   |   X  |   X  |   X    |    X   |    |
+--+----------+------+------+------+--------+--------+----+

Ook wil ik nog design, dat wordt dus alle kleurtjes van de site enzo, kunnen indelen, daarom bij Type design erbij...en dan ook nog de info of de wars, die komen er ook nog bij...

Verwijderd

zucht :'(

Verwijderd

Topicstarter
Op zondag 30 juni 2002 15:14 schreef woeitje het volgende:
zucht :'(
Als je nix beters te doen hebt post dan niet...
Is dit een goede manier om mijn database in te delen, of kan dit gewoon veel efficienter (ofzo)???

Verwijderd

waarom in godsnaam in 1 tabel?

het is toch veel overzichtelijker als je gewoon ff binnen de db meerdere tabellen aan maakt..

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Scheidt de informatie op basis van de gegevens die ze representeren. Dus maak meerdere tabellen:
- nieuws
- members
- speeltijden

Vervolgens kan je met een query al deze tabellen samenvoegen tot 1 overzicht (wat jij wilt).

Maar allereerst zou ik de basis van database design gaan leren.

Verwijderd

Topicstarter
Op zondag 30 juni 2002 15:25 schreef Tw^st3D het volgende:
waarom in godsnaam in 1 tabel?

het is toch veel overzichtelijker als je gewoon ff binnen de db meerdere tabellen aan maakt..
Ja, dat zou kunnen...maar ik wil weten of ik dezelfde doelstelling kan halen:

Voorbeeld: Als een member zijn persoonlijke gegevens veranderd, wil ik dat laten opslaan onder het Type acties, die de admin dan weer kan uitlezen...

Voorbeeld2: Als de member zijn naam veranderd bij persoonlije gegevens, moet de naam bij bijv. speeltijden ook veranderd worden...

Verwijderd

Database design is een heel hoofdstuk apart..

Kort:

De clou van het verhaal is dat je wilt voorkomen dat 1 gegeven meerdere malen in je database voorkomt. Dit doe je door de gegevens op zo'n manier in te delen dat dit niet gebeurd.

Als ik bv. naar jouw tabel kijk dan zie ik dat het gegeven 'username' meerdere keren gaat voorkomen. Post bv. user jantje 10x iets dan staat er 10x 'jantje' ergens ingevuld. Dat is niet handig, stel dat je jantje wilt wijzigen in pietje (meer 1337 naam) dan zul je dat op 10 plaatsen moeten doen. Daarnaast wil je voorkomen dat er onnodig ongebruikte velden inzitten.

HEt door jou opgestelde schema is erg warrig, hoe ziet die tabel er nou precies uit? Wat zijn de velden?

Als ik het zo bekijk zou ik voor elk onderdeel een aparte tabel houden (wel in 1 database), je zou hooguit members en personal info kunnen combineren.

Handig bij het ontwerpen van een database is Powerdesginger van Sybase. Je kunt daarvan een 30-dagen-proefversie downloaden van hun website

Ik zou wat meer tijd nemen om me hier in te verdiepen als ik jou was, een goed opgezette database maakt je leven verderop in je project echt 10x makkelijker.

Misschien dat dit artikel overdatabase design en normalisatie een leuk begin is.

  • Vigory
  • Registratie: November 2000
  • Laatst online: 15-04 10:26
Zoals Orphix zegt: ik zou eerst de basis van database design gaan leren.

Een kleine tip: laat iemand zijn member naam niet veranderen, maak deze los van de loginnaam of gebruik een user_id (int). Dan hoef je niet in alle tabellen de naam te gaan wijzigen.

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Voorbeeld: Als een member zijn persoonlijke gegevens veranderd, wil ik dat laten opslaan onder het Type acties, die de admin dan weer kan uitlezen...
Je slaat de gemuteerde gegevens dmv een UPDATE op in de 'members' tabel. In de tabel 'acties' voeg je een nieuw record toe die aangeeft dat de actie is gebeurd.
Voorbeeld2: Als de member zijn naam veranderd bij persoonlije gegevens, moet de naam bij bijv. speeltijden ook veranderd worden...
De naam van je member mag in de hele database maar 1 keer voorkomen!
Je koppelt een speeltijd aan een memberid en dat memberid geeft vervolgens aan welke naam erbij hoort.

Nogmaals dit is vrij basic allemaal, als je een paar pagina's op het internet leest zal je al een stuk verder zijn.

Verwijderd

Topicstarter
Hmm thxs :)
Ik zal na het krijgen van mijn rapport eens goed gaan kijken en zoeken wat ik allemaal wil etc.

Thxs voor de uitleg en urls :)
Pagina: 1