Databasesystemer, oversikt

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

Informasjonssystemer, DBMSer og databaser

INF3100 Databasesystemer

INF3100. Databasesystemer

Databaser: Relasjonsmodellen, del I

INF3100 Databasesystemer

Utvikling fra kjernen og ut

INF1300 Introduksjon til databaser

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

INF212 - Databaseteori. Kursinnhold

INF1300 Introduksjon til databaser

Utvikling fra kjernen og ut

OM DATABASER DATABASESYSTEMER

INF1300 Introduksjon til databaser

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

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

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

Introduksjon til fagfeltet

Repetisjonsforelesning, SQL og utover

INF3100 Databasesystemer

SQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data

Andre sett obligatoriske oppgaver i INF3100 V2012

Andre sett obligatoriske oppgaver i INF3100 V2013

1. SQL datadefinisjon og manipulering

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

INF1300 Introduksjon til databaser

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

IN2090 Introduksjon til databaser

SQL og Mengdelære. Oracle, MySQL, Access, bruker forskjellige syntaks.

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Arne Maus, Ifi. delvis lån av gamle foiler

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

1. Relasjonsmodellen Kommentarer til læreboka

INF3100 Databasesystemer

INF1300 Introduksjon til databaser

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Spørsmålskompilering del 1

Satsvise, interaktive, sanntids/innbakte systemer. Arne Maus, Ifi. Oppdeling av både program og data på flere maskiner

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

IN2090 Introduksjon til databaser

Oppgave 1 ER- og relasjonsmodell 10 %

1. SQL server. Beskrivelse og forberedelse til installasjon

Utvikling fra kjernen og ut

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

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

Relasjonsdatabasedesign

Relasjonsdatabasedesign

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

UNIVERSITETET. Relasjonsdatabasedesign

INF1300 Introduksjon til databaser

UNIVERSITETET I OSLO

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

EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum

UNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1

Andre sett obligatoriske oppgaver i INF3100 V2010

INF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger

INF1300 Introduksjon til databaser

SLUTTPRØVE 5602 DATABASER I (inkludert vedlegg og denne forsida) Vedlegg: A: Eksempeldata og B: Svarark til oppgave 4

Relasjonsalgebraen. Algebra

Isolasjon i postgres og mysql

Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Relasjonsdatabasedesign

UNIVERSITETET I OSLO

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Oppdateringsanomalier Normalformer

UNIVERSITETET I OSLO

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

Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

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

Databaser. - Normalisering -

DBS18 - Strategier for Query-prosessering

UNIVERSITETET I OSLO

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Transaksjoner og flerbrukerproblematikk. Transaksjoner

Integritetsregler i SQL

Integritetsregler i SQL. Primærnøkler

Transkript:

Databasesystemer, oversikt Evgenij Thorstensen V18 Evgenij Thorstensen Databasesystemer, oversikt V18 1 / 23

Kurset Databasesystemer og databaser. Databaser er abstrakte objekter (datastrukturer, spørrespråk). Databasesystemer er programvare som tillater oss å håndtere disse objektene. Evgenij Thorstensen Databasesystemer, oversikt V18 2 / 23

Kursets temaer Databaseteori/databasedesign Funksjonelle avhengigheter, nokler, normalformer, flerverdiavhengigheter Relasjonsalgebra SQL Databasesystemer Logging Transaksjoner Indeksering Evgenij Thorstensen Databasesystemer, oversikt V18 3 / 23

Kursets temaer, forts. Distribuerte databaser XML Grafdatabaser Distribuert commit Avansert Optimisering av sporringer (relalg pluss sql) Uløste problemer/forskningsfronten Evgenij Thorstensen Databasesystemer, oversikt V18 4 / 23

Litt databasehistorie 1960-tallet: IDS, nettverksdatabase, og IMS, hierarkisk database. Dette er mainframe-tiden. En stor maskin (1 mill. 1964-$) hadde 512 Kbyte RAM 50 Mbyte disk Annet I/O-utstyr (magnet- og papirbånd, hullkortleser og linjeskriver) Nettverks- og hierarkiske databaser likner. Evgenij Thorstensen Databasesystemer, oversikt V18 5 / 23

Et eksempel: set name is EmnerTilbudt owner is Institutt member is Emne Hierarkisk database: Asyklisk nettverk. Spørringer via et eget språk. Fordeler og ulemper? Evgenij Thorstensen Databasesystemer, oversikt V18 6 / 23

Nettverksdatabaser Fordeler Kan implementeres lett. Datamodell følger fysisk modell. Lett å lære seg? Ulemper Bare lett å skrive spørringer som følger hierarkiet. Oppdateringer? Evgenij Thorstensen Databasesystemer, oversikt V18 7 / 23

Relasjonsdatabaser E. F. Codd. 1970. A relational model of data for large shared data banks. Commun. ACM 13, 6 (June 1970), 377-387. Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation). A prompting service which supplies such information is not a satisfactory solution. Activities of users at terminals and most application programs should remain unaffected when the internal representation of data is changed and even when some aspects of the external representation are changed. Changes in data representation will often be needed as a result of changes in query, update, and report traffic and natural growth in the types of stored information. Evgenij Thorstensen Databasesystemer, oversikt V18 8 / 23

Hva mente Codd? Intern representasjon (filer, pekere) bør ikke vises til bruker. Brukere jobber med abstrakt datamodell. Codd foreslo relasjoner som abstrakt datastruktur. Dette ble siden standard i hierarkiske databaser også. Evgenij Thorstensen Databasesystemer, oversikt V18 9 / 23

Relasjoner Tabeller med rader (tupler) og kolonner (attributter). Et tuppel har en verdi for hvert attributt. Som matematisk objekt: Mengde av tupler R d(a 1 ) d(a k ). Kan manipuleres via operasjoner på tabellene og sammenlikning av verdier. Evgenij Thorstensen Databasesystemer, oversikt V18 10 / 23

Egenskaper relasjoner Hvert attributt har eget domene (mengde av verdier det er lov å bruke) Alle attributter har ulike navn (hvis vi ikke gir dem rekkefølgenummer) Relasjoner er mengder: Tupler har ikke rekkefølge, og ingen to er helt like. I virkeligheten: Attributter kan ha den spesielle verdien nil (null). Tabeller tillater like tupler. Evgenij Thorstensen Databasesystemer, oversikt V18 11 / 23

Relasjonsdatabaser Relasjoner er en abstract datamodell. Implementasjon kan endres fritt. Tillater oss å elegant definere redundans og andre egenskaper. Tillater et elegant og kompakt spørrespråk (relasjonsalgebra) som SQL er basert på. Tillater vilkårlige spørringer, er universell datamodell. Evgenij Thorstensen Databasesystemer, oversikt V18 12 / 23

Spol fremover Relasjonsdatabaser spiste verden. Samtidig er både hierarkiske databaser og annet fremdeles i live. NoSQL er paraplybegrepet for Dokumentdatabaser Key-value store Grafdatabaser I tillegg har vi distribuerte databaser som eget tema. Evgenij Thorstensen Databasesystemer, oversikt V18 13 / 23

Databasesystemer Hittil har vi snakket om databaser. Hva gjør et databasesystem? Evgenij Thorstensen Databasesystemer, oversikt V18 14 / 23

Databasesystemer Hittil har vi snakket om databaser. Hva gjør et databasesystem? Utfører spørringer; manipulerer tabellene/grafene/annet. Hva mer? Evgenij Thorstensen Databasesystemer, oversikt V18 14 / 23

Den harde virkelighet Flere brukere jobber samtidig. Vi har ikke kontroll på hva de finner på. Datamaskiner og disker kan dø/feile. For distribuerte databaser: Nettverket kan gå ned/meldinger kan gå tapt. Evgenij Thorstensen Databasesystemer, oversikt V18 15 / 23

ACID Fire viktige egenskaper Atomicity Consistency Isolation Durability Evgenij Thorstensen Databasesystemer, oversikt V18 16 / 23

Front-end Tilgangsrettigheter, diverse APIer. Optimisering og indeksering. Evgenij Thorstensen Databasesystemer, oversikt V18 17 / 23

users Database administrators Casual users Application programmers Parametric users Typiske komponenter i et DBMS DDL statements DDL compiler user interfaces Privileged commands query and transaction execution stored database system catalogue/data dictionary Storage manager Storage Interactive query Query compiler Query optimiser Buffer manager Application programs Precompiler DML compiler Execution manager Host language compiler Compiled transactions Concurrency control Logging Backup Recovery INF3100 - xx.1.2017 Ellen Munthe-Kaas 38 Evgenij Thorstensen Databasesystemer, oversikt V18 18 / 23

Datamodellering I en database ønsker vi å lagre data om verden. Data er strenger/tall/datoer/etc. Visse dataverdier hører sammen. Naturlig å modellere dette som objekter og koblinger mellom dem. Evgenij Thorstensen Databasesystemer, oversikt V18 19 / 23

Mer om relasjoner som datamodell Relasjoner samler dataverdier. Kan sees på som objekter og koblinger mellom objekter. Dette likner på ORM, og mer generelt på Entity-Relationship modell. Hva er et objekt? Evgenij Thorstensen Databasesystemer, oversikt V18 20 / 23

Objekter og relasjoner Et objekt er en samling av attributtverdier. (Tenk java) Vare(Varenr, Navn, Beholdning) Eierskap(Bilnr, Personnr) Eksamensresultat(Studentnr, Kurskode, Karakter) Vi kan snakke om gyldige og ugyldige tupler/verdier. Evgenij Thorstensen Databasesystemer, oversikt V18 21 / 23

Nøkler Hvis en tabell representerer en klasse, trenger vi å kunne finne objekter. Kan velge noen attributter til å unikt identifisere et tuppel (primærnøkkel). Kan gjenbruke disse attributtene som en peker til dette objektet (fremmednøkkel). Bil(Bilnr, Merke, Motor...); Eierskap(Bilnr, Personnr). Evgenij Thorstensen Databasesystemer, oversikt V18 22 / 23

Nøkler, peker videre Primær- og fremmednøkler er eksempler på integritetsregler. Bak disse enkle observasjonene ligger det interessant teori. Kan se på primærnøkkel/nøkler enten som noe vi krever eller noe som er tilfelle i den virkelige verden. Evgenij Thorstensen Databasesystemer, oversikt V18 23 / 23