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



Relaterede dokumenter
Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 3: E-R modellering. 16. 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 7. juni 2005

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

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

Informations- og datamodellering

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

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

Skriftlig eksamen i kurset. Informationssystemer

UML til kravspecificering

Databasesystemer. IT Universitetet i København 16. januar 2006

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

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING

Introduktion til programmering

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

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

Begrebsarbejde som forudsætning for datamodellering

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

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase

DATABASE - MIN MUSIKSAMLING

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

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Database kursus Forår 2013

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

Dorthes Bog Centrum har ca forskellige bøger (bibliografiske enheder), som alle skal være søgbare fra prototypen.

Bør kragerne flyve mod øst?

13 Objekt-orienteret Design.

1 Begrebsmodel for Ydelsesindeks

Brugervejledning til databrowseren

Appendix C - Databeskrivelse

3 Algebraisk Specifikation af Abstrakte Datatyper.

Høringssvar vedr. Serviceinterface for Person

Velkommen. Hvad er din kommunikative styrke?

DANVA DATAMODELLER JKJ, TRKS, HEMA

Datalagring og formater

Erfaringer med CPR-replikering

Objektorienteret Analyse & Design

Karens lille vejledning til Access

Smagsprøve. Databasedesign med Access 2000

Databasesystemer fra forskellige synsvinkler

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

God begrebs- og datamodellering i det offentlige 5 organisatoriske anbefalinger

Indholdsfortegnelse. Systembeskrivelse kapitel 3 Forretningslogik

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

Forskelle på begrebsmodellering og datamodellering

Afleveringsopgave. Efterår 2001

OBJECT IDENTIFICERES OID PHMR

Søren Løbner (lobner) ddb Databaser

Database. lv/

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

Velkommen til 3. kursusdag i kurset

KORTLÆGNING AF DELTAGERE I HELHEDSPLANENS AKTIVITETER

Objects First with Java A Practical Introduction Using BlueJ

Læsning og skrivning i matematik. Hvordan og hvorfor?

Noter til Perspektiver i Matematikken

Hjælpemiddel, værktøj og konkret materiale. Hjælpemiddelkompetencen. Hjælpemiddel, En definition

Object-Relational Mapping

SWC eksamens-spørgsmål. Oversigt

Skriftlig eksamen i. Databaser. Vinter 2002/2003

Introduktion til programmering

2 Abstrakte datatyper.

Undervisningsbeskrivelse

Anvisning i aflevering af bitemporale data

Efterår 2002 Note 10. Temaopgave

1 Klassifikation-version2.0

Rolf Fagerberg. Forår 2015

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

Formidling og dokumentation af arkitektur. FDA konferencen, September 2019

Fælles grundlag for strukturen i EPJ

SQL99s objektmodel teori og praksis. Speciale for Rasmus Borch

Har arketyper en plads i GEpj?

FIP - Karrierekompetence i programmeringsfaget

Første undervisningsgang. Database

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

Byg din informationsarkitektur ud fra en velafprøvet forståelsesramme The Open Group Architecture Framework (TOGAF)

Introduktion til DM507

Metadata og dokumentation af ETL-processen

Formativ brug af folkeskolens prøver. Den skriftlige prøve i matematik med hjælpemidler, FP9 maj 2018

Software Design (SWD) Spørgsmål 1

Chapter 3. Data Modeling Using the Entity-Relationship (ER) Model. Database Design Phases. Chapter Outline

Assignment #5 Toolbox Contract

1 KY-kontering

DM507 Algoritmer og datastrukturer

Matematisk modellering og numeriske metoder. Lektion 8

Elektroniske holdkort. Farvel til holdkort i papir velkommen til elektroniske holdkort

4 Basal Objekt-orienteret Programmering I.

Ugeseddel 4 1. marts - 8. marts

Objektorientering. Programkvalitet

Dato: Præsenteret af: e-stimate international. Powered by e-stimate

Begrebskatalog. Bilag til Bygherreforeningens digitaliseringsprojekter BIM-modelstrategi for FM og Fra papir til BIM

Toulmins Argumentationsmodel Og En Overbevisende Opgave

Klasser og Objekter i Python. Uge 11

Database for udviklere. Jan Lund Madsen PBS10107

Undervisningsbeskrivelse

Dokumentationsguide for dansk Bankkonto

Notat om metadata om grunddata

1. Opret følgende flade database, find selv passende datatyper. 2. Opret begrænsningerne på datatyperne, du ser fx fornavn maks 25 tegn

Transkript:

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

Forelæsningen i dag Datamodellering hvad, hvornår, hvorfor og hvordan? Business rules Grundliggende Entity-Relationship (E-R) modellering Tommelfingerregler for godt E-R design 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

Hvornår datamodellering? I SDLC procesmodellen (MDM Fig. 2-5) forekommer den første konceptuelle datamodellering i forbindelse med to trin: Project initiation and planning. Analysis. Der forekommer også datamodeller på andre trin (relationelle modeller i forbindelse med logisk og fysisk design), men de er udledt af den konceptuelle datamodel. 4

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. 5

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.) 6

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. 8

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. 9

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 Det svære her er ikke at forstå ovenstående, men at opnå dem i komplekse situationer! 10

Det videre liv for en business rule 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). En business rule kan have indvirkning på: E-R modellen, og derved den endelige relationelle datamodel (mere om det i dag). Constraints, som DBMSen skal sørge for, bliver overholdt (mere om det om 2 uger). Programmering af transaktioner. 11

Grundliggende entity-relationship (E-R) modellering

Hvad er en entitet? Ordet entitet bruges i to betydninger: Entitetsinstans. Et objekt, et sted, en hændelse eller et begreb. Entitetstype. En samling af entitetsinstanser. Forekommer i E-R diagrammer. Eksempler på entitetsinstanser: Danmark (et sted), Die Hard (et abstrakt objekt), Bruce Willis (et fysisk objekt), databaseekspert (et begreb). Eksempler på entitetstyper: LAND, FILM, SKUESPILLER, KVALIFIKATION. 13

Attributter for entitetstyper En entitetstype 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: Entitetstypen SKUESPILLER kunne f.eks. tilknyttes attributterne navn, adresse, køn, og fødselsdato. 14

Relationer mellem entitetstyper Sammenhænge mellem entitetstyper 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.) 15

Problemsession (5-10 minutter) Betragt det viste mulige E-R diagram for en banks database. Kritisér diagrammet, og foreslå ændringer. Tag udgangspunkt i flg. spørgsmål: Reflekterer entitetstyperne virkeligheden? Kan det forsimples er der f.eks: Duplikeret information? Entiteter der burde være attributter? 16

Vigtigste ting i denne forelæsning Business rules (to be continued) E-R begreber: Entitetstype, relationship type, stærke og svage entitetstyper, attribut, grad af relationship, cardinality constraints. Grafisk repræsentation af E-R diagrammer. 17

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