Informasjonssystemer, DBMSer og databaser

Like dokumenter
INF3100 Databasesystemer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

INF1300 Introduksjon til databaser

INF3100 Databasesystemer

INF1300 Introduksjon til databaser

INF3100 Databasesystemer

INF3100. Databasesystemer

INF3100 Databasesystemer

IN2090 Introduksjon til databaser

INF1300 Introduksjon til databaser

Begrepsforvirring i databaseverdenen?

Databasesystemer, oversikt

Hvordan databasesystemene kan hjelpe RAM-produsentene

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

Historisk tidslinje. Resource Description Framework (RDF) Web Ontology Language (OWL) Object-Role Modeling (ORM) Entity Relationship Model (ER)

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

OM DATABASER DATABASESYSTEMER

DDBS. Distribuerte databasesystemer

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1

Introduksjon til fagfeltet

DBMS Database Management System (repetisjon) Programmeringsgrensesnitt. Serialiserbarhet

Parallelle og distribuerte databaser del III

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ellen Munthe-Kaas 1

INF1300 Introduksjon til databaser

ITGK - H2010, Matlab. Dagens tema : Teori - Databaser

UNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) INF Ellen Munthe-Kaas 1. Institutt for Informatikk

Utvikling fra kjernen og ut

INF1300 Introduksjon til databaser

Utvikling fra kjernen og ut

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser

Utvikling fra kjernen og ut

INF1300 Introduksjon til databaser

Oppdateringsanomalier Normalformer

INF1300 Introduksjon til databaser

Det matematisk-naturvitenskapelige fakultet. Kontroller at oppgavesettet er komplett før du begynner å besvare det.

INF1300 Introduksjon til databaser

Dataorientert modellering

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

IN2090 Introduksjon til databaser

Databaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen

UNIVERSITETET I OSLO INF1300 Introduksjon til databaser

Dagens tema: Relasjonsmodellen (funksjonelle avhengigheter og nøkler, integritetsregler) Realisering: Fra ORM til relasjoner

UNIVERSITETET I OSLO. Relasjonsmodellen. Relasjoner og funksjonelle avhengigheter. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Relasjonsdatabasedesign

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22.

INF1300 Introduksjon til databaser

Utvikling fra kjernen og ut

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

SQL: Systemaspekter. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Systemaspekter V18 1 / 21

Systemaspekter ved SQL

Relasjonsdatabasedesign

Prosjektoppgave: Bildedatabase. TDT4145 Datamodellering og Databasesystemer. Våren 2007

UNIVERSITETET I OSLO

INF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning mandag 14.

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Representasjon n-1-regelen

INF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Relasjonsdatabasedesign

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

UNIVERSITETET I OSLO SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

INF Algoritmer og datastrukturer

1. SQL server. Beskrivelse og forberedelse til installasjon

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

UNIVERSITETET SQL. Structured Query Language. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Relasjonsdatabasedesign

UNIVERSITETET I OSLO INF1300. Dagens tema: Ringskranker. Tommelfingerregler. Institutt for informatikk. INF Ellen Munthe-Kaas 1

INF1300 Introduksjon til databaser

Relasjonsdatabasedesign

Beskjed fra Skagestein

UNIVERSITETET. Relasjonsdatabasedesign

Relasjonsdatabasedesign

Utvikling fra kjernen og ut

Databaser & objektorientering.

OptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål

Dagens tema: Ekvivalente stier og joinskranker Ringskranker Informasjonsbærende representasjoner Behandling av tid

Informasjonsbærende representasjoner

Relasjonsdatabasedesign

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker

Dagens tema: Begrepsdannelse Eksterne entydighetsskranker Verdiskranker Mengdeskranker Underbegreper og underbegrepsskranker Kombinerte totale roller

DBS18 - Strategier for Query-prosessering

Databaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen

Spørsmålskompilering del 1

Dagens tema: Oppdateringsanomalier Normalformer

INF1300 Introduksjon til databaser: SQL Structured Query Language

Relasjonsdatabasedesign

Relasjonsdatabasedesign

Spørsmålskompilering del 1

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

Relasjonsdatabasedesign

Andre sett obligatoriske oppgaver i INF3100 V2010

UNIVERSITETET SQL-99. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Transkript:

UNIVERSITETET I OSLO Informasjonssystemer, DBMSer og databaser Institutt for Informatikk INF3100-21.1.2008 Ellen Munthe-Kaas 1

Interesseområdet (UoD = Universe of Discourse) Interesseområdet er en del av virkeligheten Lovene som styrer virkeligheten, kaller vi forretningsregler Forretningsregler og naturlover har mange likhetstrekk Vi ser effekten av dem, men de kan være vanskelige å finne INF3100-21.1.2008 Ellen Munthe-Kaas 2

Beskrivelse (deskripsjon) av virkeligheten/interesseområdet Interesseområdet Begrepsdannelse og idealisert representasjon (=Analyse) Beskrivelse av interesseområdet INF3100-21.1.2008 Ellen Munthe-Kaas 3

Informasjonsmodeller, 100%-prinsippet og skranker En fullstendig beskrivelse av interesseområdet kalles en informasjonsmodell 100%-prinsippet sier at det er mulig å lage en (endelig) informasjonsmodell på norsk eller et annet naturlig språk Informasjonsmodellen uttrykkes gjerne i et modellspråk Aktuelle modellspråk er UMLs klassediagrammer, ER (Entity Relationship) eller ORM (Object-Role Modelling) Beskrivelsen av forretningsreglene kalles skranker Statiske skranker beskriver begrensninger på mulige tilstander i interesseområdet Dynamiske skranker beskriver begrensninger på mulige forandringer i interesseområdet INF3100-21.1.2008 Ellen Munthe-Kaas 4

Det begrepsmessige skjema Integritetsregler Informasjonsmodellen brukt som regelverk (preskripsjon) for hvordan informasjonssystemet skal oppføre seg, kalles det begrepsmessige skjema Det begrepsmessige skjema uttrykkes i et språk som passer for den databaseteknologien vi skal bruke, f.eks. SQL (Structured Query Language) for relasjonsdatabaser I det begrepsmessige skjemaet kaller vi skrankene for integritetsregler Integritetsreglene bestemmer hva som er lovlig å lagre i informasjonssystemet (lovlige tilstander) og hva som er lovlige forandringer (lovlige transisjoner) INF3100-21.1.2008 Ellen Munthe-Kaas 5

Informasjonssystemer Interesseområdet Analyse Informasjonsmodellen Realisering Informasjonssystemet Data Prosesser INF3100-21.1.2008 Ellen Munthe-Kaas 6

Informasjonssystemer vs. databaser INFORMASJONSSYSTEM DATABASESYSTEM DBMS Applikasjonsprogrammer Håndtere spørsmål Kontroll av data Aksessere data MDB DB Spørremodul Berit Bruker INF3100-21.1.2008 Ellen Munthe-Kaas 7

DBMS Database Management System Spesialisert SW Karakteristika: Persistens Transaksjonshåndtering A tomicity C onsistency I solation D urability Programmeringsgrensesnitt (API) INF3100-21.1.2008 Ellen Munthe-Kaas 8

Litt databasehistorie (Kursorisk pensum) INF3100-21.1.2008 Ellen Munthe-Kaas 9

Begynnelsen Bachman & Williams: A General Purpose Programming System for Random Access Memories [1964] beskrev IDS (Integrated Data Store) IDS var det første kommersielle DBMS (utviklet av General Electric, Bachman var prosjektleder) Dette var første gang to programmer kunne ha aksess til de samme dataene samtidig (kvasiparallell aksess) IDS ble i 1966 solgt og fra da markedsført som IDMS (Integrated Data Management System) INF3100-21.1.2008 Ellen Munthe-Kaas 10

Maskinvare i 1964 En stor maskin (1 mill. 1964-$) hadde 512 Kbyte RAM 50 Mbyte disk Annet I/O-utstyr (magnet- og papirbånd, hullkortleser og linjeskriver) En slik maskin var vannkjølt, krevde stor plass (2 300 m 2 ), brukte mye strøm (ca 50 kw), og en stab på 10-12 personer for å holde den i gang Drøyt 40 år senere har vi ipod. INF3100-21.1.2008 Ellen Munthe-Kaas 11

Nettverksdatabaser IDS var en nettverksdatabase, dvs at skjemaet besto av to typer datastrukturer: Posttyper (COBOL record type) Sett-typer (1:n relasjon mellom to posttyper kalt hhv eier- og medlemstype) Hver enkelt post kunne delta i vilkårlig mange sett, som eier i noen og medlem i andre, men bare en gang i hver sett-type Topologisk er et nettverksdatabaseskjema en rettet graf med posttypene som noder INF3100-21.1.2008 Ellen Munthe-Kaas 12

Hierarkiske databaser Et hierarkisk databaseskjema har to datastrukturer: Posttyper 1:n relasjoner, kalt foreldre barn-relasjoner, mellom to posttyper Foreldre barn-relasjonene danner hierarkier (trær) I realiteten finnes bare ett kommersielt hierarkisk DBMS, IMS, som ble utviklet av IBM og Rockwell International (North American Aviation) og lansert av IBM i 1968 95% av Fortune-1000-firmaene bruker fortsatt IMS INF3100-21.1.2008 Ellen Munthe-Kaas 13

Relasjonsdatabaser Relasjonsdatabaser har én type datastruktur, relasjoner (tabeller), som tilsvarer posttyper Kolonnene har navn og kalles attributter Linjene er navnløse og kalles tupler (forekomster) Tuplenes attributtverdier er atomiske (COBOLs repeterende grupper er ikke tillatt) Alle logiske sammenhenger mellom relasjoner er basert på verdilikhet (fremmednøkler, join) SQL er ISO-standard for definisjon og bruk av relasjonsdatabaser INF3100-21.1.2008 Ellen Munthe-Kaas 14

Objektdatabaser Dataelementene er objekter Objektene kan stå i relasjon (relationship) til hverandre; slike relasjoner er alltid toveis Gjeldende standard er ODMG 3.0, men ingen har til nå laget en full implementasjon av denne Implementasjonsmessig er objektdatabaser en generalisering av nettverksdatabaser, mens spørre-språket OQL er en beregningskomplett SQL-etterligning (OQL returnerer et objekt; SQL returnerer en relasjon) INF3100-21.1.2008 Ellen Munthe-Kaas 15

2-skjemaarkitektur IDS var en 2-skjemaarkitektur database Ett skjema ga en fullstendig beskrivelse av databasen Ett subskjema tilpasset applikasjonen fungerte som applikasjonens vindu mot databasen Hver database hadde bare ett skjema, men kunne ha vilkårlig mange subskjemaer INF3100-21.1.2008 Ellen Munthe-Kaas 16

Datauavhengighet 2-skjemaarkitekturen tilbød datauavhengighet: Skjemaet definerte både struktur og lagringsformat for dataene Subskjemaet definerte navn og format på de dataene applikasjonen brukte Det ble dermed mulig å forandre lagringsformatet uten å forandre programmene INF3100-21.1.2008 Ellen Munthe-Kaas 17

3-skjemaarkitektur I 1971 foreslo CODASYL DBTG (COmmittee on DAta SYstems Languages, Data Base Task Group) å splitte det sentrale skjema i to: Et logisk (begrepsmessig) skjema Et fysisk (internt) skjema ANSI/SPARC (ANSI Standards Planning And Requirement Committee) foreslo dette som standard i 1978 Det begrepsmessige skjema ble ISO-standard i 1982 (sub-skjemaene ble her kalt eksterne skjemaer) Vi fikk dermed to former for datauavhengighet: Fysisk mellom internt og begrepsmessig skjema Logisk mellom begrepsmessig og eksternt skjema INF3100-21.1.2008 Ellen Munthe-Kaas 18

3-skjemaarkitekturen (Kjernepensum) INF3100-21.1.2008 Ellen Munthe-Kaas 19

3-skjemaarkitekturen for databaser Presentasjonslaget beskrives med eksterne skjemaer ( views ) hvordan informasjon skal presenteres for ulike brukere Det konseptuelle (eller logiske) laget beskrives i det begrepsmessige skjemaet hva som kan lagres, og hva som er lovlige forandringer Det fysiske laget beskrives i det interne skjemaet hvordan informasjon lagres, forandres og behandles INF3100-21.1.2008 Ellen Munthe-Kaas 20

INF3100-21.1.2008 Ellen Munthe-Kaas 21

Fysisk og logisk datauavhengighet Fysisk datauavhengighet betyr at vi kan forandre det interne skjemaet så lenge det ikke strider mot det begrepsmessige skjemaet Vi kan f.eks. forandre lagringsformatet av tall fra binært til BCD (Binary Coded Decimal) eller tekst uten å forandre det begrepsmessige skjemaet Logisk datauavhengighet betyr at vi kan beholde eksterne skjemaer selv om vi forandrer det begrepsmessige skjemaet Dermed slipper vi å forandre gamle programmer INF3100-21.1.2008 Ellen Munthe-Kaas 22

3-lagsarkitektur i web-applikasjoner Benytter ideene fra 3-skjemaarkitekturen i design av distribuerte systemer Presentasjonslag: Webserver Forretningslogikk: Applikasjonsserver Datalag: Databaser, legacysystemer, INF3100-21.1.2008 Ellen Munthe-Kaas 23