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

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

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

Information Integration

Database kursus Forår 2013

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

Databasesystemer fra forskellige synsvinkler

Skriftlig eksamen i kurset. Informationssystemer

Funktionel afhængighed

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

Skriftlig opgave. Designtanker i database-nære systemer

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

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

Normalisering, del 2

Object-Relational Mapping

Database design for begyndere

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

Anvisning i aflevering af bitemporale data

Database. lv/

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

Database for udviklere. Jan Lund Madsen PBS10107

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

Relationel Algebra og SQL

Design ved normalisering

Eksempel på en database: studenter, kurser, eksamener

Brugervejledning til databrowseren

Database "opbygning"

Introduktion til Oracle, Datalogi, RUC Af: Jens Lauterbach 2002

Samspillet mellem databaser og kort styres af GeoCAD programmet GeoDB.

Database programmerings tips

Introduktion til SQL queries

FKG datamodellen Version ArcGIS integration Sidste revisionsdato: 23. maj 2014

En Kort Introduktion til Oracle

Introduktion til SQL

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

Hvorfor skal vi bruge objekt orienteret databaser?

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

Introduktion til programmering

DATABASE - MIN MUSIKSAMLING

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

Databaseadgang fra Java

Introduktion til OPC Access

DB undervisning 01-01

DM08115 DATABASE

Objektorientering. Programkvalitet

ODBC made easy på dansk (når bare man ved hvordan) Jesper Michelsen, Data warehouse & Analyse

Casper Fabricius ActiveRecord. O/RM i Ruby on Rails

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

Anne Randorff Højen

UML til kravspecificering

Sammenligning af Objekt-orienteret databaser og Relationelle databaser.

Data lagring. 2. iteration (implement backend)

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

SAS Scalable Performance Data Server

SQL ny front-end

Indholdsfortegnelse. Systembeskrivelse kapitel 8 Administrationsdatabase

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

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

(fig.1. Eksempel på en almindelig entity)

Introduktion til programmering

Microsoft Log Parser, Windows logfil analyse

Software Projekt NoSQL vs RMDB

Opsætning af Oracle Designer 10g repositorie

Kursus/workshop: SQL

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

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

MapInfo Professional 11.0 Hvordan man tilgår en database

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

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne

Anklagemyndighedens Vidensbase

Data Warehouse Knowledge is Power - Sir Francis Bacon -

"A subject-oriented, integrated, time-variant, and non-volatile collection of data in support of managements dicision-making process.

Transkript:

Databaser, efterår 2002 Databasesystemer Troels Andreasen Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk

Databasesystemer Indhold: Database, Database-system (DBMS) Data-model Database-sprog DBMS-arkitektur Nyere data-modeller OODBMS KDBMS Troels Andreasen 2

Database(DB), Data-model(DM), DB-Sprog, DB-system(DBMS) Database (DB) samling af data Data-model (DM) en abstraktion over data definerer en struktur for data i databasen Database-sprog (DDL+DML) definition af databasen (Data Definition Language - DDL) manipulation i databasen (Data Manipulation Language - DML) Database-system (DBMS) system til håndtering af databaser karakteriseret ved: den data-model det bygger på det database-sprog det definerer egenskaber: understøtter tilgang til en database (igennem DDL+DML) effektivt, også for store databaser + flere samtidige brugere Troels Andreasen 3

Eksempel, Data-model Model 1 Fil, Post og Felt Model 2 Relation, Tupel og Attribut Model 3 Entitet, sammenhæng, Attribut Model 4 Objekt, egenskab, attribut, metode Troels Andreasen 4

Database-sprog, DDL Data Definition Language (DDL) benyttes til definition af databasen, dvs. til specifikationer for filer i databasen som: navn og post-format lagringsstruktur nøgler begrænsninger (integritet) Eksempel, DDL Definition af STUDERENDE i relationel DDL CREATE TABLE STUDERENDE ( PERSONNUMMER: INTEGER, NAVN:CHAR(30), HUSNR:INTEGER); CREATE INDEX FOR STUDERENDE ON PERSONNUMMER; Troels Andreasen 5

Database skema (forskellige notationer) definitionen af en database i passende notation, f.eks.: DDL: CREATE TABLE STUDERENDE ( PERSONNUMMER: INTEGER, NAVN:CHAR(30), HUSNR:INTEGER); CREATE INDEX FOR STUDERENDE ON PERSONNUMMER; eller prædikat-notation: STUDERENDE(PNR,NAVN,HUSNR) eller diagram-notation PNR NAVN STUDERENDE HUSNR eller Troels Andreasen 6

Database-sprog, relationel DML Data Manipulation Language (DML) benyttes til manipulation af data i databasen, dvs. forespørgsel på (læsning af) data opdatering af data Eksempel, relationelt DML (SQL) Forespørgsler: I hvilket hus læser Peter Jensen? SELECT HUSNR FROM STUDERENDE WHERE NAVN = 'Peter Jensen' Hvad læser Peter Jensen? SELECT HUS.FAG FROM STUDERENDE, HUS WHERE STUDERENDE.NAVN='Peter Jensen' AND STUDERENDE.HUSNR = HUS.HUSNR Databaseskema: STUDERENDE(NAVN, HUSNR) HUS(HUSNR, FAG) STUDERENDE NAVN HUSNR : : Peter Jensen 42.2 : : HUS HUSNR FAG : : 42.2 Datalogi : : Troels Andreasen 7

Database-sprog, netværks-dml Eksempel, netværksdatabase DML FAG datalogi HUS-FAG kommunikation HUS 42.1 42.2 42.3 STUD-HUS STUDERENDE Peter Jensen Forespørgsel: Hvad læser Peter Jensen? STUDERENDE.NAVN := "PETER JENSEN" FIND STUDERENDE RECORD BY CALC KEY FIND OWNER OF CURRENT STUD-HUS SET FIND FIRST FAG RECORD IN CURRENT HUS-FAG SET print HUS.FAG Troels Andreasen 8

DBMS-arkitektur DBMS særligt kendetegnet ved Forespørgselsevaluering Optimering af forespørgsler er helt afgørende Transaktionsstyring Central for understøttelse af konsistens, samtidighed, mm. Lagerhåndtering Igennem specielt raffinerede datastrukturer sikres effektiv tilgang til data Troels Andreasen 9

Forespørgselsevaluering I konventionelle systemer (f.eks. NetværkDBMS) Forespørgsel = komplet programkode I relationelle DBMS Forespørgsel optimeres Optimizer bestemmer en plan for at udføre en operation Forespørgsel+plan = komplet programkode Optimizer omformer f.eks. en SQL-forespørgsel til en sekvens af operationer, der involverer læsninger af data Troels Andreasen 10

Om effektiv tilgang Mål for effektiv database-tilgang tidsforbrug uafhængig af datamængdens omfang navigation imellem filer understøttes Metode til effektiv database-tilgang lagrings-strukturer anvendes, f.eks hash-tabeller indeksfiler netværk (pegerkæder) Navigation at kombinere sammenhørende data fra flere filer ved brug af lagrings-strukturen Troels Andreasen 11

Om effektiv tilgang Navigation, eksempel Database STUDERENDE(NAVN, HUSNR) HUS(HUSNR, FAG) Forespørgsel: Hvad læser Peter Jensen? Netværk DML (Eksplicit navigation) STUDERENDE.NAVN := "PETER JENSEN" FIND STUDERENDE RECORD BY CALC KEY FIND OWNER OF CURRENT STUD-HUS SET FIND FIRST FAG RECORD IN CURRENT HUS-FAG SET print HUS.FAG Relationel DML (ingen navigation) SELECT HUS.FAG FROM STUDERENDE, HUS WHERE STUDERENDE.NAVN='Peter Jensen' AND STUDERENDE.HUSNR = HUS.HUSNR FAG HUS HUS-FAG STUD-HUS STUDERENDE datalogi STUDERENDE NAVN HUSNR : : Peter Jensen 42.2 : : HUS HUSNR FAG : : 42.2 Datalogi : : komm 42.1 42.2 42.3 Peter Jensen Troels Andreasen 12

Om effektiv tilgang Optimering Gammel teknologi, f.eks. Netværk DBMS programmør ansvar Nyere teknologi, f.eks. Relationel DBMS system-ansvar Ny teknologi, Objektorientering programmør / system ansvar? Troels Andreasen 13

Transaktionsstyring Transaktion: vigtigt begreb i forbindelse med bl.a. Konsistens Samtidighed Datasikkerhed Transaktion = Gruppe af operationer på databasen Troels Andreasen 14

Transaktionsstyring ACID-transaktion T (regler for transaktionsstyring) Atomicity alle eller ingen oprationer i T gennemføres Metode: resultat af T beregnes og "commit"tes (dvs. T logges og resultat realiseres i DB) Consistency antages før og kræves efter T, men ikke under T Metode: Håndhævning af begrænsninger Isolation samtidige T1 og T2 må ikke have indflydelse på hinanden (F.eks. at tømme sin konto i to banker samtidigt ) Metode: låsning ved opdatering Durability resultat af T må ikke gå tabt Metode: logging Troels Andreasen 15

DB: mer end tekst og tal Data kan f.eks. være dokumenter billeder video, audio rader-signaler remote sensing kort (GIS) Ofte realiseret ved hybride løsninger OO-funktionalitet programmerbar DBMS-funktionalitet f.eks. "forespørgsel" = fingeraftryk Troels Andreasen 16

DBMS: mer end læs og skriv Client-server DBMS fødes i client-server arkitektur f.eks. Oracle s SQL-net DBMS specialitet Distribuerede databaser Aktive DBMS constraints regler opretholdt af systemet triggers hændelses-styret kode (som dæmoner) Troels Andreasen 17

DBMS: mer end læs og skriv Data warehouse speciel database der opstår som samling af centrale udtræk fra forskellige databaser beregnet på forespørgsler er ofte Temporale databaser dvs. omfatter historiske data for en passende periode Data mining/knowledge discovery metadata-udtræk fra database i form af regler/viden om indhold Troels Andreasen 18

DBMS: mer end læs og skriv Advanced query mechanisms høj-niveau sprog, f.eks. med avancerede/fleksible konstruktioner eller naturligt sprog specielle evaluerings-mekanismer blød fortolkning af forespørgsler relevance feedback Troels Andreasen 19

OODBMS Objektbase-systemer Egenskaber komplekse objekter - nedarvning indkapsling - metoder tilknyttet objekter Database objekt-forekomster Databaseskema objekt-typer (klasser) Sammenlignelig med: Kørende OO-program To retninger: Objekt-orienteret og Objekt-relationel Troels Andreasen 20

KDBMS: Videnbase-systemer Egenskaber understøtter ét generelt sprog til definition, manipulation og forespørgsler på data databasesproget er deklarativt med stor udtrykskraft Database, database skema og forespørgsler udtrykt ved sætninger i det generelle sprog Sammenlignelig med : Kørende Prolog-program Troels Andreasen 21