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

Relaterede dokumenter
Introduktion til programmering

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

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

PRÆSENTATION AF ER-DIAGRAMMER OG NORMALISERING

Databaser. 3. Normalform. Mette Frost Nielsen

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

Skriftlig eksamen i kurset. Informationssystemer

Relationel Algebra og SQL

Kursusbeskrivelse. Forarbejde. Oprettelse af en Access-database

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

DB undervisning 01-01

Karens lille vejledning til Access

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

CLmul-b14e Gruppe 2 2. Database projekt

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

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

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

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

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

Word-9: Brevfletning i Word 2003

Database. lv/

Database design ERHVERVSAKADEMI MIDTJYLLAND. Udarbejdet af Benny Dyhr Thomsen

Anvisning i aflevering af bitemporale data

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

Daglig brug af JitBesked 2.0

Samspillet mellem databaser og kort styres af GeoCAD programmet GeoDB.

CASEEKSAMEN INFORMATIONSTEKNOLOGI NIVEAU: C. 22. maj 2015

Informations- og datamodellering

Views etc. Databaser

Sag og Dokument: Eksempel på brug af generelle egenskaber

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

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

Brugervejledning til databrowseren

Funktionel afhængighed

Begrænsninger i SQL. Databaser, efterår Troels Andreasen

Introduktion til programmering

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

Database design for begyndere

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

Import af rekursivt (parent-child) hierarki i Palo

CASEEKSAMEN INFORMATIONSTEKNOLOGI NIVEAU: C. 22. maj 2015

- P-nummer medtages på niveauerne anvisning og alternativ adresse.

Versionsbrev. LUDUS version Den 12. august J.nr V Version Copyright 2015 CSC

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

Data lagring. 2. iteration (implement backend)

Databasesystemer. IT Universitetet i København 7. juni 2005

Erfaringer med CPR-replikering

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

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

Produktdokumentation

ADK 1.0 KRAVSPECIFIKATION

Skriftlig eksamen i. Databaser. Vinter 2002/2003

Indholdsfortegnelse for kapitel 3

DATABASE - MIN MUSIKSAMLING

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

Dataanalyse og databaser

HåndOffice Foreningsdata

Tlf Fax

R E D C A P M A N U A L. Importér data til REDCap fra CSV-fil. Opbyg din eksisterende database i REDCap Version 1.0

Vejledning til ny brugergrænseflade i Navision 7.0

VERSION 5.1/5.2 INTRODUKTIONSKORT TIL WINDOWS 16-BIT

Quickguide til PM5. De enkelte punkter er beskrevet løst kig i manualen hvis du har brug for en dybere forklaring.

Smagsprøve. Databasedesign med Access 2000

Lasso for. Microsoft Dynamics CRM

1 Klassifikation-version2.0

Datafangst Praksis opsætning

Hjælp til MV-ID Administration

Håndbog Til CPR services. Bilag 8 GCTP-standard m.m. CPR-kontoret

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

AXP Teknisk Note. Kontakt: AXP Gruppen Dato:

Normalisering, del 2

Software Projekt NoSQL vs RMDB

TeamView Unified Operator. Get Started

Introduktion til SQL

Jørgen Koch. Access. Opgavehæfte

Excel sortering-filtrering

Tutorial: Annotationsliste

Høringsparter i Plandata.dk

BRUG AF LISTEFUNKTIONER I EXCEL

Vejledning til gennemsynsdatabasen i Geokoderen

Grundlæggende vejledning Navision

Database Access 2010

Brugeruddannelse. Aplanner for Windows Version 8.15

Grafdage Feltregistrering

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

Database for udviklere. Jan Lund Madsen PBS10107

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

Septimas høringssvar vedrørende dokumenteterne FKG datamodellen - Version Fysisk implementering.pdf og FKG_2_3_1_mssql.sql

Easy Guide i GallupPC

Efterår 2002 Note 10. Temaopgave

Quick Guide til MM Omstilling

DAVAR Omdøbt til SagDokumentFormat. Attention er skilt ud i et selvstændigt format, AttentionFormat.

Design ved normalisering

Arbejde med Regioner Lister, Playlists, og Cutlists i Sound Forge Pro

Guide til administration af rejseprofiler hos VR Travel.

Registrering. Hvad skal med? Kunstner, titel, årstal, mål, værktype, signeringer. Opmåling af kunstværker:

CFunding-IT. Web DB Multimediedesigner 3. Semester Gruppe 15

Transkript:

Hvad er en relationsdatabase? Odense, den 19 januar 2004 Version 10

Program for 6 kursusdag: Databaser 0900-0945 Hvad er en relationsdatabase? -1045 Opgave om normalisering 1100-1145 Eksempel på database og diagrammering 00-45 Frokost 45-1330 Opgave om database design 1330-1430 Kliniske anvendelser af databaser 1445-1530 Vurdering af en databases kvalitet 1530-1600 Opsummering og spørgsmål

Introduktion: Fra teknik til anvendelse Hvorfor kan systemet ikke altid det, som jeg gerne vil?

Hvad er data? Data Proces Information Data: Rå Proces: Oprette Udvælgelse Beregning Sortering Ændre Slette Vise Information: Kan bruges Værdi

Krav til data og information: Præcis Up-to date Troværdig Relevant Komplet

Hvad er en relationsdatabase? En organiseret og integreret samling af data Fælles lagringssted for forskellige data Kan let tilgås af programmer Ingen dublering af data Logisk struktur vi som brugere kan forstå og forestille os Tabeller med kolonner/felter/attributter og rækker med records Tabeller knyttes sammen af relationer

Relationsdatabase en kort definition: En database med data fordelt på flere tabeller, som er relateret til hinanden med (mindst) et fælles felt

Hvorfor bruge en relationsdatabase? Undgå at samme data lagres mere end en gang (redundans) Undgå at databasen har uoverensstemmende data (inkonsistens) Nemt og hurtig at opdatere/ændre data Undgå eller minimere fejl Spare plads og gøre søgning i databasen hurtigere Gøre det nemmere at tilføje data til databasen Standard på markedet i dag

Definitioner: Database: Samling af tabeller Tabel: Samling af records med samme indhold - ikke ens Record = Post = Række: Samling af felter, der omhandler samme emne Felt = Attribut: Oplysning Evt unik (primærnøgle) Kolonne: Samling af attributter Fysisk database: Som den er gemt på disk Logisk database: Som vi opfatter den Skitseres som en eller flere tabeller View: Udsnit af en tabel Udsnit eller alt fra flere tabeller samlet i et view

Eksempel: Medarbnr Fornavn Efternavn Afdnr Afdnavn Chef Ansat år 001 002 004 005 Peter Anne Lars Dorthe Kurt Niels Petersen Arnesen Larsen Nielsen Knudsen Jensen 10 15 11 Kirurgi Indkøb Medicin 009 0 007 1987 1985 1988 1990 1967 1933 Primær nøgle Felt Record/række Kolonne

Nøgler: Kandidatnøgle: Nøgle der kunne være primærnøgle Primærnøgle: Entydig identifikation af record Fremmednøgle: Nøgle der kan knytte to tabeller sammen

Krav til tabeller: Søren Vang: Kolonnenavnene skal være entydige Kolonnernes rækkefølger er ligegyldig Der skal være en primærnøgle tilknyttet Posternes rækkefølge er ligegyldig Et felt må ikke indeholde flere værdier eller sagt på en anden måde: Hver kolonne indeholder værdier om samme "attribut" Hver kolonne har et entydigt navn Hver række er enestående; en række kan ikke forekomme mere end en gang, da den primære nøgle ikke kan "duplikeres" Rækkernes/kolonnernes orden er ligegyldig

Hvorfor normalisering? Optimering af logisk struktur Sortering/sammenstilling af DB's attributter Finde og isolere de tidsuafhængige egenskaber Fjerne redundant information = overflødig information Finde entydig identifikation af de enkelte records Mål: at alle tidsafhængige egenskaber er registreret i selvstændige tabeller, der repræsenterer tidsuafhængige relationer

Normalformer oversigt: Ikke normaliseret database Normaliseret database View

Fremgangsmåde: Enten: Oprems alle mulige attributter i databasen Eller: Find attributter til udvalgte entiteter (en genstand, person, sted eller hændelse) 1 normalform 2 normalform 3 normalform Diskuter dette design med brugerne

1 Normalform 1NF: Er der rækker i tabellen, som indeholder samme primærnøgleværdi? og felter, der indeholder gentagne data i disse rækker?

1 Normalform 1NF: En primærnøgle pr tabel: Et eller flere attributter Skal eksistere Må ikke kunne indeholde NULL Værdien er entydig Kan altid fungere som primærnøgle Kun hele primærnøglen kan være primærnøgle Ingen repeterende grupper

Eksempel: Medarbejdere i afdelinger Medarbnr Fornavn Efternavn Afdnr Afdnavn Ansat år Postnr By 001 002 004 005 Peter Anne Lars Lars Dorthe Kurt Niels Petersen Arnesen Larsen Larsen Nielsen Knudsen Jensen 10 22 15 11 Kirurgi Forskning Indkøb Medicin 1987 1985 1988 1988 1990 1967 1933

Fornavn Efternavn Afdnr Afdnavn Ansat år Peter Anne Lars Lars Dorthe Kurt Niels Petersen Arnesen Larsen Larsen Nielsen Knudsen Jensen 10 22 15 11 Kirurgi Forskning Indkøb Medicin 1987 1985 1988 1988 1990 1967 1933 Medarbnr Fornavn Efternavn Ansat år 001 002 004 005 Peter Anne Lars Dorthe Kurt Niels Petersen Arnesen Larsen Nielsen Knudsen Jensen 1987 1985 1988 1990 1967 1933 Afdnr Afdnavn 10 22 15 11 Kirurgi Forskning Indkøb Medicin Medarbnr 001 002 004 005 Medarbnr 001 002 004 005 Postnr By Postnr By

2 Normalform 2NF: Hvis der i en tabel, med en sammensat nøgle er felter, der er direkte afhængige af en del af primærnøglen, skal disse felter flyttes over i en anden tabel, sammen med en kopi af delprimærnøglen

Medarbnr Fornavn Efternavn Ansat år 001 002 004 005 Peter Anne Lars Dorthe Kurt Niels Petersen Arnesen Larsen Nielsen Knudsen Jensen 1987 1985 1988 1990 1967 1933 Afdnr Afdnavn 10 22 15 11 Kirurgi Forskning Indkøb Medicin Medarbnr 001 002 004 005 Postnr By Afdnr Afdnavn 10 22 15 11 Kirurgi Forskning Indkøb Medicin Postnr By Afdnr 10 22 15 11 Medarbnr 001 002 004 005

3 Normalform 3NF: Er nogle af ikke-nøglefelterne afhængig af andre ikke-nøglefelter? Transistence data skal fjernes!!

Transistence data: Et ikke-nøgle attribut skal ene og alene være afhængig af primærnøglen og ikke af et andet ikkenøgle attribut eller en kombination af ikke-nøgle attributter Eksempel: Postnummer og bynavn

Medarbnr Fornavn Efternavn Ansat år 001 002 004 005 Peter Anne Lars Dorthe Kurt Niels Petersen Arnesen Larsen Nielsen Knudsen Jensen 1987 1985 1988 1990 1967 1933 Afdnr Afdnavn 10 22 15 11 Kirurgi Forskning Indkøb Medicin Postnr By Afdnr 10 22 15 11 Medarbnr 001 002 004 005 Postnr By Afdnr Afdnavn 10 22 15 11 Kirurgi Forskning Indkøb Medicin Postnr

Medarbnr Fornavn Efternavn Ansat år 001 002 004 005 Peter Anne Lars Dorthe Kurt Niels Petersen Arnesen Larsen Nielsen Knudsen Jensen 1987 1985 1988 1990 1967 1933 Afdnr 10 22 15 11 Medarbnr 001 002 004 005 Postnr By Afdnr Afdnavn 10 22 15 11 Kirurgi Forskning Indkøb Medicin Postnr

Check om de 3 Normalformer er opfyldt: Every field in the record depends on the key, the whole key, and nothing but the key Sådan!!!!!!!