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
Para ihop rätt ord med rätt siffra i bilden ovan:
- användare
- datornät
- GET-request
- klientkällkod
- renderad webbsida
- serverkällkod
- webbklient
- webbprogrammerare
- webbserver
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:
Uppgift 5
Hur är det med det här försöket?
Uppgift 6
Och det här:
Uppgift 7
Och det här:
Uppgift 8
Och det här:
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:
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:
Ytterligare förklaringar till tabellerna ovan:
-
I tabellen A bildar A1 och A2 en sammansatt primärnyckel.
-
I tabellen C är C1 primärnyckel.
-
I tabellen E bildar E1, E2 och E3 en sammansatt primärnyckel.
-
C.A1 är en främmande nyckel som refererar till A.A1.
-
C.E1 är en främmande nyckel som refererar till E.E1.
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