Musikregistrets design
Dette er en kort beskrivelse af designet af "Musikregisteret".
Databasen
Hjertet i systemet er en relationel database med seks tabeller. Database-softwaren er "MySQL". Tabellerne er normaliseret i 3. grad og har derfor ikke samme information i flere end én tabel.Alle tabeller består af mindst to felter/kolonner, som altid skal være der:
- ID
- En skjult nøgle, som er et entydigt nummer, som identifiserer netop denne række. ID bliver brugt til at skabe forbindelse mellem tabeller. F.eks. har en række i Indspilnings-tabellen en kolonne, der hedder kunstner. Denne kolonne består af ID-nummeret på kunstneren i kunstner-tabellen.
- NAVN
- Dette er selve informationen. Det kunne være kunstnernavnet, hvis det er Kunstner-tabellen.

Tabelbeskrivelse
TABLE_NAME | TABLE_COMMENT |
---|---|
bruger | Brugertabellen indeholder alle brugere af systemet. Det bruges til at koble, via tabellen bruger_plader, til pladerne som brugeren har registreret |
bruger_plader | Bruges til at knytte pladerne, som brugeren har valgt til kartoteket, til brugeren. En bruger kan (selvfølgelig) have mange plader, men en plade kan også have mange brugere |
genre | Indeholder mange forskellige genrer, f.eks. musik og film. Bruges af Indspilning |
indspilning | Indeholder information om selve musikken eller videoen på pladen.\nDer kan altså være flere forskellige plader, der bruger denne bestemte indspilning. |
kanaler | Fortæller om pladen er i mono, stereo eller surround. Der kan tilføjes andre typer af kanaler |
komponist | Denne informtion bruges mest til klassisk musik, da det er ret vigtigt at vide om en symfoni er skrevet af Mozart eller Sibelius |
kunstner | Denne tabel er næsten så vigtig som selve indspilningen, da den indeholder navnet på den udførende kunstner eller kunstnere. Det kan være en rockgruppe, en solist eller et helt symfoniorkester |
medie | Hvilket medie medie indeholder indspilningen. Det kunne være en CD, LP eller en DVD |
plade | Plade repræsenterer det fysiske medie, der bærer indspilningen. Det kan være CD eller LP osv. |
Kolonnebeskrivelse
TABLE_NAME | COLUMN_NAME | COLUMN_TYPE | COLUMN_COMMENT |
---|---|---|---|
bruger | ID | int | Dette nummer identificerer brugeren i databasen og nummeret er unikt. |
bruger | NAVN | varchar(255) | Brugerens fulde navn. |
bruger | PASSWORD | varchar(255) | Password i klar tekst på minimum 4 tegn. |
bruger | BRUGERID | varchar(255) | Brugerid er et kort navn som bruges som identifikation af brugeren. Den bruges ikke i databasen. Det gør ID. |
bruger_plader | bruger | int | Nummeret fra BRUGER i tabellen BRUGER. |
bruger_plader | plade | int | Nummeret fra ID i PLADE. |
genre | ID | int | Unikt nummer brugt af tabellen Indspilning. |
genre | NAVN | varchar(255) | Navnet på genren, - f.eks. Rock. |
indspilning | ID | int | Unikt nummer, der repræsenterer indspilningen. Bruges f. eks. i tabellen PLADE til at henvise til indspilningen på pladen. Forskellige plader kan bruge den samme indspilning - f.eks. CD og LP. |
indspilning | NAVN | varchar(255) | Indspilningens navn, - f. eks. "Dark Side of the Moon". |
indspilning | kunstner | int | Et nummer, der peger på kunstneren af indspilningen i kunstnertabellen, - f. eks. "Pink Floyd". |
indspilning | genre | int | Et nummer, der peger på genren i genretabellen, - f. eks. Rock eller Klassisk. |
indspilning | komponist | int | Et nummer, der peger på komponisten af indspilningen, - f. eks. Beethoven. Bruges mest til klassisk musik, da komponisten her er vigtig. |
indspilning | ÅR | int | Indeholder årstallet for indspilningen. Hvis det er en opsamling (f.eks. Greatest Hits), så brug udgivelsesårstallet. |
indspilning | OPSAMLING | tinyint | Kan være "true" eller "false" for om det er henholdsvis en opsamlings-indspildning/plade eller det er en almiondelig plade. |
indspilning | LIVE | tinyint | Kan være "true" eller "false" for om det er henholdsvis en liveplade eller den er optaget i et studie. |
kanaler | ID | int | Unikt nummer til kanaler. |
kanaler | NAVN | varchar(255) | Beskriver hvilken type kanaler der findes. |
komponist | ID | int | Uniks nummer på komponisten. |
komponist | NAVN | varchar(255) | Navnet på komponisten. |
kunstner | ID | int | Unikt nummer på kunstneren. |
kunstner | NAVN | varchar(255) | Navnet på kunstneren. Det kan være en rockgruppe, en solist eller et helt symfoniorkester. |
medie | ID | int | Unikt nummer på mediet. |
medie | NAVN | varchar(255) | Navnet på mediet, - f.eks. CD, LP eller DVD. |
plade | ID | int | Unikt nummer for pladen. |
plade | NAVN | varchar(255) | Kan bruges til kommentarer om den fysiske plade, men det bruges ikke for øjeblikket. |
plade | indspilning | int | Nummeret på indspilningen på pladen. |
plade | kanaler | int | Nummeret på kanaler der viser, hvor mange kanaler musikken kan spilles i. |
plade | medie | int | Nummeret på medie i tabellen medie der fortæller, hvilket medie denne plade er, - f.eks. CD, LP eller DVD osv. |
Programmer
Systemet er programmeret i PHP, - et programsprog, der ligger på serveren og som laver databasekald og genererer HTML-koder til at skabe skærmbillederne. PHP-programmerne bliver udført af web-serveren "Apache"

Programsammenhæng
De enkelte programmer hænger tæt sammen med menuen øverst i hvert billede. Menuteksten peger på èt program, som opbygger billedet og behandler input fra billedet.

Her en liste over menupunkter og tilhørende program:
- Hjem
- index.php
- Indspilning
- opretindspilning.php
- Plade
- opretplade.php
- Kunstner
- opretkunstner.php
- Komponist
- opretkomponist.php
- Genre
- opretgenre.php
- Medie
- opretmedie.php
- Kanaler
- opretkanaler.php
- Vis Plader
- visplader.php
- Download
- download.php
- Design
- design.php
- Hjælp
- help.php
- Bruger
- Der er ikke knyttet noget program til dette punkt. Det viser om der er logget på ved at vise brugernavn ellers "Logget af"