Presentation laddar. Vänta.

Presentation laddar. Vänta.

TDDB77 Databasteknik Fö 2 Relationsdatabaser & SQL Henrik André-Jönsson.

Liknande presentationer


En presentation över ämnet: "TDDB77 Databasteknik Fö 2 Relationsdatabaser & SQL Henrik André-Jönsson."— Presentationens avskrift:

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?


Ladda ner ppt "TDDB77 Databasteknik Fö 2 Relationsdatabaser & SQL Henrik André-Jönsson."

Liknande presentationer


Google-annonser