Databasens uppbyggnad

Date: 2008-11-02 11:52:02 Created: null

Gränsen 15 tecken på många kolumner av typen varchar är vald för att värdena säkert ska kunna visas i menyerna.

I tabellerna över kolumnernas typer betyder e(y/n) enum('yes','no').

Accesslevel

access_levelnews_addnews_editnews_deletenoteboard_editnoteboard_delete
inte(y/n)e(y/n)e(y/n)e(y/n)e(y/n)

external_addexternal_editexternal_deletenamedescriptiondetail_statsimage
e(y/n)e(y/n)e(y/n)varchar(15)texte(y/n)text

Skapad för hanteringen av fler användare. Lagrar namn, beskrivning och bild för behörighetsnivån samt nio enumvärden som avgör vad en användare får utföra på olika sidor.

Category

idnamehidden
intvarchar(15)int

Category listar vilka kategorier av sidor som finns på webbplatsen. Den övre vänstra menyn är kopplad till category, kolumnen hidden avgör om kategorin visas eller ej. Hidden är normalt satt till 0, kategorier med hidden satt till något annat värde visas bara för inloggade användare med behörighet att se kategorin.

Category_access

accesslevelcontent_iddisplaynew_pageeditremove
intinte(y/n)e(y/n)e(y/n)e(y/n)

Skapad för hanteringen av fler användare. Avgör vad en given behörighetsnivå får utföra på sidor av angiven kategori. En rad finns för varje kategori som en given behörighetsnivå har inställningar utöver de en vanlig användare har. Att sätta display till 'no' har ingen effekt om kategorin visas för ej inloggade användare.

Content

iddatesubjectcategoryheadlinebodyparenthidden
idtimestamp(14)varchar(15)intvarchar(255)longtextintint

Huvudtabellen i databasen, lagrar textinnehållet på alla sidor. Subject är den rubrik som visas för sidan i menyer, headline är rubriken som visas i H1 överst på själva sidan. Om parent är 0 visas sidan direkt i nedre menyn när användaren är inne på rätt kategori, om parent har ett annat värde visas sidan som undersida till den sida som har det värdet som id. I detta fall har värdet på category ingen betydelse. Värdet i kolumnen hidden används inte i nuläget.

Extcategory

nameiddescription
varchar(15)inttext

Kolumner: Name, ID, Description
Listar vilka kategorier som finns på sidan med externa länkar (links.php).

Externals

idlinkdescriptiontitlecategory
inttexttextvarchar(15)int

Lagrar information om externa länkar. Link ärden faktiska URL:en, och ska inkludera http://. Title är begränsad i längd för att passa in i menyerna på varje sida. Vid utskrift av länkar läggs target="_blank" till automatiskt så att alla externa länkar öppnas i ett nytt fönster.

Guestbook

iddateheadlinecontentparentcreatorcomments
inttimestamp(14)varchar(255)textintvarchar(255)int

Lagrar alla inlägg i gästboken (guestbook.php, kallas noteboard på webbplatsen). Parent används inte i nuläget men är tänkt att användas för inlägg kopplade till tidigare inlägg. Comments är också oanvänd i dagsläget, men är tänkt att kunna koppla ett inlägg till en sida.

Hasext

content_idexternal_id
intint

Kopplingstabell mellan Content och Externals.

Hasimages

content_idimage_id
intint

Kopplingstabell mellan Content och Images. Se Images för ytterligare kommentar.

Images

idlinkaltdescriptionwidthheightsystem
inttexttexttextintinte(y/n)

Tabell tänkt att lagra information om bilder för att underlätta infogande av bilder i sidorna. Används i dagsläget inte och är kandidat för borttagning.

Log

idtimebrowseriprefererusernamepasswordpage
inttimestamp(14)texttexttextvarchar(15)varchar(15)varchar(15)

Lagrar information om träffar på indexsidan och inloggningsförsök på loginsidan. Är menad att lagra loggningsinformation för alla sidor där det är intressant, oavsett om det handlar om inloggningsförsök eller bara besöksstatistik. Varje sida som ska loggas förväntas skriva ett eget värde på Page för att möjliggöra sortering och beräkning sidvis. I nuläget använder bara index.php och login.php logtabellen, med värdet “index“ respektive “login“ på Page. Redundansen är naturligtvis onödigt stor i nuläget.

News

idnewstextmainiddate
inttextinttimestamp(14)

Lagrar alla nyhetstexter som visas på news.php. MainID är den sida som nyhetstexten kopplas till via en länk “Read it“ under själva texten.

SAR

user_idcontent_id
intint

Skapad för hanteringen av fler användare. Ger en specifik användare full behörighet till en specifik sida.

Users

idusernamepasswordaccess
intvarchar(15)varchar(15)int

Lagrar information om användare och deras behörighetsnivåer. Användarnamn och lösenord lagras med gemener och versaler, men lösenordskontrollen släpper igenom alla kombinationer.