Dæmahópur 4 31. ágúst 2016 Matthías Karl Karlsson - mattik@hi.is Gagnasafnsfræði Dæmahópur 4 31. ágúst 2016 Matthías Karl Karlsson - mattik@hi.is
Dæmi 1 Setjið upp sqlite. Náið í gagnagrunninn f1.db á heimasíðunni og opnið með sqlite. Keyrið skipunina SELECT * FROM Movie WHERE year > 1990 og birtið svarið. Vantar einhverjum aðstoð með uppsetningu?
SELECT * FROM Movie WHERE year > 1990; title year length inColor studioName producerC ------------------------ ---------- ---------- ---------- --------------- ---------- The Man Who Wasn't There 2001 116 0 USA Entertainm. 777 Star Trek: Nemesis 2002 116 1 Paramount 321 The Usual Suspects 1995 106 1 MGM 999
.tables / .table Movie MovieExec MovieStar
.schema CREATE TABLE Movie ( title varchar(25), year int, length int, inColor int, studioName varchar(15), producerC varchar(3) ); ...
mode column. header on. width X Y Z. read script. sql. open database .mode column .header on .width X Y Z... .read script.sql .open database.db
.mode column Pretty Woman|1990|119|1|Disney|999 The Man Who Wasn't There|2001|116|0|USA Entertainm.|777 Logan's run|1976||1||888 Star Wars|1977|124|1|Fox|555 Empire Strikes Back|1980|111|1|Fox|555 Star Trek|1979|132|1|Paramount|444 Star Trek: Nemesis|2002|116|1|Paramount|321 Terms of Endearment|1983|132|1|MGM|123 The Usual Suspects|1995|106|1|MGM|999 Gone With the Wind|1938|238|1|MGM|123
.mode column Pretty Woman 1990 119 1 Disney 999 The Man Who 2001 116 0 USA Entert 777 Logan's run 1976 1 888 Star Wars 1977 124 1 Fox 555 Empire Strik 1980 111 1 Fox 555 Star Trek 1979 132 1 Paramount 444 Star Trek: N 2002 116 1 Paramount 321 Terms of End 1983 132 1 MGM 123 The Usual Su 1995 106 1 MGM 999 Gone With th 1938 238 1 MGM 123
.header on Pretty Woman 1990 119 1 Disney 999 The Man Who 2001 116 0 USA Entert 777 Logan's run 1976 1 888 Star Wars 1977 124 1 Fox 555 Empire Strik 1980 111 1 Fox 555 Star Trek 1979 132 1 Paramount 444 Star Trek: N 2002 116 1 Paramount 321 Terms of End 1983 132 1 MGM 123 The Usual Su 1995 106 1 MGM 999 Gone With th 1938 238 1 MGM 123
.header on title year length inColor studioName producerC ------------ ---------- ---------- ---------- ---------- ---------- Pretty Woman 1990 119 1 Disney 999 The Man Who 2001 116 0 USA Entert 777 Logan's run 1976 1 888 Star Wars 1977 124 1 Fox 555 Empire Strik 1980 111 1 Fox 555 Star Trek 1979 132 1 Paramount 444 Star Trek: N 2002 116 1 Paramount 321 Terms of End 1983 132 1 MGM 123 The Usual Su 1995 106 1 MGM 999 Gone With th 1938 238 1 MGM 123
.width .width 1 1 1 1 1 1 t y l i s p - - - - - - P 1 1 1 D 9 T 2 1 0 U 7 L 1 1 8 S 1 1 1 F 5 E 1 1 1 F 5 S 1 1 1 P 4 S 2 1 1 P 3 T 1 1 1 M 1 T 1 1 1 M 9 G 1 2 1 M 1
.width .width 10 4 6 7 10 10 title year length inColor studioName producerC ---------- ---- ------ ------- ---------- ---------- Pretty Wom 1990 119 1 Disney 999 The Man Wh 2001 116 0 USA Entert 777 Logan's ru 1976 1 888 Star Wars 1977 124 1 Fox 555 Empire Str 1980 111 1 Fox 555 Star Trek 1979 132 1 Paramount 444 Star Trek: 2002 116 1 Paramount 321 Terms of E 1983 132 1 MGM 123 The Usual 1995 106 1 MGM 999 Gone With 1938 238 1 MGM 123
www.sqlite.org Documentation /cli.html ...
Dæmi 2 Berið saman að nota gagnagrunnskerfi til að geyma upplýsingar miðað við að lesa úr einfaldri textaskrá, t.d. TSV (Tab-separated values). Nefnið tvo kosti sem annað kerfið hefur umfram hitt. Hvernig væri hægt að halda utan um einkunnir nemenda í námskeiði með TSV textaskrá?
Kostir við gagnagrunnskerfi Leyfa flóknari fyrirspurnir Geta haldið utan um gríðarlega flókin gögn Tengja gögn á nytsamlegan hátt Gerð fyrir samskeiða vinnslu Lifa af náttúruhamfarir Allt geymt á diski
Kostir við einfalda textaskrá Einfaldari uppsetning (þ.e. schema). Þarft í rauninni ekki að búa yfir ákveðinni þekkingu til þess að skapa. Trúlega hraðvirkara Viðhald er einfaldara Trúlega þægilegra til þess að halda utan um lítið af gögnum sem breytast fram og aftur
Hvernig væri hægt að halda utan um einkunnir nemenda í námskeiði með TSV textaskrá? Nafn Netfang Einkunn Bjarni Bjarnason bb8@hi.is 8 Gunnar Gunnarsson gg9@hi.is 9 Helga Helgadóttir hh22@hi.is 10 ...
Heimadæmi 2 1. In Fig. 6 are instances of two relations that might constitute part of a banking database. Indicate the follwing: The attributes of each relation. The tuples of each relation. f ) A suitable domain for each attribute.
acctNo type balance 12345 savings 12000 23456 checking 1000 34567 25
firstName lastName idNo account Robbie Banks 901-222 12345 Lena Hand 805-333 23456
Heimadæmi 2 2. Find the address of MGM studios. Find Sandra Bullock‘s birthdate. Find all the stars that appeared either in a movie made in 1980 or a movie with „Love“ in the title. Find all executives worth at least $10,000,000. Find all the stars who either are male or live in Malibu (have string Malibu as a part of their address).
Movies(title, year, length, genre, studioName, producerC#) StarsIn(movieTitle, movieYear, starName) MovieStar(name, address, gender, birthdate) MovieExec(name, address, cert#, netWorth) Studio(name, address, presC#)
ATH: Fyrirspurnin þarf alltaf að skila réttu gildi miðað við lýsingu á gagnagrunni, ekki gögnin sem eru í honum. Ekki í lagi að skrifa SELECT * FROM ... og kíkja hvað svarið er. Gagnagrunnurinn f3.db er aðeins til hliðsjónar. Það er beðið um fyrirspurnir, ekki svör!