Databaser (TDT4146) Innhold. Frederik M.J.V MTDT 8. mai 2009
|
|
- Eva Karlsen
- 8 år siden
- Visninger:
Transkript
1 INNHOLD INNHOLD Databaser (TDT4146) Frederik M.J.V MTDT 8. mai 2009 Innhold 1 Info Oversikt DBMS Relasjonsmodellen SQL - Strukturert spørrespråk Definisjon av uttrykk Litt terminologi ER-modellering Databasedesign ER-modellen Entiteter og attributter Relasjoner Relasjoner og mengder Binærrelasjoner Flervegsrelasjon Bareksempel Kardinaliteter for relasjoner Eksempel kardinaliteter Flere relasjoner Attributter på relasjoner Entitetskasse Konvertering fra flerveis- til binærrelasjoner Roller Subklasser Eksempel Overlap og disjoint Total Nøkkler Eks Svake identitetsklasser Støttende relasjon Kjeder av støttende relasjoner Oppsummering av ER Modelleringscase: Relasjonsmodellen Eksempel på relasjonsskjema Terminologi Mengdeteori Eksempel på bruk av mengdeteori - Øl Entitetsklasser relasjoner Nøkler i relasjoner ER-relasjoner til relasjoner Eksemple på omdøping av attributt Kombinasjon av relasjoner Svake entitetsklasser relasjoner Subklasser relasjoner Eksempel på subklassing Sammenligning av stiler Relasjonsalgebra Hvorfor lære relasjonsalgebra? Oversikt over relasjonsalgebraoperatorer Relasjonsalgebra generelt Nye eksempelrelasjoner Den enkleste spørringen som finnes Seleksjon (utvalg) Projeksjon (eliminering av kolonner (Kartesisk) produkt Naturlig join c Frederik M.J. Vestre
2 INNHOLD 4.10 θ-join Omdøpning Union Differanse Snitt Kombinasjoner av operasjoner - trær Omskiving av operasjoner Bager Bagunion Bagsnitt Bagdifferanse Omskrivingsregler og bager Utvidede algrebraoperasjoner Relasjonssjema Hvilke vogner består tog 46 av? Hvilke tog passerer Hamar stasjon mellom klokka 12 og 13? Når ankommer hurtigtog tid Hamar stasjon Hvor mange seter har de forskjellige togene Tilsvarende 4.27 men kun for tog Spørring som kommer annenhver eksamen Gruppering aggregering og Aggregeringsoperatorer SQL Hvorfor trenger vi SQL? SQL-spørring Eksempelskjema - bareksemplet Eksempel Tilsvarende algebra Utføringssemanitkk SELECT * Omdøping av kolonner Uttrykk som verdier ORDER BY - sortering Om WHERE Mønster/alltegn/LIKE NULL Unknown Multiselect (over mange tabeller) Algebrauttrykk for flertabelluttrykk Utføringssemantikk Tuppelvariabler Nøsta spørringer med enkeltverdier Nøsta spørringer INNHOLD 5.21 Eksists All Any Mengdeoperasjoner Litt mer om Bagger i motsetning til mengder Aggregering Gruppering Having Innsetting av rader Innsetting av queryresultat Sletting av mange rader Modifiseringsemantikk Oppdatering DDL-operasjoner (DatabaseDefinisjons[L]språk) Sikkerhet Attributtyper Nøkler ALTER TABLE Indekser Views Hvilke øl kan hans drikke Oppdaterbarhet for views Hvilke vogner består tog 46 av? Hvilke tog passerer Hamar stasjon mellom kl 12 og Hvor mange seter har de forskjellige togene Antall seter i tog Finn vognene med minst vekt Restriksjoner Deling av semantikk og oppførsel Restriksjoner (constraints) Nøkler Fremmednøkler Restriksjoner over en tabell Restriksjoner over flere tabeller (Forsikringer) Triggere (1) Triggere i javadb (2) JDBC 23 2 c Frederik M.J. Vestre
3 INNHOLD 7 Lagring/indekser Fra egenskap ved database Arkitektur/innhold Data på magnetisk disk Indekser B-trær intro Indeksblokk Hashbaserte (randomiserte) indekser Hva inneholder en post i indeksen Heapfil Vanlig situasjon Klassifisering av indekser Kostnadsmodell for analyse av lagrings-/indekseringsalternativ Sammenligner Heapfil Sortert fil Clustered B+tre Heap+uclustret b+tre Heapfil+uclustert hash Konklusjon Hvilke indekser skal lages Hvilke indekser (2) Eskempel på indekser Indekser med sammensatte nøkler Disker Organisering av blokker i filer Friplassadministrasjon Bufferhåndtering Bufferhåndtering Buffer replacement Hva skjer ved scanning av tabell Postformat Variabel lengde Blokkformat-fastlengdeposter Variabellengdposter Aksess fra algebra Heapfil implementert som liste Heapfil med directory Systemkatalogen (SQL dictionary) B+trær B+trær i praksis B+tre: Innsetting INNHOLD 7.42 Blokksplitting i B+tre Statisk hashing Extendable hashing Directory doubling Queryutføring/optimalisering Teknikker for utføring av algebra Statistikk om data Akksessvei Seleksjon Skjema for eksempel Bruk av indeks, Seleksjon Joineksempel Join: Nøstet løkke Join: Index nested loop Sort-merge join Optimalisering ved seleksjonspushing og bruk av sortering Optimalisering ved bruk av indekser Estimering av størrelser og reduksjonsfaktorer Transaksjoner (kap 16-18) Fra egenskaper ved et DBMS Samtidighetsproblem - eksempel ACID - egenskaper ved transaksjoner Commit/Abort SQL s isolasjonsnivå Transaksjoner og samtidighet Historie (Schedule) Serialiserbar historie - på nytt Problemer med flettet utføring Isolasjonsnivåer- forklaring Eksempler på serialiserbare historier Gjennopprettbare historier Historier som unngår galloperende abort Strict 2PL-tofaselåsing a Strict historie Konfliktserialiserbarhet Konfliktserialiserbar historie (på nytt) Persidensgraf Eksempel på presidensgraf Teorem om konflikserialiserbarhet Serialiserbarhet ved strict 2PL Låsetyper c Frederik M.J. Vestre
4 9.21 Implementasjon av låser Vranglås Fra egenskaper ved et DBMS Transaksjoner etter recovery Force/steal-klassifisering av Logging/recovery-algoritmer Write-Ahead-Logging WAL-konsepter i ARIES Loggpost Datastrukturer for recovery Sjekkpunkting (Aries måten) Avbryting Recovery etter krasj Redo av loggpost (Aries) Normalisering Normalisering av relasjonsskjema Problemer med anormale tabeller Funksjonelle avhengigheter (F.A./F.D) Nøkkeler, generelt og typer nøkkeler Supernøkkel Tillukning av en mengde attributter (Closure) Algoritme for å regne ut x + med hensyn på F (funksjonelle avhengigheter) Eksempel Supernøkkeler og tillukning Normalform (3NF) Boyce-Codd Normalform (BCNF) Full funksjonell avhengighet Andre normalform Bevaring av FA er Dekomponering til BCNF Info Svein Erik Bratsberg, 209 Øving: Simon, Nattiya Und.Ass:... 1 INFO Øvingsveiledning på sal. 414 i P15 kl Man 12-15, Tirs 16-19, Tors 12-14, 17-19, Fre Examen: Hjepemidler: Kalkulator, lukket bok Pensum Lærebok: Database Management systems. ER-diagrammer vises som på tavla, og ikke i boka. Aggregering og gruppering Normaliseringsteori Bokinfo: Første kap. info, andre kap. dybden. snakke om andre ting en bare bruken. Advarsel: Ikke hele kapittelene er pensum. 1.1 Oversikt Nummerering for kryssreferering etter følgende tema: 1. Introduksjon - (Hva er databaser? - kap 1) 1. Databaser - plan/innhold 2. ER-modellering - Kap 2+foiler (for notasjon), utgør ofte 20%-25% på eksamen, ikke likt som i ITGK. 3. Relasjonsmodellen - type databaser, kommuniseres ofte med vha. sql, Kap 3+foiler 4. Relasjonsalgebra - Kap 4+foiler 5. SQL - kap 5 6. JDBC - kap 6.2,3 (i forbindelse med siste del av FP) 7. Lagring og indekser, kap 8-11 (se pensum, tatt ut ganske mye innimellom) 8. Query- evaluering og optimalisering - kap Transaksjoner kap 16-18, se pensumliste, unntak 10. Normalisering, kap se pensum 2. Databasesystem - DBMS, system for å håndtere databaser Egenskaper: 4 c Frederik M.J. Vestre
5 1. Håndtere store datamengder (, men ikke datastrømmer som video, lyd og bilde) 2. Støtter effektiv og rask tilgang til data. 3. Støtter tilgang samtidig, og håndterer konflikter og problemer som det kan føre til. (Flerbrukerkontroll) 4. Sikkre atomisk tilgang til data, transaksjoner og gjennoppreting. 1.2 DBMS Bruker Bruker Bruker Bruker Definisjon av uttrykk 2 ER-MODELLERING 1. Datadatadefinisjonsspråk-DDL: CREATE TABLE, DROP TABLE, DELETE TABLE (tømmer), ALTER TABLE, [CREATE INDEX, CREATE VIEW: Virtuelle tabeller], CREATE PROCEDURE, CREATE TRIGGER 2. Datamanipulasjonsspråket-DML: INSERT.. INTO VALUES.. DELETE FROM.. WHERE.. UPDATE.. SET..=.. WHERE..; SELECT.. FROM.. WHERE..; Litt terminologi Relasjonsmodellen Relasjon tuppel SQL Tabell rad Datamodell: Vanligvis brukt om språket vi modellerer, f.eks 1.3 Relasjonsmodellen Basert på tabeller med rader Ex Bankkonto: Kontonummer Navn Saldo Gandalv Frodo SQL - Strukturert spørrespråk Uttales ofte sequel. Finn sjefen til Clark Kent: Vi har to tabeller: Ansatt:(,avd), Avdeling:(avd,sjef) Vanlig SQL spørring: SELECT sjef FROM Ansatt, Avdeling WHERE = Clark Kent, AND Ansatt.avd=Avdeling.avd; (Database)skjema: Beskrive hvordan datane er lagt inn i en bestemt database. (defineres vha. DDL) 2 ER-modellering ER står for entity relationship 2.1 Databasedesign Steg for å bygge en database for en eller flere applikasjoner. 1. Forstå problemet i den virkelige verden. 2. Spesifiser problemet i en databasedesignmodell f.eks ER-modell 3. Oversette ER-skjemaet til databasesystemet. 4. Lag skjema vh.a. DDL 5. Last inn data 5 c Frederik M.J. Vestre
6 2.6 Binærrelasjoner 2 ER-MODELLERING 2.2 ER-modellen 2.6 Binærrelasjoner Veldig polulær Grafisk notasjon Ikke standardisert Verktøy: VisualER - må bruke VPN/NTNU-nett. Student Tar Fag Substantiv Verb assist Studass subst 2.3 Entiteter og attributter Entitet: Objekt, ting Entitetsklasse: Består av to perspektiver: som klasser (fra programmering): En beskrivelse (intensjonen). Som en mengde entiteter (verdier) (ekstensjonen) atributt: Egenskap til en entitet. (en verdi) Student Fag TDT TDT Flervegsrelasjon Fag TDT4145 TDT4145 Student Studass Ida Julianne Veileder Fag Intensjon Student nr epost Eksten.. Per Kari Pål Student Fag Studass TDT4145 Julianne TDT4140 Kim TDT4145 Ida Studass 2.4 Relasjoner Forbindelse mellom to eller flere klasser: 2.8 Bareksempel Selger addr Bar bevilgning Går på 2.5 Relasjoner og mengder Student Tar Fag Substantiv Verb subst intensjon (beskrivelse), ekstensjon (mengde av verdier) Tenk på den som en tabell Tar Student Fag TDT TDT4140 Øl Liker produsent 2.9 Kardinaliteter for relasjoner Mange til mange Mange til en En til en Drikker addr 6 c Frederik M.J. Vestre
7 2.13 Entitetskasse 2 ER-MODELLERING 2.10 Eksempel kardinaliteter 2.13 Entitetskasse (0,N) (0,1) Øl Favoritt Drikker Bar Selger Øl Hver drikker har en favorittøltype (ops tall motsatt av UML) Pris Pris Volum prisid (0,N) (1,1) Øl Favoritt Drikker Hver drikker har eksakt en favorittøltype Du er ikke en drikker med mindre du har en favorittøltype Flere relasjoner Da kan den samme baren selge samme øllet til forskjellige priser eller volum Konvertering fra flerveis- til binærrelasjoner Hvis designmodellen ikke støtter flerveisrelasjoner. Da setter vi opp relasjonen som en egen identitetsklasse Skummende drikke Øl En øl kan vær favoritt hos mange, eller ingen Liker Favoritt En drikker må like minst én øl Drikker En drikker har bare 1 favorittøl Har Har Har Bar Øl Pris Lurt å bruke mest mulig binærrelasjoner 2.12 Attributter på relasjoner 2.15 Roller Alle relasjoner har minst to roller Bar Pris Selger Volum Øl Kvinne Person Mann Gift med Bar Pris Volum Øl Østeriks rockebar 54 0,4 Fatøl Somalinen 69 0,5 Fatøl Denne modellen innebærer at en bar ikke kan selge samme øltypen med forskjellig pris eller volum. GiftMed: Mann Ola Ask Kvinne Kari Embla 7 c Frederik M.J. Vestre
8 2.19 Total 2 ER-MODELLERING 2.16 Subklasser 2.19 Total <Entitetsklass> is-a <Entitetsklasse> Kan bety: Spesialtilfelle Ferre identiteter (inkslusjon) Flere egenskaper Flere egenskaper: Roller, attributter Rockebar Bar D Dansebar Pianobar 2.17 Eksempel Dobbelstrek viser total: Alle barer er enten pianobarer, dansebarer eller rockebarer. Bar bevilgning addresse 2.20 Nøkkler En nøkkel er en mengde attributter hvor verdien skal være unik for hver entitet. PianoBar covercharge Spiller på Pianist To entiteter kan ikke ha samme verid for en nøkkelen. Det er lov å ha flere alternative nøkkeler, men det finnes det ingen god notasjon for. Pianobar er en delmegde av bar 2.18 Overlap og disjoint StudNr Student Personnummer Bar Dansebar Pianobar 2.21 Eks Overlap: noen barer er både danse- og pianobarer. addr Bar bev Bar Pianobar cc D Rockebar Pianobar ( og addr er nøkkel) Nøkkelen for spreentitetsklassen er nøkkel for subklassene Disjoint: Ingen barer er både Rockebar og Pianobar Det er ikke mulig å lage nye nøkler i subklassene 8 c Frederik M.J. Vestre
9 2.26 Modelleringscase: 3 RELASJONSMODELLEN 2.22 Svake identitetsklasser Kardinaliteter og roller for relasjoner Entitetsklasser med delvise nøkler Flerveisrelasjoner Bar Jobber i Bartender addr bev Subklasser: Overlaps, disjoint, total. Svake entitetsklasser 2.26 Modelleringscase: Ser etter: Hus: (1,N) Nøkkelen til bartender blir da: (bar), addr (bar), (bartender) Entitetsklasser Attributter Hus inneholder Rom Relasjoner 2.23 Støttende relasjon addr Svake entitetsklasser må ha ha en støttende relasjon til en entitetsklasse som ikke er svak. Må ha eksakt en (1,1)-eksistensvahengighet Kjeder av støttende relasjoner romnr Universitet Bygn Auditorium sittepl Tegner opp entitetsklassene: Tog: Vogn; Lok, MotorV,Passasjr, Lastevogn. Ligger løsning på nettet Stasjon: 3 Relasjonsmodellen Modeller: Relasjonsmodellen ER relasjonsskjema Nøkkel for aud: univ.,bygn.,aud Oppsummering av ER Enitetsklasser med attribtter og nøkkler Relasjoner med attributter Nøkler (sammen med normalsering) Constraints seinere 3.1 Eksempel på relasjonsskjema Øl (,produsent) Navn Produsent drikker Øl: Dahls pils Rignes Liker: Hans Artic ice Mach Grete øl Dahls pils Arctic ice 9 c Frederik M.J. Vestre
10 3.4 Eksempel på bruk av mengdeteori - Øl 3 RELASJONSMODELLEN 3.2 Terminologi 3.4 Eksempel på bruk av mengdeteori - Øl Relasjon: Tabell, (mattematisk relasjoon jmf. diskret) Brukes til å representere entiteter og relasjoner. to mengder: Attributter: Navn på kolloner Tuppel: Rad i tabellen (mat: Kant mellom to elementer i hver mengde, kommer tilbake til det) Relasjonsdefinisjon. (attributter)+nøkkelinfo. Databaseskjema: Sampling av relasjonsefinisjoner Attributtdomene: Typen til et attributt NULL-verdi: Attributtverdi som betyr ukjent/udefinert/ikke relevant (not applicable) Fremmednøkler: Attributt i en tabell som peker til en nøkkel i en annen tabell, feks Liker.drikker. - Hansa bayer - Arctic ice - Lysholmer 3.5 Entitetsklasser relasjoner Konverterer direkte produsent - Rignes - Mach - Hansa Merk: Rekkefølgen til attributter har ingen betydning Tuppler har heller ingen rekkefølge Øl produsent 3.3 Mengdeteori Et attributt har et domene Domener er mengden av verdier D 1, D 2, D 3 Relasjoner er det kartesiske produktet, f.eks D 1 D 2 D 3 (også et mengde) (kartesisk verdi er alle mulige kombinasjoner av mengdene). Relasjonsinstansen er en delmengde av det kartesiske produktet. (den faktiske tabellen vi har i databasen). Relasjonen er en endlig mengde, Den tomme mengden er en lovlig relasjoninstans. Øl (, produsent) 3.6 Nøkler i relasjoner En attributt eller en mengde attributter K er nøkler i en relasjon hvis vi forventer at det ikke finnes flere tuppler med samme verdi for K i samme relasjonsinstans. Eksempel på nøkler i relasjoner - Øl: Øl (, produsent). Hvis vi forventer at øl av forskjellige produsenter har samme : Øl (, produsent). Hvis det ikke finnes gode naturlige nøkler lar vi systemet generere nøkler (vha. autoindent, sequences, identity elns.) 10 c Frederik M.J. Vestre
11 3.11 Subklasser relasjoner 3 RELASJONSMODELLEN 3.7 ER-relasjoner til relasjoner Støttende relasjoner blir borte Relasjonen har et attributt for hver rolle og hvert attributt i ER-relasjonen. Gir: Bygninig(addr, ); Auditorium(romnr,addr, sitteplasser) Må ofte omdøpe attributt Subklasser relasjoner 3.8 Eksemple på omdøping av attributt Tre forskjellige metoder: gift med Drikker addr liker favoritt Øl produsent 1. Objektorientert stil: Hver entitet har en egen relasjon Lager en relasjon for hver entitetsklasse som inkluderer alle attributtene. 2. Lage en relasjon for hver entitetsklasse (glemmer arvede attributter). En entitet vil være i mange relasjoner. 3. Lag en relasjon med attributter for alle klasser og bruker NULL-verdier for ikkerelevante attributter. Liker(drikker,øl,addr) Favoritt(drikker,øl,addr) GiftMed(mann,kvinne,maddr,kaddr) [maddr=kadder forhåpentligvis] 3.9 Kombinasjon av relasjoner Kombinasjon av entitetsklassen E med mange-til-en-relasjon R en til en Eksempel: Kombinerer Drikker(,addr) med Favoritt Gir: Drikker(,addr, favøl [fremmednøkkel]) 3.12 Eksempel på subklassing Øl LagerØl prod farge Kan ikke gjøre det med mange til mange, f.eks Drikker+Liker. Det ville gitt: Drikker(, addr,likerøl) Skaper situasjonene: (Harry, kongensgt, ArcticIce) (Harry, kongensgt, hansa Bayer) 3.10 Svake entitetsklasser relasjoner Bygning addr romnr Auditorium inneholder sitteplasser Relasjonen for en svak entitetsklasse må inkludere hele nøkkelen, også nøkkelen fra den sterke entitetsklassen 1. OO-stil: Øl: Lysholmer 2. ER-stil: Lyshomer Hansa Bayer produlsent Rignes produsent Rignes Hansa LagerØl: Lager Øl: produsent farge Hansa Bayer Hansa Svak mørk Hansa Bayer produsent farge 3. NULL-verdier: Lyshomer Rignes NULL HansaBayer Hansa Svak mørk Kan også legge på en fjerde type-kollonne farge Svak mørk 11 c Frederik M.J. Vestre
12 4.2 Oversikt over relasjonsalgebraoperatorer 4 RELASJONSALGEBRA 3.13 Sammenligning av stiler 4.2 Oversikt over relasjonsalgebraoperatorer 1. OO-stil; minus:må spørre flere relasjoner for å finne alle entiteter pluss: alle attributter til en entitet er samlet. 2. ER-stil: minus: attributtene til en entitet er spredd over flere relasjoner pluss: En relasjon inneholder alle relevante entiteter 3. NULL-verdier: pluss: har alle attributter og entiteter i same relasjon minus: Må håndtere NULL-verdier, og kaster bort litt plass Mapping til relasjoner: Se notat/resultat på nettsiden til faget 4 Relasjonsalgebra 4.1 Hvorfor lære relasjonsalgebra? 1. Spørrespråket som tilhører relasjonsmodellen. Definert av Codd (IBM) i Internspråket i DBMSer. 3. Kan optimaliseres (Rewrite rules) 4. Letter forståelsen av normalisering (tapsløse joins) 5. SQL inneholder noen algebraoperasjoner. Operatorer som håndterer relasjoner på en enkel, men begrenset måte. (SQL: bag, multiset, set der man kan ha to like elementer: Pensum foiler) 1. Mengdeoperasjoner: union ( ), snitt ( ), differanse (-). 2. Seleksjon (utvalg): Plutt ut gitte tupler basert på attributtverdi fra en relasjon (tabell) (Operator: σ - sigma). 3. Projeksjon: Plukker ut (projekter) gitte attributter (kolonner) fra en relasjon (resultat av et uttrykk). (Operator π - Pi) 4. Produkt og joins (forening): Lag nye relasjoner - kartesisk produkt (brukes veldig lite): Lager en tabell som er kombinasjon av to andre tabeller. - join 5. Omdøping av relasjoner og attributter. (ρ - rho) 6. Duplikateliminering (δ - delta) (dyrt/treigt, må bes om manuelt) 7. Sortering (τ - tau) 8. Grupperingsoperator (γ - gamma) (Pensum: Foiler) 9. Outer join o (join som tar med elementer også der det ikke finnes en match mellom tabellene) 4.3 Relasjonsalgebra generelt Spørsmål (queries) over relasjoner, som gir nye relasjoner som output. Kan kombineres Data& indexer Optimalisering Resultat Parser/ kompilator Dictionary, SQL-tabeller, indekser SQLquery Utføringsmodul Rel. algebra Optimalisator Rel. algebra (utføringsplan) Begrenset uttrykskraft. (tillater en delmegde av alle mulige spørsmål) Eksempel: Transitiv tillukning: Barn Mor Far Jon Kari Per Kari Anna Hans Per Nora Jens Anna Embla Ask Finn alle forfedre til John. Ikke mulig i relasjonsalgebra. Gode muligheter for optimalisering Språket er rikt nok til å uttrykke de fleste spørringer. 12 c Frederik M.J. Vestre
13 4.7 Projeksjon (eliminering av kolonner 4 RELASJONSALGEBRA 4.4 Nye eksempelrelasjoner 4.7 Projeksjon (eliminering av kolonner Innskudd (ravn,kontonr,kundenavn, saldo) Kunde (kunde, gate, kundepoststed) Lån (kundenavn,kontonr, kundenavn, saldo) Avdeling(avdNavn,saldo,avdPoststed) R 1 = π L (R 2 ). Hvor L er en liste av attributter avnnavn kundenavn Gløshaugen Per Hansen Ex π (Lån) avdnavn,kundenavn Gløshaugen Kari Oslen Nardosletta Jan jensen Gløshaugen Kari Olsen (under nederste streken er bagsemantik, over er mengdesemantik) Kundebehandler(kundeNavn, ansattnavn) 4.5 Den enkleste spørringen som finnes Relasjonset: Returnerer alle tupler i tabellen. Resultatet er en mengde. Ex Lån(Gløshaugen, 12345, Per Hansen, ) (Gløshaugen,56789, Kari Olsen, ) (Gløshaugen,12789, Kari Olsen,100000) (Nardosletta,73456, Jan Jensen,150000) 4.6 Seleksjon (utvalg) Eliminering av rader/tupler R 1 = σ c (R 2 ) hvor c er en betingelse over attributtene til R 2 LånOåGløs=σ (Lån) addrnavn=gløshaugen : avdnavn kontonr kundenavn saldo Gløs Per Gløs Kari Gløs Kari G c (R) R C-term: attr, op, attr(konstant):,=,,, C-termer forbindes med AND, OR, NOT G avdnavn=gløshaugen AND beløp > (Kartesisk) produkt R = R 1 R 2 Parrer hvert tupel i R 1 med alle tupler i R 2. Puttes ofte inn av DBMS et Brukes til å forklare SQL-selects over flere tabeller. Ex R: A b R S : S: 4.9 Naturlig join R = R 1 R A R B S B C D Slår samme tupler som har like verdier for like. Eliminer duplikatattributter. Ex Omdøper: Øl(,produsent) Øl(øl,produsent) Liker(øl,) Øl Produsent Navn Øl Liker (equivjoin): Arctic Ice Mach Grete Dahls Pils Rignes Hans 13 c Frederik M.J. Vestre
14 4.13 Differanse RELASJONSALGEBRA Følger en to-veis verdireferanse Differanse - - Finnes i SQL som Natural join. Kan ikke ha naturlig join mellom relasjoner som ikke har felles attributter. Tupler som ikke har match blir ikke med. De kalles Dangling tuples. For å få med de må man bruke outer join. Finn kundene på Gløshaugen som ikke har lov (denne type diff. gies av og til på eksamen) KundeNavn=π(σ avdnavn=gløshaugen (Innskudd)) π(σ avdnavn=gløshaugen (Lån)) 4.14 Snitt θ-join R = R 1 c R 2 er ekvivalent med R = σ C (R 1 R 2 ) (c-en skal stå under Selger: Bar øl Pris volum addr Hjørnet øl1 53 0,5 Hjørnet Dronningns Hjørnet øl2 60 0,33 Kontoret Nordre Kontoret øl3 49 0,33 BarMeny=selger Bar Selger.bar=Bar. bar lø pris volum addr Hjørnet øl1 53 0,5 Hjørnet Dronningens Hjørnet øl2 60 0,33 Hørnet Dronningens Kontoret lø3 49 0,33 Kontoret Nordre Selger Bar Selger.bar=Bar. and volum 0,5 Eliminerer ikke duplikatattributter! Finn kundene på Gløshaugen som både har lån og innskudd. KundeNavn=[π(σ avdnavn=gløshaugen (Innskudd)) π(σ avdnavn=gløshaugen (Lån)) Innskudd Lån] = Innskudd - (Innskudd-Lån) 4.15 Kombinasjoner av operasjoner - trær Ex Finn ene til alle kunder på gløshaugen: π Kunde (σ avdnavn= Gløshaugen ]](Lån Innskudd)) Som tre: Kunde avdnavn= 'Gløshaugen' 4.11 Omdøpning ρ S (A 1,..., A n ) R Lån Innskudd Produserer en relasjon identisk med R, som hara nytt. bar adr Ex ρ Bar R(bar,adr) : Hjørnet Dronningen Kontoret Nordre Selger ρ Bar R((baradr) 4.12 Union - Finn ene på kundene på Gløshaugen? KundeNavn:σ avdnavn=gløshaugen (Lån Innskudd) Krever like attributt (bruker ofte omdøping først) 4.16 Omskiving av operasjoner Uttrykk kan ofte skrves om (rewrite rules) f.eks push-down-select Lån avdnavn= 'Gløshaugen' Kunde avdnavn= 'Gløshaugen' Innskudd 14 c Frederik M.J. Vestre
15 4.22 Utvidede algrebraoperasjoner 4 RELASJONSALGEBRA 4.17 Bager 4.22 Utvidede algrebraoperasjoner (lagt ut ekstra pensumfoiler på hjemmesida) En tabell i SQL er en bag. (i utgangspunktet) dvs en (uordnet) mengde som kan inneholde duplikater (multi set) pga. ytelse. (dvs. duplikateliminering er dyrt, bruk det kun når det er nødvendig. Ex {1, 2, 1, 3} er en bag, og ikke en mengde. Oppførsel av operatorer: Oppfører seg som før:seleksjon, projeksjon og join virker for bager som for mengder. (de eliminerer ikke duplikate tupler) 4.18 Bagunion {1, 2, 1} {1, 2, 3, 3} = {1, 2, 1, 1, 2, 3, 3} 4.19 Bagsnitt {1, 2, 1} {1, 2, 3, 3} = {1, 2} (går igjennom i den ene baggen og ser at det finnes et tilsvarende elementer i den andre baggen), bruker minimum av antallet i hver bag Bagdifferanse {1, 2, 1} {1, 2, 3, 3} = {1} 4.21 Omskrivingsregler og bager Relasjonalgebraen har noen omskrivningsregler i.e. R S = S R. Ikke alle omskringninsregler er gyldige for begge dvs ikke gyldig for bagger (R S) T = (R T ) (S T ) ({1} {1}) {1} = ({1} {1}) ({1} {1}) {1} = {} {} For å tilpasse algebraen til sql 1. Duplikateliminering δ(r) - delta 2. Utvided projeksjon π A+B,A,A (R) hvor A, B etc kan være funksjoner. (her kan det være flere like attributter og funksjoner, i motsetning til vanlig projeksjon) 3. Sorteringsoperator τ B (R)- tau, sorter etter B. 4. Gruppering og aggregeringsoperator γ - gamma Eksempel på Selger(øl,bar,pris,volum): γ øl,avg(pris) (Selger) den Grupperer tubler etter øl så beregnes gjennomsnittlig pris øl avg Øl1 49 Øl Outerjoin o Vanlig join kan miste tupler, fordi man ikke treffer tupler i den andre tabellen. Outerjoin løser dette ved å padde inn NULL-verdier for manglende attributter. Ex Student(snr,), StudentTarFag(snr,fagnr) 123 John 456 Hanne Snr Fagnr 456 tdt tdt4145 Student o StudentTarFag gir: snr fagnr 123 Jon NULL 456 Hanne tdt Hanne tdt4145 o Varianter: L, o R, o c Beholder alle tupler fra hhv. venstre-,høyretabell, C er θjoin Relasjonssjema 4.24 Hvilke vogner består tog 46 av? Framgangsmåte: Hvor står informasjonene hen?: π vogn ((σ tog=46 (Består av)) 4.25 Hvilke tog passerer Hamar stasjon mellom klokka 12 og 13? To relevante tabeller, 15 c Frederik M.J. Vestre
16 4.28 Tilsvarende 4.27 men kun for tog 46 5 SQL Ankommer: Avgår: 4.28 Tilsvarende 4.27 men kun for tog 46 tog stasjon tid tog stasjon tid 46 Hamar Hamar γ tog,sum(seter) ((PassasjerVogn π Vognnr,seter (MotorVogn) σ tog=46 (BestårAv)) 47 Hamar Hamar Lager delresultater: Avkommer avgår tog stasjon tid 46 Hamar Hamar Hamar Hamar Avkommer avgår [Avkommer.tog=Avgår.tog] Ankommer.tog Ankommer.stasjon Ankommer.tid Avgår.tog Avgår.stasjon Avgår.tid 4.30 Gruppering aggregering og Aggregeringsoperatorer 46 Hamar Hamar Egentlig ikke rel.alg. operatorer, brukes på hele kolonner og gir en verdi som resultat. 47 Hamar Hamar F.eks SUM,AVN,COUNT,MIN,MAX: γ SUM(A) (R) 1. Når en av tidene er mellom 12 og 13: π tog < σ tid<13.00 AND tid>17.00 AND stasjon=hamar ( Ankommer Avgår) 2. Når begge tidene er mellom 12 og 13: π tog σ Ankommer.tid>12 AND Ankommer.tid<13 AND Avgår.tid > 12 Adn Avgår.tid < 13 (σ Stasjon= Hamar Ankommer Ankommer.tog=Avgår.tog σ Stasjon= Hamar ) Avgår 4.26 Når ankommer hurtigtog tid Hamar stasjon σ type= Hurtigtog AND stasjon= Hamar (Ankommer tog=nr Tog) (der vil databasen sannsynligvis gjøre en pushdown-select tid tog=nr 4.29 Spørring som kommer annenhver eksamen (kanskje det kommer i år?, kommer selvfølgelig forkledd i mange oppgaver) Finn vognene (dvs. vognnnr) med minst vekt (OBS: Det kan være flere!). π Vognnr (Vogn ρ Vekt (γ MIN(vekt) (Vogn))) Er ikke sikker på at han kan gi den i år siden han har beskrevet den så nøye. Grupperer og aggregrerer hver gruppe γ A,B,AVG(C) (R) 5 SQL 5.1 Hvorfor trenger vi SQL? Databasearkitektur Iter. App.srv JDBC ODBC C/c++ DBMS JDBC java stasjon=hurtigtog Ankommer type=hurtigtog Tog 4.27 Hvor mange seter har de forskjellige togene Ønsker resultat: Tog #seter Får ut /vognnnr, seter) av unionen: γ tog,sum(seter) ((PassasjerVogn π Vognnr,seter (MotorVogn) BestårAv) Gjør en natural join og får voggnr, seter,tog Programmeringsspråkene endres men SQL består. SQL er standardisert, det finnes forskjellige versjoner (SQL-92,SQL-99,2003,2006,2008). Sql 92 funker ofte generelt. Leverandører/DBMSene har lokale tilpasninger 5.2 SQL-spørring SELECT ønskade attr FROM tuppelvariabler over tabeller WHERE betingelser 16 c Frederik M.J. Vestre
17 5.9 Uttrykk som verdier 5 SQL 5.3 Eksempelskjema - bareksemplet 5.9 Uttrykk som verdier Alle spørringer testa. ÆØÅ skal funke, men vi stoler ikke på det Ol(,produsent) Bar(,addr,bevilgning) Drikker(,addr,telefon) Liker(drikker,ol) Selger(bar,ol,pris,volum) Besoker(drikker,bar) SQL er case-insensitiv, bortsett fra inni strenger 5.4 Eksempel Hvilke øl produseres av Rignes: SELECT FROM ol WHERE produsent= Rignes ; Gir: øl1 øl2 5.5 Tilsvarende algebra Tenker: FROM WHERE SELECT: π (σ produsent= Rignes (Ol)) 5.6 Utføringssemanitkk Gå igjennom alle variabler (tuppel) i FROM Sjekke om WHERE-uttrykket er sant Hvis WHERE er sant: Skriv ut verdien i selekt 5.7 SELECT * SELECT * FROM ol WHERE produsent = Rignes ; produsent Pils Rignes Dahls Rignes SELECT * FROM ol; gir alle rader og kolonner. 5.8 Omdøping av kolonner SELECT AS ol FROM ol WHERE produsent= Rignes ; Selger(bar,ol,pris,volum): SELECT bar, ol pris/volum AS literpris FROM selger; bar øl literpris Eplekneika Alko ORDER BY - sortering Selger(bar,ol,pris,volum): SELECT bar, ol pris/volum AS literpris FROM selger ORDER BY ol,literspris ASC; rekkefølgekeywords: (ASC/DESC). Leksikalsk sortering, på hvert felt Om WHERE Betingelser: settes sammen med AND,OR,NOT,... Kan ha nøsta spørringer Mønster/alltegn/LIKE % - en vilkårlig streng (*) - et vilkårlig tegn (?) Kan gjøre: attributt LIKE møsnter og atributt NOT LIKE mønster Ex Drikker(,addr, telefonnummer): SELECT AS godnabo FROM drikker WHE- RE adresse LIKE %Bakklandet% 5.13 NULL Er en spesiell attributtverdi som f.eks betyr (avhengig av hva brukeren av databasen legger i det): ukjendt vertdi, finnes ingen verdi, hemmelig verdi. Kan spørre: WHERE pris IS NULL, WHERE pris IS NOT NULL NULL *+/- attr = NULL 5.14 Unknown Kan ha boolverdien unknown, som gir 3verdilogikk. Bar(,addr,bev) kontoret tmv-kaia Øl/vin/brennevin Karl Johan Nordre øl/vin Hjørnet Dronningen NULL 17 c Frederik M.J. Vestre
18 5.18 Tuppelvariabler 5 SQL SELECT,addr FROM Bar WHERE bevillgning= Øl/Vin ; gir Karl Johan, Nordre Liker Kunde SELECT... WHERE bevilgning <> Øl/Vin ; gir Kontore, TMV-kaia SELECT... WHERE bevilgning <> Øl/Vin AR bevilgning IS NULL girkontoret, Hjørnet. Treverdilogikk: (t=true,f=false,u=unknown) x y x AND y x OR y NOT x t t t t f t u u t f t f u t u u u u f f u u f t f u f f 5.15 Multiselect (over mange tabeller) Mange tabeller i FROM-utsagn Tabell.attributt må brukes når det er flere attributter med samme. Hans Bayer Hans hjørnet Hvis en av tabellene er tomme, vil ikke WHERE-uttrykket evalueres. SELECT Liker.drikker FROM Liker, Besomer (tom) WHERE ol= Bayer; gir ingen resultat Tuppelvariabler Finn par av kunder i den samme baren (alle kombinasjoner av to kunder) Bruker bare kundetabellen: Kunde(drikker,bar) SELECT k1.drikker, k2.drikker FROM kunde AS k1, kunde AS k2 WHERE k1.bar=k2.bar AND k1.drikker < k2.drikker; (< for å bare få kombinasjonen en gang ikke først hans, grete også grete, hans) 5.19 Nøsta spørringer med enkeltverdier Litt vanskelig. Ex Hvilke øl liker kundene på hjørnet: Liker(drikker, ol), Kunde (drikker,bar) SELECT ol FROM liker,kunde WHERE Liker.drikker=kunde.drikker AND bar= ol ; 5.16 Algebrauttrykk for flertabelluttrykk π ol (σ Liker.drikker=Kunde.drikker AND bar= Hjørnet (Liker kunde)) 5.17 Utføringssemantikk En tuppelvariabel for hver tabell i FROM-uttrykket Looper over alle kombinasjoner av tubler fra tabellene. Hvis query-uttrykket er sant tas tupplet med i svaret (skrives ut) Ex Finn barer som selger Lysholmer til samme pris som Karl Johan selger Artic. Selger(bar,ol,pris,volum) SELECT bar FROM selger WHERE ol= Lysholmer AND pris = (SELECT pris FROM selger WHERE bar= Karl Johan AND ol= Arctic ); 5.20 Nøsta spørringer Finn og produsent av øl som hans liker Ol(,produsent); Liker(drikker,ol) SELECT * FROM ol WHERE NAVN in (SELECT FROM Liker WHERE drikker= Hans ); Bruker in når resultatet av subspørrina kan være en mengde. 18 c Frederik M.J. Vestre
19 5.25 Litt mer om Bagger i motsetning til mengder 5 SQL Dette kan også skrives som en vanlig join: SELECT,produsent FROM Ol,Liker 5.25 Litt mer om Bagger i motsetning til mengder WHERE drikker= Hans AND ol=; SELECT... FROM... WHERE... ; returnerer bagger kan ha duplikatrader Motsatt spørring: Navn og produsent for øl som Hans ikke liker: SELECT * FROM Ol WHERE NOT IN (SELECT Ol FROM Liker WHERE drikker= Hans ; Skrive om join-spørringa: (Feil: SELECT, produsent FROM Ol,Liker WHERE drikker <> Hans AND ol=; Finner alle øl som alle andre liker, og hvor joinen passer) 5.21 Eksists Finn ølene for produsenter som kun produserer et? Ol(,produsent) SELECT FROM Ol as o1 WHERE NOT EXISTS( SELECT * FROM Ol WHERE produsent=ol.produsent, <>o1.); Subspørringa må evalueres for hver rad i den yttre tabellen. SELECT DISTINCT... FROM... WHERE... ; returnerer mengder ikke duplikatradier 5.26 Aggregering SUM,AVG,MIN,MAX,COUNT Brukes på attributter COUNT+(*) gjelder (teller) tupler. Ex Finn gjennomsnittspris på fatøl: Selger(bar,ol,pris,volum) SELECT AVG(pris) FROM Selger WHERE ol= Fatøl ; 5.22 All Finn de dyreste ølene? Selger(bar,ol,pris,volum) SELCT ol FROM selger WHERE pris >= ALL(SELECT pris FROM selger); Alt: SELECT Ol FROM selger WHERE pris = pris (SELECT MAX(pris) FROM Selger(); 5.23 Any Finn øl som ikke er dyrest: SELECT ol FROM Selger WHERE pris < ANY( SELECT pris FROM Selger); 5.24 Mengdeoperasjoner (Subquery) UNION (Subquery) (Subquery) UNION/INTERSECT/EXCEPT (Subquery) Returnerer mengder. UNION ALL, osv returnerer bagger Ex Hvor mange øltyper finnes: SELECT COUNT(*) FROM Ol; 5.27 Gruppering Aggredering for hver gruppe (γ-operatorer) Ex Finn gjennomsnittspris fro hvert øl: SELECT ol, AVG(pris) FROM Selger GROUP By ol; (begge ol hører sammen) Alle attributter i SELECT-utsagne må være aggregerte eller opptre i group by-utsagnet Having Seleksjon av grupper. Finn gjennomsnittsprisen for øl som selges i minst tre barer Ex SELECT Ol,AVG(pris) FROM Selger GROUP BY ol HAVING COUNT(*) >=3; Javadb db.lib.derbyrun.jar connect jdbc:derby:bardb;create=true ; (create første gangen) run bardb.sql f.eks. for å kjøre spørringene. 19 c Frederik M.J. Vestre
20 5.34 DDL-operasjoner (DatabaseDefinisjons[L]språk) 5 SQL 5.29 Innsetting av rader 5.34 DDL-operasjoner (DatabaseDefinisjons[L]språk) INSERT INTO like (kolonner) VALUES ( Hans, Bayer), ( Grete, Arctic );, uoppgitte verider får null- eller defaultverdier Innsetting av queryresultat CREATE TABLE DyrtOl( CHAR(30)); INSERT INTO DyrtOl(SELECT DISTINCT ol FROM Selger WHERE pris > 60); Ex CREATE TABLE selger, bar CHAR(20), ol VARCHAR(20), pris float, volum float ); CREATE VIEW DyrtOl SELECT... ; 5.31 Sletting av mange rader DELETE FROM tabell WHERE betingelse; sletter alle rader som tilfredstiller betingelse. Grete liker ikke artic lengere. DELETE FROM Liker WHERE drikker= Grete AND ol= Arctic ; Tømme TABEL: DELETE FROM Liker; 5.32 Modifiseringsemantikk Slett alle øl hvor det finnes et annet øl fra samme produsent Ex DELETE FROM ol AS o WHERE EXISTS(SELECT FROM ol WHERE produsent=o.produsent AND <>o.); Betingelsen evalueres før noe sletting (utførelser) finner sted. Dvs at i eksempelet så sletter det alle øllene fra samme produsent der det er flere øl fra samme produsent. Sletting er farlig (assosativ, kan lett slette veldig mye) 5.33 Oppdatering Oppdatering UPDATE Bar SET bevilgning= Øl/Vin,brennevin WHERE = Kontoret ; også assosativ: UPDATE selger SET pris=50 WHERE pris>50; (etter det finnes det ikke øl over 50) CREATE INDEX... (ofte ikke standardisert mellom databaser) CREATE ASSERTION... CREATE TRIGGER... (type: statement, tabell) Sikkerhet 2 brukere, u1,u2 u1: GRANT SELECT ONT <tabell> TO <u2>; u2: SELECT * FROM u1.<tabell>; 5.35 Attributtyper INT/INTEGER (4 bytes integer) BIGINT (8 byte) REAL, FLOAT (flyttall) CHAR(n) - fast lengde og padding VARCHAR(n) - variabel lengde (lurt ved lange streneger) NUMERIC (presisjon, desimal) - størrelse, antall desimaler bak komma) DATE - tekststreng: TIME - 11: TIMESTAMP - DATE+ +TIME 20 c Frederik M.J. Vestre
Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 99539963 Roger Midtstraum: 99572420
DetaljerDatabaser: Relasjonsmodellen, del I
LC238D http://www.aitel.hist.no/fag/_dmdb/ Databaser: Relasjonsmodellen, del I En relasjon er en matematisk mengde side 2 Egenskaper ved relasjoner side 3 Entitetsintegritet side 4-5 Referanseintegritet
DetaljerD: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 6 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER, ver
DetaljerDatamodellering og databaser http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
DetaljerRepetisjon: Normalformer og SQL
IN2090 databaser og datamodellering Repetisjon: Normalformer og SQL Mathias Stang og Stein Michael Storleer 21. november 2018 1 Agenda Normalformer Funksjonelle avhengigheter Nøkler Finne hvilke normalformer
DetaljerOppgave 1 Datamodellering 25 %
Side 1 av 6 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato:
DetaljerLøsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informatikk Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39
DetaljerLøsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 23. mai 2013 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
DetaljerUNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ragnar Normann 1
UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 7.2.2005 Ragnar Normann 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan være
DetaljerEksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informatikk Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato:
DetaljerLøsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsforslag for Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995996 Roger Midtstraum:
DetaljerDBS18 - Strategier for Query-prosessering
Side 1 for Databaser DBS18 - Strategier for Query-prosessering søndag 22. mai 2016 13.03 Pensum 18.1-18.4, side 655-674, unntatt 18.4.4 og 18.4.5 En spørring som blir skrevet i et høynivå-språk, må bli
DetaljerSQL Structured Query Language. Definere tabeller Skranker Fylle tabeller med data
SQL Structured Query Language Definere tabeller Skranker Fylle tabeller med data Lage en tabell med SQL create table R (A 1 D 1 [S 1 ],... A n D n [S n ], [liste av skranker] R er navnet på relasjonen/tabellen
DetaljerOppgave 1 ER- og relasjonsmodell 10 %
Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER
DetaljerD: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.
Side 1 av 7 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL KONTINUASJONSEKSAMEN I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER
DetaljerOppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.
TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett
DetaljerDatamodellering og databaser SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
DetaljerIntegritetsregler i SQL
UNIVERSITETET I OSLO Integritetsregler i SQL INF3100 8.2.2005 Ragnar Normann 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler
DetaljerIntegritetsregler i SQL. Primærnøkler
Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende integritetsregler skranker på attributter og tupler Interrelasjonsskranker assertions Triggere INF212
DetaljerEffektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Basert på foiler av Hector Garcia-Molina, Ragnar Normann Oversikt Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basis-operasjoner Implementasjons-algoritmer
Detaljer1. SQL datadefinisjon og manipulering
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag SQL datadefinisjon og manipulering Tore Mallaug 7.10.2008 Lærestoffet er utviklet for faget Databaser 1. SQL datadefinisjon og manipulering
DetaljerDatamodellering og databaser SQL, del 2
http://www.aitel.hist.no/fag/_dmdb/ SQL, del 2 Eksempelbase side 2 Virtuelle tabeller (views) side 3-6 NULL-verdier side 7-14 UPDATE-setningen side 15-16 INSERT-setningen side 17 DELETE-setningen side
DetaljerLøsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 12. august 2013 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte
DetaljerNormalisering. ER-modell
Normalisering Hensikten med normalisering: En informasjonsenhet ett sted. Forhindrer anomalier Anomalier: Innsettingsanomalier. F.eks være avhengig av å sette inn flere verdi, selv om det er det er bare
DetaljerDatabaser. Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen
Databaser Relasjonsmodellen 1 Læreboka: Kap. 2 Relasjonsmodellen Faglærere: Tore Mallaug, Kjell Toft Hansen Tema for dagen Relasjonsmodellen Hvorfor relasjoner? Fra ER diagram til relasjoner 22.09.2008
DetaljerSkisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Skisse til løsning av eksamensoppgave i TDT4145 Datamodellering og databasesystemer Vers: 17.aug 2016 Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato:
DetaljerOppgave 1 Datamodellering 22 %
Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG TIL EKSAMENSOPPGAVE I FAG TDT4145 DATAMODELLERING OG DATABASESYSTEMER Eksamensdato:
DetaljerUNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.
UNIVERSITETET IOSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 22.2.2011
DetaljerINF1300 SQL Structured Query Language del 1. Stoff som blir/ble forelest i oktober 2013
INF1300 SQL Structured Query Language del 1 Stoff som blir/ble forelest i oktober 2013 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where distinct order by SQLs manipulasjonsspråk Indekser
DetaljerMetaspråket for å beskrive grammatikk
1 SQL-syntaks Korrekt språkbruk bygger på et sett av regler. Eksempler: En SQL utvalgsspørring inneholder alltid ordene SELECT og FROM, mens WHERE og tilhørende betingelse er valgfri. Etter SELECT kan
DetaljerEksamensoppgåve i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informatikk Eksamensoppgåve i TDT4145 Datamodellering og databasesystemer Fagleg kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39 963 Eksamensdato:
DetaljerRepetisjonsforelesning, SQL og utover
Repetisjonsforelesning, SQL og utover Evgenij Thorstensen V18 Evgenij Thorstensen Repetisjon V18 1 / 23 Temaer SQL, semantikk Databasearkitektur Spørringskompilering og optimisering Indekser Transaksjonshåndtering
DetaljerDatabaser. Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen
Databaser Relasjonsmodellen 2 Læreboka: Kap. 2 Relasjonsmodellen Tema for dagen Hva er relasjonsalgebra? Seleksjon Projeksjon Produkt Indre forening Ytterforening Settoperasjoner: union, snitt, differanse
DetaljerIntegritetsregler i SQL
UNIVERSITETET I OSLO Integritetsregler i SQL Institutt for Informatikk INF3100 13.2.2007 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet - fremmednøkler Domenebegrensende
DetaljerSQL SELECT-FROM-WHERE. Skjemadefinisjon og datainnsetting i SQL. Semantikk bak ein-relasjons-spørring
SQL Språk for Skjemadefinisjon Spørringar Database-oppdateringar Svært høgnivå: i prinsippet skriv ein kva ein vil ha som resultat, utan å spesifisere korleis Sterk grad av optimalisering effektivt Skjemadefinisjon
DetaljerEffektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 6.4.2016
DetaljerUNIVERSITETET I OSLO SQL. Structured Query Language. (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET I OSLO SQL Structured Query Language (forts.) Institutt for Informatikk INF3100 11.2.2008 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan
DetaljerEksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995 39 963 Roger Midtstraum: 995 72
DetaljerLøsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 26. mai 2014 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte
DetaljerINF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1
INF1300 Relasjonsalgebra og SQL, mengder og bager. Lysark for forelesning v. 2.1 Dagens temaer Relasjonsalgebraen Renavning Algebra Heltallsalgebra Klassisk relasjonsalgebra Mengdeoperatorer Union Snitt
DetaljerEffektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 23.3.2015
DetaljerEKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Roger Midtstraum
Side 1 av 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap EKSAMENSOPPGAVE I TDT4145 DATAMODELLERING OG DATABASESYSTEMER Faglig kontakt under eksamen:
DetaljerEn lett innføring i foreninger (JOINs) i SQL
En lett innføring i foreninger (JOINs) i SQL Noen ord om forening (JOIN)! 2 JOINs til gjennomgang! 3 1. INNER JOIN! 3 Eksempel på [INNER] JOIN! 4 NATURAL JOIN! 5 Eksempel på NATURAL JOIN! 5 2. LEFT [OUTER]
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL SQLs spørrespråk: select-from-where distinct order by Indekser INF1300-15.10.2007 Ellen Munthe-Kaas 1 SQL The Intergalactic Dataspeak
DetaljerLøsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 4. august 015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte
DetaljerDatabasemodellering og DBMS. Oppsummering
Databasemodellering og DBMS Oppsummering Alexander Nossum 2006 alexander@nossum.net 1/46 Innholdsfortegnelse Databasemodellering og DBMS...1 Oppsummering... 1 1. Modellering...5 1.1 ER vs. Relasjonsmodellen...5
DetaljerUNIVERSITETET SQL. Structured Query Language (forts.) Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET IOSLO SQL Structured Query Language g (forts.) Institutt for Informatikk INF3100 9.2.2009 Ellen Munthe-Kaas 1 null Resultatet av å evaluere et uttrykk som produserer en skalar verdi, kan
DetaljerOppgaver Oppgave a: Sett opp mulige relasjoner
Løsningsforslag til øving 4: Relasjonsmodellen Kjell Toft Hansen 18.09.2008 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1: databaser Oppgaver Oppgave a: Sett opp
DetaljerLøsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Løsningsskisse til eksamensoppgave i TDT4145 Datamodellering og databasesystemer Eksamensdato: 12. august 2013 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte
DetaljerUNIVERSITETET I OSLO SQL. Structured Query Language. (The intergalactic dataspeak) Institutt for Informatikk. INF Ragnar Normann 1
UNIVERSITETET I OSLO SQL Structured Query Language (The intergalactic dataspeak) Institutt for Informatikk INF3100 1.2.2005 Ragnar Normann 1 SQL SQL Structured Query Language er et deklarativt språk for
DetaljerEffektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 21.3.2014
DetaljerEksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Roger Midtstraum: 995 72 420 Svein Erik Bratsberg: 995 39
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: Relasjonsalgebraen Oversettelse av select-from-where til relasjonsalgebra SQL: union, snitt, differanse, kartesisk produkt INF1300 22.10.2007
DetaljerINF1300 Relasjonsalgebra. Et matematisk fundament for å forstå SQL-setninger
INF1300 Relasjonsalgebra Et matematisk fundament for å forstå SQL-setninger Innhold Relasjonsalgebraen Operatorene i relasjonsalgebraen Relasjonsalgebratolkning av select-setningen Kostbare operasjoner
DetaljerINF1300 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 mandag 14. september 2009 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where
DetaljerINF1300 Introduksjon til databaser: SQL Structured Query Language. En første introduksjon Lysark til forelesning onsdag 22.
INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning onsdag 22. september 2010 Dagens tema SQLs definisjonsspråk SQLs spørrespråk select-from-where
Detaljer1. Relasjonsmodellen. 1.1. Kommentarer til læreboka
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Relasjonsmodellen Tore Mallaug 2.9.2013 Lærestoffet er utviklet for faget Databaser 1. Relasjonsmodellen Resymé: Denne leksjonen gir en kort
DetaljerSpørsmålskompilering del 1
UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100 - V18 - Evgenij
DetaljerSpørsmålskompilering del 1
UNIVERSITETET I OSLO Spørsmålskompilering del 1 Parsering Logiske spørreplaner uttrykt i relasjonsalgebra Optimalisering ved hjelp av algebraiske lover Institutt for Informatikk INF3100-11.4.2016 - Ellen
DetaljerEffektiv eksekvering av spørsmål
UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basisoperasjoner Implementasjonsalgoritmer Institutt for Informatikk INF3100 V18 Evgenij
DetaljerInnhold Forord Innledning Kapittel 1 Introduksjon til databaser og databasesystem
Innhold Forord....................................................... 5 Innledning.................................................... 15 Databaser som basis i grunnopplæringen....................... 15
DetaljerUNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas
UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om
DetaljerRelasjonsalgebraen. Algebra
Relasjonsalgebraen Definerer en mengde av operasjoner på relasjoner Gir oss et språk til å beskrive spørsmål om innholdet i relasjonene Språket er prosedyralt: Vi sier hvordan svaret skal beregnes. Alternativet
DetaljerUNIVERSITETET I OSLO. Indeksering. Hvordan finne et element raskt? Institutt for Informatikk. INF Ellen Munthe-Kaas
UNIVERSITETET I OSLO Indeksering Hvordan finne et element raskt? Institutt for Informatikk INF3100 2.3.2010 Ellen Munthe-Kaas 1 Oversikt Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser
DetaljerIndeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser
UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 3.3.2014
DetaljerUNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ragnar Normann
UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et språk til å beskrive spørsmål om
DetaljerSQL 3: Opprette tabeller, datainnsetting og utsnitt
SQL 3: Opprette tabeller, datainnsetting og utsnitt Læreboka kap. 4 03.11.2008 Kjell Toft Hansen 1 Datainnsetting Legg til en ny leverandor i tabellen leverandor INSERT INTO leverandor (lev_nr, lev_navn,
DetaljerSensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)
Sensorveiledning for IN2090 og INF1300 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal du anta at alle begreper har en unik representasjon. Er plasseringen
DetaljerIntroduksjon til fagfeltet
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
DetaljerINF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004
INF 329: Web-Teknologier Dataimplementasjon Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004 av: Dag Viggo Lokøen (dagvl@ii.uib.no) Kent Inge F. Simonsen (kentis@ii.uib.no)
DetaljerTilkobling og Triggere
Tilkobling og Triggere Lars Vidar Magnusson October 12, 2011 Lars Vidar Magnusson () Forelesning i DAS 11.10.2011 October 12, 2011 1 / 25 Tilkobling med PHP PHP bruker databasespesifike moduler til å koble
DetaljerSQL Structured Query Language
SQL Structured Query Language Litt tabellterminologi Definere tabeller Fylle tabeller med data Hente data fra tabeller select-from-where distinct order by Relasjoner terminologi relasjonsnavn Personale
DetaljerEKSAMEN 6102 / 6102N DATABASER
EKSAMEN 6102 / 6102N DATABASER 06.12.2016 Tid: 4 timer (10-14) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål / nynorsk 13 (inkludert denne) Ingen Ingen Eksempeltabeller Sensuren finner du
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerEKSAMEN DATABASER
EKSAMEN 6102 DATABASER 30.05.2016 Tid: 4 timer (9-13) Målform: Sidetall: Hjelpemidler: Merknader: Vedlegg: Bokmål 7 (inkludert denne) Ingen Ingen Eksempeldata Sensuren finner du på StudentWeb. Vekting
DetaljerEksamensoppgave i TDT4145 Datamodellering og databasesystemer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4145 Datamodellering og databasesystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 995 39 963 Roger Midtstraum: 995 72
DetaljerUNIVERSITETET I OSLO RELASJONSALGEBRA. Regning med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET I OSLO RELASJONSALGEBRA Regning med relasjoner Institutt for Informatikk INF3100-8.2.2010 Ellen Munthe-Kaas 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss et
DetaljerLøsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)
Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember 2018 14:30 18:30 (4 timer) 1. Eksterne skranker (5%) I modellene nedenfor (ORM2) skal
DetaljerSQL: Integritetsregler, triggere og views
UNIVERSITETET I OSLO SQL: Integritetsregler, triggere og views Institutt for Informatikk INF3100 14.2.2014 Ellen Munthe-Kaas 1 Integritetsregler i SQL Kandidat- og primærnøkler Referanseintegritet fremmednøkler
DetaljerIndeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser
UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 29.2.2016 Ellen
DetaljerUNIVERSITETET. Indeksering. Hvordan finne et element raskt? Vera Goebel, Ellen Munthe-Kaas
UNIVERSITETET IOSLO Indeksering Hvordan finne et element raskt? Basert på foiler av Hector Garcia Molina Basert på foiler av Hector Garcia-Molina, Vera Goebel, Ellen Munthe-Kaas Oversikt Konvensjonelle
DetaljerUtvikling fra kjernen og ut
Utvikling fra kjernen og ut PHP-arkitektur Brukergrensesnitt! inn ut Dynamisk web-side bygges opp på grunnlag av spørring mot databasen Utviklingsretning Applikasjon Virkelighetsmodell Plattform Bruker
DetaljerNormalisering. Hva er normalisering?
LC238D http://www.aitel.hist.no/fag/_dmdb/ Normalisering Hva er normalisering? side 2 Normaliseringens plass i utviklingsprosessen side 3 Eksempel side 4 Funksjonell avhengighet side 5-6 Første normalform
DetaljerIndeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser
UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Trestrukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF3100 V18 Evgenij Thorstensen
DetaljerRelasjonsdatabasedesign
Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer INF300-4..005 - Ragnar Normann Hva kjennetegner god relasjonsdatabasedesign? Skjemaene samler beslektet informasjon: Tekstlig nærhet
DetaljerEKSAMENSFORSIDE Skriftlig eksamen med tilsyn
EKSAMENSFORSIDE Skriftlig eksamen med tilsyn Emnekode: Emnenavn: 6102 Databaser Dato: Tid fra / til: 06.06.2017 10:00-14:00 Ansv. faglærer: Bjørn Kristoffersen Campus: Fakultet: Bø Handelshøyskolen Antall
DetaljerINF1300 Introduksjon til databaser: SQL Structured Query Language
INF1300 Introduksjon til databaser: SQL Structured Query Language En første introduksjon Lysark til forelesning mandag 14. september 2009 SQL Structured Query Language SQL Structured Query Language er
DetaljerMiniverden og ER- modell
TDT4145 Datamodellering og databasesystemer SQL- oppgave 1 Miniverden og ER- modell Vi tar utgangspunkt i en enkel modell for en pizza- restaurant, der følgende ER- diagram beskriver databasen: Relasjonsdatabase-
DetaljerINF1300 Introduksjon til databaser
UNIVERSITETET I OSLO INF1300 Introduksjon til databaser Dagens tema: SQL SQLs definisjonsspråk SQLs spørrespråk: select-from-where distinct order by SQLs manipulasjonsspråk Indekser Filmdatabasen INF1300
DetaljerHøgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015. Tid: 10-14. Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1
Høgskolen i Telemark EKSAMEN 6102 DATABASER 10.12.2015 Tid: 10-14 Målform: Sidetall: Hjelpemidler: Merknader: Bokmål/nynorsk 13 med forside Ingen Ingen Vedlegg: Eksempeldata til oppgave 1 Eksamensresultater
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 6.desember 2010 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasse(r): LC238D Datamodellering og databaser HING2009HA
Detaljer1. Innføring i bruk av MySQL Query Browser
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Innføring i bruk av MySQL Query Browser Kjell Toft Hansen 28.02.2007 Lærestoffet er utviklet for faget LV338D Databaseadministrasjon 1. Innføring
DetaljerEksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4225 Lagring og behandling av store datamengder Kontinuasjonseksamen Faglig kontakt under eksamen: Kjell Bratbergsengen Tlf.: 906
Detaljer... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved
Dagens plan: Utvidbar hashing (kapittel 5.6) B-trær (kap. 4.7) Abstrakte datatyper (kap. 3.1) Stakker (kap. 3.3) Når internminnet blir for lite En lese-/skriveoperasjon på en harddisk (aksesstid 7-12 millisekunder)
DetaljerRelasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan
Relasjonsalgebra Kopi av lysark om relasjonsalgebra. Vi går igjennom denne for å lage et matematisk fundament for forståelsen av hvordan select-setningen virker. Temaer som blir tatt inn i SQL-notatet:
DetaljerRelasjonsdatabasedesign
UNIVERSITETET I OSLO Relasjonsdatabasedesign Oppdateringsanomalier Dekomponering Normalformer Institutt for Informatikk INF300-9..007 Ellen Munthe-Kaas Hva kjennetegner god relasjonsdatabasedesign? Beslektet
DetaljerUNIVERSITETET RELASJONSALGEBRA. Regning g med relasjoner. Institutt for Informatikk. INF Ellen Munthe-Kaas 1
UNIVERSITETET IOSLO RELASJONSALGEBRA Regning g med relasjoner Institutt for Informatikk INF3100-7.2.2011 Ellen Munthe-Kaas 1 Relasjonsalgebraen definerer en mengde av operasjoner på relasjoner gir oss
DetaljerRelasjoner terminologi
Relasjoner terminologi Kopi av lysark fra forelesningen 1. september. Dette er utdrag fra et notat som snart blir publisert. Dette notatet egner seg bedre til repetisjon og selvstudium enn disse arkene.
DetaljerITGK - H2010, Matlab. Dagens tema : Teori - Databaser
1 ITGK - H2010, Matlab Dagens tema : Teori - Databaser 2 I dag Teori: Databaser Bok: 8.1 8.2 (8.1-8.4 i gamle bøker) Læringsmål Lære det grunnleggende om databaser Lære det grunnleggende om databasedesign
DetaljerSQL Structured Query Language
SQL Structured Query Language Mer SQL: kandidat-, primær- og fremmednøkler Definere tabeller med integritetsregler Hente data fra tabeller select-from-where distinct order by Eksempler kjøres i PostgreSQL
Detaljer