Toon posts:

Database Ontwerp

Pagina: 1 2 Laatste
Acties:
  • 488 views sinds 30-01-2008
  • Reageer

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op woensdag 19 december 2001 15:11 schreef Tizzwat het volgende:
Ik heb Dusty's raad eens opgevolgd;
[...]
Klopt het zo een beetje ??
Nee >:)

Je hebt nog steeds 3 tabellen voor de verschillende plekken.. als er nou nog een plek bijkomt ga je dan nog een tabel maken ?

Dat is dus overbodig. Lees Crazy_D's oplossing nog eens door. Als je zijn oplossing begrijpt kan je de mijne gaan proberen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Jah, maar anders krijg ik een attribuuttabel waar ik ze allemaal in pleur..

Misschien is dat dan wel logisch volgens jullie, maar bier hoort toch niet bij uitslag bv.
Ik snap dat zelf niet helemaal (Jah, sorry, minder abstract)

Je zou dus echt een tabel, met attribuutwaardes maken ??
Daar kun je dan later idd attributen bij inzetten.

Ik was idd van plan voor een andere plek een andere tabel aan te maken |:( weet niet beter..

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
let op:


a)
====
pid = 1,2
pnaam = voetbal, uitgaan

b)
====
zid = 1,2,3
znaam = "rotterdam", "disco de boer","1-2"

c)
====
pid
zid
Nu maak je meerdere records aan:
1 - 2 (=voetbal,disco de boer)
1 - 1 (=rotterdam)

Hij is dus wezen voetballen in disco de boer in Rotjeknor 8-)

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 19:13

Crazy D

I think we should take a look.

Op woensdag 19 december 2001 15:31 schreef Nielsz het volgende:
Hij is dus wezen voetballen in disco de boer in Rotjeknor 8-)
:D
Zit ik net te bedenken hoe ik het anders kan verwoorden (lukte dus niet...), kom jij het ff lekker verduidelijken :D
Nou ja, hij heeft toch nergens gezegt dat het _niet_ om tafelvoetbal gaat, dus het kan best zijn dat ze in de disco hebben gevoetbald :P

Maar ik haak af, ik weet niet hoe ik het kan uitleggen hoe ik tot die gedachte kwam (behalve dan door te verwijzen naar m'n latere post, met 5 extra velden in het artikelbestand....). Ik snap je probleem, maar uitleggen kan ik het niet...

Exact expert nodig?


Verwijderd

Topicstarter
Op woensdag 19 december 2001 15:37 schreef CrazyD_at_work het volgende:

:D
Zit ik net te bedenken hoe ik het anders kan verwoorden (lukte dus niet...), kom jij het ff lekker verduidelijken :D
Ik begrijp het ook niet nee...

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

tabel1
------
plaatsid
typeplaatsid

tabel2
--------
plaatsid
attribuutid
waarde




voor voetbal voeg je dus attributen toe (altijd indezelfde volgorde..)

Voor uitgaan voer je ook een aantal attributen toe.

Je kan afleiden aan de type van de plaats hoeveel attributen erbij horen.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op woensdag 19 december 2001 15:38 schreef dusty het volgende:
tabel1
------
plaatsid
typeplaatsid

tabel2
--------
plaatsid
attribuutid
waarde




voor voetbal voeg je dus attributen toe (altijd indezelfde volgorde..)

Voor uitgaan voer je ook een aantal attributen toe.

Je kan afleiden aan de type van de plaats hoeveel attributen erbij horen.
Dat zeg ik net :)

Verwijderd

Topicstarter
Op woensdag 19 december 2001 15:38 schreef dusty het volgende:
tabel1
------
plaatsid
typeplaatsid

tabel2
--------
plaatsid
attribuutid
waarde
Nog een aantal vragen;

Bij beide tabellen is plaatsid primary key ?

En ik moet dus een aparte tabel met attributen maken, waarin typeplaatsid aangeeft welke attributen er allemaal in moetn ?

Waar is plaatsid en attribuutid dan voor ?

  • Arnout
  • Registratie: December 2000
  • Laatst online: 11-09 16:05
Op woensdag 19 december 2001 15:38 schreef dusty het volgende:
tabel1
------
plaatsid
typeplaatsid

tabel2
--------
plaatsid
attribuutid
waarde
Misschien ga ik iets doms zeggen, maar waar definieer je nu welke attribuuttypen er nu precies zijn? Ik zie alleen maar een attribuutid.

Voor disjunctie 'voetbal' heb je als attribuuttype bijv. 'uitslag'... waar wordt dit opgeslagen?

Verwijderd

Topicstarter
Ik denk dat die attribuutid een primary key van de atribuut tabel wordt, waardoor je attributen van bv. voetbal kan opnemen.

  • Arnout
  • Registratie: December 2000
  • Laatst online: 11-09 16:05
Op woensdag 19 december 2001 17:26 schreef Tizzwat het volgende:
Ik denk dat die attribuutid een primary key van de atribuut tabel wordt, waardoor je attributen van bv. voetbal kan opnemen.
Die tabel ontbreekt dan in Dusty's concept.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

MetHod: Die tabel ontbreekt dan in Dusty's concept.
ehmmm nee.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op woensdag 19 december 2001 16:34 schreef Tizzwat het volgende:

[..]

Nog een aantal vragen;

Bij beide tabellen is plaatsid primary key ?
natuurlijk niet.. bij tabel 2 ga je een gecombineerde PK plaatsen (plaatsid,attribuutid)
En ik moet dus een aparte tabel met attributen maken, waarin typeplaatsid aangeeft welke attributen er allemaal in moetn ?
Je maakt tabel 1 aan om aan te geven wat voor type plaatsID is. ( voetbal, uitgaan , overig e.d.)
Waar is plaatsid en attribuutid dan voor ?
PlaatsID is om aan te geven welke PLAATS het is. (voetbal, uitgaan , overig e.d.)

AttribuutID is om aan te geven welke attribuut van de plaats het is.
ie
plaatsid, attribuutid , waarde
----------------------
1 , 1 , Breda
1 , 2 , De bruine Pij
2 , 1 , NAC
2 , 2 , 27-Dec-2001
2 , 3 , AJAX
2 , 4 , 5-5
2 , 5 , Amsterdam
etc..
----------------------

In de code geef je aan welke attribuutID staat voor welke type.

dus bij Uitgaan staat attr.id 1 voor plaatsnaam
en attr.id 2 voor de naam van waar je bent geweest.
Terwijl bij voetbal opeens attribuut 1 voor de ploeg staat,
attr. 2 voor de datum en dus pas attr. 5 voor de plaatsnaam

betekent dat je dezelfde tabel gebruikt maar door de splitsen mbv die andere tabel met type kan je bepalen welke attributen erbij horen (dus in de code.. niet in de database..)

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Arnout
  • Registratie: December 2000
  • Laatst online: 11-09 16:05
Op donderdag 20 december 2001 09:01 schreef dusty het volgende:

[...]

betekent dat je dezelfde tabel gebruikt maar door de splitsen mbv die andere tabel met type kan je bepalen welke attributen erbij horen (dus in de code.. niet in de database..)
Maar daarmee verlies je toch een stukje flexibiliteit? Als je ook delen in code gaat definiëren?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 20 december 2001 09:07 schreef MetHod het volgende:
[..]
Maar daarmee verlies je toch een stukje flexibiliteit? Als je ook delen in code gaat definiëren?
En bij het definieren van aparte tabellen voor elke verschillende type van plaats ga je nog meer flexibiliteit verliezen. Je kan namelijk ook nog een aparte tabel aanmaken waar je de omschrijvingen aangeef van elke attri.ID bijhorende bij een type. Waardoor je dus een algemene code kan maken.. (moet je alleen wel de goede volgorde in de database gebruiken van attr.ID want je wilt ze waarschijnlijk dan indezelfde volgorde plaatsen.) Maar je brengt JUIST de flexibiliteit hoger door alles in een tabel te plaatsen, immers zodra er een type komt met 8 attributen kan dat ook nog steeds in dezelfde tabel gedaan worden.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Topicstarter
Op donderdag 20 december 2001 09:01 schreef dusty het volgende:


PlaatsID is om aan te geven welke PLAATS het is. (voetbal, uitgaan , overig e.d.)

AttribuutID is om aan te geven welke attribuut van de plaats het is.
ie
plaatsid, attribuutid , waarde
----------------------
1 , 1 , Breda
1 , 2 , De bruine Pij
2 , 1 , NAC
2 , 2 , 27-Dec-2001
2 , 3 , AJAX
2 , 4 , 5-5
2 , 5 , Amsterdam
etc..
----------------------

In de code geef je aan welke attribuutID staat voor welke type.
Ik begrijp nu waar je heen wilt.
Maar is dit echt optimaal genormaliseerd ??

Je hebt bv. straks 30 rijen met 2 of 1 als plaatsid.
Kan dan niet efficienter, met behulp van bv. een aparte tabel plek (met elke plek z'n eigen id)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Tizzwat:
Je hebt bv. straks 30 rijen met 2 of 1 als plaatsid.
Dat is nou juist waar een sleutel voor is. Als je een sleutel herhaalt is het zo min mogelijk data bij geen informatieverlies ;) == normaliseren

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Op donderdag 20 december 2001 09:40 schreef Tizzwat het volgende:
[..]
Ik begrijp nu waar je heen wilt.
Maar is dit echt optimaal genormaliseerd ??
Ja, dit is optimaal genormaliseerd.
Je hebt bv. straks 30 rijen met 2 of 1 als plaatsid.
Kan dan niet efficienter, met behulp van bv. een aparte tabel plek (met elke plek z'n eigen id)
De PK is dus de combinatie van PlekID en AttribuutID. Immers heeft elke "plek" slechts EEN lokatie e.d.

als je dus een tweede voetbal gaat toevoegen krijgt dat een NIEUWE plekID. (het is immers een nieuwe 'plaats')

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1 2 Laatste