DATABANKEN HET “ENHANCED ENTITY-RELATIONSHIP” MODEL Database, Document and Content Management DATABANKEN HET “ENHANCED ENTITY-RELATIONSHIP” MODEL Vakgroep Telecommunicatie en Informatieverwerking
Het ‘enhanced entity-relationship’ model Overzicht Het ‘enhanced entity-relationship’ model Het ontwerp van een EER-diagram Vakgroep Telecommunicatie en Informatieverwerking
Het ‘enhanced entity-relationship’ model Overzicht Het ‘enhanced entity-relationship’ model subklassen, superklassen en overerving specialisatie en generalisatie categorieën Het ontwerp van een EER-diagram Vakgroep Telecommunicatie en Informatieverwerking
wat is het “Enhanced Entity-Relationship” model ? uitbreiding van het “Entity-Relationship”-model laat een verdergaande abstractie toe (a.h.v. subklassen/super-klassen, specialisatie/generalisatie en categorieën) komt tegemoet aan objectgeoriënteerde ontwikkelingen het “Enhanced Entity-Relationship”-model is niet bedoeld om rechtstreeks geïmplementeerd te worden het “Enhanced Entity-Relationship”-diagram kan worden “omgezet” naar een databankschema (relationeel, objectgeoriënteerd, ...) Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model subklassen, superklassen en overerving subklasse/superklasse van een entiteitstype binnen de entiteiten van een entiteitstype kunnen soms belangrijke subgroepen worden onderscheiden die expliciet moeten worden gerepresenteerd bv. werknemers managers, ingenieurs, techniekers, werknemers met salaris, werknemers per uur betaald de entiteitstypes van dergelijke subgroepen worden subklassen genoemd het omvattend entiteitstype wordt superklasse genoemd subklassen en superklassen worden voorgesteld d.m.v. subklasse/superklasse relatie subklassen kunnen specifieke attributen hebben Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model type-overerving een (entiteit van een) subklase “erft” alle attributen van zijn superklassen specialisatie en generalisatie specialisatie = het definiëren van een verzameling van subtypes voor een entiteitstype generalisatie = het definiëren van een algemeen supertype dat de gemeenschappelijke kenmerken van verschillende entiteitstypes verenigt Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model meerdere specialisaties (generalisaties) kunnen gedefinieerd zijn voor hetzelfde entiteitstype visualisatie Supertype Supertype of d Subtype Subtype 1 Subtype 2 Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model structurele restricties voor specialisatie en generalisatie disjuncte subklassen vs. overlappende subklassen voorbeelden: onderdelen kunnen zelf geproduceerd, aangekocht of beide zijn (overlappend); werknemers zijn ofwel ingenieur ofwel technicus (disjunct) visualisatie: disjunct (d), overlappend (o) Supertype Supertype versus d o Subtype 1 Subtype 2 Subtype 1 Subtype 2 Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model geconditioneerde subtypes voorbeeld: attribuut-gedefinieerde specialisatie over “job-type”; specificerende attribuutwaarden “ingenieur”, “technicus”, … visualisatie job-type Werknemer job-type d “ingenieur” “technicus” Ingenieur Technieker Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model compleetheidsrestricitie: totale vs. partiële specialisatie voorbeelden: elk onderdeel is geproduceerd en/of aangekocht (totaal); niet elke werknemer is noodzakelijk ingenieur of technicus (partieel) visualisatie: totaal (||), partieel (|) Supertype Supertype versus d d Subtype 1 Subtype 2 Subtype 1 Subtype 2 Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model specialisatiehiërarchieën en -netwerken specialisatiehiërarchie: elk subtype heeft slechts één supertype (enkelvoudige overerving) specialisatienetwerk: een subtype kan meerdere supertypes hebben (meervoudige overerving) Vb. Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model categorieën categorie = gemeenschappelijk subtype van verschillende supertypes een entiteit van het subtype moet entiteit zijn van slechts één van de supertypes, waarvan het alle attributen erft visualisatie Supertype 1 Supertype 2 U Subtype Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model voorbeeld structurele restricties voor categorieën supertypes kunnen geconditioneerd zijn een categorie kan totaal of partieel zijn Persoon Museum Bedrijf U Eigenaar Vakgroep Telecommunicatie en Informatieverwerking
Het ‘Enhanced Entity-Relationship’ model Overzicht Het ‘Enhanced Entity-Relationship’ model Het ontwerp van een EER-diagram case studie oefeningen Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een EER-diagram case studie: databank voor softwarefirma Een softwarefirma wenst een database op te zetten 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 vaststelt, zal hij hierover een probleemrapport opstellen (en overmaken aan de ‘maintenance’-afdeling). Een dergelijk 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 maintenance-afdeling) 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 gekend). Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een EER-diagram extractie reguliere entiteiten case studie: databank voor softwarefirma Een softwarefirma wenst een database op te zetten 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 vaststelt, zal hij hierover een probleemrapport opstellen (en overmaken aan de ‘maintenance’-afdeling). Een dergelijk 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 maintenance-afdeling) 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 gekend). extractie reguliere entiteiten Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een ER-diagram oplossing Ext_Gebr. Int_Gebr. Product creatie reguliere entiteitstypes Rapport Registratie Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een EER-diagram extractie subtypes/categorieën case studie: databank voor softwarefirma Een softwarefirma wenst een database op te zetten 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 vaststelt, zal hij hierover een probleemrapport opstellen (en overmaken aan de ‘maintenance’-afdeling). Een dergelijk 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 maintenance-afdeling) 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 gekend). extractie subtypes/categorieën Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een ER-diagram oplossing Ext_Gebr. Int_Gebr. Product U Gebruiker creatie subtypes/categorieën Rapport d Int_Rapport Ext_Rapport Registratie Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een EER-diagram extractie zwakke entiteiten case studie: databank voor softwarefirma Een softwarefirma wenst een database op te zetten 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 vaststelt, zal hij hierover een probleemrapport opstellen (en overmaken aan de ‘maintenance’-afdeling). Een dergelijk 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 maintenance-afdeling) 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 gekend). extractie zwakke entiteiten Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een ER-diagram oplossing Ext_Gebr. Int_Gebr. Product U 1 Gebruiker van creatie zwakke entiteiten N Versie Rapport d Int_Rapport Ext_Rapport Registratie Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een EER-diagram case studie: databank voor softwarefirma Een softwarefirma wenst een database op te zetten 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 vaststelt, zal hij hierover een probleemrapport opstellen (en overmaken aan de ‘maintenance’-afdeling). Een dergelijk 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 maintenance-afdeling) 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 gekend). extractie attributen Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een ER-diagram oplossing naam werknemernr gebruikerID Ext_Gebr. Int_Gebr. bedrijf productnr Product U telefoon beschr. 1 Gebruiker adres van creatie attributen e-mail rapportnr N versienr Versie omschr. datum Rapport datum status d prioriteit Int_Rapport Ext_Rapport registratienr Registratie datum Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een EER-diagram case studie: databank voor softwarefirma Een softwarefirma wenst een database op te zetten 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 vaststelt, zal hij hierover een probleemrapport opstellen (en overmaken aan de ‘maintenance’-afdeling). Een dergelijk 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 maintenance-afdeling) 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 gekend). extractie relaties Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een ER-diagram oplossing naam werknemernr gebruikerID Ext_Gebr. Int_Gebr. bedrijf productnr N Product U telefoon beschr. 1 Gebruiker adres bezit van creatie relaties 1 e-mail door rapportnr N versienr Versie 1 N omschr. datum Rapport datum 1 status over d prioriteit voor N M Int_Rapport Ext_Rapport registratienr N 1 Registratie N over datum Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een ER-diagram Eindoplossing naam werknemernr gebruikerID Ext_Gebr. Int_Gebr. bedrijf productnr N Product U telefoon beschr. 1 Gebruiker adres bezit van 1 e-mail door rapportnr N versienr 1 N Versie omschr. datum Rapport datum 1 status over d prioriteit voor N M Int_Rapport Ext_Rapport registratienr N 1 Registratie N over datum Vakgroep Telecommunicatie en Informatieverwerking
Ontwerp van een EER-diagram opgave: databank voor koor en orkest Voor alle leden wordt naam, voornaam, geslacht, adres en telefoonnummer bijgehouden. Voor koorleden wordt bijgehouden welke stemmen (bas, alt, tenor, …) hij/zij kan zingen. Voor orkestleden worden de bespeelde instrumenten bijgehouden. Deze instrumenten worden onderverdeeld in 3 categorieën: strijkers, slagwerk en blazers. Een lid kan zowel koor- als orkestlid zijn. Voor de bestuursleden wordt de bestuursfunctie bijgehouden. Er dient tevens informatie over het repertoire te worden bijgehouden. Van elke partituur, in het bezit van de vereniging, houdt men de titel en componist bij, alsmede of het partitituur geschreven is voor koor, orkest of beide. Voor orkestwerken dient te worden aangegeven welke instrumenten nodig zijn om het werk uit te voeren. Vakgroep Telecommunicatie en Informatieverwerking
Naam Voornaam Adres Telefoonnummer Geslacht Stem Functie Titel Componist Lid o Orkestlid Koorlid Bestuurslid Soort “blaas” “strijk” “slag” Naam N speelt M voor Partituur Instrument o d Orkestpartituur Koorpartituur Blaas Strijk Slag
Ontwerp van een EER-diagram opgave: databank voor televiesiemaatschappij Een televisiemaatschappij wenst een databank op te stellen voor het bijhouden van de programmatie. De maatschappij beheert verschillende zenders. Elke zender heeft een code, een naam (voluit) en een afkorting. Om te vermijden dat gegevens veelvuldig moeten worden ingevoerd, wordt een onderscheid gemaakt tussen een programma en een uitzending. Gegevens over een programma worden slechts één keer ingevoerd, ook als het meerdere keren wordt uitgezonden. Een programma is een werk dat integraal (reclame-onderbrekingen daargelaten) wordt uitgezonden. Een programma wordt geïdentificeerd door een ISAN (International Standard Audiovisual Number). Dit nummer bestaat uit 16 hexadecimale cijfers waarvan de eerste 12 het basisgetal uitmaken en de laatste 4 worden gebruikt voor het aanduiden van episodes of delen (indien van toepassing). Sommige programma's staan op zichzelf (vb. films of eenmalige shows), maar de meeste programma's maken deel uit van een serie of reeks (vb. soap, quiz programma). In dat laatste worden de gegevens van een reeks eenmalig ingevoerd en worden de afleveringen genummerd. Voor het opstellen van de programma-informatie die wordt gepubliceerd is volgende informatie vereist: titel, korte beschrijving, soort programma (film, quiz, serie, etc...) en indien van toepassing een genre. Bij series kunnen de afzonderlijke afleveringen een subtitel krijgen. Verder wordt ook een lijst van interessante medewerkers toegevoegd samen met de rol die ze spelen in het programma (zoals acteur, regisseur, presentator, gast, ...). Tenslotte wordt ook de duur (in minuten) van een programma bewaard. Van een geplande uitzending wordt uiteraard de datum en het uur bijgehouden. Men kan ook een commentaar toevoegen om de uitzending te duiden (vb. herhaling, premiere, ...) Vakgroep Telecommunicatie en Informatieverwerking
Uitzending Zender M N N Medewerker 1 M ZendEenheid N Zelfst. Programma commentaar naam code id tijdstip Uitzending Zender M N naam id N afkorting Medewerker 1 omschrijving ISAN M ZendEenheid titel genre rol duur ISAN N Zelfst. Programma U Programma d Aflevering Serie ID id N 1 genre titel ISANvolgnr subtitel ISANbasis