De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

1 Overzicht informatie- vergaring domeinanalyse functionele analyse behoefteanalyse conceptueel ontwerp logisch ontwerp fysieke ontwerp databasemodel-

Verwante presentaties


Presentatie over: "1 Overzicht informatie- vergaring domeinanalyse functionele analyse behoefteanalyse conceptueel ontwerp logisch ontwerp fysieke ontwerp databasemodel-"— Transcript van de presentatie:

1 1 Overzicht informatie- vergaring domeinanalyse functionele analyse behoefteanalyse conceptueel ontwerp logisch ontwerp fysieke ontwerp databasemodel- onafhankelijk dbms- onafhankelijk conceptueel model (bijvoorbeeld EER-diagram) functionele beschrijving logisch databaseschema (bijvoorbeeld relationeel) gedragspecificaties DDL-scripts implementatie van gedrag

2 2 Relationele databases: het relationeel databasemodel Hoofdstuk 4 Principes van databases

3 3 Overzicht Structurele aspecten Integriteitaspecten Gedragsaspecten

4 4 Overzicht Structurele aspecten –Basisrelaties –Metadata –Views –Werken met indexen –Behandelen van ontbrekende informatie Integriteitaspecten Gedragsaspecten

5 5 Structurele aspecten Basisrelaties –Atomaire datatypes Domein Operatoren voorbeeld: Boolean domein = {waar, onwaar} verzameling van operatoren = {=, , , ,  } Typecompatibiliteit waaronwaar waar  onwaar waar onwaar waar  onwaar waar onwaar waar  onwaar

6 6 Structurele aspecten –Basisrelaties Relatieschema Het schema R(A 1 :T 1, A 2 :T 2, …,A n :T n ) van een relatie is opgebouwd uit een relatienaam R en een eindige verzameling van attributen {A 1 :T 1, A 2 :T 2, …,A n :T n }. Elk attribuut A i :T i, 1  i  n is op zijn beurt opgebouwd uit een attribuut- naam A i en een geassocieerd atomair datatype T i.

7 7 Structurele aspecten Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 EnsorJames1860 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A03 A04 Visualisatie

8 8 Structurele aspecten Terminologie Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 EnsorJames1860 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A03 A04 graad relatienaam attributen intentie extentie tuples kardinaliteit relatie cel met attribuutwaarde

9 9 Structurele aspecten Eigenschappen –Binnen een relatie kunnen geen dubbele tuples voorkomen. –De tuples van een relatie zijn niet geordend. –De attributen van een relatie zijn niet geordend. –Alle attributen van een relatie zijn atomair. Interpretatie –Schema = declaratie van een veronderstelling –Tuple = feit of particuliere instantie van deze veronderstelling

10 10 Structurele aspecten Metadata: de catalogus –Gebruikersgedefinieerde relaties –Systeemgedefinieerde relaties –Werken met de catalogus relationele database = verzameling van basisrelaties data metadata gebruikers en toepassingen dbms

11 11 Structurele aspecten Views of afgeleide relaties Een view is een benoemde, virtuele relatie die is afgeleid van gebruikersgedefinieerde en/of systeemgedefinieerde basisrelaties en/of andere views. relationele database = verzameling van basisrelaties data metadata view

12 12 Structurele aspecten Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 EnsorJames1860 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A03 A04 basisrelatie + definiërende expressie SELECT Naam, Voornaam, Geboren FROM Artiest WHERE Geboren >= 1800 AND Geboren < 1900 view Tabel Artiesten_uit_19de_eeuw Naam: varchar Voornaam: varchar Geboren: integer DegasEdgar1834 EnsorJames1860 MonetClaude1840

13 13 Structurele aspecten Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 EnsorJames1860 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A03 A04 basisrelatie + definiërende expressie SELECT Naam, Voornaam, Gestorven – Geboren AS Leeftijd FROM Artiest view Tabel Artiesten_info Naam: varchar Voornaam: varchar Leeftijd: integer DegasEdgar EnsorJames MonetClaude Da VinciLeonardo

14 14 Structurele aspecten –Nut van views Logische data-onafhankelijkheid (Lenigen van individuele gebruikersnoden) Afleiden van nieuwe data Inkorten van bevragingsinstructies Afschermen van data

15 15 Structurele aspecten Aanpassen, toevoegen en verwijderen –De view moet expliciet als aanpasbaar zijn gedefinieerd ‘with check option’ –De manipulatie mag niet conflicterend zijn met de definiërende expressie van de view –Er mogen geen manipulaties worden uitgevoerd op afgeleide data  Toegelaten aanpassingen worden gepropageerd naar de onderliggende basisrelaties

16 16 Structurele aspecten Indexen Een index over n attributen van een basisrelatie R kan worden omschreven als een geordende lijst van (n+1)-tuples. Voor elk tuple t uit de extentie van R is er één (n+1)-tuple opgenomen in de lijst. Dit (n+1)-tuple is opgebouwd uit de n beschouwde attribuutwaarden van t en een referentie naar t. De (n+1)-tuples zijn geordend op basis van de n attribuutwaarden, volgens een opgegeven volgorde.

17 17 Structurele aspecten Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Van GoghVincent1853 DegasEdgar1834 EnsorJames1860 MonetClaude1840 Gestorven: integer A_ID: char(3) A05 A02 A03 A04 Da VinciLeonardo A01Van Gogh Degas Ensor Monet Da Vinci Index ID_Naam Index ID_Sterfdata CREATE INDEX ID_Naam ON Artiest(Naam ASC); CREATE INDEX ID_Sterfdata ON Artiest(Gestorven DESC); Opmerking: uniciteitindex

18 18 Structurele aspecten Ontbrekende informatie –Onderscheid Onbekende informatie Niet-gedefinieerde informatie –Null-waarden Null  0 Operatoren waaronwaar waar  onwaar waar onwaar waar  onwaar waar null waar null waarnull onwaar null onwaar null

19 19 Structurele aspecten Uitbreiding van andere operatoren: resultaat is ‘null’ als één van de argumenten ‘null’ is Gebruik: onwaar waar  onwaar null onwaar waar MAYBE onwaar null waar Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Van GoghVincent1853 DegasEdgar1834 EnsorJamesnull MonetClaudenull Gestorven: integer A_ID: char(3) A05 A02 A03 A04 Da VinciLeonardo1452nullA01

20 20 Structurele aspecten –Defaultwaarden Problemen met defaultwaarden Geboren integer DEFAULT 0 versus Geboren integer NOT NULL

21 21 Overzicht Structurele aspecten Integriteitaspecten –Sleutels –Integriteitrestricties –Stored procedures –Triggers Gedragsaspecten

22 22 Integriteitaspecten Sleutels –Kandidaatsleutels Als K een deelverzameling is van de verzameling van alle attributen van een gegeven basisrelatie R, dan is K een kandidaatsleutel voor R als en slechts als voldaan is aan: 1. De uniciteiteigenschap: Geen enkele legale extentie van R bevat twee tuples met dezelfde waarden voor alle attributen uit K. 2. De irreducibiliteiteigenschap: Wanneer uit K attributen worden weggelaten, mag niet meer voldaan zijn aan de uniciteiteigenschap. Opmerking: Enkelvoudig versus samengesteld

23 23 Integriteitaspecten –Primaire sleutels Eén van de kandidaatsleutels wordt gekozen als primaire sleutel, alle overige worden alternatieve sleutels genoemd.

24 24 Integriteitaspecten –Vreemde sleutels Een vreemde sleutel F van een basisrelatie R 2 is een verzameling van attributen van R 2, waarvoor geldt dat: 1. Er bestaat een basisrelatie R 1 (R 1 niet noodzakelijk verschillend van R 2 ) met een kandidaatsleutel K, die evenveel attributen bevat als F en waarbij er een één- op-ééncorrespondentie is tussen de attributen van K en de attributen van F, zodat corresponderende attributen dezelfde geassocieerde datatypes hebben. 2. Op elk tijdstip komt elke reguliere waarde van F in R 2 eveneens voor als waarde van in K in een tuple van R 1.

25 25 Integriteitaspecten Tabel Schilderij primaire sleutel = {S_ID} vreemde sleutels = {Artiest} en {Eigenaar} Tabel Artiest primaire sleutel = {A_ID} S_ID: char(3) Naam: varchar Artiest: char(3) Periode: integer Waarde: real Eigenaar: varchar S01VissershuisA041882Boijmans S02De balletlesA021872Louvre S03Mona LisaA011499Louvre Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 EnsorJames1860 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A03 A04 S05Na het badA021883Louvre

26 26 Integriteitaspecten Tabel Artiest primaire sleutel = {A_ID} vreemde sleutel = {Geïnspireerd_door} null A04 A02 Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 EnsorJames1860 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A03 A04 A02 Geïnspireerd_door: char(3) Zelfreferentie

27 27 Integriteitaspecten Integriteitsrestricties Een integriteitsrestrictie is een voorwaarde waaraan alle data uit een database op elk moment moeten voldoen. CREATE ASSERTION sterftejaarrestrictie CHECK ( Artiest.Gestorven >= Artiest.Geboren ); DROP ASSERTION sterftejaarrestrictie

28 28 Integriteitaspecten –Toestandsrestricties versus transitierestricties –Relatierestrictie versus databaserestrictie (typerestricties en attribuutrestricties)  De waarde van een schilderij moet een positief getal zijn (toestandsrestrictie en relatierestrictie): CREATE ASSERTION waarderestrictie CHECK ( Schilderij.Waarde > 0 );  De periode van een schilderij moet binnen de leefperiode van de artiest vallen (toestandsrestrictie en databaserestrictie): CREATE ASSERTION perioderestrictie CHECK ( NOT EXISTS ( SELECT * FROM Schilderij, Artiest WHERE Schilderij.Artiest = Artiest.A_ID AND ( Schilderij.Periode < Artiest.Geboren OR Schilderij.Periode > Artiest.Gestorven ) ) );

29 29 Integriteitaspecten Het loon van een werknemer mag niet afnemen (transitierestrictie en relatierestrictie): CREATE ASSERTION loonrestrictie CHECK ( Old.Werknemer.Loon <= New.Werknemer.Loon ); Hierbij zijn Old en New systeemfuncties die respectievelijk de oude en potentiële nieuwe waarde van het attribuut weergeven.  De burgerlijke stand van een persoon moet correct worden aangepast (transitierestrictie en relatierestrictie): CREATE ASSERTION burgerlijke_standrestrictie CHECK ( NOT(Old.Persoon.Burg_Stand= ‘ongehuwd’ AND New.Persoon.Burg_Stand= ‘gescheiden’) );  KMSK bezit geen schilderijen van Da Vinci (toestandsrestrictie en databaserestrictie): CREATE ASSERTION DaVinci_restrictie CHECK ( NOT EXISTS ( SELECT * FROM Schilderij, Artiest WHERE Schilderij.Artiest = Artiest.A_ID AND Schilderij.Eigenaar = KMSK AND Artiest.Naam = ‘Da Vinci’ ) );

30 30 Overzicht Structurele aspecten Integriteitaspecten Gedragsaspecten –Relationele algebra

31 31 Gedragsaspecten Relationele algebra Aangepaste versies van traditionele verzamelingoperatoren vereniging of unie doorsnede verschil cartesisch product Speciale relationele operatoren selectie projectie join deling

32 32 Gedragsaspecten Twee relatieschema’s zijn van hetzelfde type indien ze evenveel attributen bevatten en er een één-op-ééncorrespondentie is tussen hun attributen, zodat corresponderende attributen dezelfde geassocieerde datatypes hebben. Als R een relatie is met attribuut A:T, dan resulteert de ‘rename’-operatie R RENAME A AS A new in een nieuwe relatie met een schema dat bekomen wordt uit het schema van R door het attribuut A:T is te vervangen door het attribuut A new :T en met dezelfde extentie als R.

33 33 Gedragsaspecten –De verenigingoperator Als R 1 en R 2 twee relaties zijn met schema’s van hetzelfde type, dan is de vereniging, R 1 UNION R 2 van deze relaties een relatie met een schema van hetzelfde type en een extentie die bestaat uit alle tuples die ofwel voorkomen in R 1, ofwel voorkomen in R 2, ofwel voorkomen in R 1 en R 2.

34 34 Gedragsaspecten Tabel Artiest_A Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 A_ID: char(3) A01 A02 Tabel Artiest_B Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 A_ID: char(3) A01 MonetClaude1840 A04 Tabel (Artiest_A UNION Artiest_B) Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 A_ID: char(3) A01 MonetClaude1840 A04 DegasEdgar1834 A02 vereniging

35 35 Gedragsaspecten –De doorsnede-operator Als R 1 en R 2 twee relaties zijn met schema’s van hetzelfde type, dan is de doorsnede, R 1 INTERSECT R 2 van deze relaties een relatie met een schema van hetzelfde type en een extentie die bestaat uit alle tuples die zowel voorkomen in R 1 als in R 2.

36 36 Gedragsaspecten Tabel Artiest_A Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 A_ID: char(3) A01 A02 Tabel Artiest_B Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 A_ID: char(3) A01 MonetClaude1840 A04 Tabel (Artiest_A INTERSECT Artiest_B) Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 A_ID: char(3) A01 doorsnede

37 37 Gedragsaspecten –De verschiloperator Als R 1 en R 2 twee relaties zijn met schema’s van hetzelfde type, dan is het verschil, R 1 MINUS R 2 van deze relaties een relatie met een schema van hetzelfde type en een extentie die bestaat uit alle tuples die wel voorkomen in R 1 en niet in R 2.

38 38 Gedragsaspecten Tabel Artiest_A Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 A_ID: char(3) A01 A02 Tabel Artiest_B Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 A_ID: char(3) A01 MonetClaude1840 A04 Tabel (Artiest_A MINUS Artiest_B) Naam: varchar Voornaam: varchar Geboren: integer DegasEdgar1834 A_ID: char(3) A02 verschil

39 39 Gedragsaspecten –De cartesische productoperator Als R 1 en R 2 twee relaties zijn die geen gemeenschappelijke attributen hebben, dan is het cartesisch product, R 1 TIMES R 2 van deze relaties een nieuwe relatie waarvan de attributen uit het relatieschema worden bekomen door de unie te nemen van de verzameling van de attributen van R 1 en de verzameling van de attributen van R 2. De extentie van de resulterende relatie bestaat uit alle tuples die worden bekomen door een tuple dat voorkomt in R 1 samen te voegen met een tuple dat voorkomt in R 2.

40 40 Gedragsaspecten

41 41 Gedragsaspecten –De selectieoperator Als R een relatie is en e een logische expressie is waarvan de parameters alle attributen zijn van R dan resulteert de selectie, R WHERE e in een nieuwe relatie die dezelfde attributen heeft als R en waarvan de extentie bestaat uit alle tuples van R waarvoor de expressie e evalueert naar de waarheidswaarde ‘waar’.

42 42 Gedragsaspecten Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A04 selectie Tabel (Artiest WHERE Geboren > 1800) Naam: varchar Voornaam: varchar Geboren: integer DegasEdgar1834 MonetClaude1840 Gestorven: integer A_ID: char(3) A02 A04

43 43 Gedragsaspecten –De projectieoperator Als R een relatie is en {A 1 :T 1, A 2 :T 2, …, A p :T p } een deelverza- meling is van de attributen van R dan resulteert de projectie, R {A 1, A 2, …, A p } in een nieuwe relatie waarvan het schema bekomen wordt uit het schema van R door enkel de attributen uit {A 1 :T 1, A 2 :T 2, …, A p :T p } te behouden en waarbij de extentie bestaat uit alle tuples t=(A 1 :w 1, A 2 :w 2, …, A p :w p ) waarvoor een tuple voorkomt in R met attribuutwaarde w 1 voor A 1, w 2 voor A 2, …, en w p voor A p.

44 44 Gedragsaspecten Tabel Artiest Naam: varchar Voornaam: varchar Geboren: integer Da VinciLeonardo1452 DegasEdgar1834 MonetClaude1840 Gestorven: integer A_ID: char(3) A01 A02 A04 Tabel (Artiest {A_ID, Naam, Voornaam}) Naam: varchar Voornaam: varchar Da VinciLeonardo A_ID: char(3) A01 MonetClaude A04 DegasEdgar A02 projectie

45 45 Gedragsaspecten –De ‘join’-operator De (natuurlijke) ‘inner join’-operator Als R 1 een relatie is met attributen {X 1 :T X1, X 2 :T X2, …, X m :T Xm, Y 1 :T Y1, Y 2 :T Y2, …, Y n :T Yn } en R 2 een relatie is met attributen {Y 1 :T Y1, Y 2 :T Y2, …, Y n :T Yn, Z 1 :T Z1, Z 2 :T Z2, …, Z p :T Zp } dan resulteert de join, R 1 JOIN R 2 in een nieuwe relatie waarvan het schema bestaat uit de attributen {X 1 :T X1, X 2 :T X2, …, X m :T Xm, Y 1 :T Y1, Y 2 :T Y2, …, Y n :T Yn, Z 1 :T Z1, Z 2 :T Z2, …, Z p :T Zp } en waarvan de extentie bestaat uit alle tuples die worden bekomen door een tuple van R 1 samen te voegen met een tuple van R 2 onder de voorwaarde dat alle gemeenschappelijke attributen gelijke waarden moeten hebben.

46 46 Gedragsaspecten Tabel Schilderij Tabel Artiest S_ID: char(3) SNaam: varchar A_ID: char(3) Periode: integer S01Vissershuisnull1882 S02De balletlesA S03Mona LisaA Naam: varchar Voornaam: varchar Da VinciLeonardo DegasEdgar A_ID: char(3) A01 A02 Tabel (Schilderij JOIN Artiest) S_ID: char(3) SNaam: varchar A_ID: char(3) Periode: integer S03Mona LisaA Naam: varchar Voornaam: varchar S02De balletlesA Da VinciLeonardo DegasEdgar join

47 47 Gedragsaspecten De ‘(left) outer join’-operator Varianten: ‘right outer join’ en ‘full outer join’ Als R 1 een relatie is met attributen {X 1 :T X1, X 2 :T X2, …, X m :T Xm, Y 1 :T Y1, Y 2 :T Y2, …, Y n :T Yn } en R 2 een relatie is met attributen {Y 1 :T Y1, Y 2 :T Y2, …, Y n :T Yn, Z 1 :T Z1, Z 2 :T Z2, …, Z p :T Zp } dan resulteert de (left) outer join, R 1 OUTER JOIN R 2 in een nieuwe relatie die bekomen wordt door het resultaat van de ‘join’-operatie R 1 JOIN R 2 uit te breiden met alle tuples uit R 1 waarvoor minstens één van de gemeenschappelijke attributen een null-waarde bevat en daarbij de ontbrekende p attribuut- waarden van R 2 te modelleren met extra null-waarden.

48 48 Gedragsaspecten Tabel Schilderij Tabel Artiest S_ID: char(3) SNaam: varchar A_ID: char(3) Periode: integer S01Vissershuisnull1882 S02De balletlesA S03Mona LisaA Naam: varchar Voornaam: varchar Da VinciLeonardo DegasEdgar A_ID: char(3) A01 A02 Tabel (Schilderij OUTER JOIN Artiest) S_ID: char(3) SNaam: varchar A_ID: char(3) Periode: integer S01Vissershuisnull1882 S02De balletlesA S03Mona LisaA Naam: varchar Voornaam: varchar null DegasEdgar Da VinciLeonardo outer join

49 49 Gedragsaspecten –De delingoperator Als R 1 een relatie is met attributen {X 1 :T X1, X 2 :T X2, …, X m :T Xm, Y 1 :T Y1, Y 2 :T Y2, …, Y n :T Yn } en R 2 de relatie is met attributen {X 1 :T X1, X 2 :T X2, …, X m :T Xm } dan resulteert de deling, R 1 DIVIDEBY R 2 in een nieuwe relatie waarvan het schema bestaat uit de attributen {Y 1 :T Y1, Y 2 :T Y2, …, Y n :T Yn } en de extentie bestaat uit alle tuples t(Y 1 :w Y1, Y 2 :w Y2, …, Y n :w Yn ) waarvoor alle mogelijke samenvoegingen met een tuple uit R 2 voorkomen in R 1.

50 50 Gedragsaspecten Tabel Tentoonstelling SNaam: varchar Periode: integer Vissershuis1882 De balletles1872 Mona Lisa1499 Tabel (Tentoonstelling DIVIDEBY Schilderij) deling Naam: varchar Da Vinci Degas Monet Thema: varchar Vrouw Woning Tabel Schilderij SNaam: varchar Periode: date De balletles1872 Mona Lisa1499 Naam: varchar Da Vinci Degas X Y XY X XY DIVIDEBY X Thema: varchar Vrouw

51 51 Gedragsaspecten –Bijkomende operatoren De uitbreidingsoperator De groepeeroperator Aggregatieoperatoren

52 52 Gedragsaspecten De uitbreidingsoperator Als R een relatie is, {A 1 :T 1, A 2 :T 2, …, A p :T p } een deelverzameling is van de attributen van R en {B 1 :F 1, B 2 :F 2, …, B q :F q } een verza- meling is van afgeleide attributen B i :F i, i=1,2,…,q, met B i een unieke attribuutnaam, die niet voorkomt in R en F i een functie is over de attributen van R, die constanten kan bevatten en gebruikt wordt om de waarden van B i te berekenen, dan resulteert de uitbreiding, EXTEND R {A 1, A 2, …, A p } (B 1 :F 1, B 2 :F 2, …, B q :F q ) in een nieuwe relatie waarvan het schema bekomen wordt door de afgeleide attributen uit {B 1 :F 1, B 2 :F 2, …, B q :F q } toe te voegen aan het schema van de projectie R {A 1, A 2, …, A p } en waarvan de extentie wordt bekomen door elk tuple van R {A 1, A 2, …, A p } uit te breiden met de waarden B i :w i, i=1,2,…,q, met w i de waarde die bekomen wordt door F i te evalueren met de attribuutwaarden van het corresponderende tuple uit R.

53 53 Gedragsaspecten Tabel (EXTEND Schilderij{S_ID, Naam} (Prijs:Waarde/ )) S_ID: char(3) Naam: varchar Prijs: Waarde/ S01Vissershuis16 S02De balletles8,5 S03Mona Lisa75 uitbreiding

54 54 Gedragsaspecten De groepeeroperator Als R een relatie is en {A 1 :T 1, A 2 :T 2, …, A p :T p } een deelverzame- ling is van de attributen van R dan resulteert de groepering, R GROUP (A 1, A 2, …, A p ) in een nieuwe relatie met hetzelfde schema als R, maar waarbij de tuples in de extentie gegroepeerd zijn in disjuncte deelverza- melingen zodat een deelverzameling enkel tuples bevat met een gelijke waarde voor elk van de attributen A 1, A 2, …, A p.

55 55 Gedragsaspecten Tabel (Schilderij GROUP (Eigenaar)) S_ID: char(3) Naam: varchar Artiest: char(3) Periode: integer Waarde: real Eigenaar: varchar S01VissershuisA041882Boymans S02De balletlesA021872Louvre S03Mona LisaA011499Louvre groepering groep1 groep2 Gedragsaspecten

56 56 Gedragsaspecten Aggregatieoperatoren –Soorten »COUNT »MAX, MIN, AVG »SUM –Gebruik »In combinatie met de uitbreidingsoperator »Optioneel: in combinatie met de groepeeroperator

57 57 Gedragsaspecten Tabel (EXTEND Schilderij {} (Max_waarde:MAX(Waarde), Min_waarde:MIN(Waarde))) Max_waarde:MAX(Waarde) uitbreiding + aggregatie Min_waarde:MIN(Waarde) Gedragsaspecten Tabel Schilderij S_ID: char(3) Naam: varchar Artiest: char(3) Periode: integer Waarde: real Eigenaar: varchar S01VissershuisA041882Boymans S02De balletlesA021872Louvre S03Mona LisaA011499Louvre

58 58 Gedragsaspecten Tabel (EXTEND Schilderij {Eigenaar} (Totaalwaarde:SUM(Waarde)) GROUP (Eigenaar)) Totaalwaarde:SUM(Waarde) Eigenaar:varchar Boymans Louvre groepering + uitbreiding + aggregatie Gedragsaspecten Tabel (Schilderij GROUP (Eigenaar)) S_ID: char(3) Naam: varchar Artiest: char(3) Periode: integer Waarde: real Eigenaar: varchar S01VissershuisA041882Boymans S02De balletlesA021872Louvre S03Mona LisaA011499Louvre groepering groep1 groep2


Download ppt "1 Overzicht informatie- vergaring domeinanalyse functionele analyse behoefteanalyse conceptueel ontwerp logisch ontwerp fysieke ontwerp databasemodel-"

Verwante presentaties


Ads door Google