Database-structuur: Graag je mening

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tobias Tobias

Tobias Tobias

17/04/2014 17:25:34
Quote Anchor link
Hallo,

Ik ben bezig met een systeem waarmee we op het laboratorium de bereiding van reagentia kunnen opslaan in een logboek.
Ik ben nu bezig de database-structuur vast te leggen, kunnen jullie hierover je mening geven?

Het systeem bevat verschillende testen, vastgelegd in tabel test.
Iedere test bevat een aantal ingrediënten, vastgelegd in tabel ingredient.
Bij iedere bereiding moet worden vastgelegd wanneer en door wie de reagentia is bereid, vastgelegd in tabel bereiding.
Tot slot wordt van ieder ingrediënt per bereiding vastgelegd welk volume gebruikt is, in tabel bereiding_ingredient.

Zie afbeelding voor mijn voorgestelde databasestructuur.
Afbeelding
 
PHP hulp

PHP hulp

19/04/2024 12:13:03
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/04/2014 18:34:50
Quote Anchor link
Helaas een gebroken link
 
Erwin H

Erwin H

17/04/2014 18:38:34
Quote Anchor link
Het plaatje is hier prima te zien.

Als je echt wilt normaliseren zal je nog even verder moeten denk ik. De tabel ingredient(en) is nu meer dan de ingredienten, het slaat namelijk ook op informatie over bepaalde testen. Dat moet niet. Je test-ingredient relatie is een many-to-many relatie. Daar heb je dus een tabel test(en), ingredienten en een koppeltabel nodig.

Zelfde in feite bij de bereiding(en). Je slaat daar de initialen op van de medewerker, maar beter zou zijn een aparte tabel voor de medewerkers en alleen een link naar die tabel in de bereidingen tabel.

Merk ook op dat in mijn ogen een tabel altijd een naam in meervoud zou moeten hebben. Je slaat niet 1 test op die tabel, maar meerdere.
Gewijzigd op 17/04/2014 18:39:08 door Erwin H
 
Tobias Tobias

Tobias Tobias

17/04/2014 18:57:09
Quote Anchor link
Erwin H op 17/04/2014 18:38:34:
Als je echt wilt normaliseren zal je nog even verder moeten denk ik. De tabel ingredient(en) is nu meer dan de ingredienten, het slaat namelijk ook op informatie over bepaalde testen. Dat moet niet. Je test-ingredient relatie is een many-to-many relatie. Daar heb je dus een tabel test(en), ingredienten en een koppeltabel nodig.

In dit geval niet (als ik het goed begrijp). De ingrediënten zijn uniek voor de test. Het komt niet voor dat een ingrediënt voor meerdere testen worden gebruikt.

De medewerkers staan inderdaad in een aparte tabel, maar hun initialen zijn hier de primairy key en altijd uniek, vandaar dat ik deze ook opsla (en niet bv een id)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

17/04/2014 19:01:44
Quote Anchor link
Ik zie hem echt niet :o
 
Tobias Tobias

Tobias Tobias

17/04/2014 19:13:22
Quote Anchor link
poging 2
Afbeelding
 
Erwin H

Erwin H

17/04/2014 19:23:14
Quote Anchor link
Tobias Tobias op 17/04/2014 18:57:09:
In dit geval niet (als ik het goed begrijp). De ingrediënten zijn uniek voor de test. Het komt niet voor dat een ingrediënt voor meerdere testen worden gebruikt.

Als dat zo is, ala. Tenzij je twee keer dezelfde test moet gaan uitvoeren natuurlijk...
Tobias Tobias op 17/04/2014 18:57:09:
De medewerkers staan inderdaad in een aparte tabel, maar hun initialen zijn hier de primairy key en altijd uniek, vandaar dat ik deze ook opsla (en niet bv een id)

Lijkt me een zeer gevaarlijke aanname, om te stellen dat er nooit dubbele initialen komen. Daarnaast is een integer ook weer kleiner dan een string, maar dat terzijde.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

17/04/2014 19:30:51
Quote Anchor link
In Chrome krijg je de eerste wel te zien, in IE niet, de laatste in allebei.

>>In dit geval niet (als ik het goed begrijp). De ingrediënten zijn uniek voor de test. Het komt niet voor dat een ingrediënt voor meerdere testen worden gebruikt.

Weet je dat zeker?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.