Avatar billede jipjap Nybegynder
25. marts 2015 - 18:21 Der er 3 kommentarer

Databasestruktur til kalender med flere bruger

Jeg vil gerne lave en database som skal fungerer som kalender. Jeg har følgende forudsætninger/ønsker/krav og har forsøgt at lave en struktur og vil gerne have jeres bud på om det ser rigtigt ud

- Der er mange bruger af kalenderne (users)
- Hver bruger har sin egen kalender
- Hver bruger kan oprette flere events i sin egen kalender
- En event har en eventstype (Job, fest, Træning, Fritid m.m.).
- Brugeren kan oprette flere/mange typer
- Det er (selvfølgelig) muligt med flere events på samme tid

Databasemodel:

PK = Primary Key
FK = Foreign Key

User
———-
ID (PK) - INTEGER
Navn - VARCHAR(30)
Alder - INTEGER
kalendernavn - VARCHAR(30)

Kalender
———-
Navn (PK) - VARCHAR(30)

Event
———-
ID (PK) - INTEGER
Navn - VARCHAR(30)

Type
———-
Navn

User.Type.
————-
User.ID (Delt PK, FK) - INTEGER
Type.navn (Delt PK, FK) - VARCHAR(30)

Jeg har forsøgt selv at holde styr på det ved at skrive disse statesment:

Kalender-user er en 1:1 releation, da en kalender kun har en user, og en user kun har en kalender
Kalender-event er en 1:M relation, da en kalender indeholder mange events, men en event kun har en kalender
Type-event er en 1:M relation, da en type kan være indeholdet i mange events, men en events kun kan have en type
User-event er en 1:M, da en user har mange events, men en event kun har en user
User-Type er en M:M da en user har mange typer og en type har mange user
Kalender-Type er en 1:M da en kalender har mange typer, men en type har kun en kalender
Avatar billede martinlind Nybegynder
25. marts 2015 - 19:53 #1
jeg ville ha en user-db med en userid og en kalender-db med en kalenderid og så ville jeg ha en kalender_user-db med en userid og en kalenderid, så kan en user ha' sin egen og være med i fælles kalender, samme princip ville jeg bruge til event's
Avatar billede claes57 Ekspert
25. marts 2015 - 20:03 #2
Hvis man nu holder fødselsdag (event) og har inviteret 10 personer, så kan de ikke oprette samme event? Det skal da deles.
Du tænker i user, event, type. Prøv i stedet at beskrive ting i en kalender, og hvad der deles med andre. Jf mit eksempel - hvis nu fødselar har inviteret 10, og bagefter flytter arrangement pga uforudset hændelse, så retter han i sin kalender, og der går automatisk besked til de tilmeldte, som får ajourført deres kalendere.
Avatar billede MADOlsen Forsker
26. marts 2015 - 13:21 #3
Og apropos fødselsdag, så er det en dum idé at have et felt med brugerens alder, da den jo vil skulle opdateres, hver gang vedkommende fylder år. Det er derfor bedre at gemme folks fødselsdage, da den aktuelle alder jo så vil kunne udregnes pba. denne.
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