Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. februar 2006. Forelæser: Rasmus Pagh



Relaterede dokumenter
Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: E-R modellering. 17. februar Forelæser: Rasmus Pagh

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 4: Mere om E-R modellering. 24. februar Forelæser: Rasmus Pagh

ER-modellen. Databaser, efterår Troels Andreasen. Efterår 2002

Databasesystemer. IT Universitetet i København 8. juni 2006

Databasesystemer. Databaser, efterår Troels Andreasen. Efterår 2002

UML til kravspecificering

Skriftlig eksamen i kurset. Informationssystemer

Tema Titel Materiale 1 IS i sundheds-sektoren Patientdatas anvendelighed Lynge et al.

Side 1. Databaser og SQL. Dagens gang. Databasebegreber. Introduktion til SQL Kap 1-5

Datamodeller. 1. Elementerne. Vi betragter E/R-diagrammet, som et diagram over entiteter og relationer Tegneregler: Entitet

Informations- og datamodellering

Hvad er en relationsdatabase? Odense, den 19. januar Version 1.0

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 1: Introduktion. 3. februar Forelæser: Rasmus Pagh

Begrebsarbejde som forudsætning for datamodellering

DEN GODE MODEL: OPSAMLING PÅ MODELLERINGSOPGAVER OG INTRO TIL MODELLERINGSALTERNATIVER

Introduktion til programmering

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING

Take-home Eksamen. DM505 Design og programmering af databaser. Syddansk Universitet Institut for Matematik og Datalogi

Databasesystemer. IT Universitetet i København 8. juni 2006

Database. lv/

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Database kursus Forår 2013

Datalagring og formater

Toulmins Argumentationsmodel Og En Overbevisende Opgave

1 Begrebsmodel for Ydelsesindeks

Skriftlig eksamen i. Databaser. Vinter 2002/2003. Vejledende løsninger

Smagsprøve. Databasedesign med Access 2000

Forskelle på begrebsmodellering og datamodellering

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16,

Karens lille vejledning til Access

Case: Svømmeklubben Delfinen

Grunddataprogrammet. Side 1 af 11. Aftale om styringsrammer for grunddatamodellen

DATABASE - MIN MUSIKSAMLING

Søren Løbner (lobner) ddb Databaser

Brugervejledning til databrowseren

Skriftlig eksamen i. Databaser. Vinter 2002/2003

DANVA DATAMODELLER JKJ, TRKS, HEMA

3 Algebraisk Specifikation af Abstrakte Datatyper.

Undervisningsbeskrivelse

OBJECT IDENTIFICERES OID PHMR

Udvidelse og specialisering. Klassehierarkier. Nedarvningsterminologi. Interfaces. Statiske og dynamiske typer. Polymorfi. Abstrakte klasser.

Erfaringer med CPR-replikering

Databasesystemer fra forskellige synsvinkler

Data lagring. 2. iteration (implement backend)

Noter til Perspektiver i Matematikken

Object-Relational Mapping

Indholdsfortegnelse. Systembeskrivelse kapitel 3 Forretningslogik

God begrebs- og datamodellering i det offentlige 5 organisatoriske anbefalinger

Objects First with Java A Practical Introduction Using BlueJ

CCS Formål Produktblad December 2015

1 Klassifikation-version2.0

Introduktion til programmering

Klasser og Objekter i Python. Uge 11

Velkommen. Hvad er din kommunikative styrke?

Anvisning i aflevering af bitemporale data

SUP-specifikation, version 2.0. Bilag 14. SUP-Styregruppen. Ordliste (informativ) Udkast af 12. juni Udarbejdet for

Kolb s Læringsstil. Jeg kan lide at iagttage og lytte mine fornemmelser 2. Jeg lytter og iagttager omhyggeligt

SWC eksamens-spørgsmål. Oversigt

Øvelse 9. Klasser, objekter og sql-tabeller insert code here

Objektorienteret Analyse & Design

Metodehåndbog. Begrebsmodeller, Informationsmodeller og Begrebsdefinitioner. Udarbejdet i fællesskab mellem Udbetaling Danmark/KL/KOMBIT

Kursusgang 7. - Dekomponering af opgaver - Vidensbaseret analyse - Entity-relationship-baseret analyse - Dataindsamling

Formidling og dokumentation af arkitektur. FDA konferencen, September 2019

1 KY-kontering

4 Basal Objekt-orienteret Programmering I.

Evaluering på AAU HVAD EVALUERES? Semester Kursus. Underviser Vejleder- og projektforløb

Curriculum Vitae. Uddannelse: 2001 Civilingeniør fra Danmaks tekniske universitet, fagprofil: styring og regulering.

Au Aarhus Universitet. Aarhus Universitet Studieordningsgenerator PID Version 1.0

2 Abstrakte datatyper.

Undervisningsbeskrivelse

BBR s udstillingsmodel på datafordeleren version 2.0: Ændringer i forhold til version 1.0

Metadata og dokumentation af ETL-processen

HVAD er metodelære? HVAD er metode? HVAD er metode? HVORFOR metodelære? Strukturering. Strukturering og måleskalaer.

Transkript:

Databasesystemer, forår 2006 IT Universitetet i København Forelæsning 3: E-R modellering 16. februar 2006 Forelæser: Rasmus Pagh

Forelæsningen i dag Datamodellering hvad, hvorfor og hvordan? Business rules Grundliggende Entity-Relationship (E-R) modellering Mere om E-R modellering 1

Vigtige begreber fra tidligere forelæsninger Datamodel Instans af relation Skema for en relation Database skema: Samlingen af relationsskemaer i en database Attributtter 2

Hvad er datamodellering? Datamodellering er en proces, der bruges til at skabe en datamodel for et givet problemområde Når man modellerer data, der skal gemmes i en relationel database, skal et slutprodukt af datamodelleringen være et relationelt database skema. Af hensyn til processen og til dokumentation af systemet, vil (god) datamodellering ofte indeholde adskillige andre aktiviteter end at opskrive relationsskemaer: Definition af business rules. Tegning af E-R diagrammer. Opskrivning af supplerende datadefinitioner. 3

Hvorfor datamodellering? En god og korrekt repræsentation af data er af fundamental vigtighed for at: Databasen skal kunne understøtte de ønskede typer af operationer og forespørgsler. Databasen og associerede programmer let skal kunne tilpasses nye ønsker til funktionalitet, eller ændringer i problemområdet. Kendetegn for en god konceptuel datamodel: Afspejler alle relevante aspekter af problemområdet præcist. Letforståelig og utvetydig, også med begrænset teknisk viden. Kan systematisk oversættes til en konkret logisk datamodel, der er udgangspunktet for implementation. 4

Database designmetodologi Denne forelæsning og de tre følgende dækker den dominerende metodologi for design af relationsdatabaser: 1. Identifikation (og dokumentation) af alle relevante entiteter og relationer, samt de business rules der gælder for dem. 2. Udformning af en grafisk repræsentation i E-R (eller EER eller UML) notation. (I dag og næste uge). 3. Konvertér modellen til et antal relationsskemaer (næste uge), og constraints (om to uger). 4. Eliminér eller reducér redundans ved at dele relationer. Denne proces kaldes normalisering. (Om tre uger.) 5

Business rules

Business rules MDM anbefaler, at man som en del af datamodelleringen opskriver alle relevante business rules, der gælder for problemområdet. En business rule er et udsagn, der definerer eller begrænser et aspekt af det problemområde, vi modellerer. Reglerne skal være præcise og utvetydige, og forståelige for enhver, der forstår problemområdet. De er således i høj grad et redskab til kommunikation mellem business people og databaseudviklere. I pricippet skal mængden af business rules beskrive alle ikke-tekniske aspekter af databasen. (Her regnes udformning af brugerflade, rapporter, etc., som tekniske aspekter). 7

Business rules eksempler Enhver medarbejder skal have registreret præcis én lønkonto. For medarbejdere med samme funktion må lønnen højst variere med 20%. Til en medarbejder, der fylder 40, 50, eller 60 år i indeværende måned, udbetales et gratiale på 5000 kr. En medarbejder er en person, der har en gældende ansættelseskontrakt. En person er kendetegnet ved et unikt CPR nummer, et fornavn, et efternavn, eventuelt en adresse, og eventuelt et firmanavn. 8

Kendetegn ved gode business rules MDM opskriver flg. kendetegn ved en god business rule: Declarative what, not how Precise clear, agreed-upon meaning Atomic one statement Consistent internally and externally Expressible structured, natural language Distinct non-redundant Business-oriented understood by business people 9

Grundliggende entity-relationship (E-R) modellering

Hvad er en entity? Ordet entity bruges i to betydninger: Entity instance. Et objekt, et sted, en hændelse eller et begreb. Entity type. En samling af entitetsinstanser. Forekommer i E-R diagrammer. Eksempler på entity instances: Danmark (et sted), Die Hard (et abstrakt objekt), Bruce Willis (et fysisk objekt), databaseekspert (et begreb). Eksempler på entity types: LAND, FILM, SKUESPILLER, KVALIFIKATION. 11

Attributter for entity types En entity type vil have tilknyttet et antal attributter, som er egenskaber eller karakteristika for den. At bestemme hvilke attributter, der er relevante, er en del af datamodelleringen. Eksempel: Entity typen SKUESPILLER kunne f.eks. tilknyttes attributterne navn, adresse, køn, og fødselsdato. 12

Sammenhænge mellem entity types Sammenhænge mellem entity types kaldes i E-R modellen for relationships. Igen er relationship en samlebetegnelse for to begreber: Relationship instance. En sammenhæng eller kobling mellem to eller flere entitetsinstanser. Relationship type. En samling relationship instances, der forbinder to eller flere entitetstyper. Forekommer i E-R diagrammer. Eksempel på relationship instance: ( Die Hard, Bruce Willis ) Eksempel på relationship type: spiller i (forbinder entitetstyperne SKUESPILLER og FILM) (Forelæsningen fortsætter ud fra slides, der følger med MDM.) 13

Første del af gruppeprojektet Kan hentes på kursushjemmesiden deadline 2/3. Udvikler jeres kompetence i E/R modellering. Regn med at lave fejl! I får chancen for at rette dem i næste del, efter feedback fra hjælpelæreren. Har I fundet jeres gruppemedlemmer? 14

Vigtigste ting i denne forelæsning Business rules E-R begreber: Entity type, relationship type, stærke og svage entity types, attribut, grad af relationship, cardinality constraints. Grafisk repræsentation af E-R diagrammer. 15

Næste gang Modellering med Extended E-R (EER) notation: Subtype/supertype relationer ( nedarvning ). Clustering. Hvordan man kommer fra en E-R model til relationsskemaer. 16