Bestaande database normaliseren
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
maar dit is al een bestaande database
in de tutorial gaan ze er 1 opbouwen
Pak gewoon alle velden uit je access database en volg de tutorial en kijk nooit meer naar de oude DB
dank
gr,
terry
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"
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
Dat is het hele nut van normaliseren :)
tabelnaam
kolomnaam van de sleutel int(11)
kolomnaam (varchar 255)
kolomnaam (text)
...
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)
...
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
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.
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??
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...
Crispijn schreef op 13.02.2008 10:47:
Nee, want die is niet goed...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...
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.
Nee, dat begrijp ik Frank, alleen kan je wel voor een groot deel zien wat bij wat hoort lijkt mij...
Crispijn schreef op 13.02.2008 10:58:
Begin met een schone lei, dat zorgt niet voor verwarring.Nee, dat begrijp ik Frank, alleen kan je wel voor een groot deel zien wat bij wat hoort lijkt mij...
zelfs voor mij..
ook zou ik graag willen weten of ik de kolomnamen die meerdere keren voorkomen eruit kan halen?
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.