2009NOEA/IT - Databaser/arkitektur1 Den relationelle model En teoretisk model for databaser Hviler på et sundt teoretisk grundlag Omfatter: Datastruktur.

Slides:



Advertisements
Lignende præsentationer
Relationer En relation mellem to mængder er en generaliseret funktion
Advertisements

Mapning af 1 til mange forbindelser
Mapning af klasser til relationer
2009NOEA/IT - Databaser/arkitektur1 Databaser Introduktion - Arkitektur Introduktion DBMS-arkitektur Datamodeller.
Velkommen til Softwarekonstruktion
Databaser Teori.
Relationsdatabaser og SQL
3. Funktionelle afhængigheder og normalisering
Felter og nøgle-felter (databaser, del 6)
Informationsteknologi B-A, HHX, 2005,
Regnskab & økonomistyring - Lektion 15 HD 5. semester forår 2010 v/ Jens Godik Højen, April 2010.
Objektorienteret programmering
NOEA/IT - FEN - Databaser/TabelDesign 1 Tabeldesign Design af relationsdatabaser Normalisering.
Mapning af 1 til mange forbindelser
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
NOEA/IT FEN - Databaser/Sikkerhed 1 Lektion 10 Sikkerhed og integritet Områder Autorisationsmatrix Realisering i SQL.
XML1 4.7 XML and Its Data Model. XML2 Introduktion til XML, 178 XML = eXtensible Markup Language Markup language –sprog, hvor data "pakkes ind" i tags.
2:Relations modellering og design regler.
Relationsdatabaser og SQL
13.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Funktionskomponent Oversigt, principper og teknikker Kapitel 13.
Operationer på relationer
7. SQL constraints og triggers1 Aktive elementer i SQL.
Dagens gang Sidste uges opgaver Databaser Opgaver til næste gang
2009NOEA/IT - Databaser/SQL1 Realisering af den relationelle model i SQL-baserede DBMS’er SQL er mere end forespørgsler - det omfatter bl.a. –DDL Data.
Powerpoint Jeopardy Data flow diagrammer Entity relationship diagrammer State diagrammerSammenhænge mellem systemmodeller
1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.
NOEA/IT FEN - Databaser/modellering 1 Tabeldesign Omformning af E/R-modellen til relationelle skemaer.
SQL – Oracle Relationsdatabase
Data Dictionary (databaser, del 7)
1 SQL2. 2 Funktioner der laver aggregerede beregninger Returnerer count() Antal rækker der opfylder bestemt betingelse min() Laveste værdi (eller null)
Den relationelle model
2009NOEA/IT - Databasedesign1 Agenda Datamodellering Databasedesign Normalisering.
SQL – Oracle Relationsdatabase
Relationelle databaser og XML
17.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Implementering Principper, teknikker og vurdering Kapitel 17.
SQL Jesper Tørresø DAB1 E oktober Punkter for i dag. SQL baggrund. Relationel algebra. Brug af VS2005.
Virksomhedens informationsbehandling lektion Ved. Jens Godik Højen.
2009NOEA/IT - Databaser/arkitektur1 Tabeldesign Design af relationsdatabaser Normalisering.
IT i Byggeriet Semester 6, kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
IT i Byggeriet Semester kursusgang Databaser (2) Kjeld Svidt Kjeld Svidt  Institut for Bygningsteknik  Aalborg Universitet.
Normalisering Sund Fornuft!. Normalformer 1. Normalform Ingen repeterende felter Der eksisterer en primær nøgle 2. Normalform Tabellen skal være i 1NF.
GP 8, 24/ Grundlæggende programmering Efterår 2001 Forelæsning 8 onsdag 24/ kl. 9:15 – 12:00.
Data Warehouse 8. semester forår 2010
Objekter og klasser Rasmus D. Lehrmann DM
Aalborg Universitet Master i Informationsteknologi, IT i Byggeriet – 2. Års projekt TYPEHUSKATALOG.
Slide Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 15 Algorithms for Query Processing and Optimization.
Repetition: Introduktion til OOP med C# og .NET
ER-modellering1 Analyse af data og sammenhæng mellem data.
FENNOEA IT - Databaser/SQL-Eval1 SQL: Opsamling Om SELECT Vurdering af SQL.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 8 Hvorfor data i en RDB (relationel database)? Databasemodellering.
3. Objekt Orientering og Relations Databaser
Kjeld Svidt  Institut for Byggeri og Anlæg  Aalborg Universitet IT i Byggeriet Semester 6, kursusgang Databaser (2) Kjeld Svidt
NOEA/IT FEN - Databaser/modellering 1 Datamodellering Den udvidede (enhanced) E/R-model (EE/R- modellen) Begreber Diagrammering Omformning til.
Dokumentation 7. Semester
SQL Jesper Tørresø DAB1 E September Punkter for i dag. SQL baggrund. Relationel algebra. SQL koncept –Vises ved brug af VS2008.
SQL – Oracle Vigtige SQL sætninger Lektion 6 7. Semester.
OOD  Relationel database: Klasser Hver klasse afbildes over i en tabel. Klassens navn bruges som navn på tabellen. Hver af klassens attributter afbildes.
2009Softwarekonstruktion / DB-design 11 Databasedesign 1 Fra begrebsmæssig model til relationel model.
Database.
Database Some walk through. Database Design – Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management.
E/R-diagrammering 7. Semester.
Opgaver Design tabeller Kvalitetscheck af (3NF) tabeldesignet Skriv CREATE TABLE-sætninger.
Den relationelle model
Objekt-relationel DBMS1 4.5 The Object-Relational Model 9.4 User-Defined Types in SQL 9.5 Operations on Object-Relational Data Ullman: Object-Relational.
Intro Databaserne? Gik det som det skulle?. Databasestøttet webpublicering Forelæsning nr 7 Hvorfor data i en RDB? Databasemodellering Begrebet nøgle.
Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
Normal former i en database Jan Christiansen Nyborg Gymnasium.
Modellering og data Nyt forløb.
MySQL dat2sem2018Fall Modul 2 – uge 2.
Dat2sem2019 Bornholm Modul 2 – uge 2
Præsentationens transcript:

2009NOEA/IT - Databaser/arkitektur1 Den relationelle model En teoretisk model for databaser Hviler på et sundt teoretisk grundlag Omfatter: Datastruktur Integritetsregler Manipulationssprog

2009NOEA/IT - Databaser/arkitektur2 ” Den verdensberømte supplier-part database” (Date)

2009NOEA/IT - Databaser/arkitektur3 Den relationelle model

2009NOEA/IT - Databaser/arkitektur4 Den relationelle model Data struktureres i et antal tabeller (relationer), som har forskellige navne. Hver tabel består af et antal (>=1) søjler (attributter). Attributter er atomiske og defineret over et domæne. I en tabel er der et antal (evt. ingen) rækker (forekomster, tupler), som ikke har nogen indbyrdes orden De enkelte forekomster kan identificeres ved hjælp af værdien af nøglen, der findes ikke to ens forekomster En relation (tabel) er en mængde af tupler Graden af en tabel angiver antal attributter (søjler)

2009NOEA/IT - Databaser/arkitektur5 Attributter Et domæne beskriver de lovlige værdier for en attribut. Domæner baseres på standard datatyper som int, char osv., som DBMS'et tilbyder. Flere attributter kan godt have samme domæne. At en attribut har værdien "tom” (ikke oplyst/ikke defineret) beskrives med værdien NULL.

2009NOEA/IT - Databaser/arkitektur6 Egenskaber ved relationer Følger af, at en relation er en mængde i matematisk forstand: ingen tuple optræder mere end een gang ( => der eksisterer altid en primærnøgle) tuplerne er uordnede (veritikalt) attributterne er uordnede (horisontalt) attributværdier er atomiske, dvs. en relation er altid på 1NF (Følger af, at domæner kun indeholder atomiske værdier)

2009NOEA/IT - Databaser/arkitektur7 Nøglebegrebet En nøgle er en attributkombination, som entydigt identificerer en forekomst i en tabel. En nøgle er minimal, dvs.. fjernes een attribut, er den ikke længere entydig. Alle attributter fra tabellen vil tilsammen altid være en (evt.. ikke-minimal) nøgle, kaldet en supernøgle. Der kan være flere forskellige kandidatnøgler i en tabel Der vælges altid en primærnøgle fra mængden af kandidatnøgler

2009NOEA/IT - Databaser/arkitektur8 Tabelsammenhænge repræsenteres ved fremmednøgler en fremmednøgle er een eller flere attributter i en tabel, som svarer til primærnøglen i en anden tabel en fremmednøgle peger på en forekomst i en anden tabel og fortæller, at her ligger resten af oplysningerne fremmednøglen og primærnøgleattributterne i den tabel, der refereres til, skal have samme domæne.

2009NOEA/IT - Databaser/arkitektur9 Integritetsregler Integritet: at være sammenhængende –Entitetsintegritet: En primærnøgle må ikke indeholde NULL-værdier –Referenceintegritet: En fremmednøgle skal enten være NULL eller referere til en forekomst med en tilsvarende primærnøgleværdi –Semantisk (domæne-) integritet: Forskellige regler, der i modsætning til de andre former for integritet, afhænger af den bestemte database.

2009NOEA/IT - Databaser/arkitektur10 Eksempel I firmaet Minibank registreres der oplysninger om kunder og konti. Om kunder registreres navn, adresse, cprnr og status (A= særlig gode kunder, B= almindelige kunder eller C= problemkunder). Om konti registreres kontonr, saldo og rentefod. En konto hører altid til en og kun en kunde, en kunde kan have 0 eller flere konti. (Primærnøglen (PK) er understreget.)

2009NOEA/IT - Databaser/arkitektur11 Eksempel…-2 ER-Datamodel (en domænemodel kunne bruges) Kunde Konto ejer cprnrstatus navn n1 adr gadepostnrby ktonr saldo rf

2009NOEA/IT - Databaser/arkitektur12 Eksempel…-2a Domænemodel (en Er-model kunne bruges)

2009NOEA/IT - Databaser/arkitektur13 Eksempel...-3 Der defineres tre tabeller –Kunde –Konto –PNrBy (for at undgå redundans) For at repræsentere ejerforholdet mellem konto og kunde tilføjes cprnr til konto som fremmednøgle

2009NOEA/IT - Databaser/arkitektur14 Eksempel …-4 Vi får følgende relationelle skemaer: Kunde: –cprnr:cprNrTypePK –navnvarChar –gadevarChar –postnrchar[4]FKREF PNrBy(pnr) –statusstatusTypeNOT NULL PNrBy: –pnrchar[4]PK –byvarCharNOT NULL

2009NOEA/IT - Databaser/arkitektur15 Eksempel…-5 Konto: –ktoktoNrTypePK –saldodecimal[>=0]NOT NULL –rentefodinterval[0:100]NOT NULL –kCprnrcprNrTypeNOT NULL FK REF Kunde(cprnr)

2009NOEA/IT - Databaser/arkitektur16 Eksempel…-6 Entitet: –primærnøgler må ikke være NULL Reference: –hvad skal der ske med Kunde.postnr, hvis en by får nyt postnr? Domæne: –cprNrType: det skal være muligt at definere gyldige cpr- numre –tilsvarende for kontonumre og statusværdier –saldo skal være ikke-negativ (problemspecifikt)

2009NOEA/IT - Databaser/arkitektur17 Problemspecifikke integritetsregler (forretningsregler) Mulighed for at definere fornuftige reaktioner på forsøg på opdateringer, som vil bryde integritetsregler fx. at hæve et beløb, så saldo vil blive negativ

2009NOEA/IT - Databaser/arkitektur18 Datamanipulation i den relationelle model - relationsalgebraen Arbejder på hele tabeller dvs. alle operationer tager tabeller som input og returnerer nye tabeller Operationer: –rækkeudvælgelse (RESTRICT/SELECT) –søjleudvælgelse (PROJECT) –sammensætning af tabeller (JOIN) –mængdeoperationer (UNION, INTERSECTION, MINUS, PRODUCT) –avancerede operationer (OUTER (LEFT/RIGTH) JOIN)

2009NOEA/IT - Databaser/arkitektur19 Relationsalgebraen - oversigt

2009NOEA/IT - Databaser/arkitektur20 Eksempel - MiniBank find kunden med cprnr=’ ’ –rækkeudvælgelse: i Kunde(cprnr=’ ’) find navne og adresser på alle kunder i postnr=’9220’ –rækkeudvælgelse i Kunde(postnr=’9220’) –rækkeudvælgelse i PNrBy(postnr=’9220’) –JOIN disse to temporære tabeller –søjleudvælgelse(navn, gade, postnr, by) i den lige dannede tabel