Bestaande database normaliseren

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Terry

Terry

12/02/2008 12:08:00
Quote Anchor link
Hallo,
voor mijn stage moet ik een bestaande Access database ombouwen tot een SQL-server database
allereerst moet ik de oude database normaliseren, omdat dit toen niet gebeurd is
zijn er nog bepaalde tactieken om zoiets aan te pakken?
iedereen met informatie is welkom

alvast bedankt

gr,
terry
 
PHP hulp

PHP hulp

27/04/2024 17:45:18
 
Jacco Engel

Jacco Engel

12/02/2008 12:10:00
 
Terry

Terry

12/02/2008 12:16:00
Quote Anchor link
ja, die heb ik gezien
maar dit is al een bestaande database
in de tutorial gaan ze er 1 opbouwen
 
Jacco Engel

Jacco Engel

12/02/2008 12:17:00
Quote Anchor link
Je kunt geen database normaliseren. Normaliseren doe je met waardes dat is het hele punt van normaliseren.

Pak gewoon alle velden uit je access database en volg de tutorial en kijk nooit meer naar de oude DB
 
Terry

Terry

12/02/2008 12:20:00
Quote Anchor link
oke, ik ga het proberen
dank

gr,
terry
 
Gerben Jacobs

Gerben Jacobs

12/02/2008 13:53:00
Quote Anchor link
Ook nog een tip die ik altijd handig vind/gebruik is "als je twee keer dezelfde waarde hebt/invoegt/typt dan klopt er iets niet"
 
Terry

Terry

13/02/2008 08:53:00
Quote Anchor link
Nog ff een vraagje:
ik heb nu alle velden uit de database opgeschreven
nu kom ik meerdere malen dezelfde kolomnaam tegen
hoe los ik dit op? is mij niet helemaal duidelijk
 
Jacco Engel

Jacco Engel

13/02/2008 09:08:00
Quote Anchor link
Dat is het hele nut van normaliseren :)
 
Terence Hersbach

Terence Hersbach

13/02/2008 09:12:00
Quote Anchor link
geef alle velden en de oude structuur eens. dan zijn er vast mensen die je helpen. (gebruik de volgende noteermethode voor de duidelijkheid:
tabelnaam
kolomnaam van de sleutel int(11)
kolomnaam (varchar 255)
kolomnaam (text)
...
 
Terry

Terry

13/02/2008 09:17:00
Quote Anchor link
Terence schreef op 13.02.2008 09:12:
geef alle velden en de oude structuur eens. dan zijn er vast mensen die je helpen. (gebruik de volgende noteermethode voor de duidelijkheid:
tabelnaam
kolomnaam van de sleutel int(11)
kolomnaam (varchar 255)
kolomnaam (text)
...


De database bevat 25 tabellen waarvan 1 tabel 38 kolommen heeft, en zo zijn er nog een paar tabellen met veel kolommen

lijkt me niet echt handig om dit allemaal te posten

ik kan wel ff een deel van de tabellen plaatsen met slechts een deel van de kolommen, om verschillende redenen zal ik geen tabelnamen noemen..
tabelnaam
nummer int(11)
opmerking varchar(255)

andere tabelnaam
id int(10)
opmerking varchar(255)

deze tabellen zijn aan elkaar gelinkt, maar de opmerking uit tabel 1 is anders dan de opmerking uit tabel 2
komt er dan straks een tabel waarin alle opmerkingen staan met een bepaald id erbij ofzo?
Gewijzigd op 01/01/1970 01:00:00 door Terry
 
Frank -

Frank -

13/02/2008 10:14:00
Quote Anchor link
Tja, dat je geen bedrijfsdata prijs wilt geven, ok, maar het zijn juiste de tabelnamen die zeggen wat er in de tabel staat.

users;
id
naam

huisdieren:
id
id_user
naam

Nu kun je per user de huisdieren opslaan, id_user zal de foreign key worden naar de tabel users. In beide tabellen staat een kolom 'naam', maar dit betreft verschillende data.

Het is al gezegd, maar een database ga je niet normaliseren, je gaat de data normaliseren en daar komt dan een datamodel uitrollen. Dit datamodel ga je gebruiken om een database op te bouwen. Dus hoe e.e.a. nu in je Access-database staat, is eigenlijk niet interessant, het kan je zelfs op het verkeerde been zetten.

Maak één lijst met een overzicht van álle soorten data die in de database staan, samen met een korte beschrijving. Ga dat vervolgens normaliseren, dat lijkt mij betere input dan de huidige foute database.
 
Terry

Terry

13/02/2008 10:21:00
Quote Anchor link
@pgFrank, ik snap denk ik wat je bedoelt

Cellijnnummer
Aanvrager
Kweekstartdatum
Aantal
Doel
Afleverdatum
Aflever_sub
Ampullen_nodig
Ampullen_klaar
Ampullen_sub
Opmerking
Aantal_afgeleverd
Ampullen_datum
Mycoplasmatest_nodig
Sup_afnamedatum
Nogmeer
Mycoplasma_sub
Afgewerkt
Startsub
Startpassage
Afleveringspassage
Ampullenpassage
Aantalampullen
nummer
lade
vak
concentratie
opmerking
Cellijnnummer
Adres
Postcode
Woonplaats
Telefoon prive
Telefoon werk
Faxnummer
Emailadres
Bijwerkdatum
Afkorting
Aandoening
Belanghebbende
Toelichting
cellijnnummer
conc stock
isolatiedatum
Cellijnnummer
Voorletters
Naam
Geslacht
Geboortedatum
Familiecode
Aandoening
Celtype
Opmerking
EDTA
HEPARINE
Afzender
Onderzoeker
Datum binnenkomst
A_D_NA
Correspondentie
Neuro(nummer)
Stikstof
Aantal-N2
specificatie-afzender
Uitgevoerd 1
Uitgevoerd 2
Proband/relative
Uitgevoerd 3
Ingevuld
datum bloedafname
tijd bloedafname
Radboudnummer
DNA-diagnostieknummer
Cytogeneticanummer
Briefgegevens
Toestemmingsformulier
Specificatie diagnose
Klinische Geneticanummer
informed consent bij ons
informed consent bij afzender
informed consent bij onderzoekers
geen informed consent
Celtype
Omschrijving
Diagnose
Toelichting
Groep
Hoofdgroep
Diagnosenummer
cellijnnummer
Lade
Vak
Concentratie
Opmerking
Verwisseling
Doel
Cellijnnummer
Medium
FCS
Celtype
Toevoeging
Opmerkingen
Antibioticum
Cellijnnummer
Sub-nummer
Passage-nummer
Datum
Handeling
Aantal cellen
Onderzoeker
Plaats ampullen
Aantal ampullen ingevroren
Aantal ampullen over
Opmerkingen
Nummer
Lade
Vak
Media
Cellijnnummer
Naam_arts
Adres_arts
postcode_arts
woonplaats_arts
telefoonnummer_arts
specialisme_arts
ID
Mediumtoevoegingen
Cellijnnummer
volgnummer
Gen(HGMDnaam)
Accession nr cDNA
Methode
Allel1(DNA)
Allel1(eiwit)
Allel1(SNP rs nr)
Allel2(DNA)
Allel2(eiwit)
Allel2(SNP rs nr)
Onderzoeker
Datum onderzoek
Labjournaal
opmerking
CELLIJNNUMMER
SUB
TESTDATUM
RESULTAAT
OPMERKING
CELLIJNNUMMER
SUB
TESTDATUM
RESULTAAT
DOEL
Onderzoeker
Voornaam
Tussenvoegsel
Achternaam
Afdeling/sectie
Cellijnnummer
volgnummer
Naar wie
Wanneer
Lade
Vak
Nummer
Afzender-specificatie
Transformatieresultaat
Cellijnnummer
Opdrachtgever
Aandoening
Datum aanvraag
Datum 1e transformatie
Resultaat 1e transformatie
Datum 2e transformatie
Resultaat 2e transformatie
Datum 3e transformatie
Resultaat 3e transformatie
Opmerking
Aantal ampullen na transformatie
Afleverdatum
EBV-lijn gelukt
Afgewerkt

sorry voor de lange lijst, maar dit zijn alle kolomnamen die ik uit de database geplukt heb
is het nu de bedoeling dat ik overal maar 1 verschillende kolomnaam neem
dus uit deze lijst 10 keer ofzo cellijnnummer verwijder??
 
Crispijn -

Crispijn -

13/02/2008 10:47:00
Quote Anchor link
Dit is een beetje onoverzichtelijk zo. Het geeft ons wat meer inzicht als je de oude tabel structuur er in weergeeft. We kunnen zo niet zeggen wat bij wat hoort en waar dus de koppelingen moeten komen...
 
Frank -

Frank -

13/02/2008 10:51:00
Quote Anchor link
Crispijn schreef op 13.02.2008 10:47:
Dit is een beetje onoverzichtelijk zo. Het geeft ons wat meer inzicht als je de oude tabel structuur er in weergeeft. We kunnen zo niet zeggen wat bij wat hoort en waar dus de koppelingen moeten komen...
Nee, want die is niet goed...

Ga nu m.b.v. de tutorial deze data op je gemak normaliseren. Daar kunnen wij je moeilijk mee helpen, wij kennen de relaties niet, veel dingen zeggen mij echt helemaal niks.

Gewoon rustig aan beginnen en de boel via de 1e normaalvorm, naar de 2e normaal loodsen en dan de 3e normaalvorm, etc.
 
Crispijn -

Crispijn -

13/02/2008 10:58:00
Quote Anchor link
Nee, dat begrijp ik Frank, alleen kan je wel voor een groot deel zien wat bij wat hoort lijkt mij...
 
Frank -

Frank -

13/02/2008 11:04:00
Quote Anchor link
Crispijn schreef op 13.02.2008 10:58:
Nee, dat begrijp ik Frank, alleen kan je wel voor een groot deel zien wat bij wat hoort lijkt mij...
Begin met een schone lei, dat zorgt niet voor verwarring.
 
Terry

Terry

13/02/2008 11:11:00
Quote Anchor link
ik ben er inmiddels aan begonnen, maar tis nogal onoverzichtelijk
zelfs voor mij..

ook zou ik graag willen weten of ik de kolomnamen die meerdere keren voorkomen eruit kan halen?
 
Frank -

Frank -

13/02/2008 11:16:00
Quote Anchor link
Nee.

Meerdere tabellen kunnen dezelfde kolomnamen hebben. In deze kolommen staat echter andere data. Denk aan eigenaars en hun huisdieren, 2 soorten data, die beiden een naam hebben. Dan heb je dus 2x een kolom 'naam', maar met verschillende data in verschillende tabellen.

Komt nog eens bij dat je nog láng niet klaar bent en dus nog helemaal niet toe bent aan het weggooien van gegevens. Je bent klaar wanneer je alle data op de juiste manier in de database hebt staan. Dat je dan niet alle huidige kolomnamen nodig hebt, dat blijkt dan vanzelf wel.
 



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.