Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Database.

Lignende præsentationer


Præsentationer af emnet: "Database."— Præsentationens transcript:

1 Database

2 Dagens gang Præsentation af 1. projekt Design af en funktionskomponent
Design modelkomponent øvelse Database ER diagram, kombinerede forespørgsler (union) og autorisation af brugere (grant, revoke) Database øvelser

3 ER-diagram Entitets Relationsdiagram anvendes til at beskrive datastrukturen bag systemet. Forskellen i ideen bag et traditionelt ER diagram og et UML klassediagram er meget lille, og ligger mest i at ER diagrammer retter sig specielt mod design af databaser (organisering af data), hvor klassediagrammer både retter sig mod data men også adfærden i forbindelse med disse data. Det er således muligt at opstille et klassediagram, som viser samme informationer som et ER diagram. Populært sagt er et ER diagram en specialisering af et klassediagram selv om ER diagrammer kom først banen.

4 OO og datamodellering En af de store forskelle mellem OO konceptet og datamodellering er måden relationsforhold, eller i OO - associationer, ses på. I datamodellering bruges nøgler til at oprette konkrete relationsforhold. I OO bruges der referencer. Entiteter implementeres vha. en tabel, kaldet en relation, hvor kolonner er attributter og rækker er record/tupler.  Igen sammenholdt med OO, svarer en entitet til en klasse og en tabel med tupler/record svarer til en række instanser altså objekter af en klasse.

5 ER- diagrammet

6 Kombinerede forespørgsler
SQL giver mulighed at eksekvere flere SELECT-konstruktioner og få returneret data som et resultatsæt. Mulighed for at forenkle komplicerede forespørgsler. Samme struktur på resultatdata fra flere tabeller

7 Union Syntaks: SELECT * FROM tabel [WHERE betingelse] [GROUP BY …]
ORDER BY kolonnenavn;

8 Union eksempel 1 SELECT * FROM forhandler
Id forhandlernavn postnr ordrenr beloeb 1 Hansen 7500 1001 3250 6 Petersen 1050 8000 8 Nielsen 4010 3000 1002 SELECT * FROM forhandler WHERE postnr =´7500’; Ovenstående resultatsæt resulterer i 1. select

9 Union eksempel 1 Eksempel: SELECT * FROM forhandler
Id forhandlernavn postnr ordrenr beloeb 1 Hansen 7500 1001 3250 16 9000 1070 8000 12 8200 4050 3000 1002 SELECT * FROM forhandler WHERE forhandler=´Hansen’; Ovenstående resultatsæt resulterer i 2. select

10 Union eksempel 1 SELECT * FROM forhandler WHERE postnr =´7500’; UNION
WHERE forhandler =´Hansen’; GROUP BY ordre;

11 Dubletter fra udtræk fjernes
Id forhandlernavn postnr ordrenr beloeb 1 Hansen 7500 1001 3250 6 Petersen 1050 8000 8 Nielsen 4010 3000 1002 Id forhandlernavn postnr ordrenr beloeb 1 Hansen 7500 1001 3250 16 9000 1070 8000 12 8200 4050 3000 1002

12 Og ordnes i ordrenr Id forhandlernavn postnr ordrenr beloeb 1 Hansen
7500 1001 3250 1002 6 Petersen 1050 8000 16 9000 1070 8 Nielsen 4010 3000 12 8200 4050

13 Union med dubletter SELECT * FROM forhandler WHERE postnr =´7500’;
UNION ALL WHERE forhandler =´Hansen’; GROUP BY ordre;

14 Regler for union Hver forespørgsel skal returnere:
Samme kolonner, samme udtryk Kolonner skal komme i samme rækkefølge Datatyper skal være kompatible

15 Autorisation til database brugere
GRANT giver autorisation REVOKE tilbage kalder autorisation Den person der afgiver en grant ordrer skal enten være ”administrative authority” eller ejer af tabellen. Hvis en person der har tildelt andre privilegier, selv får frataget privilegier – da tilbagetrækkes de andre personers privilegier, hvis de er afhængige af d privilegier en første persons tilbagetrukne privilegier.

16 Grant Syntaks Eksempel GRANT ALL | privilegier ON tabelnavn
TO PUBLIC | brugeridentifikationer GRANT SELECT, UPATE ON Kunde TO Peter

17 REVOKE Syntaks Eksempel REVOKE ALL | privilegier ON tabelnavn
TO PUBLIC | brugeridentifikationer REVOKE SELECT, UPATE ON Kunde TO Peter

18 Opgaver til næste gang Se opgave beskrivelse


Download ppt "Database."

Lignende præsentationer


Annoncer fra Google