Introduksjon til fagfeltet



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

Databaser: Introduksjon til databaser og filsystemer

Databaser: Relasjonsmodellen, del I

1. SQL server. Beskrivelse og forberedelse til installasjon

OM DATABASER DATABASESYSTEMER

1. SQL datadefinisjon og manipulering

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

INF1300 Introduksjon til databaser

Innhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem

Databaser kort intro. Tom Heine Nätt

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

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

8. ASP med databasekopling, del I

1. Innføring i bruk av MySQL Query Browser

Forelesning 1 DAS - Introduksjon / Systemer / Brukeradmin - (Tom Heine Nätt /) Edgar Boström / Lars V. Magnusson

Overordnet beskrivelse

INF1300 Introduksjon til databaser

Informasjonssystemer, DBMSer og databaser

INF1300 Introduksjon til databaser

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

2. Beskrivelse av mulige prosjektoppgaver

9. ASP med databasekopling, del II

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

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

Sikkerhet og tilgangskontroll i RDBMS-er

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

Tabeller og enkle spørringer

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

Transaksjoner og flerbrukerproblematikk. Transaksjoner

INF1300 Introduksjon til databaser

Utvikling fra kjernen og ut

EKSAMEN 6102 / 6102N DATABASER

Oppgaver Oppgave a: Sett opp mulige relasjoner

Kunnskapsorganisasjon og gjenfinning 1. Relasjonsmodellen og -databaser

1. Introduksjon til databaser

1. Introduksjon og bakgrunn

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

Hva har vi gjort? SQL og Databasedesign

HØGSKOLEN I SØR-TRØNDELAG

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

HØGSKOLEN I SØR-TRØNDELAG

Generelt om permanent lagring og filsystemer

IN2090 Introduksjon til databaser

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere

ORDBMS og OODBMS i praksis

1. Relasjonsmodellen Kommentarer til læreboka

Datamodellering og databaser SQL, del 2

Applikasjonsutvikling med databaser

Databaser & objektorientering.

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

Generelt om operativsystemer

DBS1: Databases and database users

EKSAMEN DATABASER

1. Introduksjon til databaser

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.

INF1300 Introduksjon til databaser

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

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

1. Designe ER-modeller med MS Visio

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT mars Tema : Litteratur : Strukturert analyse. Strukturert analyse

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

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

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Binærfiler versus tekstfiler

I multiple choice, sann, usann, i alle oppgaver der du kun skal krysse av, får du poeng for riktig svar, null poeng for feil svar og ikke svar.

EKSAMEN OBJEKTORIENTERT PROGRAMMERING Alle trykte og skrevne. Java API dokumentasjon er tilgjengelig lokalt på hver maskin.

Mer om programmering av aggregeringer

AlgDat 10. Forelesning 2. Gunnar Misund

En liten rekap. Spørrespråk. I dag SELECT

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.

IN2090 Databaser og datamodellering 07 Datamanipulering

Grunnkurs i. Windows Utforsker. Nordre Land kommune IKT-avdelingen

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

Kapittel 7 & 8. Kravspesifikasjoner & Data design. Thomas Tjøstheim og Thomas Edvinsen. 20 September Kapittel 7 & 8 p.1/20

Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

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

Oppgave 3 - normalisering

>>21 Datamodellering i MySQL Workbench

SRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie

Test 2 OOP. - Prøveeksamen

Dagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.

Programvareutvikling hos Sun Microsystems. Jørgen Austvik Sun Microsystems Database Technology Group

Kap3: Klassemodellering

Andre sett obligatoriske oppgaver i INF3100 V2013

Datamodellering og databaser SQL, del 2

Miniverden og ER- modell

Oppsummering. Thomas Lohne Aanes Thomas Amble

Beskrivelse av informasjonssystemet

INF1000: Forelesning 7

Repetisjon: Normalformer og SQL

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

Utvikling fra kjernen og ut

Geosynkronisering. Nasjonale tjenester. Kommuner GeoNorge / andre portaler. Metadata. Visning. Nedlasting. Deltakende virskomhet. Geosynkronise ring

IS Introduksjon til informasjonssystemer

Transkript:

LC238D http://www.aitel.hist.no/fag/_dmdb/ Introduksjon til fagfeltet Datafiler side 2 Databasesystemer side 3-5 Databasearkitektur ANSI/SPARC side 6-7 Datamodeller side 8 Flerbruker databasesystem side 9 Klient-tjener arkitektur side 10 Datakatalog metadata side 11 Eksempel på databasetabeller side 12 Læreboka, kapittel 1, august 2012 Forelesning 1, uke 34 Datafiler Historien papirbaserte arkiver elektroniske arkiver Hva karakteriserer datafiler og et programs bruk av disse? ofte har hver applikasjon sitt sett av filer flere programmer / brukere kan ikke jobbe samtidig på filene svært tungvint med annet enn sekvensielle filer datidens maskinressurser krevde direkte tilgang Generelle problemer sterk avhengighet mellom program og datafiler all datakontroll må ligge i programmene endringer tungvindt, programmene forutsetter dataene i bestemt format og rekkefølge dobbeltlagring side 2 1

Databasesystemer En database er en samling data som logisk hører sammen. Sammen med dataene lagres en beskrivelse av dataene (metadata, datakatalog). Datakatalogen gjør data og program uavhengig av hverandre. Et databasesystem (Database Management System DBMS) er et stort programsystem som hjelper oss å holde orden på dataene Databasesystemet tar seg av filbehandlingen Effektive rutiner for lagring og søking Standardisert språk for å håndtere dataene: SQL Språk for å definere dataene: DDL Data Definition Language Språk for å vedlikeholde og søke i dataene: DML Data Manipulation Language Ulike grupper brukere Sentral rolle: DBA database-administrator Andre brukere kan gis rettigheter på forskjellige nivåer Sikkerhet og flerbrukerhåndtering Kjente relasjonsdatabasesystemer SQL Server MySQL Oracle PostgreSQL (Java DB / Derby) side 3 Databasesystemets funksjonalitet Data må kunne lagres, endres, gjenfinnes og slettes Metadata må lagres og være tilgjengelig for brukerne Støtte for transaksjonshåndtering En transaksjon er en enhet arbeid som må utføres i sin helhet. Kan bestå av flere oppdateringer. En transaksjon er enheten ved gjenoppretting. Transaksjoner må holdes intakt. Systemet må sørge for låsing av data når flere brukere skal oppdatere samtidig, slik at dataene blir oppdatert korrekt. Sikkerhet Dataene må beskyttes mot uautorisert bruk Gjenoppretting etter systemutfall Integritet Krav må kunne legges i databasen side 4 2

Fordeler/ulemper ved databasesystemer Fordeler Kontrollert duplisering av data, kun for å kople sammen tabeller Hele organisasjonen / mange applikasjoner /mange brukere har adgang til de samme dataene Bedre dataintegritet og sikkerhet Helhetssyn framfor særinteresser Enklere vedlikehold pga program datauavhengighet Rutiner for sikkerhetskopiering og gjenoppretting Ulemper Kompleks programvare som ofte krever kompetent driftspersonale Investeringskostnadene kan være store, men open-source-systemer (PostgreSQL, mysql, Java DB) er konkurransedyktige Kan bli dyrt å flytte applikasjoner fra et system til et annet, dersom en ikke tenker standardisering og kompatibilitet Ytelsen i forhold til spesiallagde programmer kan i helt spesielle tilfeller være lav side 5 Databasearkitektur ANSI/SPARC Et ideal som skal gjøre DBMS mest mulig robuste Datauavhengighet er stikkordet skjema = databasebeskrivelse eksternt skjema (subskjema) applikasjonens vindu(-er) mot databasen brukerne er sluttbrukere konseptuelt skjema modell av hele databasen brukerne er DBA dataene som tabeller internt nivå indekser, fysisk rekkefølge av poster, etc fysisk nivå oppdelingen av disken i sider, blokker osv. logisk datauavhengighet eksterne skjema uavhengig av endringer i det konseptuelle skjema fysisk datauavhengighet lagringsstrukturer må kunne endres uten at det berører det konseptuelle skjema side 6 3

Eksempel på de tre nivåene ansnr fornavn etternavn avdeling ansnr fornavn etternavn lønn ansnr fornavn etternavn lønn avdeling struct ansatt { int ansnr, char fornavn[40], char etternavn[30], float loenn, struct ansatt *neste; }; index ansnr; index avdeling; side 7 Datamodeller En datamodell beskriver data, sammenhenger mellom data og krav til dataene Et verktøy for kommunikasjon mellom brukere/oppdragsgivere og utviklere Ekstern datamodell, konseptuell datamodell, intern datamodell Objektbasert datamodell (UML) Postbasert datamodell (tabellene) side 8 4

Flerbruker databasesystem Kari OIe database Per Ingrid side 9 Klient-tjener arkitektur side 10 5

Datakatalog - metadata Databasesystemet inneholder alltid en datakatalog En database med metadata = data om data Derby system tables i Derby Reference Manual Grafisk grensesnitt SQL-basert grensesnitt select * from SYS.SYSCONSTRAINTS; // mulig å gjenfinne primærnøkkelen i person-tabellen her side 11 Eksempel på databasetabeller Lag database: studnr, navn, adresse, postnr, poststed, emnekode, emnenavn, karakter (kun én karakter pr. student og emne) Hvilke tabeller? Prøv! Tenk objektorientert, finn objekter (klasser) og fordel attributtene. Tegn klassediagram uten operasjoner («datamodell») Lag tabellene. Hva karakteriserer en databasetabell? Vis enkel bruk av Java DB i NetBeans (repetisjon) Kun én tabell med persondata (navn og nr) SQL-setninger Data Definition Language (DDL) lage tabellen Data Manipulaton Language (DML) legge inn data søke endre data slette data side 12 6