Avatar billede thorus Nybegynder
08. august 2003 - 10:38 Der er 8 kommentarer og
3 løsninger

Hvad er en relationsdatabase?

Hvorfor en relationsdatabase?
Avatar billede bufferzone Praktikant
08. august 2003 - 10:43 #1
Fordi denne opsætning er den smarteste måde at opbevare data på, så du undgår at have den samme data liggende mange steder, med mulighed for fejl og spild af plads
Avatar billede keysersoze Ekspert
08. august 2003 - 10:44 #2
En relationsdatabase er en database, hvor data er organiseret i tabeller over systemets "ting" eller enheder, og hvor der imellem disse tabeller er relationer.

Princippet i relationsdatabaser er, at de enkelte data i basen så vidt muligt kun optræder en gang, og det opnår man ved at oprette særskilte tabeller til alle systemets entiteter.
Avatar billede bufferzone Praktikant
08. august 2003 - 10:46 #3
forestil dig f.eks. at du har en simpel adresse database. Post nummer og by vil forekomme mange gange, da du sikkert har mange kontakter fra samme by. Hvis denne database nu bliver stor, med mange tusinde adresser i, vil det bedre kunne betale sig at ligge en tabel med alle postnummre og byer i og så relatere disse data til adresserne, hermed står hvert postnummer og by kun en gang og skal kun rettes et sted, smart
Avatar billede keysersoze Ekspert
08. august 2003 - 10:46 #4
hov - fik trykket for tidligt...

grunden til at det er godt er, at det er den måde der opstår færrest fejl på og samtidig gøre det lettere at vedligeholde data
Avatar billede arne_v Ekspert
08. august 2003 - 10:47 #5
En relations database er en database bygget op med et bestemt logisk view.

En database består af et antal tabeller (relationer). En tabel
har et antal felter (attributter) og kan indeholde et antal
rækker/records (tupler). Felter indeholder kun taomiske værdier.
Rækker i tabeller kan knyttes sammen udfra felter med samme
værdi.

Navnene i parentes er de rigtige i henhold til relationel database
teori. Men man bruger normalt de andre.

Der ligger en solid teori bag relationelle databaser. En af
hoved pointerne er at undgå inkonsistente data. Det er et
applikations problem at undgå forkerte data, men databasen
kan sikre mod inkonsistente data.
Avatar billede thorus Nybegynder
08. august 2003 - 10:55 #6
dvs. man relatere eks. til et by navn med

tabel:
Bynavne -> id, bynavn

Person data:

Navn, alder, (bynavn -> id fra tabellen Bynavn ik?)
Avatar billede arne_v Ekspert
08. august 2003 - 10:58 #7
Hvis jeg skal brodere lidt på det klassiske postnr by eksempel.

Det er ikke så meget pladsen.

100000 adresser vil spare:
  100000 x 4 bytes - plads til post nummer by tabel = mindre end 400 KB
og det er jo intet idag.

Men hvis man gemmer postnummer og by for hver adresse, så kan man komme
i inkonsistent state og have:

* 6000 Kolding
* 7000 Kolding
* 7000 Fredericia

Hvis man splitter op bil man have:

* 6000
* 7000
* 7000

6000 Kolding
7000 Fredericia

Det kan meget vel være at den anden adresse i virkeligheden er
forkert (og at den er i Kolding).

Men data er stadig konsistente.
Avatar billede thorus Nybegynder
08. august 2003 - 11:03 #8
arne v -> så i dit eks. er postnr det som finder by navn
Avatar billede arne_v Ekspert
08. august 2003 - 11:17 #9
Ja.

Eller på relationelsk:
  postnummer er en fremmed-nøgle i adresse tabellen som peger på en
  primær nøgle i postnummer-by tabellen
Avatar billede arne_v Ekspert
18. august 2003 - 23:32 #10
thorus>

Tid at lukke spørgsmålet ?
Avatar billede arne_v Ekspert
10. september 2003 - 22:23 #11
??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester