1 / 18

Database

Database. 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. ER-diagram.

Télécharger la présentation

Database

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation 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 …] UNION SELECT * FROM tabel [WHERE betingelse] [GROUP BY …] ORDER BY kolonnenavn;

  8. Union eksempel 1 SELECT * FROM forhandler WHERE postnr =´7500’; Ovenstående resultatsæt resulterer i 1. select

  9. Union eksempel 1 Eksempel: 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 SELECT * FROM forhandler WHERE forhandler =´Hansen’; GROUP BY ordre;

  11. Dubletter fra udtræk fjernes

  12. Og ordnes i ordrenr

  13. Union med dubletter SELECT * FROM forhandler WHERE postnr =´7500’; UNION ALL SELECT * FROM forhandler 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

More Related