LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Hans Olav Norheim
Tabeller av objekter Klassen ArrayList
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Kap 01 Generelt om databaser
Datamodellering/database
Programmering i ActionScript - hva er det, og hvordan undervise?
Elkem Research Prosess IT
Teknisk brukerstøtte system For Noroff Instituttet Avdeling Bergen Oppgave 49E av Gisle Johannessen, HiST V2007.
Høgskolen i Oslo Webprogrammering SQL og databaser del 3.
1 Tilgjengeliggjøring av elektroniske registre – idéer og problemstillinger Seminar om tilgængeliggørelse af elektroniske arkivalier, Skógar, Island,
Java database persistence framework.  SELECT by FROM postnr AS p WHERE ( SELECT DISTINCT postnr FROM addr AS a WHERE user.adrId = a.Id ) = p.postnr;
10. Presenting Page Elements Presentere sideinformasjon.
Kapittel 6 Data Backup Service. Tradisjonell arkitektur •Mange klienter •En server (evt. et cluster) •Klientene tar backup m jevne mellomrom •Inkrementell.
Linux.
Avansert SQL og problemløsning
1 Objektorienterte databaser - 6 Arne Maus. 2 Problemstillinger, hvorfor OO- databaser ?  dagens relasjonsdatabaser (RDB) passer ikke for alle anvendelser.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Databaseteori.
LC238D Datamodellering og databaser Else Lervik, november 2012 Forelesning 12, uke 45 Transaksjoner og flerbrukerproblematikk.
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
IS-102 Klassedefinisjoner
Monica Stamnes Identitetsforvaltning og brukeradministrasjon Introduksjon til identitetsforvaltning og brukeradministrasjon med Cerebrum Monica Stamnes.
Databasehåndtering med MySQL
Relasjonsmodellen, del II
Normalisering Framstillingen avviker noe fra læreboka,
Se ellers læreboka, kap , side
LC238D Datamodellering og databaser Else Lervik, september 2012 Forelesning 6, Uke 39 Objektorientering i ER-modeller.
Datamodellering og databaser Else Lervik, oktober 2011 Forelesning 9, uke 41 SQL, del 2 Eksempelbaseside 2 Virtuelle.
Siste forelesning ER/EER-modellering
LocMoc : Avatar 3D – Visualisering av menneskelige bevegelser ved bruk av Java og Coin3D. En presentasjon av: Øivind Hoff Johansen og Jon Kåre Sørensen.
Mer om programmering av aggregeringer Repetisjon: Komposisjon og aggregering En register-klasse: modellering En register-klasse: implementering Sortering.
Å lage sikre klasser Unntaksklassene i Java-API-et Unntakshåndtering i databasesammenheng try-catch-finally-setningen Trelagsarkitektur; egen databaseklasse.
In 135 Datamodellering og databaser Introduksjon, Enkeltentiteten, Informasjon Ola Bø.
LC238D Datamodellering og databaser Else Lervik, september 2011 Forelesning 6, Uke 38 Objektorientering i ER-modeller.
Sqlite Et lite eksempel på en SQL- database. SQL kan startes på ulike måter Kommandolinjeversjon or Windows –Programmet må innstalleres Hentes fra
1 Kap 02 Relasjonsdatabaser. Data-organisering - Manuelt Ansatte Pasienter Utstyr Økonomi Avdelinger RøntgenOnkologisk.
En kort innføring i Design Patterns
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
PPS 2007 og BI rpporteringsløsninger 11 april 2007.
SQLHiA Transaksjoner. SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
Flash og ActionScript - Nye muligheter Jostein Nordengen.
Structured Query Language Kræsj-kurs
Eksempel på SQL ”SQL-setninger” har en struktur som likner på ”naturlig språk”, med ”verb, subjekter og adjektiver”. SQL-setningene begynner alltid med.
DATABASE: Oppgave 2 et medlemsregister for en idrettsklubb med flere idrettsgrener (fotball, håndball, osv). klubben ønsker å lagre informasjon om medlemmenes.
Dynamiske nettsider PHP Del 4 – Eksterne datakilder.
Introduksjon I126 Databaser og datamodellering Høsten 2000 Institutt for informatikk Universitet i Bergen.
Konfigurasjonsstyring Configuration Management
v/Bård Henry Moum Jakobsen
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud.
Praktiske erfaringer med Objektorientert Progress og.NET Jan Kolstad PUG Norway, Lillehammer 2005.
Se ellers læreboka, kap , side
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Objektorientert utforming In 140 Sommerville kap. 12.
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
Objektorientert design
Protokoller Pensum: Olsen, kap. 5 og 6. Kommunikasjonsprotokoll Rutiner for å administrere og kontrollere oversending av data Telefonsamtale (”Hallo”,
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Et BAS: Cerebrum.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Objektorientert design In 140 Sommerville kap 12 – del 1.
IN 265 Våren 2003 : Forelesning : Design av arkitektur og komponent 1 IN250 – Om komponent design Mål for forelesningen: l Se på prinsipper.
Utskrift av presentasjonen:

LC238D Datamodellering og databaser Introduksjon til fagfeltet Else Lervik, august 2012Forelesning 1, uke 34 Datafilerside 2 Databasesystemerside 3-5 Databasearkitektur ANSI/SPARCside 6-7 Datamodellerside 8 Flerbruker databasesystemside 9 Klient-tjener arkitekturside 10 Datakatalog – metadataside 11 Eksempel på databasetabellerside 12 Læreboka, kapittel 1

Datamodellering og databaser Else Lervik side 2 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

Datamodellering og databaser Else Lervik side 3 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)

Datamodellering og databaser Else Lervik side 4 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

Datamodellering og databaser Else Lervik side 5 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

Datamodellering og databaser Else Lervik side 6 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

Datamodellering og databaser Else Lervik side 7 Eksempel på de tre nivåene ansNr fornavn etternavn lønn avdeling ansNr fornavn etternavn avdelingansNr fornavn etternavn lønn struct ansatt { int ansNr, char fornavn[40], char etternavn[30], float loenn, struct ansatt *neste; }; index ansNr; index avdeling;

Datamodellering og databaser Else Lervik side 8 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)

Datamodellering og databaser Else Lervik side 9 Flerbruker databasesystem database OIe Per Ingrid Kari

Datamodellering og databaser Else Lervik side 10 Klient-tjener arkitektur

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 Datamodellering og databaser Else Lervik side 11

Datamodellering og databaser Else Lervik side 12 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