Databasteknik: Teoriövning 10 om databaser på webben, samt repetition

Välj själv om du vill göra övningen ensam eller i någon typ av grupp. Det gör inget om en del av frågorna skulle vara svåra att svara på, för de är kanske avsedda att inleda en diskussion snarare än att ha ett enda rätt svar. Det gör inte heller något om man inte hinner med alla frågorna på övningstillfället.

Förberedelser

Innan denna övning bör du ha tittat på den sista videoföreläsningen, på YouTube, som handlar om databaser på webben. Den är uppdelad i två Youtube-videor: del 1, del 2. Man kan också läsa i kursboken eller motsvarande. Dessutom innehåller den här övningen uppgifter som repeterar några särskilt viktiga delar av kursen.

Uppgift 1

Webben

Para ihop rätt ord med rätt siffra i bilden ovan:

Uppgift 2

Orden "databas" och "databashanterare" saknas i bilden i uppgiften ovan. Hur kommer de in?

Uppgift 3

CGI-script är en äldre teknik för att göra dynamiska webbsidor som hämtar data ur en databas. Ett CGI-script är ett separat program som startas av webbservern, och dess utmatning blir HTML-koden som skickas till klienten med webbläsaren.

Varför använder man sällan CGI-script numera, dvs vad är det som gör moderna lösningar bättre? Diskutera!

Detta om databaser på webben. Nu intensifierar vi det omvända klassrummet, så ni får rätta lösningar som läraren har gjort!

Uppgift 4

Scenario: Studenter läser kurser. Varje student kan läsa flera kurser, och en och samma kurs kan förstås läsas av flera studenter. Varje student har ett unikt personnummer, ett namn och en adress. Varje kurs har en unik kurskod och ett namn.

Det står i kursens betygskriterier att det är mycket viktigt att man klarar av att göra ett korrekt och bra schema för en databas. En felaktigt eller dåligt uppbyggd databas kan ge stora och långvariga svårigheter. När man väl konstruerat en databas och börjat fylla den med data, kan den finnas kvar i årtionden, och svårigheterna också.

Förklara vilka "stora och långvariga svårigheter" som följande ER-diagram kan orsaka:

Dåligt ER-diagram 1

Uppgift 5

Hur är det med det här försöket?

Dåligt ER-diagram 2

Uppgift 6

Och det här:

Dåligt ER-diagram 3

Uppgift 7

Och det här:

Dåligt ER-diagram 4

Uppgift 8

Och det här:

Dåligt ER-diagram 4

Uppgift 9

Så hur borde ER-diagrammet ha sett ut?

Uppgift 10

Här är ett ER-diagram med entitetstyperna A, C och E, som är sammankopplade med sambandstyperna B och D:

Ett scenario med entitetstyperna A, C och E

Kritisera följande försök att översätta diagrammet till tabeller:

A(A1, A2, A3, A4)
C(C1, C2, A1, B1, E1, D1)
E(E1, E2, E3)

Man skulle också kunna rita upp samma tabeller så här:

Dåliga tabeller

Ytterligare förklaringar till tabellerna ovan:

Uppgift 11

Så hur borde tabellerna ha sett ut?

Förslag på lösningar

Det finns lösningsförslag till en del av uppgifterna, men försök lösa dem själv först.


Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se), 7 december 2022