Conceptueel databaseontwerp - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Conceptueel databaseontwerp

Description:

... process, and business component modeling Persistence Inc. Pwertier Mapping from O-O to relational model Rational Rational Rose Modeling in UML and application ... – PowerPoint PPT presentation

Number of Views:61
Avg rating:3.0/5.0
Slides: 41
Provided by: gde49
Category:

less

Transcript and Presenter's Notes

Title: Conceptueel databaseontwerp


1
Conceptueel databaseontwerp
Principes van databases
  • 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
dbms- onafhankelijk
  • logisch databaseschema (bijvoorbeeld
    relationeel)
  • gedragspecificaties

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
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
COMPANY TOOL FUNCTIONALITY
Embarcadero Technologies ER Studio Database Modeling in ER and IDEF1X
Embarcadero Technologies DB Artisan Database administration and space and security management
Oracle Developer 2000 and Designer 2000 Database modeling, application development
Popkin Software System Architect 2001 Data modeling, object modeling, process modeling, structured analysis/design
Platinum Technology Platinum Enterprice Modeling Suite Erwin, BPWin, Paradigm Plus Data, process, and business component modeling
Persistence Inc. Pwertier Mapping from O-O to relational model
Rational Rational Rose Modeling in UML and application generation in C and JAVA
Rogue Ware RW Metro Mapping from O-O to relational model
Resolution Ltd. Xcase Conceptual modeling up to code maintenance
Sybase Enterprise Application Suite Data modeling, business logic modeling
Visio Visio Enterprise Data modeling, design and reengineering Visual Basic and Visual C
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
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 (ngt3) relatietype.
Verder wordt elk relatietype gekenmerkt door een
naam. Een relatietype kan attributen hebben.
14
Het uitgebreid entity-relationship model
Voorbeelden en visualisatie
Werknemer
is partner
werkt
plan- ning
Tentoonstelling
15
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
Het uitgebreid entity-relationship model
Voorbeelden en visualisatie
Artiest
Patiënt
maakt
voor
legt af
Medisch dos.
Examen
18
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
Het uitgebreid entity-relationship model
Alternatieve notatie (min,max)-notatie
Werknemer
Boek
(0,N)
(1,M)
(0,1)
(0,1)
is partner
werkt
leent
plan- ning
(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
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
Het uitgebreid entity-relationship model
Voorbeeld en visualisatie
24
Het uitgebreid entity-relationship model
  • Karakteristieken en restricties
  • Overlappende versus disjuncte subtypes

o
d
?
?
?
?
?
?
?
25
Het uitgebreid entity-relationship model
  • Geconditioneerde subtypes
  • Attribuutgedefinieerde supertype/subtype-verwantsc
    hap

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
Het uitgebreid entity-relationship model
Voorbeeld en visualisatie
28
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
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
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
Het ontwerp van een (E)ER-diagram
  • Oplossing

creatie relatietypes
36
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
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). Zon
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
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
Write a Comment
User Comments (0)
About PowerShow.com