Kompendium till databaser och informationssystem 10p för SY2 2000

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "Kompendium till databaser och informationssystem 10p för SY2 2000"

Transkript

1 Högskolan Dalarna Anders Forsman tel: Kompendium till databaser och informationssystem 10p för SY

2 Innehållsförteckning INNEHÅLLSFÖRTECKNING DATAMODELLERING OBJEKT MODELL DATAMODELL Övning datamodell NORMALISERING NF NF NF Övning normalisering DATABAS CONSTRAINTS DATABAS TRIGGER SEQUENCE PROCEDURE ORACLE PRODUKTER INFORMATION TILL LABORATIONERNA INLOGGNING I ORACLE DOKUMENTATION REDOVISNING BILAGA 1 LABORATIONER LABORATION LABORATION LABORATION LABORATION LABORATION

3 1 Datamodellering Syfte: Dokumentera en modell av organisationens framtida databas, oberoende av teknik och programvara Hur: Göra en ritning av nutida och framtida databas inom organisationen. Metod: Teknik: Objekt som ska lagras, samband, bildar objektmodell som normaliseras till datamodell. Normalisering Resultat: Dokumenterad - Objektmodell - Datamodell Fördelar datamodellering: - Minska underhåll - Lättare att utv. beslutsstödjande system - Förenklad databasdesign / databasunderhåll - Användning av frågespråk utvecklas - 3 -

4 1.1 Objekt modell Arbetsgång 1. Identifiera objekt - Primära objekt Kund, Order - Undertyper Anställd, Säljare - Nya objekt Kund + Artikel! Beställning 2. Identifiera samband Visar hur objekten hänger ihop - Uttryck samband Kund tecknar order - Kvatifiera En order kan innehålla flera artiklar En artikel kan ingå i flera ordrar M : M - 4 -

5 3. Rita modell 4. Dokumentera Beskriv: - Objekt - Samband - Grafisk - Förekomstmängd - 5 -

6 Kolla objekten - Entydigt identifieras ( Nyckel ) - Kan objektet beskrivas ( Namn i verksamheten) - Finns tillhörande data ( Egenskaper) - Mera än en förekomst Gör exempel Objektnamn Identifierare Exempel Mängd Kund Kundnr 2112 Alla kunder som tecknar order Artikel Artikelnr Alla artikler som ftg säljer * Problem att göra exempel (ompröva objektet) - 6 -

7 Resultat objektmodell - Beskrivning av varje objekt självförklarande namn, ev. kort beskrivning - Beskrivning av varje samband Kort beskrivning - Grafisk bild över objekt med nyckel - Antal objektförekomster Objekt modell - 7 -

8 1.2 Datamodell 1. Rita om modellen - objekt blir tabell i datamodellen - M : M ger nya relationer - 1 : M inför främmande nyckel 2. Placera ut attribut (egenskap som tillhör relationen) - Intervjuva, kolla dokumentation - Placera ut attributen - Attributlista 3. Normalisera - 3 normalformen - 8 -

9 4. Justera och stäm av - Kvantifieringen - Objekt utan attribut 5. Dokumentera Datamodell - 9 -

10 Attribut lista Tabell: kund Kolumn namn Datatyp Nyckel Regler Förklaring kundnr Numeriskt PN Hanteras med sekvens kundnamn adress tel Tabell: order Kolumn namn Datatyp Nyckel Regler Förklaring ordernr Numeriskt PN Hanteras med sekvens kundnr Numeriskt FN Delete restricted datum date Datum när ordern registreras Tabell: orderrad Kolumn namn Datatyp Nyckel Regler Förklaring ordernr Numeriskt PN, FN Delete cascade artnr Numeriskt PN, FN Delete cascade antal Numeriskt Antal bestälda Tabell: Artikel Kolumn namn Datatyp Nyckel Regler Förklaring artnr Numeriskt PN Hanteras med sekvens antal Numeriskt PN, FN Delete cascade Antal artiklar i lager pris Numeriskt Aktuellt pris

11 1.2.1 Övning datamodell Övningsuppgift Fack-bokklubben Plugghästarna vill lagra den information som är intressant för deras verksamhet i en relationsdatabas. Fack-bokklubben plugghästarna säljer och distribuerar böcker till sina medlemmar. De titlar som bokklubben saluför till sina medlemmar ligger inom ett antal ämnesområden, den information som är intressant att lagra om ämnesområdena är ämneskod och ämnestext. En medlem kan anmäla ett antal ämnesområden som sina intresseområden för att ibland få specialinformation och erbjudanden inom sitt/sina intresseområden. En medlem kan anmäla flera intresseområden och ett intresseområde kan delas av flera medlemmar. Bokklubben håller också reda på vilka böcker som finns inom de olika ämnesområdena, en bok tillhör bara ett ämnesområde, men det kan finnas flera böcker inom ett ämnesområde. De uppgifter som man behöver hålla reda på om böckerna är titel, författare och pris. För att kunna serva sina medlemmar måste bokklubben naturligtvis hålla reda på medlemmarnas namn och adress. Dessutom måste man veta vilka böcker en medlem har beställt, antal beställda av varje bok samt när beställningen gjordes. Er uppgift blir att: a) Bestämma vilka objekt som finns med utgångspunkt från beskrivningen ovan. Bestäm vilka primärnycklar som identifierar respektive objekt. Observera att primärnycklar till alla objekt inte är nämnda i texten ovan. I de fall då ni inte hittar vettiga primärnycklar till objekten i texten måste ni själv hitta på vettiga primärnycklar. Rita en objektmodell b) Skapa tabeller i 3:e Normalformen med utgångspunkt från objektmodellen och beskrivningen ovan

12 1.3 Normalisering Normaliseringen används för att eliminera viss typ av redundans. Vi kommer att gå igenom 1NF, 2NF, 3NF. * 1 Normalformen: En Relation befinner sig i 1NF om: * Varje domän innehåller "atomiskt" värde. * Varje rad (tuple) i tabellen är unik Namn ===== > Förnamn och Efternamn * 2 Normalformen: En relation är i 2NF om: * Den är i 1NF * Varje attribut i tabellen är fullständigt funktionellt beroende av den primära nyckeln. * 3 Normalformen: En relation är i 3NF om: * Den befinner sig i 2NF * Ingen kolumn, som inte ingår i den primära nyckel (eller någon annan kandidat nyckel), är funktionellt beroende av någon annan kolumn eller kolumnkombination, som inte heller ingår i den primära nyckel

13 Student Exempel normalisering * pnr namn tele prognr prognamn Progpoäng pklar pkvar Bo ek IT2 Informationstkn NF Student * pnr Fnamn Enamn Riktnr Lokal prognr prognamn Progpoäng pklar pkvar nr Bo Ek IT2 Informationstkn NF Student * pnr Fnamn Enamn Riktnr Lokalnr prognr pklar pkvar Bo Ek IT Linje * prognr prognamn progpoäng IT2 Informationstkn NF Student * pnr Fnamn Enamn Riktnr Lokalnr prognr pklar Bo Ek IT2 20 Linje * prognr prognamn progpoäng IT2 Informationstkn

14 - 14 -

15 1.3.1 Övning normalisering Övning 1 Tabell 1 Hotellnr hotellnamn Period Rumstyp Pris 12 Stadshotellet HS S Stadshotellet HS D Stadshotellet LS S Stadshotellet LS D Sheraton HS S Sheraton LS S Sheraton HS D Sheraton LS D Försök rita ut det funktionella beroendet i tabellen ovan 2. I vilken normalform befinner sig tabellen. 3. Normalisera tabellen till 3 NF

16 2 Databas Constraints Genom att använda sig av constraints kan man efter skapande av tabeller införa integritetsregler i databasen. Dessa regler gäller för: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK Constraints kan även implemetera i samband med att skapandet av tabeller. En annan fördel är att man kan tillfälligt göra den disable för att lite senare åter göra den tillgänglig (enable), detta är default vid skapande Exempel: CREATE TABLE KUND (KUND_ID VARCHAR2(40) NOT NULL,KUNDNAMN VARCHAR2(40) ); CREATE TABLE ORD (ORDNR VARCHAR2(40),ORDER_ID VARCHAR2(40) NOT NULL,ORDDATUM VARCHAR2(40),ANSVARIG VARCHAR2(40),KUND_ID VARCHAR2(40) NOT NULL ); ALTER TABLE KUND ADD CONSTRAINT KUND_PK PRIMARY KEY (KUND_ID) ; ALTER TABLE ORD ADD CONSTRAINT ORDER_PK PRIMARY KEY (ORDER_ID) ; ALTER TABLE ORD ADD CONSTRAINT KUND_FK FOREIGN KEY (KUND_ID) REFERENCES KUND (KUND_ID); Exempel koppla bort constraint Alter table ord disable constraint kund_fk;

17 3 Databas trigger Syntax: Skapa: Create [or Replace] Trigger <schema.trigg-namn> /* trigger event */ 1. After delete or insert or update of <kolumn, kolumn, > on <tabell> For each row /* trigger constraint */ 2. When (<villkor>) Declare Begin 3. /* Trigger action */ End; Ta bort: Drop Trigger <trigg-namn> Trigger skapas/tas bort i SQL/Plus Trigg-namn: Trigger event (1): Namnet måste vara unikt (ej unikt utanför egna schemat) Händelse som anger när trigger skall aktiveras. Två typer: Before: Trigg utförs före påverkan av tabell After: Trigg utförs efter påverkan av tabell For each row: innebär att triggern aktiveras för varje rad som påverkas i tabellen. trigger constraint (2): Man kan sätt villkor kolumner för att triggern ska aktiveras. Ex. When (new.<kolumn> = 45) När man refererar till kolumnvärden kan man ange om det är det ny (new) eller gamla (old) värdet (dvs värdet för eller efter påverkan av tabellen)

18 Trigger action (3): Innehåller PL/SQL kod Här kan man utföra SQL kommandon (DML, dvs insert, update och select) mot övriga tabeller men inte update mot tabellraden som aktiverat triggern. Man kan ej hantera tabeller med kopplingar (PN, FN) mot trigger tabellen, detta kallas att triggern mutterar. Program exempel: Exempel 1 Create Trigger scott.emp_permit_changes /* trigger event */ Before delete or insert or update on scott.emp Declare dummy integer; Begin /* Trigger action */ /* Kontroll om det är lördag eller söndag */ If (to_char(sysdate, DU ) = SAT or (to_char(sysdate, DU ) = SUN ) Then raise_application_error (-20501, Inga förändringar på lör /sön); End if; End; Exempel 2 Create Trigger scott.salary_check /* trigger event */ Before insert or update of sal, job on scott.emp for each row when (new.job <> PRESIDENT ) Declare maxlon number; minlon number; Begin /* Trigger action */ /* Ta fram max- och minlön för jobbet från sal_guide tabellen */ Select minsal, maxsal into minlon, maxlon from sal_guide Where job = :new.job; If (:new.sal < minlon or new.sal > maxlon ) Then raise_application_error (-20601, Felaktig lön för detta arbete); End if; End;

19 4 Sequence Syntax: Create sequence [schema.seqnamn] < Increment by [integer]> < Start with [integer]> < Maxvalue [integer] / Nomaxvalue> < Minvalue [integer] / Nominvalue > < Cycle / Nocycle > < Cache [integer] / Nocache > < Order / Noorder > * Understrukna värden är default. Drop sequence [schema.seqnamn] Förklaring: Increment by [integer] Ökning per steg (default 1) Start with [integer] Start värde Maxvalue [integer] Max värde (max =10 27) Minvalue [integer] Minsta värde Cycle När max/minvärde nås startar seq om Cache [integer] Antal värden lagrade i PM (default 2) Order Garanterar ordningsföljde för sequence Exempel Create sequence orderseq Nollställning För att nollställa en sequence måste den först tas bort och sedan återskapas. Hantering CURRVAL NEXTVAL Exempel orderseq.nextval Anger aktuellt värde för sequence Anger nästa värde för sequence returnerar nästa värdet för sequence orderseq

20 5 Procedure I vissa Dbsystem (t ex Oracle, SQL server, mm) har man möjlighet att använda sig av lagrade procedurer (stored procedure). Dessa procedurer kommer att lagras i och exekveras av DBsystemet. Fördelen med dessa är att de blir centralt lagrade som medför att många kan använda dessa och det blir lättare att underhålla generell kod som gäller för just detta DBsystem. Det finns även mera fördelar och dessa kommer att behandlas under kursen. Syntax: Skapa: Create [or Replace] Procedure <[schema.]procedure-namn> (argument in /out/in out datatyp,..) IS / AS /* PL/SQL program*/ Tabort: Drop Procedure <[schema.]procedure-namn> Exekvering: En DBprocedur kan anropas från olika typer applikationsprogram och det gäller då att man tar reda på hur man kan anropa Dbprocedurer från detta program. Vi kommer att anropa procedurerna via SQL plus. När man ska exekvera en procedur från SQL plus gör man detta på följande sätt: SQL > EXECUTE procedurnamn (<argument>) Procedurnamn = namnet på den procedur som ska exekveras Argument = de parametrar (in / out / in out) som fodras för den aktuella procedurer

21 6 Oracle produkter Nedan följer en kort beskrivning av de utvecklingsprodukter som vi kommer att använda oss av under kursen. SQL plus är en Oracles interaktiv produkt (jobbar direkt i databasen) som ligger på clienten. Med denna produkt kan du bla utföra följande: Använda SQL (DDL, DML, quering och DCL) Skapa triggers, procedurer och funktioner Skapa/administrera användare Exekvering av ESQL, procedurer mm Detta är textbaserat miljö utan möjlighet till att En produkt med ett grafiskt gränssnitt som ger möjlighet att arbeta med sitt eget databasschema. Med denna produkt kan du bla utföra följande: Skapa DBobjekt (tabeller,views, snapshot och synonym) Sätta rättigheter på DBobjekt. En produkt liknande schema builder som med ett grafiskt gränssnitt ger möjlighet att arbeta med sitt eget databasschema. Med denna produkt kan du bla utföra följande: Inreda databasen (tabeller,views, snapshot och synonym) Sätta rättigheter på DBobjekt. Skapa triggers, sequence

22 En slutanvändarprodukt som ger möjlighet att hämta och bearbeta data. Det som skiljer sig från SQL Plus är att man här jobbar med en grafisk miljö och kan till stora delar bara klicka på det man önskar ska sökas fram i databasen. Ett program som ger stöd för att skapa: Använda SQL (DDL, DML, quering och DCL) Procedurer Funktioner Package Triggers Här kan man kompilera koden och få meddelande om eventuella fel. Denna produkt har till skillnad från SQL plus ett grafiskt användargränssnitt. Till de flesta av dessa produkter finns någon typ av Quick tour(demo). Jag rekommenderar att ni börjar med att ägna några minuter åt dessa innan ni börjar använda produkterna

23 7 Information till laborationerna 7.1 Inloggning i Oracle Den databas som ni kommer att använda under kursen heter db1. För att kunna logga in i Oracle måste man också ha en användar med lösenord. Dessa är uppbyggda på följande sätt: Användare: <klassbokstav>pc<nr på er pc> Klassbokstav: Första bokstaven i utbildningsnamnet (exempel data!d, system.! sy osv ) Nr på er pc: Det nummer som står på dator (ex pc ! 01) lösenord: (= användare) värddatorsträng: databasnamn Om ni sitter vid dator nr och går på IT skall ni göra på följande sätt: Användare: itpc01 lösenord: itpc01 värddatorsträng: db1 Avsluta SQL*Plus Man avslutar SQL*Plus med hjälp av kommandot exit Exempel: SQL> exit 7.2 Dokumentation Ni kan dokumentera det ni gör på två olika sätt när ni jobbar i SQL Plus: Alt 1 Alt 2 Öppna anteckningar/word och klipp och klistra mellan SQL*plus och anteckningar/word. Använd er av spolfunktion som innebär att allt som ni gör i SQL*plus kommer att lagras i en fil som ni sedan kan bearbeta i ett ordbehandlings program. Denna funktion finns under spola i arkivmenyn i SQL*plus. 3.3 Redovisning Redovisning kan ske vid laboration eller genom inlämning av laborations -resultat

24 Bilaga 1 Laborationer Laboration 1 Databaser Material för SQL (Quering) - laboration Under denna laboration skall ni använda er av Procedure builder Försök besvara följande SQL - frågor 1. Ta fram leverantörsnummer (SNR) och stat(stat) för alla leverantörer i Paris 2. Visa artikelnummer(pnr) på alla artiklar som finns i leveranstabellen(sp) 3. Visa artikelnummer(pnr) på alla artiklar som finns i leveranstabellen(sp), men inga dubletter 4. Ta fram leverantörsnummer (SNR) och stat(stat) för alla leverantörer i Paris som har stat(stat) > Ta fram leverantörsnummer (SNR) och stat(stat) för alla leverantörer i Paris sorterat på stat(stat) i fallande ordning 6. Ta fram samtliga kolumner från leveratörer och artiklar som har samma stad (CITY) 7. Ta fram samtliga kolumner från leveratörer och artiklar som har samma stad (CITY) och leveransstat (STAT) frånskillt Ta fram leverantörsnummer (SNR) och artikelnummer(pnr) där leverantören och artikeln finns i samma stad 9. Ta fram hur många leverantörer som finns 10. Ta fram hur många leverantörer som har leveranser i tabellen(sp) 11. Ta fram antalet leveranser av artikel med artikelnummer P2 12. Ta fram den totala kvantiteten som artikln P2 har levererats i 13. Ta fram total kvantitet och artikelnummer för varje levererad artikel 14. Ta fram artikelnummer(pnr) på alla artiklar som levereras av fler än 1 leverantör

25 15. Ta fram samtliga kolumner på alla artiklar där namnet börjar på bokstaven C 16. Ta fram leverantörsnummer (SNR) där stat(stat) > Ta fram leverantörsnummer (SNR) på alla leverantörer som har en stat som är satt till värdet NULL 18. Ta fram leverantörsnamn (SNAME) på alla de leverantörer som levererar artikel P2 19. Ta fram leverantörsnamn (SNAME) på alla de leverantörer som levererar artiklar där färg = röd (COLOR = red) 20. Ta fram leverantörsnummer (SNR) på alla leverantörer som har en stat som är mindre än den, för tillfället, maximala staten 21. Ta fram leverantörsnamn (SNAME) på alla de leverantörer som levererar artikel P2 (rad nivå) 22. Ta fram leverantörsnamn (SNAME) på alla de leverantörer som inte levererar artikel P2 (rad nivå) 23. Ta fram artikelnummer(pnr) på alla artiklar somväger mer än 16 pounds och/eller för alla artiklar som levereras av leverantören S2-25 -

26 Databasen Tabellerna S (Suppliers) Leverantörer *SNR SNAME STAT CITY s1 smith 20 london s2 jones 10 paris P (Parts) Artiklar * PNR PNAME COLOR WEIGHT CITY p1 nut red 12 london p2 bolt green 17 paris SP (Shipment) Leveranser *SNR *PNR QTY s1 p1 300 s1 p * = pn Dessa tabeller finns på sista sidan i boken (An introduktion to database system), där kan ni se data som ligger i tabellerna. Det går också bra att ta fram en beskrivning genom SQL: describe s; (visar en beskrivning på tabellen s)

27 Laboration 2 Del 1 (SQL) SQL(DDL) ESQL(PL/SQL) 1. Skapa tabeller Namn: student Fält Datatyp studnr number(4) pn fnamn varchar2 (15) enamn varchar2 (15) Tabellen skall innehålla fälten ovan och studnr får bara innehålla värden mellan Namn: betyg Fält Datatyp kurskod varchar2 (10) pn studnr number(7) pn, fn betyg number datum date ex. YYYY-MM-DD Tabellen skall innehålla fälten ovan. Fältet betyg får ej innehålla null-värden, datum skall defualt vara system datum och För fn gäller det att tas pn bort kommer tillhörande fn-fält att tas *Under del 1 av denna laboration skall ni använda er av SQL Plus Bra att veta! För att se vilka tabeller som man skapat, gör en select * på tabellen tab. För beskrivning av en tabell, gör desc [tabellnamn]. Prova!!! 2. Utöka tabellen student med kolumnen tel som har datatypen varchar2 (15). 3. Ändra datatypen på betyg till varchar (2). 4. Registrera tre studenter (studnr 1, 25 och 75) och lägg in två betyg för någon av de registrerade studenterna. Prova att lägga in betyg för en student som ej finns registrerad. Vad händer och varför?

28 5. Uppdatera ett betyg som finns registrerat. 6. Ta bort ett av betygen för studenten. Prova sedan att ta bort studenten som har något betyg registrerat. Vad händer och varför? 7. Skapa tabellen tempstudent a) Tabellen ska innehålla fälten studnr och enamn som ska vara deklarerade på samma sätt som i uppgift 1. b) Lägg in alla studenter som finns i tabellen student och har ett studnr som ligger mellan 1 och Ta bort tabellen Student. 9. Ta bort övriga tabeller som ni skapat (betyg, tempstudent)

29 Del 2 (PL/SQL) * Skapa tabellen med hjälp av Schema builder, övrigt utförs i SQL Plus Skapa tabellen temp med fälten nedan: Tabell: temp Fältnamn Null? Datatyp col1 number(9,4) col2 number(9,4) message varchar2(55) Som editor ska ni använda anteckningar. Man kan om man vill använda valfri text-editor. Filerna ska sparas som textfiler (<filnamn>.txt). Välj sedan Nytt under Arkiv och skriv sedan din PL/SQL kod. Programmen exekveras i SQL*Plus och sker på följande sätt: Exempel: SQL> start < filnamn >.txt

30 1. Skriv ett PL/SQL program som lägger in värderna (1, 2, uppgift1 ) i tabellen temp. (insert into temp values(1,..)) Lägg in en select efter end i programmet (Se nedan ) som visar vad som finns i tabellen temp (visar resultat av inserten). Exempel(PL/SQL): Declare Begin PL/SQL -kod End; / Select.. /*visning av värden*/ 2. Deklarera följande variabler i programmet: Namn c1 c2 mess Datatyp number(9,4) number(9,4) varchar2(55) Tilldela sedan variablerna (c1,c2,mess)följande värden (10, 20, uppgift2 ) och gör sedan en insert där ni utnyttjar er av variablerna. OBS!! För att tömma tabellen kan ni lägga in delete from temp före deklarationsdelen. 3. Deklarera variablerna ovan så att de är av samma typ som fälten i tabellen i databasen (%type). På detta sätt kan man minska sitt databeroende. Tilldela sedan variablerna följande värden (100,200, uppgift3 ) 4. Med hjälp av ESQL ska ni från tabellen emp hämta empno (anställningsnr), deptno (avdnr) och job (yrke) för SMITH (ename = SMITH );

31 Laboration 3 "#ESQL(PL/SQL) "#Felhantering "#View. PL/SQL Skapa tabellen temp som i laboration 2 Programmen exekveras i SQL*Plus och sker på följande sätt: Exempel: SQL> start < filnamn >.txt delete from temp; /* tömmer tabellen temp */ Declare /* Variabel dek.*/ Begin /*PL/SQL -kod*/ End; / Select.. /*visning av värden*/ ESQL 1. Ta med hjälp av ESQL fram empno, sal(månadslön) och ename på den anställde som har empno = 7369, Resultatet läggs i tabellen temp. 2. Ta fram samma data som i uppgift 1 (empno, sal, ename) empno =7369, sedan ska ni räkna ut årslönen (arlon) och sedan läggs värderna(empno,arlon,ename) in i tabellen temp. 3. a) Ta fram samma data som i uppgift 1 på de som jobbar på avdelning(deptno) 20. Lägg dessa i tabellen temp. b) Ta fram samma data som i uppgift 1 på de som jobbar på avdelning(deptno) 20. De som har en lön som ligger över medellön läggs i temp tabellen. Felhantering

32 4. Skriv ett program som försöker ta fram data på en anställd (emp) som inte finns i tabellen, tex empno = 11111; a) Skapa en felhanteringsdel som hanterar om ingen data hittas. Om ingen data hittas ska följande värden läggas in i tabellen temp: (111,null, Inga data ) b) Skapa en felhanteringsdel som hanterar others. Här ska ni lägga in värdet i SQLCODE och SQLERRM i tabellen temp. View (Skapa tabellkopior av s, p och sp med data under dit schema) 5. a) 1. Skapa vy n vy1 som visar leverantörsnam och stad (sname, city ) på de leverantörer som har stat > 10. Kolumn rubrikerna ska vara (namn, stad). SQL> select * from vy1; NAMN STAD smith london balke paris clark london adams athens 2. Ta fram namnet på de leverantörer som finns i vy1 och finns i london. b) 1. Skapa vy n vy2 som visar leverantörsnr, namn och stad (snr,sname,city) på de leverantörer som levererar artikel p2. SQL> select * from vy2; SN SNAME CITY s1 smith london s2 jones paris s3 balke paris s4 clark london Visa de leverantörer(snr) som finns i london och levererar artikel p2 1. Andvänd tabellerna s och sp. 2. Använd vy2. Blir det någon skillnad på SQL-satserna(1och2)? c) Skapa vy n tempvy med with check options som visar alla col1, col2 och

33 message där col1 större än lägg in följande värde (111, 50, värde1) i tabellen temp. Kontrollera att värdet finns med i vy n. 2. Försök att genom vy n ändra på col1 så att det får värdet 56 Vad händer och varför? d) Ta bort vy1, vy2 och tempvy Ta bort gjorda tabeller

34 Laboration 4 Skapa constraints Skapa sekvenser (sequence) Skapa användare + Rättigheter Skapa DB triggers Använd Schema builder och SQL Plus 1. Skapa tabellerna nedan Tabell namn: Artikel Namn Typ Nyckel Förklaring ARTNR NUMBER PN Artikelnr NAMN VARCHAR2(15) Artikelnamn ANTAL NUMBER Antal i lager BESTPUNKT NUMBER När beställning ska ske BESTANTAL NUMBER Antal som ska beställas Tabell namn: bestall Namn Typ Nyckel Förklaring BESTNR NUMBER PN Beställnings nr ARTNR NUMBER Artikelnr DATUM DATE Beställnings datum BEANT NUMBER Antal beställda * OBS!! Artnr skall ej vara fn för att undvika att triggern mutterar 2. Skapa en sequence (seqartnr) som hanterar att ge unikt nummer för PN artnr i tabellen artiklar. Sequence skall börja på 1 och öka med 1 för varje gång som det används. Lägg in några artiklar och utnyttja den skapade sequence (seqartnr) Skapa en liknade för bestnr (seqbestnr)i tabellen bestall. 3. Skapa användare a) USER = Ertanvändarnamn + kalle. Ex Användare pc01, namn = pc01kalle IDENTIFIED BY = användarnamn DEFAULT TABLESPACE = tools TEMPORARY TABLESPACE = temp QUOTA = unlimited ON tools PROFILE = default b) Prova att logga på som den nya användaren

35 Vad händer och varför? Vidtag åtgärder så att ni kan logga på med den nya användare. c) Ge användaren rättighet att söka i tabellerna bestall och artikel och kunna uppdatera fältet antal i artikel. Prova så att det fungerar. För att se vilka rättigheter som man skapat kan ni söka i följande tabeller: user_tab_privs_made user_col_privs_made rättigheter på tabell satta av användare rättigheter på kolumner satta av användare 3. Skapa databas trigger. a) Skapa trigger upart Trigger skall aktiveras när artikel antal understiger bestpunkt. Då skall tigger skapa en beställning i tabellen bestall på den artikel som blivit uppdaterad och med det antal som ska beställas. Triggern för bara skapa en beställning när de går under beställningspunkten,dvs den ska inte göra beställningar om antalet är under bestpunkt före man gör uppdateringen 4. Ta bort Tabellerna: Användaren: Trigger: Sekvens: Artiklar, bestall Den ni skapat upart seqartnr, seqbestnr

36 Laboration 5 En kort beskrivning av en del av en administrativ verksamhet (lön-personaldel). Den här delen av den administrativa verksamheten hantera bla följande funktioner anställer, avskedar och förändrar löner för personal på företaget. Den information som man lagra om personalen skall vara tillräcklig för att kunna utföra funktionerna ovan plus att man vill vet när de blivit anställda (dvs registrerade i systemet). När det gäller löner så finns det en referenstabell (se nedan) som visar inom vilket löneintervall som de anställdas lön kan ligga inom, dvs vilken max/min lön som får ges. Tittel Max Min. Vd Avdchef Utvecklare Sekreterare Naturligtvis får man räkna med att max och min värden kommer att förändras i framtiden. Viktigt är att det nya systemet inte tillåter att anställda får löner som inte ligger inom löneintervallet. Man vill också ha tillgång till information om de avdelningar som finns på företaget (produktion, försäljning, administration, underhåll, mm), alla dessa består av en avdelningschef. För att underlätta administrativa hanteringen vill man införa unika nummer för varje avdelning. Varje avdelning har även tilldelats en telefon i fikarummet för att öka tillgängligheten till personalen. Uppgift Er uppgift blir att skapa en databas som hanterar personalfunktionerna beskrivna ovan och lagrar information som behövs för verksamheten ovan. Allt som ni skapar skall finnas i databasen och kunna hanteras från SQL Plus (Ej SQL kommandon). När databasen utvecklas använder ni de verktyg som ni tycker är lämpliga

Design och underhåll av databaser

Design och underhåll av databaser Design och underhåll av databaser 1. Modell av verkligheten 2. Normalformer 3. Introduktion till DDL 4. Skapa databaser 5. Skapa tabeller 6. Skapa index 7. Restriktioner 8. Ta bort databaser, tabeller

Läs mer

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Databasföreläsning Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik) Tabeller Personer Databas Nummer Namn Födelseår 1 Tina 1950 2 Siv 1965 3 Olle 1980 Platt databas: all information

Läs mer

Analytisk relationsdatabasdesign

Analytisk relationsdatabasdesign Analytisk relationsdatabasdesign Att förbättra kvaliteten i databaser Presenter s Name Organization name www.horton.com Domän-regler och främmande nyckel regler via DDL Datatyp! Datatyp! Maxvärde! Maxvärde!

Läs mer

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index INNEHÅLL SQL DEL 4 DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index Chapter 3, 6, 8 delar av. Beginning SQL Server 2008 for Developers 1 CREATE

Läs mer

1. SQL DDL (Data Definition Language) 2. Skapa tabell

1. SQL DDL (Data Definition Language) 2. Skapa tabell FÖ 4: Databaskursen 1. SQL DDL (Data Definition Language) 2. Skapa tabell 3. Lägga till PK 4. Data Dictionary Views 5. Namn på constraints 6. Lägga till FK 7. Lägga till en kolumn 8. Objektet sekvens 9.

Läs mer

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP

Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP Tentamen 4,5 hp Delkurs: Databaser och databasdesign 7,5hp Tentander: VIP2, MMD2, INF 31-60, ASP Skrivtid: 14.30-18.30 Hjälpmedel: papper, penna och radergummi Betygsgränser: G = 36p (60 %), VG = 48p (80

Läs mer

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse Lär känna MS SQL 2008 / Övning Observera Övningar som finns tillgängliga är till för att du ska kunna testa dina kunskaper och träna på dem. Det är helt upp till dig när du vill genomföra och om du vill

Läs mer

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14

Övningar i SQL. SQLAccess.doc Ove Lundgren 2000-11-14 Övningar i SQL Övningar i SQL Använd Access för att öva SQL (= Structured Query Language) Skapa tabeller med SQL 1. Ny databas: SQLÖVNING Klicka: Frågor > Ny > Design > OK >Stäng > SQL Radera ordet SELECT.

Läs mer

Structured query language (SQL)

Structured query language (SQL) Structured query language SQL) Varför SQL? SQL är ett standardspråk som är oberoende av databashanteringssystemen som finns på marknaden. Med andra ord kommer du kunna arbeta mot nästan alla sorters relationsdatabaser

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

9. :new och :old -värden 10. Triggerns olika delar 11. Olika typer av triggrar 12. Kodexempel. Pär Douhan,

9. :new och :old -värden 10. Triggerns olika delar 11. Olika typer av triggrar 12. Kodexempel. Pär Douhan, FÖ 12: Databaskursen 1. Lagrade procedurer 2. Fördelar med procedurer 3. Parametrar 4. Vanliga fel 5. Lagrade funktioner 6. Skillnad mellan procedurer och funktioner 7. Triggrar 8. Användningsområde 9.

Läs mer

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

Du skall naturligtvis visa körexempel med output där det behövs i din rapport! och databprogrammering Christilinda Göstson - PL/SQL, paket och ref cursor Du skall naturligtvis visa körexempel med output där det behövs i din rapport! OBS! Denna labb redovis i labbrapport via mail

Läs mer

Starta MySQL Query Browser

Starta MySQL Query Browser Starta MySQL Query Browser 1. Starta MySQL Query Browser genom att antingen välja i Startmenyn: 2. eller leta upp ikonen på skrivbordet för start av MySQL Query Browser och dubbelklicka på den. 3. Du bör

Läs mer

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra. 1 Datafiler tillhör alltid en filgrupp. Det måste alltid finnas en PRIMARY group. Det är inget som hindrar att datafiler på olika diskar tillhör samma filgrupp. PRIMARY gruppen innehåller huvudfilen till

Läs mer

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem?

Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? Föreläsning 3 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Vad är ett databashanteringssystem? En mängd program som tillåter användaren att skapa och underhålla

Läs mer

2. Objekt, operatorer och integritetsregler 3. Databasobjekt

2. Objekt, operatorer och integritetsregler 3. Databasobjekt FÖ 3: Databaskursen 1. Relationsdatabaskomponenter 2. Objekt, operatorer och integritetsregler 3. Databasobjekt 4. Objektet tabell 5. Synonymer 6. Schema 7. Integritetsregler och constraints: PK, FK, Unique,

Läs mer

Databaser och Datamodellering Foreläsning IV

Databaser och Datamodellering Foreläsning IV Webbprogrammering - 725G54 Databaser och Datamodellering Foreläsning IV Agenda Databaser ERD SQL MySQL phpmyadmin Labb 4 Databaser Databas - samling med data Databashanterare Enkelt Kraftfullt Flexibelt

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 2003-01-20 DAV B04 - Databasteknik 2003-01-20 KaU - Datavetenskap - DAV B04 - MGö 26 Relationsmodellen En formell teori som baserar sig på (främst) mängdlära predikatlogik Föreslogs av E.F Codd 1970 i

Läs mer

Databasteknik för D1, SDU1 m fl

Databasteknik för D1, SDU1 m fl 1 of 5 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Databasteknik för D1, SDU1 m fl lördag 7 mars 2015 Gäller som tentamen

Läs mer

WCMS-15, Webbutvecklare CMS

WCMS-15, Webbutvecklare CMS WCMS-15, Webbutvecklare CMS Övningstentamen, delkurs Dynamiska webbplatser (20 YH-poäng) Plats: Medieinstitutet, Malmö Tid: 25 november 2015, kl. 13.00-16.00 Tillåtna hjälpmedel: Papper, penna, suddgummi,

Läs mer

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LIVE Exempelkod från föreläsningen Plushögskolan Frågeutveckling inom MSSQL - SU14 Här kommer exempelkoden jag använde under föreläsningen Exemplen Constraints... 2 Transactions... 4 Views... 5 Functions...

Läs mer

Databasutveckling Introduktion till SQL och TSQL

Databasutveckling Introduktion till SQL och TSQL Databasutveckling Introduktion till SQL och TSQL Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Introduktion till SQL SELECT satsen, enkla frågor Hämta specifika kolumner Alias

Läs mer

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Arbetsuppgift 1: Uppdatera och uppgradera din installation. Steg 1: Starta och logga på din server,

Läs mer

TENTAMEN DATABASKUNSKAP ITEK12

TENTAMEN DATABASKUNSKAP ITEK12 TENTAMEN DATABASKUNSKAP ITEK12 Tid: Fredag den 19 oktober kl. 9-00-12.00, sal D409 Tillåtna hjälpmedel: Endast papper och penna. Poäng: Maxpoäng: 56. Gräns för G: 50%. Gräns för VG: 75%. Om något som verkar

Läs mer

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F) L0009B Moment FL 1: Kursintroduktion. Kursinformation: G:\L0009B\Allmänt\KursInformationL0009B.pdf (F) Kursplan: Se https://portal.student.ltu.se/stuka/kurs.php?kurs=l0009b&lang=swe (F) Allt som markerats

Läs mer

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2)

Databaser och databasdesign. Den relationella modellen, normalisering och modellering (2) Databaser och databasdesign Den relationella modellen, normalisering och modellering (2) Varför databaser (DB)? Vi vill och måste kunna lagra data på sätt som motsvarar olika verksamheters behov Vad är

Läs mer

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

SQLs delar. Idag. Att utplåna en databas. Skapa en databas Idag SQLs delar Hur skapar vi och underhåller en databas? Hur skapar man tabeller? Hur får man in data i tabellerna? Hur ändrar man innehållet i en tabell? Index? Vad är det och varför behövs de? Behöver

Läs mer

Skapa exempeldatabasen

Skapa exempeldatabasen Skapa exempeldatabasen Koden i detta dokument är avsedd att exekveras i SQL Editor i MySQL Workbench. Skapa databasen För att kunna använda svenska alfabetet för lagring av data deklareras teckenensuppsättningen

Läs mer

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras. Laboration 1, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall du se till att du kommer åt databasmotorn och att det fungerar. Du kommer också att skapa en tabell

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information.

Vad är en databas? Exempel på databaser: Databas = Organiserad samling och lagring av information. Vad är en databas? Exempel på databaser: Kortregister på kontor Sjukvårdsjournal Bokregister på bibliotek Medlemsregister i en förening Kundregister på företag Telefonkatalogen Databas = Organiserad samling

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-12-18 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Lösningsförslag, tentamen i Databaser

Lösningsförslag, tentamen i Databaser LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Lösningsförslag, tentamen i Databaser 2004-04-20 1. ER-diagram: Matsedel år vecka serveras 1..5 lagas-med Maträtt Ingrediens dag mängd Allergi

Läs mer

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ; Lösningsförslag till Övning i SQL Data Definition Language (DDL) D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ; D2. Create Domain CHARNRKEY char(7 D3. Create Table Skiva( T1. Create Table Skiva(

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 16 Januari 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

SQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga.

SQL, nästlade delfrågor 3-19. Nästlade delfrågor. En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. SQL, nästlade delfrågor 3-19 Nästlade delfrågor SQL har en mekanism för nästling av delfrågor: En nästlda delfråga är ett select-from-where uttryck inom where-klausulen i en annan fråga. Delfrågor används

Läs mer

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Individuell prövning 41E03B Öppen för alla Tentamensdatum: 2013-08-20 Tid: 09:00-13:00 Hjälpmedel: Inga hjälpmedel

Läs mer

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3.

Informationssystem och Databasteknik, 2I-1100 HT2001. Relationsalgebra. Relationsalgebran är sluten: R 1 op R 2 R 3. Primtiva operatorer projektion π selektion σ union differens - kryssprodukt X Relationsalgebra Tilldelning := Relationsalgebran är sluten: Med hjälp av dessa operatorer kan andra (icke-primitiva) operatorer

Läs mer

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU Databaser Design och programmering, IDA Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp Kursöversikt Teori och praktik Fö och bok lektioner, labbar i projekt (3,5hp=100h)

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-08-20 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö. Laboration 2, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall vi jobba vidare på bildatabasen som vi började på förra gången. Vi skall ändra fält och lära oss att

Läs mer

Konceptuella datamodeller

Konceptuella datamodeller Databasdesign Relationer, Nycklar och Normalisering Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Konceptuella datamodeller Om man ska skapa en databas som beskriver en del av verkligheten

Läs mer

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20 Idag Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten 2009 1 / 20 Idag Hur skapar vi och underhåller en databas? Hur skapar man tabeller?

Läs mer

Relationsmodellen och syntetisk databasdesign

Relationsmodellen och syntetisk databasdesign Relationsmodellen och syntetisk databasdesign Den teoretiska grunden för relationsdatabaser Från konceptuellt schema till databas Relationsmodellen Bil Ägare En relationsdatabas är en databas som uppfattas

Läs mer

Tentamen DATABASTEKNIK - 1DL116

Tentamen DATABASTEKNIK - 1DL116 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2014-11-07 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

Laboration SQL. Kom igång. http://www.tfe.umu.se/courses/systemteknik/webbkurser/d&w/laborationer/sql.ht...

Laboration SQL. Kom igång. http://www.tfe.umu.se/courses/systemteknik/webbkurser/d&w/laborationer/sql.ht... Page 1 of 5 Laboration SQL Syfte: Under denna laboration skall du bekanta dig med SQL. När laborationen är genomförd skall du klara av att själv formulera enklare SQL-frågor för att kunna ta fram information

Läs mer

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser? Databaser Design och programmering! Diverse praktiskt! Varför databaser?! Vad är en databas?! Andra viktiga begrepp Kursöversikt! Teori och praktik! Samläsning! Olika projekt! Examination (tenta, labb

Läs mer

Lite om databasdesign och modellering

Lite om databasdesign och modellering Lite om databasdesign och modellering Konceptuell databasdesign Med konceptuell databasdesign avses processen att konstruera en datamodell för en verksamhet, oberoende av fysiska villkor. Modelleringen

Läs mer

Modul DB1-2 Datamodellering

Modul DB1-2 Datamodellering Modul DB- Datamodellering Antal föreläsningar: Antal laborationer: Förkunskapskrav: Grundläggande kännedom om databaser (Modul DB-) Kurslitteratur: Referenslitteratur: Praktisk datamodellering ISBN: 9-44-800-

Läs mer

Rättningsmall tenta den 25e oktober Uppgift 1. Uppgift 2. se slides

Rättningsmall tenta den 25e oktober Uppgift 1. Uppgift 2. se slides Rättningsmall tenta den 25e oktober 2011 Uppgift 1 A) Null (Connolly/Begg, p.103) Represents a null value for an attribute that is currently unknown or is not applicable for this tuple. Its not a value

Läs mer

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index Innehåll MySQL Intro Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index Institutionen Institutionen för Datavetenskap, för Kommunikation Fysik o och

Läs mer

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada. Sockets: server with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with TJa.Sockets; use TJa.Sockets; procedure Server is -- Servern

Läs mer

NORMALISERING. Mahmud Al Hakim

NORMALISERING. Mahmud Al Hakim NORMALISERING Mahmud Al Hakim mahmud@webacademy.se 1 SCHEMA Schema eller databasschema är en beskrivning av vilka data som kan finnas i en databas, oberoende av vilka data (innehållet) som råkar finnas

Läs mer

Grunderna i SQL del 1

Grunderna i SQL del 1 Grunderna i SQL del 1 1. SELECT-frågor 2. SELECT 3. WHERE 4. ORDER BY 5. Inre join 6. Yttre join 7. Andra typer av join 8. Union 9. Aggregatfunktioner 10. Gruppera och summera Kap. 3 Kap. 4 Kap. 5 utom

Läs mer

Webbprogrammering, grundkurs 725G54

Webbprogrammering, grundkurs 725G54 Webbprogrammering, grundkurs 725G54 Bootstrap jquery SEO RWD MuddyCards. Tidigare Muddycards Många positiva kommentarer Ibland för högt tempo på föreläsning Lägg ut labbar tidigare Mer föreläsningar (2

Läs mer

Introduktion till frågespråket SQL (v0.91)

Introduktion till frågespråket SQL (v0.91) DD1370: Databaser och Informationssystem Hösten 2014 Petter Ögren Introduktion till frågespråket SQL (v0.91) 13:e November Disclaimer: Dessa anteckningar har producerats under viss tidspress, och kan därför

Läs mer

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem Tentamen för DD1370 Databasteknik och informationssystem 24 Augusti 2015 Hjälpmedel: Inga hjälpmedel utom papper och penna Tänk på: Skriv högst en uppgift på varje blad. Använd endast framsidan på varje

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Hjälpmedel för kompilatorkonstruktion, DVB004

Hjälpmedel för kompilatorkonstruktion, DVB004 Hjälpmedel för kompilatorkonstruktion, DVB004 Version 4.2 021104 Göran Fries 031104 GF Kompilatorn kan lämpligen konstrueras i tre ganska fristående pass (p1,p2,p3). Första passet gör en lexikalisk analys,

Läs mer

Databasspråket SQL - online.

Databasspråket SQL - online. Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company

Läs mer

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14 Labb LABB 1 Databassagan och en rundtur i databasers märkliga värld Plushögskolan Frågeutveckling inom MSSQL - SU14 I Microsoft SQL-Server Management Studio kan man arbeta på olika sätt. Antingen via användargränssnittet

Läs mer

Databaser och. SQL, utsökningar mot en tabell

Databaser och. SQL, utsökningar mot en tabell Databaser och Informationssystem 5 hp IK008 Föreläsning 7 SQL, utsökningar mot en tabell Övningsuppgifter Övningstabell SQL> desc personal Name Null? Type ------------------------------------- --------

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

Databasteknik för D1 m fl

Databasteknik för D1 m fl 1 of 5 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Databasteknik för D1 m fl tisdag 10 januari 2017 Gäller som tentamen

Läs mer

Databasteknik för D1, SDU1 m fl

Databasteknik för D1, SDU1 m fl 1 of 5 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Databasteknik för D1, SDU1 m fl onsdag 21 augusti 2013 Gäller som

Läs mer

Filbeskrivningar ---------------- http://student.ing-steen.se/sql/ Eller på särskild CD skiva

Filbeskrivningar ---------------- http://student.ing-steen.se/sql/ Eller på särskild CD skiva Filbeskrivningar ---------------- http://student.ing-steen.se/sql/ Eller på särskild CD skiva OBS! Det finns ytterligare filer på Microsoft CD, som tillhör SQL 2000 Administration Self paced, vilka kan

Läs mer

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar

9. Between 10. Group by 11. Aggregatfunktionerna max, min, sum och avg 12. Nästlade sökningar FÖ 8: Databaskursen 1. SQL 2. Utsökningar mot en tabell 3. Od Order by 4. Funktionerna upper, lower och initcap 5. Konkatenering 6. Kolumnalias 7. Distinct 8. Hantera nullvärden med nvl-funktionen 9. Between

Läs mer

Databaser och SQL - en kort introduktion

Databaser och SQL - en kort introduktion Databaser och SQL - en kort introduktion Databaser är inte precis något som i sig är svårbegripligt. Det är bara en massa data samlade på ett ställe i strukturerad form. Problemen består i att det just

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Prova på-laboration i SQL

Prova på-laboration i SQL Prova på-laboration i SQL Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2006-09-19 1. Introduktion till databaser Databaser finns i så gott som alla sammanhang

Läs mer

Stored procedure i ASP.NET

Stored procedure i ASP.NET Stored procedure i ASP.NET OBS! Om du vill jobba med att skapa en stored procedure i en SQL Serverdatabas ifrån VS2010 måste du ha fullversion, expressversionen tillåter dig ej att skapa triggers, stored

Läs mer

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF! Denna beskrivning har gjorts på Windows 2000 Server (men bör fungera även på Windows XP Home Edition/Professional och Windows 2003 Server). Att installera Oracle 10g kräver ca. 2 GB hårddiskplats och ca.

Läs mer

Det är fullt tillåtet att göra laborationen innan laborationstillfället.

Det är fullt tillåtet att göra laborationen innan laborationstillfället. Observera Det är fullt tillåtet att göra laborationen innan laborationstillfället. Laborationen ska genomföras individuellt, men det är tillåtet att diskutera eventuella problem och lösningar med dina

Läs mer

Kapitel 4 Arkivmenyn Innehåll

Kapitel 4 Arkivmenyn Innehåll Kapitel 4 Arkivmenyn Innehåll ARKIVMENYN...2 Byt aktuell användare...2 Utskrift till skärm eller skrivare...3 SQL verktyget...4 Ny SQL...4 Hämta SQL...5 Spara SQL...5 Kör SQL...5 Visa som...5 Avsluta...5

Läs mer

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible: 2000-01-26

Kursens mål. Databasteknik TDDB48. Lärare. Kursorganisation. Laborationsinformation. Inlämning av laborationer. Responsible: 2000-01-26 Kursens mål Databasteknik TDDB48 http://www.ida.liu.se/~tddb48 Förstå de koncept som ligger bakom databaser och databasorganisation Designa och bygga datamodeller (effektiva filstrukturer) Använda databasfrågespråk

Läs mer

Lösningsförslag till Exempel tentamen

Lösningsförslag till Exempel tentamen Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Lösningsförslag till Exempel tentamen 2I-1033 IT i Organisationer och Databasteknik Tentamenstiden är 5 timmar Skriv bara på

Läs mer

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista

Vad är en databas? Databaser. Relationsdatabas. Vad är en databashanterare? Vad du ska lära dig: Ordlista Databaser Vad är en databas? Vad du ska lära dig: Använda UML för att modellera ett system Förstå hur modellen kan översättas till en relationsdatabas Använda SQL för att ställa frågor till databasen Använda

Läs mer

Inköpsförslag används för att på ett enkelt sätt se vad som behöver köpas hem.

Inköpsförslag används för att på ett enkelt sätt se vad som behöver köpas hem. Inköpsprocess Användarhandledning I verktygsfältet finns det en knapp som heter Handel. När ni klickar på Handel-knappen kommer det upp undermenyer. Ni klickar då på undermenyn inköp. Då kommer det upp

Läs mer

Databaser - Design och programmering

Databaser - Design och programmering Databaser - Design och programmering Eva L. Ragnemalm, IDA (eva.ragnemalm@liu.se) Fö 1; introduktion Kursen, diverse praktiskt Varför databaser? Vad är en databas? Andra viktiga begrepp 2 Kursöversikt

Läs mer

Skapa en databas. Skapa en tabell. Gör man antingen genom kommandot

Skapa en databas. Skapa en tabell. Gör man antingen genom kommandot Att konstruera och underhålla en databas Skapa en databas Då man gjort färdig sin modell, fört över den till en databasstruktur och normaliserat strukturen så måste man realisera databasen i någon databashanterare.

Läs mer

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor

TENTAMEN. För kursen. Databasteknik. Ansvarig för tentamen: Cecilia Sönströd. Förfrågningar: 033-4354424. Anslås inom 3 veckor TENTAMEN För kursen DATUM: 2013-12-12 TID: 9 14 Ansvarig för tentamen: Cecilia Sönströd Förfrågningar: 033-4354424 Resultat: Betygsskala: Hjälpmedel: Anslås inom 3 veckor Godkänt 20 p, Väl godkänt 32 p,

Läs mer

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY!

ÖVNING 10 2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY! 3NF Hästnamn, Art, NY! NY! NY! NY! KursId, StartDatum, SlutDatum KursId NY! ÖVNING 10 2NF HÄST (Hästnamn, Mankhöjd, Favoritmat, Art, Medelvikt, Spiltnummer, Bredd, Höjd) PERSON(Personnummer, Namn, Adress, Telefon) RIDKURS(KursId, StartDatum, SlutDatum, Ledare) KURS(KursId, Svårighetsgrad)

Läs mer

Databasspråket SQL - online.

Databasspråket SQL - online. Databaser, design och programmering Databasspråket SQL - online. Innehåll: Viktiga kommandon och konstruktioner i SQL, både DDL och DML. Utgångspunkt: en databas om ett varuhus (The Jonson Brothers Company

Läs mer

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF! Denna beskrivning har gjorts på Windows XP Professional (men bör fungera även på Home Edition och Windows 2000/2003). Att installera Oracle 9i Personal Edition kräver ca. 3 GB hårddiskplats och ca. 200

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

VHDL och laborationer i digitalteknik

VHDL och laborationer i digitalteknik V:1.1 VHDL och laborationer i digitalteknik Vid laborationskursen i digitalteknik används VHDL till alla laborationerna utom den första. VHDL är ett stort språk och enbart en liten del av språket behövs

Läs mer

Att komma igång med FirstClass (FC)!

Att komma igång med FirstClass (FC)! Att komma igång med FirstClass (FC)! Vi har tillgång till FC genom vårt samarbete med folkhögskolor och därigenom med Folkbildningsnätet. FC kan användas på en dator på två sätt (dessutom kan du använda

Läs mer

7 Mamut Client Manager

7 Mamut Client Manager 7 Mamut Client Manager Tilläggsprodukten Mamut Client Manager består av programmen Client Start och Client Update. Med hjälp av Mamut Client Manager kan du från ett fönster öppna, uppdatera och administrera

Läs mer

Informa5onsmodellering

Informa5onsmodellering Informa5onsmodellering - Ett viktigt syfte med systemutveckling är att specificera verksamhetens informationsbehov för att kunna kartlägga detta informationsbehov bör vi skapa en informationsmodell (konceptuell

Läs mer

Det finns även möjlighet att göra "Java - kopplingar" mot DB2 enligt diverse standarder som ODBC, SQLj mm.

Det finns även möjlighet att göra Java - kopplingar mot DB2 enligt diverse standarder som ODBC, SQLj mm. Syftet med detta dokument är att ge studenterna de nödvändiga kunskaperna för att snabbt komma igång med att använda IBM DB2 för Windows / NT. DB2 v 6.1 är en i grunden en relationsdatabas men det finns

Läs mer

Logisk databasdesign

Logisk databasdesign NORMALISERING Peter Bellström Logisk databasdesign 2 Arbetssteget vars syfte är att konstruera en modell (diagram, schema), baserad på en specifik datamodell, över verksamhetens begrepp och samband. Modellen

Läs mer

Kapitel 15: Data/Matrix Editor

Kapitel 15: Data/Matrix Editor Kapitel 15: Data/Matrix Editor 15 Översikt över Data/Matrix Editor... 226 Översikt över list-, data- och matrisvariabler... 227 Starta en Data/Matrix Editor-session... 229 Mata in och visa cellvärden...

Läs mer

Databasteori. Övningar

Databasteori. Övningar Databasteori Övningar Erik Prytz Uppdaterad november 2014, november 2015 Eva L. Ragnemalm November 2009, uppdaterad april 2010 Kapitel 1: ER- modellering Skapa ER- diagram för nedanstående övningar (läs

Läs mer

Informationssystem och Databasteknik

Informationssystem och Databasteknik Informationssystem och Databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Inför projektarbetet: - sammansmältning av flera överlappande modeller av samma

Läs mer

INTRODUKTION TILL JDBC

INTRODUKTION TILL JDBC INTRODUKTION TILL JDBC Vad är JDBC? JDBC står för Java DataBase Connectivity. JDBC ingår i Java och består av en del klasser som har hand om databasfunktionalitet. Med Java följer JDBC-ODBC Bridge driver,

Läs mer

Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03

Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Tips och tricks 1 Cadcorp SIS 5.2 2003-03-03 Skapa en raster pensel från en Windows bakgrund (1) 1. Kontrollera att Paper är uppsatt som koordinatsystem/projektion 2. Öppna en Bitmap fil i ett tom fönsterfil

Läs mer

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20. Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:

Läs mer

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag

Webprogrammering och 729G28 databaser Webprogrammering och databaser Kursöversikt Webprogrammering Designprocessen Lösningsförslag 729G28 Webprogrammering och Kursansvarig: Eva Ragnemalm, IDA eva.ragnemalm@liu.se Kursassistent: Anders Märak Leffler anders.marak.leffler@liu.se Webprogrammering och Föreläsning 1: Diverse praktiskt om

Läs mer

Modul DB1-3 Datamodellering

Modul DB1-3 Datamodellering Modul DB1-3 Datamodellering Antal föreläsningar: 2 Antal laborationer: 1 Förkunskapskrav: Grundläggande kännedom om databaser (Modul DB1-2) Kurslitteratur: Referenslitteratur: Praktisk datamodellering

Läs mer