INF1300 Oblig 2. Øyvind Kolbu

Like dokumenter
Løsningsforslag matoppskrifter modellering

Ekvivalente stier (Equivalence of Path, EOP) i storm

Miniverden og ER- modell

Databaser: Relasjonsmodellen, del I

1. SQL datadefinisjon og manipulering

HØGSKOLEN I SØR-TRØNDELAG

Integritetsregler i SQL. Primærnøkler

HØGSKOLEN I SØR-TRØNDELAG

Integritetsregler i SQL

Integritetsregler i SQL

Delinnlevering 2. INF1050, våren Inge Svale Hauger Handagard (ishandag) Tor Hildrum (thildru)

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

Ekvivalente stier (Equivalence of Path, EOP) i storm

HØGSKOLEN I SØR-TRØNDELAG

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

INF1300 Introduksjon til databaser

Institutt for datateknikk. Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

HØGSKOLEN I SØR-TRØNDELAG

Metaspråket for å beskrive grammatikk

Oppgaver Oppgave a: Sett opp mulige relasjoner

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

Løsningsforslag til eksamen i IN2090 Databaser og datamodellering og INF1300 Introduksjon til databaser 6. desember :30 18:30 (4 timer)

IN2090 Databaser og datamodellering 07 Datamanipulering

Sensorveiledning for IN2090 og INF desember :30 18:30 (4 timer)

SQL: Integritetsregler, triggere og views

SQL 3: Opprette tabeller, datainnsetting og utsnitt

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

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

Datamodellering og databaser SQL, del 2

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12

Datamodellering og databaser SQL, del 2

HØGSKOLEN I SØR-TRØNDELAG

Datamodellering og databaser SQL, del 2

INF1300 Introduksjon til databaser: SQL Structured Query Language

INF 329: Web-Teknologier. Dataimplementasjon. Fra Kapittel 11 i «Designing Data-Intensive Web Applications» Presentasjonsdato: 17/10/2004

INF1300 Introduksjon til databaser

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL

Oppgave 1 (Opprett en database og en tabell)

IN2090 Databaser og datamodellering 07 Datamanipulering

HØGSKOLEN I SØR-TRØNDELAG

Utvikling fra kjernen og ut

Løsningsforslag maskindatabasen på Ifi SQL og normalisering

Komplisert eksempel. IN2090 Databaser og datamodellering 07 Datamanipulering. Flere eksempler: Kombinere aggregater. Komplisert eksempel med WITH

Flere skranker i ORM Integritetsregler med «CHECK» i SQL

UNIVERSITETET. triggere og views. Institutt for Informatikk. INF Arne Maus 1

Fag TDT4145 Datamodellering og databasesystemer Øving 3: Relasjonsalgebra og SQL

Oppgave 1 1. Spørring: Resultattabell: 2. Spørring: Resultattabell: 3. Spørring:

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

Fag TDT4145 Datamodellering og databasesystemer Løsningsforslag til øving 3: Algebra og SQL

Løsningsforlag for oblig 1, databaser 2010

Skranker og avledninger

Skranker og avledninger

Funksjonsbeskrivelse

Klasser skal lages slik at de i minst mulig grad er avhengig av at klienten gjør bestemte ting STOL ALDRI PÅ KLIENTEN!

Eksamen i IBE102 Webutvikling Våren 2017.

Øvingsoppgave uke 3. Fanger i fengsel

Applikasjonsutvikling med databaser

Tilkobling og Triggere

Eksamen i Internetteknologi Fagkode: IVA1379

Returårsak-koder. Bruk til statistikk og regnskap. VISMA RETAIL AS Wirgenes vei 1, 3157 Barkåker, Telefon:

From a table based Feature Catalogue to GML Application schemas

AvtaleGiro beskrivelse av feilmeldinger for oppdrag og transaksjoner kvitteringsliste L00202 levert i CSV fil

Hvordan registrere et nytt medlem

svarforslag SLUTTEKSAMEN IBE211 Databaser, våren 2015

V-R7000 V-R7100. Brukermanual. Mars 2015

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

S3 Brukermanual Manual del Usuario

Obligatorisk oppgave nr. 3 i INF1300 høsten 2009

>>21 Datamodellering i MySQL Workbench

INF1300 Introduksjon til databaser

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Databaser kort intro. Tom Heine Nätt

IN2090 Databaser og datamodellering. 08 Typer og skranker

1. Innføring i bruk av MySQL Query Browser

Databasers typesystem. IN2090 Databaser og datamodellering. 08 Typer og skranker. SQL-standarden vs. RDBMSer. Hvilke datatyper har vi

Databasebevaring. Arne-Kristian Groven, KDRS-samling, Trondheim

INF1300 Introduksjon til databaser

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

Hvordan 3 konsulenter tester et konserndatavarehus

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet. Løsningsforslag

Joly. Brukerdokumentasjon for foreleser/administrator

INF1300 Introduksjon til databaser

Repetisjon: (nesten) alt du trenger å kunne om ORM og realisering

IN2090 Introduksjon til databaser

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

SQL Structured Query Language

Noark 5 utvidelser og virksomhetspesifikkemetadata: En praktisk forklaring. Thomas Sødring HiOA

PCKasse - Kassasystemloven

Utvikling fra kjernen og ut

Rapport i (IT1901) Informatikk prosjektarbeid høst oppgave det offensive manager spillet. gruppemedlemmer:

Repetisjon: Normalformer og SQL

Løsning til Eksamensoppgave i TDT4145 Datamodellering og databasesystemer

Citation and reference tools for your master thesis

IN2090 Databaser og datamodellering. 08 Typer og skranker

SQL Structured Query Language

JLR EPC. Hurtigstartveiledning. Innhold. Norwegian Version 2.0. Trinn-for-trinn-veiledning På skjerm-veiledning

Casio V-R Premium og SalesBo Cloud Konvertering til regnskap

Case 9:12-cv DMM Document 4-5 Entered on FLSD Docket 12/06/2012 Page 1 of 62

Relasjoner terminologi

Transkript:

INF1300 Oblig 2 Øyvind Kolbu oyvink@ifi.uio.no

Oppgave 1, 2, 3 og 4 Se ORM-modellen etter oppgave 6. Antar at alle varer har et nummer, enten en PLU eller en strekkode. Oppgave 5 Ingen referansebegreper er blitt undertrykt, da alle er nødvendige for å realisere modellen. Oppgave 6 /******************************************************************* * PostgreSQL Database Description File for oblig2 * Generated by storm Norsync AS 2008 * Generation Date is 2008/10/21 * Model Number is 2 * Version Checksum is 75922 *******************************************************************/ /******************************************************************* * Table Definitions *******************************************************************/ CREATE TABLE Ansatt_forhold ( f_ fra_startdato _for del#hel_tid_i til_sluttdato CREATE TABLE Bestilling ( f_godkjente f_godkjente_b vare_i CREATE TABLE Butikk ( adr_for tlf for f_er_sjef VARCHAR(20) 2

fra_er_sjef _i CREATE TABLE Hylle ( _ B#F_ CREATE TABLE Person ( f_for _for adr_for konto for navn_for skatt_tab# for skatte_kommune_for tlf_fast_tlf_for tlf_mobil_for CREATE TABLE Rad ( CREATE TABLE Ramakort ( kontor for #_grense_paa aarsbonus_for kreditt_for CREATE TABLE Reol ( _ B#F_side_for _eier CREATE TABLE Segment ( B VARCHAR(20), VARCHAR(20) 3

B#F i CREATE TABLE avdeling ( f_er_avdsjef fra_er_avdsjef type_paa CREATE TABLE kasse ( _i CREATE TABLE kvitt#linje ( _B _ antall_paa CREATE TABLE kvittering ( B tidspunkt_paa _for CREATE TABLE pengeskrin ( f_bruker kontanter_i CREATE TABLE tlf ( tlf_for CREATE TABLE vare ( VARCHAR(20) 4

navn_paa CREATE TABLE vare_b ( Pris_i_kilopris CREATE TABLE vare_c ( Pris_i_pant CREATE TABLE vare_d ( Pris_i_stkpris CREATE TABLE varer ( vare antall_for /******************************************************************* * SERIAL columns *******************************************************************/ /******************************************************************* * Primary and Unique Key Definitions *******************************************************************/ ALTER TABLE Ansatt_forhold ADD PRIMARY KEY (f_,fra_startdato ALTER TABLE Bestilling ADD PRIMARY KEY ( ALTER TABLE Butikk ADD PRIMARY KEY ( ALTER TABLE Butikk ADD UNIQUE (adr_for ALTER TABLE Butikk ADD UNIQUE (tlf for ALTER TABLE Butikk ADD UNIQUE (f_er_sjef,fra_er_sjef 5

ALTER TABLE Hylle ADD PRIMARY KEY (,_,B#F_ ALTER TABLE Person ADD PRIMARY KEY (f_for ALTER TABLE Person ADD UNIQUE (_for ALTER TABLE Rad ADD PRIMARY KEY ( ALTER TABLE Ramakort ADD PRIMARY KEY ( ALTER TABLE Ramakort ADD UNIQUE (kontor for ALTER TABLE Reol ADD PRIMARY KEY (_,B#F_side_for ALTER TABLE Segment ADD PRIMARY KEY (_, B,B#F_, ALTER TABLE avdeling ADD PRIMARY KEY ( ALTER TABLE avdeling ADD UNIQUE (f_er_avdsjef,fra_er_avdsjef ALTER TABLE kasse ADD PRIMARY KEY ( ALTER TABLE kasse ADD UNIQUE (_i ALTER TABLE kvitt#linje ADD PRIMARY KEY ( ALTER TABLE kvitt#linje ADD UNIQUE (_B,_ ALTER TABLE kvittering ADD PRIMARY KEY ( ALTER TABLE pengeskrin ADD PRIMARY KEY ( ALTER TABLE tlf ADD PRIMARY KEY (tlf_for ALTER TABLE vare ADD PRIMARY KEY ( ALTER TABLE vare_b ADD PRIMARY KEY ( ALTER TABLE vare_c ADD PRIMARY KEY ( ALTER TABLE vare_d ADD PRIMARY KEY ( ALTER TABLE varer ADD PRIMARY KEY (vare 6

/******************************************************************* * Foreign Key Constraints *******************************************************************/ ALTER TABLE Ansatt_forhold ADD CONSTRAINT Person_Ansatt_forhold FOREIGN KEY (f_) REFERENCES Person (f_for ALTER TABLE Bestilling ADD CONSTRAINT Person_Bestilling FOREIGN KEY (f_godkjente) REFERENCES Person (f_for ALTER TABLE Bestilling ADD CONSTRAINT Person_Bestilling1 FOREIGN KEY (f_godkjente_b) REFERENCES Person (f_for ALTER TABLE Bestilling ADD CONSTRAINT varer_bestilling FOREIGN KEY (vare_i) REFERENCES varer (vare ALTER TABLE Butikk ADD CONSTRAINT Ansatt_forhold_Butikk FOREIGN KEY (f_er_sjef,fra_er_sjef) REFERENCES Ansatt_forhold (f_,fra_startdato ALTER TABLE Hylle ADD CONSTRAINT Reol_Hylle FOREIGN KEY (_,B#F_) REFERENCES Reol (_,B#F_side_for ALTER TABLE Person ADD CONSTRAINT tlf_person FOREIGN KEY (tlf_fast_tlf_for) REFERENCES tlf (tlf_for ALTER TABLE Person ADD CONSTRAINT tlf_person1 FOREIGN KEY (tlf_mobil_for) REFERENCES tlf (tlf_for ALTER TABLE Reol ADD CONSTRAINT Rad_Reol FOREIGN KEY (_) REFERENCES Rad ( ALTER TABLE Reol ADD CONSTRAINT avdeling_reol FOREIGN KEY (_eier) REFERENCES avdeling ( ALTER TABLE Segment ADD CONSTRAINT Hylle_Segment FOREIGN KEY (_, B,B#F_) REFERENCES Hylle (,_,B#F_ ALTER TABLE Segment ADD CONSTRAINT vare_segment FOREIGN KEY (_i) REFERENCES vare ( ALTER TABLE avdeling ADD CONSTRAINT Ansatt_forhold_avdeling FOREIGN KEY (f_er_avdsjef,fra_er_avdsjef) REFERENCES Ansatt_forhold (f_,fra_startda 7

ALTER TABLE kvitt#linje ADD CONSTRAINT vare_kvitt#linje FOREIGN KEY () REFERENCES vare ( ALTER TABLE kvitt#linje ADD CONSTRAINT kvittering_kvitt#linje FOREIGN KEY (_) REFERENCES kvittering ( ALTER TABLE kvittering ADD CONSTRAINT kasse_kvittering FOREIGN KEY (_) REFERENCES kasse ( ALTER TABLE kvittering ADD CONSTRAINT pengeskrin_kvittering FOREIGN KEY ( B) REFERENCES pengeskrin ( ALTER TABLE kvittering ADD CONSTRAINT Ramakort_kvittering FOREIGN KEY (_for) REFERENCES Ramakort ( ALTER TABLE pengeskrin ADD CONSTRAINT Person_pengeskrin FOREIGN KEY (f_bruker) REFERENCES Person (f_for ALTER TABLE vare_b ADD CONSTRAINT vare_vare FOREIGN KEY () REFERENCES vare ( ALTER TABLE vare_c ADD CONSTRAINT vare_vare1 FOREIGN KEY () REFERENCES vare ( ALTER TABLE vare_d ADD CONSTRAINT vare_vare2 FOREIGN KEY () REFERENCES vare ( /******************************************************************* * Index Definitions *******************************************************************/ CREATE INDEX Person_Ansatt_forhold ON CREATE INDEX TotalEq_1 ON CREATE INDEX Person_Bestilling ON CREATE INDEX Person_Bestilling1 ON CREATE INDEX varer_bestilling ON CREATE INDEX Exclud_3 ON Ansatt_forhold (f_ Ansatt_forhold (_for Bestilling (f_godkjente Bestilling (f_godkjente_b Bestilling (vare_i Bestilling (,f_godkjente_b 8

CREATE INDEX Exclud_3_A ON CREATE INDEX TotalEq_2 ON CREATE INDEX Reol_Hylle ON CREATE INDEX tlf_person ON CREATE INDEX tlf_person1 ON CREATE INDEX Exclud_5 ON CREATE INDEX Exclud_5_A ON CREATE INDEX Rad_Reol ON CREATE INDEX avdeling_reol ON CREATE INDEX Hylle_Segment ON CREATE INDEX vare_segment ON CREATE INDEX kvittering_kvitt#linje ON CREATE INDEX kasse_kvittering ON CREATE INDEX pengeskrin_kvittering ON CREATE INDEX Ramakort_kvittering ON CREATE INDEX Person_pengeskrin ON CREATE INDEX Exclud_1_A ON CREATE INDEX Exclud_1 ON Bestilling (,f_godkjente Butikk (_i Hylle (_,B#F_ Person (tlf_fast_tlf_for Person (tlf_mobil_for Person (tlf_fast_tlf_for,f_for Person (tlf_mobil_for,f_for Reol (_ Reol (_eier Segment (_, B,B#F_ Segment (_i kvitt#linje (_ kvittering (_ kvittering ( B kvittering (_for pengeskrin (f_bruker vare_b (,Pris_i_kilopris vare_d (,Pris_i_stkpris /* UNSUPPORTED CONSTRAINT: Referential Exclude "Exclud_1" */ /* UNSUPPORTED CONSTRAINT: Referential Exclude "Exclud_3" */ /* UNSUPPORTED CONSTRAINT: Referential Exclude "Exclud_5" */ 9

/* UNSUPPORTED CONSTRAINT: Referential Equal "TotalEq_1" */ /* UNSUPPORTED CONSTRAINT: Referential Equal "TotalEq_2" */ 10

tlf for Butikk adr for i avdeling har sjef del/hel tid er sjef har avdsjef type for er avdsjef i i er Ansatt forhold startet startdato fra for til sluttet sluttdato for skatt tab. for for konto skatte kommune for Person for f tlf fast tlf for har fasttlf for adr for tlf mobil for har mobil for navn storm, IT Liberator butikk-avdeling.orm : Person og butikk [1] Tuesday, October 21, 2008

vare for kontor for kreditt kvitt.linje antall Ramakort for årsbonus for %-grense kvittering i for total handel i kasse pengeskrin i benyttes av i bruker tidspunkt kontanter Person storm, IT Liberator butikk-avdeling.orm : Kvittering, Ramakort og kasse Tuesday, [2] October 21, 2008

Rad avdeling eier i tilhører Reol har side side for B/F i Hylle i Segment i vare storm, IT Liberator butikk-avdeling.orm : Rad, hyller og reoler [3] Tuesday, October 21, 2008

godkjent av godkjente Bestilling Person godkjent av godkjente i varer for vare antall storm, IT Liberator butikk-avdeling.orm : Bestilling [4] Tuesday, October 21, 2008

har stkpris i stkpris vare Pris har kilopris i kilopris har pant i pant navn storm, IT Liberator butikk-avdeling.orm : Vare [5] Tuesday, October 21, 2008