Avatar billede chr.kj Nybegynder
18. maj 2009 - 21:07 Der er 11 kommentarer og
1 løsning

Hjælp til spørgsmål ang. kardinalitet.

Jeg har et spørsgmål ang. kardinalitet.

Hvordan finder man ud af kardinaliteten for relationer?

Siger man f.eks ved 1:N - Er det så at 1 person kan booke mange værelser på samme tidspunkt men et værelse kan kun være booket af en person på et givent tidspunkt, eller vil det være en N:M situation fordi man ikke ser på tidspunktet, men blot at mange personer kan på det et tidspunkt booke mange værelser og mange værelser kan bookes af mange personer?

Takker for hjælpen :)
Avatar billede arne_v Ekspert
19. maj 2009 - 01:22 #1
Er der en eller mange rækker i person tabellen som peger samme række i værelse tabellen ?
Avatar billede chr.kj Nybegynder
19. maj 2009 - 08:30 #2
Hej arne_v

Jeg forstår ikke helt dit spørgsmål?

Hver person record vil indeholdende Navn, telefonnummer, adresse, postnr og by.

Hver værelse record vil indeholde Varelsenr, type og lejeperiode.

Gav det svar på sit spørgsmål, eller er det noget helt andet?
Avatar billede mcb2001 Nybegynder
19. maj 2009 - 10:41 #3
Er ikke helt sikker på hvad du vil bruge dit spørgsmål til. Men du kan da starte med et historisk indblik i kardinalitet:

http://en.wikipedia.org/wiki/Hilbert%27s_paradox_of_the_Grand_Hotel
Avatar billede chr.kj Nybegynder
19. maj 2009 - 10:53 #4
Mit spørgsmål går ud på at jeg er i tvivl om hvordan man helt præcist finder ud af kardinaliteten mellem to relationer.

Jeg er i tvivl om man siger at 1 person kun kan booke 1 værelse på et givent tidspunkt/periode (f.eks. 170/5/2009) altså om kardinalitets forhold siges om en periode eller om man kigger overordnet på det og derved opnår en M:N kardinalitet altså man siger at flere personer kan booke flere værelser - Man kigger altså ikke på tidspunktet/perioden, men blot at værelset kan bookes af flere personer og omvendt.

Gav det mening?
Avatar billede mcb2001 Nybegynder
19. maj 2009 - 10:57 #5
jamen - hvad lyder den opgave du skal have svar på?
Avatar billede chr.kj Nybegynder
19. maj 2009 - 11:13 #6
Mit problem/spørgsmål opstammer fra følgende:

1 gæst kan booke flere faciliteter, f.eks. 1 bordtennisbane, 1 badmintonbane osv. I denne har jeg lavet en relation mellem entiteten GÆST og entiteten FACILITET som 1:N altså 1 gæst kan booke mange faciliteter, men en facilitet kan kun bookes af 1 gæst ad gangen.

Samtidigt er der et center hvor der er plads til f.eks. max 10 personer samtidigt. I denne relationer har jeg lavet kardinalitetes forholdene mellem entiteten GÆST og entiteten CENTER til M:N da mange gæster kan booke sig ind i et center samtidigt og et center kan have mange gæster booket ind samtidigt.

Dette er lavet i mit ER-diagram

I mit EER diagram har jeg så fundet frem til at ved at lave en superklasse/sub klasse kan jeg i princippet samle center med facilitet og gøre både baner og center til subklasser af en facilitets entitet. Dette afhænger af om hvordan kardinaliteten "siges" og det er min problemstilling, for hvis kardinaliteten udregnes fra samtidig booking så vil jeg ikke kunne samle center og baner da den ene vil være 1:N (for banerne) og den anden N:M (for center).

Gav det mening?
Avatar billede mcb2001 Nybegynder
19. maj 2009 - 11:21 #7
hvis du laver en facilities superklasse, og i den bruger et tal til antallet af samtidige bestilliger for en given enhed, vil du i bordtennis kunne sætte denne til 1 eller 2, og i center subklassen kunne sætte denne til 10...

Så får du noget der minder om en relation 1:N, for begge, da du jo ikke har N:M i nogle tilfælde.
Du har K:N, (hvor K er en konstant) og dette er i grænseværdi sammenhænge fuldstændigt det samme som 1:N.
Hvorimod N:M ikke er det samme, da N og M er vilkårligt store.

Så dit problem er at du regner forkert, og at begge dine problemer har samme kardinalitet, nemlig 1:N !!!
Avatar billede chr.kj Nybegynder
19. maj 2009 - 11:56 #8
Jeg kan desværre ikke helt forstå hvad du mener?
Avatar billede chr.kj Nybegynder
19. maj 2009 - 12:16 #9
Efter at have rystet hovedet og kigget dit svar igennem igen har jeg så forstået det korrekt:

Ingen af mine entiteter har relation N:M men både for booking i center og af bane er der tale om en 1:N kardinalitet - er det korrekt?

I så fald kan jeg ikke helt forstå hvorfor? Siger man ikke at ved center entiteten (hvor der er plads til 10 ad gangen) at flere gæster kan booke sig ind i centeret samtidigt og centeret kan have flere bookende gæster samtidigt?
Avatar billede mcb2001 Nybegynder
19. maj 2009 - 12:38 #10
jo, ganske rigtigt kan flere gæster booke den samme ting samtidigt.
MEN det er ikke vilkårligt mange der kan booke sig ind, men et meget begrænset antal. Derfor kardinaliteten K:N --> 1:N
Avatar billede chr.kj Nybegynder
19. maj 2009 - 13:13 #11
Altså hvis man kender det præcise antal f.eks. max 10 vil det svare til en 1:N hvor i mod hvis man ikke kender antallet eller der ikke er en begrænsning i antal deltagelser vil det være en N:M situation?

Besvar med et Svar lige for du har hjulpet mig med mit spørgsmål.

Mange tak for hjælpen og dine hurtige svar :)
Avatar billede mcb2001 Nybegynder
19. maj 2009 - 13:34 #12
Ja, lige præcis.

Kender man ikke antalet (altså er antallet ubegrænset) får du M:N kardinalitet. Men er antallet begrænset vil du få noget der svarer til 1:N kardinalitet.
i bund og grund fordi du regner med grænseværdier.

Eksemplet er at du skal regne (INF er uendelig):
1 / x, for x --> INF hvilket giver 0
k / x, for x --> INF hvilket også giver 0, hvis k er en konstant.
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