Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avAnna-Karin Lundgren
1
TDDB77 Databasteknik Fö 2 Relationsdatabaser & SQL Henrik André-Jönsson
2
Gamla system baserade på filsystem. Behov av standardiserad datamodel. Standardiserat sätt att komma åt data. Relationsmodellen - varför
3
Relationer Personnummer Namn Telefon E-Post Adress Ålder
4
Relationer PNummerNamnAdressTelefonE-PostÅlder Relation Attribut Domän Textsträngar som bara innehåller A-Ö och a-ö och är mindre än 30 tecken långa. eller ååmmdd-xxxx Textsträng mindre än 30 tecken rrr - nn nn nn aaaaannn Posisivtheltal 0<x<150
5
Relationer PNummerNamnAdressTelefonE-PostÅlder 123456-7890Anders Andersson Rydsvägen 1013-11 22 33andan11125 112233-4455Veronika Pettersson Alsätersg 2013-22 33 44verpe22227 Tupel Attribut
6
Relationer Varje tupel måste gå att unikt peka ut. Nycklar! PNummerNamnAdressTelefonE-PostÅlder 123456-7890Anders Andersson Rydsvägen 1013-11 22 33andan11125 112233-4455Veronika Pettersson Alsätersg 2013-22 33 44verpe22227
7
Relationer Kandidatnycklar Primärnycklar PNummer NamnAdressTelefonE-PostÅlder 123456-7890Anders Andersson Rydsvägen 1013-11 22 33andan11125 112233-4455Veronika Pettersson Alsätersg 2013-22 33 44verpe22227
8
Relationer Främmande nycklar KursLärareAnt. Fö. TDDB77Henrik10 TDDB38Patrick15 PNumBetygKurs 111111-22223TDDB77 222222-33334TDDB38 333333-44444TDDB77 PNumBetygKursLärareAnt.Fö. 111111-22223TDDB77Henrik10 222222-33334TDDB38Patrick15 333333-44444TDDB77Henrik10 Främmande nyckel eller referensattribut
9
Relationer Frågor? Rast!
10
SQL Structured Query Language Skapa relationer Ändra befintliga relationer Lägga in data Hämta ut data
11
Create Table CREATE TABLE TEACHER ( PNum CHAR(11) NOT NULL, FName VARCHAR(20), LName VARCHAR(20), Office CHAR(10), Phone CHAR(4), PRIMARY KEY (PNum), FOREIGN KEY (Office) REFERENCES OFFICE(ID) ); PNumFNameLNameOfficePhone
12
Alter Table ALTER TABLE TEACHER ADD Dep VARCHAR(10); PNumFNameLNameOfficePhone
13
Alter Table ALTER TABLE TEACHER ADD Dep VARCHAR(10); PNumFNameLNameOfficePhoneDep ALTER TABLE TEACHER DROP Phone; ALTER TABLE TEACHER ALTER Dep ADD CONSTRAINT NOT NULL DROP TABLE TEACHER;
14
Insert INSERT INTO TEACHER(PNum, FName, LName, Office, Phone, Dep) VALUES (’112233-4455’, ’Henrik’, ’A-J’, ’KC102:2’, ’1882’, ’IDA’); PNumFNameLNameOfficePhoneDep
15
Insert INSERT INTO TEACHER(PNum, FName, LName, Office, Phone, Dep) VALUES (’112233-4455’, ’Henrik’, ’A-J’, ’KC102:2’, ’1882’, ’IDA’); PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA
16
Update UPDATE TEACHER SET Phone = 1884 WHERE PNum = ’112233-4455’; PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA
17
Update UPDATE TEACHER SET Phone = 1884 WHERE PNum = ’112233-4455’; PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21884IDA
18
Queries SELECT FROM WHERE Vilka attribut ska visas? Vilka relationer behövs för att svara på frågan? Vilka villkor finns på resultat tuplerna?
19
Queries PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA 223344- 5566 PatrickLambrixKC105:21921IDA 334455- 6677 AndersAnderssonKC102:21883IDA SELECT * FROM TEACHER ;
20
Queries PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA 223344- 5566 PatrickLambrixKC105:21921IDA 334455- 6677 AndersAnderssonKC102:21883IDA SELECT FName, LName FROM TEACHER ; HenrikA-J PatrickLambrix AndersAndersson
21
Queries PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA 223344- 5566 PatrickLambrixKC105:21921IDA 334455- 6677 AndersAnderssonKC102:21883IDA SELECT FName, LName FROM TEACHER WHERE Office = ’KC102:2’ ; HenrikA-J AndersAndersson
22
Queries PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA 223344- 5566 PatrickLambrixKC105:21921IDA 334455- 6677 AndersAnderssonKC102:21883IDA SELECT FName, LName FROM TEACHER WHERE Office = ’KC102:2’ ORDER BY FName ; AndersAndersson HenrikA-J
23
Queries PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA 223344- 5566 PatrickLambrixKC105:21921IDA 334455- 6677 AndersAnderssonKC102:21883IDA SELECT COUNT (*) FROM TEACHER WHERE Office = ’KC102:2’ ; 2
24
Queries PNumFNameLNameOfficePhoneDep 112233- 4455 HenrikA-JKC102:21882IDA 223344- 5566 PatrickLambrixKC105:21921IDA 334455- 6677 AndersAnderssonKC102:21883IDA SELECT MAX (Phone), MIN (Phone), AVG (Phone), SUM (Phone) FROM TEACHER ; 192118821895,335686
25
Joins KursLärareAnt. Fö. TDDB77Henrik10 TDDB38Patrick15 PNumBetygKurs 111111-22223TDDB77 222222-33334TDDB38 333333-44444TDDB77 SELECT STUDENT.Betyg FROM STUDENT, KURS WHERE STUDENT.Kurs = KURS.Kurs AND KURS.Lärare=’Henrik’; SELECT Betyg FROM STUDENT WHERE Kurs = ( SELECT Kurs FROM KURS WHERE Lärare = ’Henrik’); eller
26
Joins PNumBetygKursLärareAnt.Fö. 111111-22223TDDB77Henrik10 333333-44444TDDB77Henrik10
27
Summering Relationsmodellen –Tupler –Attribut –Domäner –Kandidatnycklar –Primärnycklar –Främmandenycklar
28
Summering SQL –CREATE TABLE –ALTER TABLE –DROP TABLE –INSERT INTO –UPDATE –SELECT... FROM... WHERE –Aggregatfunktioner (Count/Min/Max/Sum/Avg)
29
Slut på del 2 Frågor?
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.