OM DATABASER DATABASESYSTEMER

Like dokumenter
Introduksjon til fagfeltet

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

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

Informasjonssystemer, DBMSer og databaser

INF1300 Introduksjon til databaser

1. Relasjonsmodellen Kommentarer til læreboka

INF1300 Introduksjon til databaser

Databaser: Relasjonsmodellen, del I

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

INF212 - Databaseteori. Kursinnhold

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

IN2090 Introduksjon til databaser

INF1300 Introduksjon til databaser

Databasesystemer, oversikt

INF1300 Introduksjon til databaser

INF1300 Introduksjon til databaser

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

INF3100 Databasesystemer

Del 1: ER-modellering og databaseteori

1. SQL server. Beskrivelse og forberedelse til installasjon

Utvikling fra kjernen og ut

INF3100 Databasesystemer

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

Kunnskapsorganisasjon og gjenfinning 1

Databaser & objektorientering.

Utvikling fra kjernen og ut

Tabeller og enkle spørringer

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

6105 Windows Server og datanett

Databaser noen temaer.

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

1. Introduksjon og bakgrunn

INF130: Datahåndtering og analyse

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

Utvikling fra kjernen og ut

Databaser: Introduksjon til databaser og filsystemer

Datamodellering: ER-modeller ER = Enitity-Relationship del 1: Notasjon og oversetting av ulike ER-modeller til tilsvarende relasjonsmodeller

Systemutvikling (Software Engineering) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

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

Databaser. - Normalisering -

Å bruke Java API-et til å sortere tabeller/arraylister der elementene er (referanser til) objekter

Sikkerhet og tilgangskontroll i RDBMS-er

1. SQL datadefinisjon og manipulering

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

INF1300 Introduksjon til databaser

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

EKSAMEN DATABASER

2 of :19 1 of :19 [Kurssidene] [ ABI - fagsider bibin ]

Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Lage større programmer (Python, relatert til teoridelen om Software Engineering ) TDT 4110 IT Grunnkurs Professor Guttorm Sindre

1. Datamodellering Kommentarer til læreboka

Generelt om permanent lagring og filsystemer

INF1300 Introduksjon til databaser

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

>>21 Datamodellering i MySQL Workbench

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

UNIVERSITETET I OSLO

Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer

1. Designe ER-modeller med MS Visio

EKSAMEN 6102 / 6102N DATABASER

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

HVA ER XML? extensible Markup Language En standardisert måte å strukturere ulike typer data Åpent format Enkelt:

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

IN2090 Databaser og datamodellering. Databasedesign og normalformer

SOSI-modell i MSAccess (Uferdig notat)

En lett innføring i foreninger (JOINs) i SQL

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

IN2090 Introduksjon til databaser

som blanker skjermen (clear screen). Du får en oversikt over alle kommandoene ved å skrive,

Oppgaver Oppgave a: Sett opp mulige relasjoner

Kom i gang med emedia

UNIVERSITETET I OSLO

DRI2020 Emne: Om databaser og norske arkiver /NOARK (7) Onsdag 12. oktober 2011 Foreleser: Anne Mette Dørum, Riksarkivet

Kunnskapsorganisasjon og gjenfinning 1.1. Introduksjon til databaseteori. Tine L. Frost, Jørn Helge B. Dahl og Kim Tallerås

INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1

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

1. Innføring i bruk av MySQL Query Browser

Produktrapport Gruppe 9

2. Beskrivelse av mulige prosjektoppgaver

INF1300 Introduksjon til databaser

Tirsdag 21/11. Onsdag 24/11. Tirsdag 12/12. TDT4110 Informasjonsteknologi grunnkurs: Tema: Et større case

ADDML. Archival Data Description Markup Language. Generell del. Versjon PA 0.07 Sist oppdatert: TPD. ADDML_8_2.doc 03/03/2011 1(12)

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

UNIVERSITETET I OSLO

1. SQL spørringer mot flere tabeller

1. Introduksjon til databaser

Mamut Enterprise Travel CRM

INF1300 Introduksjon til databaser

Datamodellering og databaser SQL, del 2

Transkript:

OM DATABASER DATABASESYSTEMER Begrepet database brukes på flere måter, og det er ikke uvanlig å bruke det for å angi en total samling av data (i dette tilfellet lagrede opplysninger) uavhengig av hvordan den er lagret eller finnes; for eksempel en bedrifts database. Likevel brukes begrepet oftest mer begrenset, for eksempel knyttet til data som fra eierens eller brukerens perspektiv har en viss logisk sammenheng med hverandre og behandles som en helhet i bruk. Vi snakker derfor om regnskapsdatabasen, personaldatabasen, kundedatabasen, studentdatabasen osv. Begrepet er generelt og skjelner ikke mellom hvordan opplysningene er lagret. Noe kan finnes i bøker, noe på kartotekkort og noe i elektronisk form. På den annen side vil vi konsentrere oss om data som er lagret elektronisk, i filer, og når vi bruker begrepet til daglig er det samlinger av slike data vi omtaler. Hvorvidt databasen fremstår som en eller flere filer på et lagringsmedium (disk/diskett) vil vanligvis være avhengig av edbsystemet (databasesystemet) som brukes for databasen. Microsoft Access lagrer alle data knyttet til en database i en fil med tillegget.mdb. Denne filen har da en komplisert indre struktur av en rekke filer, som programsystemet holder orden på. Tilsvarende gjelder Sybase SQL Adaptive Server, der alle data for en database er samlet i en fil (ytre sett) med tillegget.dba, og Microsoft SQL Server som bruker.mdf. Slike filer har en omfattende indre struktur, som vi skal se etter hvert. Andre databasesystemer lagrer hver fil, enten den gjelder brukerdata, indekser eller systemdata, som en selvstendig fil synlig for enhver, og med forskjellige tilleggsnavn, slik som i DataEase (og Enterprise Developer) kunder.dbm for kundedata; kunder, dba for skjemabeskrivelsen, kunder.i01 for indeks nr 1, og repo.dbr for oversikt over lagrede rapporter osv. Siden en slik edbbasert samling av data i mange tilfeller samles i en fil, knyttes gjerne databasebegrepet i praksis til denne. En snakker derfor også om å kople data sammen fra flere databaser, når en oppretter elektroniske forbindelser mellom dem som gjør at en får tilgang til data fra alle basene. Siden faget konsentrerer seg om det edb-baserte, vil vi i hovedsak bruke begrepet databaser som synonymt med edbdatabaser. Husk likevel at databasebegrepet egentlig er 1. generelt, dvs gjelder uavhengig av hvordan / hvor dataene er lagret 2. avgrensningen av hvilke data som inngår er relativ, og bestemmes av hva som er praktisk database, en samling data som anses og behandles som en helhelt I forbindelse med edb-baserte databaser, bruker vi begrepet databasesystem eller databasehåndteringssystem (DataBase Management System, DBMS) om den totale samling av programmer og støttedata som brukes for å behandle og administrere databasen, slik som Sybase Adaptive Server, Oracle, Microsoft SQL Server, Informix, DB2 etc. Hvordan en database eller et databasesystem oppfattes, dvs. hva de regnes å omfatte, vil i tillegg ofte være avhengig av betrakterens perspektiv. Hva en studentadministrativ database omfatter vil trolig oppfattes forskjellig av en student, av en konsulent i studieadministrasjonen, og av vedkommende som er edb-teknisk ansvarlig for systemet. Det samme gjelder hvordan en database beskrives. Det er særlig to hovedhensyn som ligger til grunn for den historiske utviklingen av database systemer.

For det første er det en rekke fordeler med å samle data i en sentral base (sted og struktur) og så gjøre den tilgjengelig for alle som har legitime behov for dataene. Redundans (dobbeltlagring) reduseres eller om mulig unngås Inkonsistens (manglende samsvar) reduseres eller om mulig unngås Dataintegritet (gyldigheten av dataene) kan sikres Helhetlig sikkerhetskontroll kan etableres og påtvinges systemet Motstridende hensyn kan søkes avveid (balanseres) på en helhetlig måte Standarder kan implementeres og overholdes bedre For det andre er det viktig å skille datastrukturen og lagringen fra tilgangen til og behandlingen av dataene (sikre datauavhengighet) ivaretar fleksibiliteten i bruken og tillater endringer i strukturen. Hierarkisk - og nettverksdatabase To typer av databasestrukturer, som kan ses som historiske forløpere til relasjonsdatabaser, er hierarkisk og nettverk. Slike er basert på faste, forhåndsdefinerte strukturer og som etableres og vedlikeholdes når nye data registreres og registrerte data endres. Når vi så skal bruke dataene (søke og finne igjen), vil vi raskt og effektivt kunne gjøre det hvis våre behov/ønsker passer med den lagrede strukturen. Har vi behov for å søke etter eller samle data på andre måter, kan det være både vanskelig og en omfattende, tidkrevende oppgave. Vi trenger et eller flere eksempler på databaser med oversikt over hva slags data de kan eller bør inneholde. Relasjonsdatabase En kunne derfor ønske seg et databasekonsept, som: ikke favoriserer eller forutsetter bestemte søke- og gjenfinningsbehov (strukturer) ikke forutsetter at dataene må lagres i noen bestemt rekkefølge, eller holdes ordnet på bestemte måter (dvs. ikke må flyttes for å opprettholde en bestemt orden/rekkefølge) er basert på en enkel struktur, der alle data er selvstendige, udelelige (atomistiske) og direkte (eksplisitte). Direkte i betydningen at de virkelig representerer den opplysningen vi ønsker å lagre, ikke bare en peker til den. Løsningen på dette ble i sin tid: relasjonsdatabaser Relasjonsdatabaser - kjennetegn Oppfattes som bestående av tabeller og bare tabeller Radene i en tabell er usorterte, ingen krav til ordnet rekkefølge nye rader settes inn til slutt eller en skriver over rader som skal slettes. Alle data i tabellene er atomiske ("udelelige"); dvs. hver rad/kolonne (felt) har kun 1 verdi repeterende r tillates ikke Alle data i en kolonne er av samme type; når datatypen er bestemt for en kolonne gjelder den for alle radene i tabellen Alle data i tabellene er eksplisitte og representerer virkelige data om entiteter (ikke bare pekere eller lignende)

NB: En tabell som tilfredsstiller disse kravene kalles relasjon; og en database som består av slike tabeller er da en relasjonsdatabase og det systemet som brukes for å lage og arbeide med databasen, er et relasjonsdatabase(håndterings)system. Operasjoner alltid på mengder (sett) av data, dvs tabeller eller deler av dem få operasjoner operasjoner på tabeller gir tabeller tilbake - (operasjonene er "lukket") Struktur/skranker oppnås ved: innen tabellen: Primærnøkkel (evt. andre unike i tillegg) mellom tabeller: Fremmednøkler (tilsvarer relasjonstyper i en datamodell) evt. andre, brukerdefinerte skranker Evt. indekser o.l. er bare til hjelp for hastighet, ikke nødvendige for bruk av dataene. Hoveduttrykk i forbindelse med en relasjon (skisse av Edgar Bostrøm, MetodeData As, 1997) Domene Relasjon Avdelingskode Avdelingsnavn Etasje AVDELING attributter avdkode avdnavn gammelt_avdnav etasjenr 1 Parfymeri Bijouteri 1 4 Herreklær Herreekvipering 1 3 Skotøy Skotøy og sokker 5 2 Kjøkkensaker Kjøkken 8 5 Sengetøy Tepper og sengetøy 5 her = 5 grad (aritet), her = 4 attributtverdi (for en rad/kolonnekobling) Tupler kardi- nalitet Relasjonshode (entitetstype, tabellhode) Relasjonskropp (entitet, forekomst)

Attributt: Kolonne i en relasjon (felt, field); og doméne (domain) er samlingen (settet) av alle gyldige verdier i en kolonne. Tuppel (tuple): Rad i en relasjon (post, record).

Transparent 1 Databasesystem deltakende personr og perspektiver Desktop System Sun SPARC Monitor Multimedia PC Laptop computer (Brukere - brukerr) Applikasjonsutviklere DBMS Systemadministrator Database (strukturbeskrivelser egentlige data applikasjonsprogrammer systemdata)

Transparent 2 En databases struktur - hovednivåer Eksternt nivå Konseptuelt nivå Felles/total (logisk totalstruktur) Internt nivå System/lagring (systemavhengig 'fysisk' struktur)