1 / 40

Conceptueel databaseontwerp

Principes van databases. Conceptueel databaseontwerp. Hoofdstuk 3. Overzicht. Het databaseontwerpproces Het (uitgebreid) ‘entity-relationship’ model Het ontwerp van een (E)ER-diagram. Overzicht. Het databaseontwerpproces Het (uitgebreid) ‘entity-relationship’ model

carla-sloan
Download Presentation

Conceptueel databaseontwerp

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. Principes van databases Conceptueel databaseontwerp Hoofdstuk 3

  2. Overzicht • Het databaseontwerpproces • Het (uitgebreid) ‘entity-relationship’ model • Het ontwerp van een (E)ER-diagram

  3. Overzicht • Het databaseontwerpproces • Het (uitgebreid) ‘entity-relationship’ model • Het ontwerp van een (E)ER-diagram

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

  5. Het databaseontwerpproces • Informatievergaring • Communicatie • Onderzoek • Software • Data • Handleidingen • Rapporten • Abstrahering, modellering en implementatie • Abstrahering • Modellering (EER of UML)

  6. Voorstelling Plaats Klant Zone Stuk uitvoerder beginuur plaatsnr betaald klantnr tijdstip datum stuknr naam naam adres soort duur prijs titel opge- voerd 1 N M 1 M organisator reser- vatie tarief N N 1 N in Het databaseontwerpproces • EER-diagram

  7. Het databaseontwerpproces • Functionele beschrijvingen Controle_periode (IN Periode IN Artiest.Geboren IN Artiest.Gestorven OUT Status) EXCEPTIE (OnmogelijkePeriode) –operatie om te controleren of de periode van het schilderij wel valt binnen de leefperiode van de schilder van het schilderij. Ouderdom (IN Periode OUT Ouderdom) EXCEPTIE (PeriodeOnbekend) –operatie om de ouderdom van een schilderij te bepalen. Daartoe wordt de periode van het schilderij vergeleken met de huidige datum. Opmerking: UML doet beiden

  8. Het databaseontwerpproces • CASE-tools

  9. Het databaseontwerpproces

  10. Overzicht • Het databaseontwerpproces • Het (uitgebreid) ‘entity-relationship’ model • Het ontwerp van een (E)ER-diagram

  11. Het uitgebreid ‘entity-relationship’ model • Entiteittypes en relatietypes • Structurele aspecten Een entiteit is een ‘ding’ dat een zelfstandig bestaan leidt in de reële wereld Een entiteittype karakteriseert een collectie vanentiteiten en wordt gekenmerkt door een naamen een verzameling van attributen

  12. Eigenaar Naam Schilderij Artiest Naam Plaats Land Naam ID Voornaam Geboren Periode Waarde Gestorven Het uitgebreid ‘entity-relationship’ model Voorbeelden en visualisatie

  13. Het uitgebreid ‘entity-relationship’ model Een relatietype is een verwantschap tussen tweeof meer al dan niet verschillende entiteittypes.Men spreekt respectievelijk van een binair, ternairof n-air (n>3) relatietype. Verder wordt elk relatietype gekenmerkt door een naam. Een relatietype kan attributen hebben.

  14. Persoon Bedrijf Plaats Schilderij Procent Het uitgebreid ‘entity-relationship’ model Voorbeelden en visualisatie Werknemer is partner werkt plan- ning Tentoonstelling

  15. Postcode Nummer Plaats Straat Naam Talen Leeftijd meerwaardig samengesteld afgeleid sleutelattribuut Het uitgebreid ‘entity-relationship’ model • Karakteristieken en restricties • Attributen • Meerwaardige versus enkelwaardige attributen • Samengestelde versus enkelvoudige attributen • Afgeleide attributen • Sleutelattributen (sleutel en surrogaatsleutel)

  16. Het uitgebreid ‘entity-relationship’ model • Zwakke entiteittypes • Identificerende entiteittypes • Identificerend relatietype • Partiële sleutel Een zwak entiteittype karakteriseert zwakke entiteiten.Dit zijn entiteiten die niet op zichzelf kunnen bestaan, maar voor hun bestaan afhankelijk zijn van het bestaanvan andere, identificerende entiteiten.

  17. Jaar Schilderij Cursus Student Naam Zittijd Nummer Naam Code PID Het uitgebreid ‘entity-relationship’ model Voorbeelden en visualisatie Patiënt Artiest legt af voor maakt Examen Medisch dos.

  18. Persoon Bedrijf Plaats Lezer Schilderij Procent Het uitgebreid ‘entity-relationship’ model • Relatietypes • Kardinaliteitrestrictieséén of meerdere • Participatierestrictiestotaal of partieel Voorbeelden en visualisatie Boek Werknemer N M 1 1 is partner werkt plan- ning leent N N 1 1 1 Tentoonstelling

  19. Persoon Bedrijf Plaats Lezer Schilderij Procent Het uitgebreid ‘entity-relationship’ model Alternatieve notatie: (min,max)-notatie Boek Werknemer (0,N) (1,M) (0,1) (0,1) is partner werkt plan- ning leent (0,1) (0,1) (1,N) (0,1) (0,N) Tentoonstelling

  20. Het uitgebreid ‘entity-relationship’ model • Subtypes, supertypes en overerving • Structurele aspecten • Het subtype • ‘erft’ alle attributen en verwante relatietypes van het supertype • kan daarnaast nog eigen attributen en relatietypes hebben Een subtype is een entiteittype dat een sub-collectie van entiteiten karakteriseert. Het entiteittype van de collectie waarbinnen dezesubcollectie wordt beschouwd, wordt hetsupertype genoemd.

  21. Werknemer Kunstwerk Manager Administratie Beeldhouw Wandtapijt Technicus Schilderij Kaderlid Juweel Het uitgebreid ‘entity-relationship’ model Voorbeelden en visualisatie        

  22. Het uitgebreid ‘entity-relationship’ model • Supertype/subtype-netwerken • Supertype/subtype-hiërarchieën • Meervoudige overerving: beperking Het creëren van specifiekere subtypes voor eeneen gegeven entiteittype noemen we speciali-satie. Het creëren van een algemeen supertype dat de gemeenschappelijke attributenen relatietypes van een aantal gegeven entiteit-types verenigt, noemen we generalisatie.

  23. Kunstwerk Kledij Outfit Beeldhouw Perkament Wandtapijt Waterverf Schilderij Olieverf Juweel Papier Doek Acryl Hout Was               Het uitgebreid ‘entity-relationship’ model Voorbeeld en visualisatie

  24. Kunstwerk Artiest Beeldhouwer Beeldhouw Wandtapijt Tekenaar Schilderij Schilder Juweel Het uitgebreid ‘entity-relationship’ model • Karakteristieken en restricties • Overlappende versus disjuncte subtypes o d       

  25. Kunstwerk Beeldhouw Wandtapijt Schilderij Juweel Type d   ‘bld’ ‘sch’   ‘wnd’ ‘jwl’ Naam ID Periode Waarde Type Het uitgebreid ‘entity-relationship’ model • Geconditioneerde subtypes • Attribuutgedefinieerde supertype/subtype-verwantschap

  26. Het uitgebreid ‘entity-relationship’ model • Categorieën • Structurele aspecten • Elke entiteit van de categorie is slechts entiteit van juist één van de supertypes Een categorie of unietype is een ‘speciaal’ sub-type met verschillende supertypes, dat wordt ingevoerd om de entiteiten van deze super-types te groeperen

  27. Eigenaar Museum Persoon Bedrijf U  Het uitgebreid ‘entity-relationship’ model Voorbeeld en visualisatie

  28. Eigenaar Museum Persoon Bedrijf ‘bedrijf’ ‘museum’ ‘particulier’ U  Soort Soort Het uitgebreid ‘entity-relationship’ model • Karakteristieken en restricties • Geconditioneerde supertypes

  29. Overzicht • Het databaseontwerpproces • Het (uitgebreid) ‘entity-relationship’ model • Het ontwerp van een (E)ER-diagram

  30. Het ontwerp van een (E)ER-diagram • Casestudie: Database voor een jeugdvereniging Een jeugdvereniging wenst een database op te zetten, ter ondersteuning van haar ledenadministratie en werking. Daarbij moet rekening worden gehouden met de volgende aspecten. Bij de inschrijving krijgt elk lid een uniek lidnummer. Gegevens zoals naam, voornaam, adres, geslacht en geboortedatum worden geregistreerd. In het begin van het werkjaar worden de leden ingedeeld in verschillende groepen volgens leeftijdsklassen. Er kunnen meerdere groepen zijn voor één leeftijdsklasse. Elke groep heeft een leid(st)er. Een leid(st)er is maximaal verantwoordelijke voor één groep. De leiding vormt zelf ook een groep, die correspondeert met de hoogste leeftijdsklasse. De leid(st)ers organiseren allerhande activiteiten voor de leden. Een dergelijke activiteit kan bestemd zijn voor één of meerdere groepen tegelijkertijd. Tevens kunnen meerdere activiteiten voor dezelfde groep worden gepland (op verschillende uren). Aan sommige activiteiten kunnen extra kosten verbonden zijn. Los daarvan kan het zijn dat de leden zich op voorhand voor een activiteit moeten inschrijven (en de kosten vereffenen). identificatie van entiteittypes, subtypes, supertypes en categorieën

  31. Activiteit Groep Lid Het ontwerp van een (E)ER-diagram Oplossing creatie entiteittypes

  32. Het ontwerp van een (E)ER-diagram • Casestudie: Database voor een jeugdvereniging Een jeugdvereniging wenst een database op te zetten, ter ondersteuning van haar ledenadministratie en werking. Daarbij moet rekening worden gehouden met de volgende aspecten. Bij de inschrijving krijgt elk lid een uniek lidnummer. Gegevens zoals naam, voornaam, adres, geslacht en geboortedatum worden geregistreerd. In het begin van het werkjaar worden de leden ingedeeld in verschillende groepen volgens leeftijdsklassen. Er kunnen meerdere groepen zijn voor één leeftijdsklasse. Elke groep heeft een leid(st)er. Een leid(st)er is maximaal verantwoordelijke voor één groep. De leiding vormt zelf ook een groep, die correspondeert met de hoogste leeftijdsklasse. De leid(st)ers organiseren allerhande activiteiten voor de leden. Een dergelijke activiteit kan bestemd zijn voor één of meerdere groepen tegelijkertijd. Tevens kunnen meerdere activiteiten voor dezelfde groep worden gepland (op verschillende uren). Aan sommige activiteiten kunnen extra kosten verbonden zijn. Los daarvan kan het zijn dat de leden zich op voorhand voor een activiteit moeten inschrijven (en de kosten vereffenen). identificatie van attributen, hun karakteristieken en hun restricties

  33. Activiteit Groep Lid geb.datum lidnummer voornaam postcode geslacht nummer leeftijd tijdstip naam adres straat kost maximum minimum nummer leeftijd naam omschrijving Het ontwerp van een (E)ER-diagram Oplossing creatie attributen

  34. Het ontwerp van een (E)ER-diagram • Casestudie: Database voor een jeugdvereniging Een jeugdvereniging wenst een database op te zetten, ter ondersteuning van haar ledenadministratie en werking. Daarbij moet rekening worden gehouden met de volgende aspecten. Bij de inschrijving krijgt elk lid een uniek lidnummer. Gegevens zoals naam, voornaam, adres, geslacht en geboortedatum worden geregistreerd. In het begin van het werkjaar worden de leden ingedeeld in verschillende groepen volgens leeftijdsklassen. Er kunnen meerdere groepen zijn voor één leeftijdsklasse. Elke groep heeft een leid(st)er. Een leid(st)er is maximaal verantwoordelijke voor één groep. De leiding vormt zelf ook een groep, die correspondeert met de hoogste leeftijdsklasse. De leid(st)ers organiseren allerhande activiteiten voor de leden. Een dergelijke activiteit kan bestemd zijn voor één of meerdere groepen tegelijkertijd. Tevens kunnen meerdere activiteiten voor dezelfde groep worden gepland (op verschillende uren). Aan sommige activiteiten kunnen extra kosten verbonden zijn. Los daarvan kan het zijn dat de leden zich op voorhand voor een activiteit moeten inschrijven (en de kosten vereffenen). identificatie van reguliere relatietypes, hun attributen, karakteristieken en restricties

  35. Activiteit Groep Lid geb.datum lidnummer voornaam postcode geslacht nummer betaald leeftijd tijdstip naam adres straat kost N M 1 lid van schrijftin leider van maximum minimum nummer leeftijd naam N 1 1 M N voor omschrijving Het ontwerp van een (E)ER-diagram Oplossing creatie relatietypes

  36. Activiteit Groep Lid geb.datum lidnummer voornaam postcode geslacht nummer betaald leeftijd tijdstip naam adres straat kost N M 1 lid van schrijftin leider van maximum minimum nummer leeftijd naam N 1 1 M N voor omschrijving Het ontwerp van een (E)ER-diagram Eindoplossing

  37. Het ontwerp van een (E)ER-diagram • Casestudie: Reservatiesysteem voor een theater In een theaterzaal worden verschillende stukken opgevoerd (toneel, ballet, opera enzovoort). Doorgaans worden verschillende voorstellingen van een bepaald stuk opgevoerd. Voor elk stuk wordt de titel, de duur, de soort, de organisator, de uitvoerder en een uniek nummer bewaard. Van iedere voorstelling wordt de datum en het beginuur opgeslagen. Aangezien er maar één zaal is, kan op hetzelfde ogenblik maar één voorstelling worden geprogrammeerd. De zitplaatsen in de zaal worden doorlopend genummerd en zijn ingedeeld in zones die een aparte naam hebben. De toegangsprijs is afhankelijk van de zone van de zitplaats. De verkoop van tickets verloopt uitsluitend via reservering. De klant moet hierbij zijn naam en adres opgeven en kan dan één of meerdere zitplaatsen reserveren voor een voorstelling. Er wordt bijgehouden of voor deze reservering reeds werd betaald.

  38. Voorstelling Plaats Klant Zone Stuk uitvoerder beginuur plaatsnr betaald klantnr tijdstip datum stuknr naam adres naam soort duur prijs titel organisator Het ontwerp van een (E)ER-diagram Eindoplossing opge- voerd 1 N M 1 M reser- vering tarief N N 1 N in

  39. Het ontwerp van een (E)ER-diagram • Casestudie: Database voor een softwarefirma Een softwarefirma wil een database opzetten als hulp bij het controleren en corrigeren van fouten die ontdekt worden in haar softwareproducten. Aan elk softwareproduct wordt een uniek productnummer toegekend en een beschrijving toegevoegd. Van een product worden verschillende versies uitgebracht, die per product een versienummer krijgen. Daarnaast wordt ook de datum waarop de versie werd uitgebracht bewaard. Een versie van een product kan zowel door externe als door interne gebruikers (bijvoorbeeld programmeurs en systeemtesters) worden gebruikt. Interne gebruikers mogen alle versies van alle producten gebruiken zonder voorafgaande aanvraag. Externen dienen de versie van het product eerst aan te kopen. Bij de verkoop wordt voor elk verkocht exemplaar een uniek registratienummer –dat geldt voor één of meerdere externe gebruikers– en de registratiedatum vastgelegd. Wanneer een gebruiker een probleem constateert, kan hij of zij hierover een probleemrapport opstellen (en overmaken aan de onderhoudsafdeling). Zo’n rapport kan zowel door een interne als door een externe gebruiker worden opgemaakt en vermeldt naast een verwijzing naar het product en de versie, ook de datum en een omschrijving van het probleem. Aan elk rapport wordt verder een uniek rapportnummer, een prioriteit en een status (aan te passen door de onderhoudsafdeling) toegekend. Aangezien externe gebruikers enkel een rapport mogen sturen in verband met de versies waarvoor zij geregistreerd zijn, dienen zij steeds hun registratienummer te vermelden. Interne gebruikers dienen enkel hun werknemernummer op te geven, terwijl externen geïdentificeerd worden via de combinatie van hun naam en de naam van hun bedrijf. Van alle gebruikers wordt tenslotte ook nog het telefoonnummer, adres en e-mail adres bijgehouden (indien bekend).

  40. Gebruiker Rapport Ext_Rapport Int_Rapport Registratie Ext_Gebr. Int_Gebr. Product Versie registratienr productnr rapportnr telefoon versienr omschr. prioriteit beschr. datum datum datum e-mail bedrijf status naam adres Het ontwerp van een (E)ER-diagram werknemernr Eindoplossing gebruikerID N U  1 bezit 1 van door N N 1 1 over d   voor N M N 1 N over

More Related