Modellering og data Nyt forløb
Hvad skal I lære i dette forløb? Modellere et problemområde for at forstå dette Modellere data for at designe et it-system Forstå databasers anvendelse og lave simple forespørgsler
Databaser Samling af data. Består af to dele: Godt databasesystem: Database, hvor alle data er gemt. Grænseflade, hvor brugere kan tilgå og evt. manipulere (ændre, slette, tilføje) data. Godt databasesystem: Pladseffektiv lagring Fleksibelt design Data er lagret sikkert Data er korrekt
$ Eksempel: Bankkonti $ $ 1: Indsætter penge i hæveautomat ved bank. Påvirker kun ens egen del af databasen. 2: Snakker om kærestens bankkonti med bankarbejder. Kan tilgå mange forskellige dele af databasen. $
Databasers opbygning Efternavn Fornavn Saldo på konti Lån Id Svendsen Inger Asløg 56.436,75 18.384,35 210991-4568 Hansen John 432.589,37 0,00 150649-6533 Kirsten 132.642,49 82.339,06 040752-4610 … -330,59 2.489.632,48 240296-3219 Databaser består af tabeller. Hver enkelt datapunkt er en række. Der er forskellige data (attributter) man gemmer – hver i en kolonne (søjle). Der er brug for et unikt id – hvad kan det være?
Referencer mellem databaser Man kan bruge kommandoer til at tilgå visse dele af en tabel – fx hvis man vil finde alle ens albums lavet af AC/DC. Rigtig smart at man kan vælge de dele man vil se og evt. ændre – og at man nemt kan tilføje nye dele. Da man bruger kommandoer kan man også sætte en computer til at gøre det automatisk, fx hver gang man køber et nyt album.
Installation af SQLiteBrowser Lav en mappe til databaser – lav den et sted hvor du kan finde den igen! Download databasen music.db og gem den i mappen. Åbn databasen i SQLiteBrowser (”Open Database”).
SQLite INSERT INTO DELETE FROM Indsæt nye data i tabel. INSERT INTO playlists (Name) VALUES (”Best of Kanye”) DELETE FROM Slet fra tabel. DELETE FROM playlist_track WHERE TrackId = 3402 DELETE FROM playlist_track WHERE PlaylistId = 1 AND TrackId = 3389
Øvelse 1 Se arbejdsark. Vigtigt at man bruger SQL-kommandoer og ikke bruger knapperne i programmet (medmindre det står i opgaven).
SQLite SELECT Wildcards Udvælger dele af tabel og viser det. SELECT title FROM albums Wildcards * betyder alle. SELECT * FROM albums % betyder et vilkårligt antal karakterer. SELECT * FROM albums WHERE title LIKE ”%wall%” _ betyder én karakter. SELECT * FROM albums WHERE title LIKE ”Killer_”
SQLite Forskellige datatyper CREATE TABLE DROP TABLE Integer: Heltal. Real: Kommatal. Text: Tekst, dvs. i ”anførselstegn”. Null: Ikke specificeret, ikke kendt. Bemærk: Ikke det samme som 0 (nul). CREATE TABLE Lav tabel. CREATE TABLE reoler (”reol” TEXT, ”hylde” TEXT, ”reolid” INTEGER PRIMARY KEY) DROP TABLE Slet tabel (for evigt). DROP TABLE reoler
Øvelse 2 Se arbejdsark. Vigtigt at man bruger SQL-kommandoer og ikke bruger knapperne i programmet (medmindre det står i opgaven).
Sikkerhed omkring databaser Hvad er der sket her? https://xkcd.com/327/
Logbog Skriv i logbog – hvad har du lært om i dag? Du kan fx lægge de øvelser ind du har lavet.