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

5 Relationer PNummerNamnAdressTelefonE-PostÅlder Anders Andersson Rydsvägen andan Veronika Pettersson Alsätersg verpe22227 Tupel Attribut

6 Relationer Varje tupel måste gå att unikt peka ut. Nycklar! PNummerNamnAdressTelefonE-PostÅlder Anders Andersson Rydsvägen andan Veronika Pettersson Alsätersg verpe22227

7 Relationer Kandidatnycklar Primärnycklar PNummer NamnAdressTelefonE-PostÅlder Anders Andersson Rydsvägen andan Veronika Pettersson Alsätersg verpe22227

8 Relationer Främmande nycklar KursLärareAnt. Fö. TDDB77Henrik10 TDDB38Patrick15 PNumBetygKurs TDDB TDDB TDDB77 PNumBetygKursLärareAnt.Fö TDDB77Henrik TDDB38Patrick TDDB77Henrik10 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 (’ ’, ’Henrik’, ’A-J’, ’KC102:2’, ’1882’, ’IDA’); PNumFNameLNameOfficePhoneDep

15 Insert INSERT INTO TEACHER(PNum, FName, LName, Office, Phone, Dep) VALUES (’ ’, ’Henrik’, ’A-J’, ’KC102:2’, ’1882’, ’IDA’); PNumFNameLNameOfficePhoneDep HenrikA-JKC102:21882IDA

16 Update UPDATE TEACHER SET Phone = 1884 WHERE PNum = ’ ’; PNumFNameLNameOfficePhoneDep HenrikA-JKC102:21882IDA

17 Update UPDATE TEACHER SET Phone = 1884 WHERE PNum = ’ ’; PNumFNameLNameOfficePhoneDep 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 HenrikA-JKC102:21882IDA PatrickLambrixKC105:21921IDA AndersAnderssonKC102:21883IDA SELECT * FROM TEACHER ;

20 Queries PNumFNameLNameOfficePhoneDep HenrikA-JKC102:21882IDA PatrickLambrixKC105:21921IDA AndersAnderssonKC102:21883IDA SELECT FName, LName FROM TEACHER ; HenrikA-J PatrickLambrix AndersAndersson

21 Queries PNumFNameLNameOfficePhoneDep HenrikA-JKC102:21882IDA PatrickLambrixKC105:21921IDA AndersAnderssonKC102:21883IDA SELECT FName, LName FROM TEACHER WHERE Office = ’KC102:2’ ; HenrikA-J AndersAndersson

22 Queries PNumFNameLNameOfficePhoneDep HenrikA-JKC102:21882IDA PatrickLambrixKC105:21921IDA AndersAnderssonKC102:21883IDA SELECT FName, LName FROM TEACHER WHERE Office = ’KC102:2’ ORDER BY FName ; AndersAndersson HenrikA-J

23 Queries PNumFNameLNameOfficePhoneDep HenrikA-JKC102:21882IDA PatrickLambrixKC105:21921IDA AndersAnderssonKC102:21883IDA SELECT COUNT (*) FROM TEACHER WHERE Office = ’KC102:2’ ; 2

24 Queries PNumFNameLNameOfficePhoneDep HenrikA-JKC102:21882IDA PatrickLambrixKC105:21921IDA AndersAnderssonKC102:21883IDA SELECT MAX (Phone), MIN (Phone), AVG (Phone), SUM (Phone) FROM TEACHER ; ,335686

25 Joins KursLärareAnt. Fö. TDDB77Henrik10 TDDB38Patrick15 PNumBetygKurs TDDB TDDB TDDB77 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ö TDDB77Henrik TDDB77Henrik10

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