Laboration 2: SQLSyfte:Syftet med laborationen är att lära ut grundläggande databassökning via SQL. Mål:Efter genomgången laboration ska man kunna söka information i en relationsdatabas genom att ställa SQL-frågor. Genomförande:Laborationen genomföres antingen individuellt eller i grupper om två studenter. Uppgiften går ut på att formulera SQL-satser för att söka information i en databas via ett webb-baserat SQL-gränssnitt. Man kör mot en Postgresqldatabas som klarar SQL1 med vissa tillägg för SQL92. Till sin hjälp har man utdelat material om databaser, en SQL-tutorial på http://www.sqlcourse.com, en fortsättning på http://SQLCourse2.com samt ett antal övningsfrågor. Krav:Maila de välstrukturerade SQL-satserna till laborationsansvarige (inge@nada.kth.se) tillsammans med resultatet som erhålls när satserna, exekveras, alternativt redovisa vid labtillfället. 1. Att komma igång med SQLGå till sidan webbvaruhuset på datorn nestor. Du får en bild av databasens struktur och ett inmatningsfönster. I inmatningsfönstret skriver du dina frågor, t.ex.: Strax ovanför inmatningsrutan finns en knapp Trycker man på den utförs SQL-satsen och resulatet visas på en ny HTML-sida:
Satserna kan vid behov delas upp på flera rader 2. Hjälpfunktioner
Det finns en hjälp-"site" för postgresql där man kan hitta information om
postgresql-versionen av SQL: PostgreSQL 8.2.3 Documentation. 3. BegränsningarAv säkerhetsskäl och av praktiska administrativa skäl har användaren inte rättigheter att ändra i databasen. Det går alltså inte att lägga till i, ändra, eller ta bort ur tabeller. Det går inte heller att skapa tabeller. Kommandona UPDATE, INSERT, DELETE och CREATE är alltså inte tillgängliga under laborationen. Dock kan man skapa och kasta bort vyer. Om det behövs en vy skall denna skapas med ett tillräckligt kryptiskt namn för att undvika namnkollisioner. Alla delar namnrymd, så alla uppmanas vänligen att ta bort de vyer ni skapar efter användning. 4. Modell
5. Databasstruktur
Databasstrukturen är följande:
6. ÖvningsfrågorBörja med att försöka besvara följande frågor. Titta inte på lösningsförslagen förrän du tror att du hittat en lösning, eller om du kör fast. Observera att det säkert finns andra lösningar som ger samma resultat.
7. LabfrågorBesvara följande frågor. Lösningar som baserar sig på att man antecknar delresultat, eller på att man räknar saker för hand, kommer inte att godkännas. OBS att det är formuleringen av en fråga som är intressant, inte svaret.
|