Jens Elbæk
Hjem Ferie
Computer
Sprog
Musik
Geografi Vin Chaos (En) Game of Life (En) Sudoku (En) Solceller

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.
Relationsdiagram for pladeomslag

Tabelbeskrivelse

TABLE_NAMETABLE_COMMENT
brugerBrugertabellen indeholder alle brugere af systemet. Det bruges til at koble, via tabellen bruger_plader, til pladerne som brugeren har registreret
bruger_pladerBruges 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
genreIndeholder mange forskellige genrer, f.eks. musik og film. Bruges af Indspilning
indspilningIndeholder information om selve musikken eller videoen på pladen.\nDer kan altså være flere forskellige plader, der bruger denne bestemte indspilning.
kanalerFortæller om pladen er i mono, stereo eller surround. Der kan tilføjes andre typer af kanaler
komponistDenne informtion bruges mest til klassisk musik, da det er ret vigtigt at vide om en symfoni er skrevet af Mozart eller Sibelius
kunstnerDenne 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
medieHvilket medie medie indeholder indspilningen. Det kunne være en CD, LP eller en DVD
pladePlade repræsenterer det fysiske medie, der bærer indspilningen. Det kan være CD eller LP osv.

Kolonnebeskrivelse

TABLE_NAMECOLUMN_NAMECOLUMN_TYPECOLUMN_COMMENT
brugerIDintDette nummer identificerer brugeren i databasen og nummeret er unikt.
brugerNAVNvarchar(255)Brugerens fulde navn.
brugerPASSWORDvarchar(255)Password i klar tekst på minimum 4 tegn.
brugerBRUGERIDvarchar(255)Brugerid er et kort navn som bruges som identifikation af brugeren. Den bruges ikke i databasen. Det gør ID.
bruger_pladerbrugerintNummeret fra BRUGER i tabellen BRUGER.
bruger_pladerpladeintNummeret fra ID i PLADE.
genreIDintUnikt nummer brugt af tabellen Indspilning.
genreNAVNvarchar(255)Navnet på genren, - f.eks. Rock.
indspilningIDintUnikt 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.
indspilningNAVNvarchar(255)Indspilningens navn, - f. eks. "Dark Side of the Moon".
indspilningkunstnerintEt nummer, der peger på kunstneren af indspilningen i kunstnertabellen, - f. eks. "Pink Floyd".
indspilninggenreintEt nummer, der peger på genren i genretabellen, - f. eks. Rock eller Klassisk.
indspilningkomponistintEt nummer, der peger på komponisten af indspilningen, - f. eks. Beethoven. Bruges mest til klassisk musik, da komponisten her er vigtig.
indspilningÅRintIndeholder årstallet for indspilningen. Hvis det er en opsamling (f.eks. Greatest Hits), så brug udgivelsesårstallet.
indspilningOPSAMLINGtinyintKan være "true" eller "false" for om det er henholdsvis en opsamlings-indspildning/plade eller det er en almiondelig plade.
indspilningLIVEtinyintKan være "true" eller "false" for om det er henholdsvis en liveplade eller den er optaget i et studie.
kanalerIDintUnikt nummer til kanaler.
kanalerNAVNvarchar(255)Beskriver hvilken type kanaler der findes.
komponistIDintUniks nummer på komponisten.
komponistNAVNvarchar(255)Navnet på komponisten.
kunstnerIDintUnikt nummer på kunstneren.
kunstnerNAVNvarchar(255)Navnet på kunstneren. Det kan være en rockgruppe, en solist eller et helt symfoniorkester.
medieIDintUnikt nummer på mediet.
medieNAVNvarchar(255)Navnet på mediet, - f.eks. CD, LP eller DVD.
pladeIDintUnikt nummer for pladen.
pladeNAVNvarchar(255)Kan bruges til kommentarer om den fysiske plade, men det bruges ikke for øjeblikket.
pladeindspilningintNummeret på indspilningen på pladen.
pladekanalerintNummeret på kanaler der viser, hvor mange kanaler musikken kan spilles i.
plademedieintNummeret 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"

Software-oversigt

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.

Menu-oversigt

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"