PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING

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

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

Patientdatas anvendelser

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

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

Skriftlig eksamen i kurset. Informationssystemer

Introduktion til programmering

Databaser. 3. Normalform. Mette Frost Nielsen

Data lagring. 2. iteration (implement backend)

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

Jørgen Koch. och. Access. Normalisering m.v.

DATABASE - MIN MUSIKSAMLING

Databaser. Område / Specialefag nr Database, design og programmering Datatekniker Infra & Prog IT-Supporter AMU Kursister

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

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

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

Design ved normalisering

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

Skriftlig eksamen i. Databaser. Vinter 2002/2003

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

Informations- og datamodellering

Introduktion til programmering

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

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

Dataanalyse og databaser

Database. lv/

Fra ER-Diagram til Relationel model i 7 step

Karens lille vejledning til Access

Datalagring og formater

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Databaseteori. 19. Databaser. 20. Kartotek eller database. 21. Database

Smagsprøve. Databasedesign med Access 2000

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE

Tietgenskolen - Nørrehus. Data warehouse. Database for udviklere. Thor Harloff Lynggaard DM08125

DATABASE DESIGN. En note om database design, normalisering og database generalisering

Normalisering, del 2

DATABASE Projekt 1-3. semester

Undervisningsbeskrivelse

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

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

DB undervisning 01-01

Database for udviklere. Jan Lund Madsen PBS10107

En opsamling af artefakter for Hotel Databasen som REST-service Bygger på Hotel opgaven i 8 trin

Introduktion til SQL

Projekt Database, Gruppe 4A. Projekt 1, 3. Semester D A T A B A S E. Klasse MulA13 Gruppenummer: A4

Skriftlig opgave. Designtanker i database-nære systemer

Indholdsfortegnelse for kapitel 3

Database kursus Forår 2013

Anvisning i aflevering af bitemporale data

Registrering i Patientadministrativt system - OPUS

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

Software Projekt NoSQL vs RMDB

Erfaringer med CPR-replikering

EPOS LØN TIPS & TRICKS NR. 6 EKSPORT VIA SKABELON TIL EXCEL

De vigtigste SQL-sætninger. SQL kap Oprette database. DDL og DML

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase

Virksomhedens informationssystem. Det elektroniske kontor. Elektronisk dokumenthåndtering Samfundet. Systembeskrivelse II IT og økonomi

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

Brugermanual til MICRO LOOP

SYSTEM DESIGN. 18. december 2012 [Mink Farm Rapport] Dette projekt bruger UP model, som er et krav for dette semesters projekt.

Merging og Hashing (del I)

Skriftlig eksamen i Databaser, Vinter 2001/2002. Pa opfordring har jeg udarbejdet mulige lsninger pa eksamensopgaverne, men

Sundhedsteknologi Første projektarbejde Efterår 2013

Indberetningsstruktur for elevoplysninger og svendeprøveoplysninger til EASY-P

ABC-rapportering baseret på Variabilitetsprincippet og ERP

Brugervejledning. Sådan laves et opslag med avanc. søgning. December 2010

Manglende konsistens i datamodellen og upræcise SQLsætninger er årsagen til, at mange IT-systemer fejler.

MØDE OM INTEGRATION GENNEM ØKONOMI I RAMMEARKITEKTUREN 27/8-2015

Udgivelsen er beskyttet af Creative Commons license, Navngivning 2.5

Transkript:

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING KIRSTINE ROSENBECK GØEG

Tema Titel Materiale 1 IS i sundhedssektoren Patientdatas anvendelighed Lynge et al. 2 Registrering af patientdata Berg. Kap. 2 Waiting for Godot. 3 Relations-databaser Silberschatz Kap 1 (1.1-1.6) 4 Databaser for klinisk kvalitet Green 5 Modellering af IS Modellering Silberschatz Kap 2.1 6 E-R diagrammer Silberschatz Kap 7 (7.1-7.7) 7 Normalisering Silberschatz Kap 8 (8.1-8.3) 8 Den gode model 9 Modellering af systemer 10 Dataudtræk og databehandling Udtræk af databaser 11 Modellering med fokus på data-behandling 12 Avancerede forespørgsler i databaser 13 Beslutningsstøtte på baggrund af patientdata 14 Patientdatas tilgængelighed og sikkerhed Silberschatz Kap 3 (3.1-3.7) Silberschatz Kap 4 (4.1-4.5) 15 Opsummering og reflektion Resumere kursuslitteraturen

Plan for modelleringsdelen 1. Modellering : Basis ER-modellering (Entiteter, relationer, atributter, kardinalitet ) baseret på modellering af apotek, opgave: vitale værdier/ernæringsscreening 2. E-R diagrammer : Flere syntaktiske muligheder i ER-modelering. eksemplificeret ved forskellige kliniske database designs, opgave: vitale værdier/ernæringsscreening 3. Normalisering: Fra ER-diagram til Database scema baseret på modellering af apotek. Opgave:vitale værdier/ernæringsscreening 4. Den gode model : (WS) Modellering af blodbank: http://helid.digicollection.org/en/d/js2909e/4.6.2.html. studenter præsentationer/anden opsamling de sidste 30min 5. Modellering af systemer: (WS) Fra database til fuldt IT system: Hvilke krav bør man stille til et blodbanksystem? Ændre dette databasen? Eksempel: https://www.prosang.com/prosang.pdf studenter præsentationer/anden opsamling de sidste 30min

Tema Forventet læringsudbytte af læsning af litteraturen og deltagelse i forelæsninger Forventet læringsudbytte af opgaveløsning, gruppediskussioner og workshops IS i sundhedssektoren sundhedssektorens informationsinfrastruktur informationssystemer på sygehuse som fx Elektroniske Patient Journaler, PatientAdministrative Systemer, Parakliniske informationssystemer og kliniske databaser anvendelser af nationale registre i sundhedssektoren analysere informationssystemer i relation til brugsscenarier Modellering af IS modellering af informationssystemer design af relationsdatabaser viden om Database Management Systemer anvende E/R diagrammer og normalisering til modellering af klinisk database Databehandling viden om databasesprog datakommunikation metoder til beslutningsstøtte anvende SQL syntaks og funktioner

PRÆSENTÉR ER-DIAGRAMMER Send slides til kirse@hst.aau.dk efter forelæsningen, så skal jeg lægge dem på moodle

NORMALISERING Fra tabeller udledt fra ER-diagrammer til tabeller på 3. normalform

Forarbejde: Fra ER-model til tabeller (i kogebogsform) Formål: At reducerer ER modellen til en samling af relationelle schemas der udtrykker det samme som ER-modellen Relationelle schemas fra entiteter og relationer i ER-modellen Stærk entitet: Tabel med en kolonne for hver attribut, nøgle som i ER-modellen Svag entitet: Tabel med kolonne for hver attribut samt alle nøgleatributter fra den understøttende stærke entitet. Nøglen er fremmednøglen samt evt. diskriminator Relation: Tabel med en kolonne for hver attribut samt alle nøgleattributter fra de entiteter som relationen binder sammen, denne samling af nøgleatributter udgør desuden tabellens nøgle NB: Egentlige relationstabeller eksisterer kun for mange-til-mange relationer, ellers modelleres relationen som del af den entitet der er mange af. Specielle attributter Composite attributes splittes til simple attributter (hver simpel attribut er en kolonne) Multivalued attributes transformeres til en tabel der indeholder nøglen fra entiteten som attributten beskriver

Hvorfor normalisering? Normalisering er en teknik til at forbedre et database-design, i forhold til at undgå: Redundans at noget data forekommer mere end én gang Inkonsistens at noget data er i modstrid med andet data CPR Fornavn Gade Dato Køb 111135-2212 Oda Blommevej 04.05.15 Sulfamethizol 020240-6299 Niels Clara Friisvej 13.02.15 Marevan 170560-2153 Svend Appelsinlunden 09.12.14 Cipralex 111135-2212 Oda Æblevej 23.10.14 Panodil 0202040-6299 Niels Clara Friisvej 05.06.13 Marevan 8

Normalisering Hvis man er en haj til database-design og følger reglerne vil man ofte ende med en normaliseret database uden at tænke over det Normalisering er en slags sundhedstjek af dit database-design 9

Normalformer Enhver tabel på 3NF er på NF, osv. 3NF 2NF 1NF

Funktionel afhængighed: En forudsætning for at forstå normalformer Hvad er funktionel afhængighed? Hvis to rækker med identiske attributværdier i sættet X altid har identiske attributværdier i sættet A, så er A funtionelt afhængig af X (eller sagt på en anden måde: X bestemmer A funtionelt) Skrives som X A, eksempel cpr navn, vej Nogle afhængigheder der kan findes i database-instanser er ikke konsistente med den virkelige verden. Disse defineres ikke som funktionelle afhængigheder fx vej by Funktionel afhængighed kan elimineres ved at separere de funtionelt afhængige atributter (A) ind i en ny tabel, og bruge X som primær nøgle Når vi forstår hvad funktionel afhængighed er, forstår vi også bedre hvad en primær nøgle er: Primærnøglen bestemmer alle de andre attributter funktionelt Intet subset af primærnøglen bestemmer alle de andre attributter funktionelt (så der subsettet nemlig primærnøglen)

Tre grader af normalisering første grad 1.Normalform Tabellen skal have en nøgle Attributter er atomiske: Attributter, der er samlinger af forskelligartede informationer, skal splittes af Alle tabellens rækker skal være lige lange 12

Tre grader af normalisering første grad (før) Hvorfor skal en tabel have en nøgle? Hvis en tabel ikke har en nøgle, kan vi ikke vide hvad data egentlig refererer til (tvetydighed) Navn Spansk Fransk Dansk Maria 10 4 7 Maria 7 12 7 Maria 4 10 10 13

Tre grader af normalisering første grad (før) Elevnavn Fag1 Fag2 Fag3 Fag4 Fag5 Fag6 Fag7 Ib Jensen DA TY IT EN Bo Søgård TY EN IT AF SP Anne Høgh EN DA AF Ib Jensen TY EN SP IT DA AF JU Elevnavn er ikke entydigt Ikke alle poster er lige lange 14

Tre grader af normalisering første grad (før) Elevnavn Ib Jensen Bo Søgård Anne Høgh Ib Jensen Fag DA, TY, IT, EN TY, EN, IT, AF, SP EN, DA, AF TY, EN, SP, IT, DA, AF, JU Elevnavn er ikke entydigt Ikke alle poster er lige lange 15

Tre grader af normalisering første grad (før) Elevnavn Ib Jensen Bo Søgård Anne Høgh Ib Jensen Fag DA, TY, IT, EN TY, EN, IT, AF, SP EN, DA, AF TY, EN, SP, IT, DA, AF, JU Elevnavn er ikke entydigt Ikke alle poster er lige lange 16

Tre grader af normalisering første grad (før) Elevnavn Adresse Er atomare attributter altid et krav? Ib Jensen Thomasmindevej, 30 8049 Kartoffelsted Ja, hvis man skal kalde noget første normalform. Bo Søgård Kathrinesmindevej, 16, 1.th 1650 Gulerodsby Typer af problemer: Anne Høgh Chrstoffersmindevej, 178 6078 Pastinakby Ib Jensen Troelsmindevej, 1 1030 Rødkålsborg Et medarbejdernummer? ES1457, hvor de to første cifre er en specifikation af afdelingen Ikke atomic Ikke atomic Cpr-nummer? Vurdér hvornår det er en unødvendig byrde for 17 applikationen

Tre grader af normalisering første grad Hvordan løser vi problemerne? Trin 1: Indfør en nøgle Inkludér nok felter til at nøglen bliver entydig Opfind selv nøgle, ofte et løbenummer Trin 2: Indfør ny tabel med fast længde, hvor hver attribut er atomic 18

Tre grader af normalisering første grad (efter) Elevnummer Fornavn Efter 1 Ib Jensen DA 1 Ib Jensen TY 1 Ib Jensen IT 1 Ib Jensen EN 2 Bo Søgård TY 2 Bo Søgård EN 2 Bo Søgård IT Alle poster i tabellen er unikke Alle poster i tabellen har længde 3 Tabellen er nu på 1.normalform! 2 Bo Søgård AF 2 Bo Søgård SP og så videre 4 Ib Jensen JU 19

Tre grader af normalisering anden grad 2.Normalform Tabellen er på 1.normalform Ingen ikke-nøgle-attributter er funktionelt afhængige af blot en del af nøgleattributterne (Sagt på en anden måde: der må kun være én nøgle i hver tabel, der entydigt afgør indholdet af alle øvrige felter) Det betyder: Nogle informationer kan måske udpeges entydigt med mindre information end den primærnøglen rummer 20

Tre grader af normalisering anden grad (før) Elevnummer Elevnavn Fag Timer 1 Ib Jensen DA 2 1 Ib Jensen TY 3 1 Ib Jensen IT 2 1 Ib Jensen EN 4 2 Bo Søgård TY 2 2 Bo Søgård EN 1 2 Bo Søgård IT 4 2 Bo Søgård AF 3 2 Bo Søgård SP 4 og så videre I denne tabel er Elevnummer og Fag nøgle denne kombination er entydig Men Elevnavn udpeges jo entydigt af Elev-nummer alene! Spild at gentage Elevnavn gang på gang 4 Ib Jensen JU 1 21

Tre grader af normalisering anden grad Løsningen er oftest at lave nye tabeller, hvor den mindst mulige nøgle bruges I eksemplet: Elevnavn udpeges entydigt af Elevnummer så lav en tabel med kun Elevnummer som nøgle Elevnavn fjernes derfor fra den oprindelige tabel 22

Tre grader af normalisering anden grad (efter) Elevnummer Fag Timer 1 DA 2 1 TY 3 1 IT 2 1 EN 4 2 TY 2 2 EN 1 2 IT 4 2 AF 3 2 SP 4 og så videre Elevnummer Elevnavn 1 Ib Jensen 2 Bo Søgård 3 Anne Høgh 4 Ib Jensen Elevnummer -> Elevnavn (Elevnummer, Fag) -> Timer 4 JU 1 23

3 grader af normalisering tredje grad 3.Normalform Tabellen er på 2.normalform Ingen ikke-nøgle attributter må være transitivt afhængige af nøgleatributterne. Dvs. at det ikke må være tilfældet at B er funktionelt afhængig af A, og A er funktionelt afhængigt af nøglen N.(N A B) Det betyder: Nogle informationer kan måske udpeges entydigt og ikke-transitivt ved hjælp af anden information end den primærnøglen rummer 24

3 grader af normalisering tredje grad (før) Elevnummer Elevnavn Postnummer By 1 Ib Jensen 4100 Ringsted 2 Bo Søgård 4000 Roskilde 3 Anne Høgh 4100 Ringsted 4 Ib Jensen 4000 Roskilde Elevnummer udpeger entydigt Elevnavn, Postnummer og By; d.v.s. 2.normalform OK MEN Postnummer udpeger også entydigt By! 25

Tre grader af normalisering tredje grad Løsningen er oftest at lave nye tabeller, hvor den attribut som afhængigheden går over identificeres. I tilfældet (N A B) identificeres A, og A bruges som nøgle i en ny tabel, hvor b udgør de øvrige atributter. I eksemplet: By udpeges entydigt af Postnummer så lav en ny tabel med kun Postnummer som nøgle By fjernes derfor fra den oprindelige tabel 26

3 grader af normalisering tredje grad (efter) Elevnummer Elevnavn Postnummer Postnummer By 1 Ib Jensen 4100 2 Bo Søgård 4000 3 Anne Høgh 4100 4 Ib Jensen 4000 4100 Ringsted 4000 Roskilde Elevnummer -> Elevnavn, Postnummer Postnummer -> By 27

Normalisering i en nøddeskal Vær på vagt, hvis samme information forekommer mange gange er det nødvendigt? 28

Normalisering hvad skal der til for at opnå de tre normalformer? CPR First name Street City Date Purchase 111135-2212 Oda Æblevej, 6 9000, Aalborg 04.01.04 Sulfamethizol 020240-6299 Niels Clara Friisvej, 8 170560-2153 Svend Appelsinlunde n, 2 2730, Herlev 13.02.05 Marevan 9200,Aalborg SV 09.12.04 Cipralex 111135-2212 Oda Æblevej, 6 9000, Aalborg 23.10.04 Panodil 0202040-6299 Niels Clara Friisvej, 8 2730, Herlev 05.06.05 Marevan

Afsluttende bemærkninger Normalisering skal fjerne redundans og inkonsistens fra databasen. Brug reglerne for normalisering som et sundhedscheck for databasens design En god ER-model og en stringent transformation af ER-modellen til database schemas overflødiggør ofte det meste af normaliseringsprocessen, I skal dog være i stand til at argumentere for at en tabel er på 3. normalform selv om I ikke har lavet ændringer i den Bogen har ikke helt samme betegnelser, i forlæsningen er der en simplificeret måde at forstå normalisering på. Boyce-Codd er en slags 3. normalform, men som tager højde for flere specialtilfælde. Nogen gange er normalisering ikke førsteprioritet. Normalisering: minimerer redundans of muligheder for inkonsistens De-normalisering: Færre tabeller og øger dermed performance Brug jeres sunde fornuft og design tabeller der virker

Opgave Fortsæt med at lave ernæringsscreening eller vitale værdier til schemas - Lav tabellerne på 3. normalform og send dem til kirse@hst.aau.dk - Hvis I bliver færdige så fortsæt med at lave de tabeller jeg lavede på tavlen sidste gang til 3. normalform: apotekseksempel