Göm menyn

729G28 Webbprogrammering och databaser

Kursinformation


Webben har blivit vår stora distributionskanal för många olika typer av information mellan många olika typer av sändare och mottagare. En viktig komponent handlar om att dynamiskt generera innehåll ur databaser som innehåller stora mängder detaljerad information, som användaren (besökaren) behöver hjälp att söka i. Exempel på sådana sidor är onlinebutiker och sjukvårdsupplysningens information (www.1177.se) men också sajter som IMDB och Boardgamegeek.

Målet med kursen är att ni ska lära er strukturera och arbeta med stora datamängder och att presentera dessa dynamiskt på nätet. Ni ska också ha prövat på att låta användaren manipulera data och studerat grundläggande säkerhetsrisker i sammanhanget. Kursen använder tidigare kunskaper i python.

Efter kursen ska du kunna analysera datakrav och designa en bra databas för en webapplikation och kunna skriva kod för presentation och interaktion med databasen som skyddar databasen från vanliga attacker.

Organisation

Kursen ges i form av en serie föreläsnigar och lektioner samt laborationer och ett projekt. Kurslitteraturen består av en bok som tar upp databasteori och web-baserat material om php och webprogrammering. Föreläsningarna och lektioner presenterar och bearbetar de viktigaste teoretiska begreppen och demonstrerar viktiga arbetssätt. Antal föreläsningar och fördelningen mellan föreläsningar och lektioner kan variera från år till år beroende på antal studenter (färre studenter ger fler lektioner och mer självstudier med individuell feedback). Laborationsserien (labbar och projektuppgift) övar användandet av SQL och examierar webbprogrammeringen. Eventuellt ges också gästföreläsning för att ge andra perspektiv på ämnet.

Kursinnehåll

Kursen består av två delar, databasteori/praktik och webprogrammering. I databasteoridelen går vi igenom de grundläggande begreppen inom databasområdet. I grunden handlar det om hur man med hjälp av datorer kan lagra och hantera stora mängder data i databaser. Kommunikation med och underhåll av databasen sker genom ett program eller programsystem som kallas databashanterare. Kursens mål är att ni ska bli bekanta med hur man använder sig av en vanlig databashanterare, MySql, för att skapa och underhålla databaser.

Om man ska skapa en databas som beskriver en del av verkligheten, t. ex. ett företag, brukar man börja med att göra en beskrivning av hur den delen av verkligheten ser ut och fungerar, en s. k. begreppsmässig datamodell. Den metod som vi ska använda oss av kallas ER-modellering. Denna begreppsmässiga modell har i princip ingenting med datorer att göra, utan är en beskrivning av verkligheten som lika gärna skulle kunna användas t. ex. av någon som vill analysera hur företaget fungerar.

Sedan måste den begreppsmässiga modellen översättas till en datamodell som kan implementeras i form av en databas. Det finns flera sådana datamodeller men vi kommer att ägna oss åt relationsmodellen, och se hur man gör för att modellera sina data med den. För att vi ska kunna komma åt databasen, dvs ställa frågor om de data som finns, ändra dessa data, eller definiera vilka data som ska lagras, erbjuder databashanteraren flera olika gränssnitt, t. ex. olika frågespråk eller andra konstruktioner. Vi kommer framför allt att använda oss av frågespråket SQL.

Webprogrammeringsdelen av kursen visar på ett sätt att designa grupper av websidor genom att använda CSS och HTML och för att generera dynamiskt innehåll används php, som trots att det är gammalt fortfarande är industristandard just för databasbaserade webbsajter. Här fokuseras just att hämta och skriva data till databasen, samt grundläggande säkerhetsproblem med detta.

Sidansvarig: Eva Ragnemalm
Senast uppdaterad: 2023-11-03