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



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

Databaser och Datamodellering Foreläsning IV

Support Manual HoistLocatel Electronic Locks

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

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Structured query language (SQL)

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

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Tentamen DATABASTEKNIK - 1DL116, 1MB025

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

Analytisk relationsdatabasdesign

Karlstads Universitet, Datavetenskap 1

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

Webbprogrammering, grundkurs 725G54

Design och underhåll av databaser

Konceptuella datamodeller

NORMALISERING. Mahmud Al Hakim

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

Sample exam questions. Database exam TIG058

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Karlstads Universitet, Datavetenskap 1

Lösningar till tentamen i EDAF75

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

Tentamen ISGB01, ISGB24. Databasdesign 7,5 Poäng

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Skapa exempeldatabasen

Logisk databasdesign

Skyddande av frågebanken

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

Lite om databasdesign och modellering

Övningar i SQL. SQLAccess.doc Ove Lundgren

WCMS-15, Webbutvecklare CMS

Taking Flight! Migrating to SAS 9.2!

System arbetssystem informationssystem

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

Fortsatt Luftvärdighet

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Tentamen för DD1370 Databasteknik och informationssystem

Adress 15. August 2014

1.Lär känna MS SQL Observera. Tips. Förberedelse

Lösningsförslag, tentamen i Databaser

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

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Tentamen. Databasmetodik Lördag 27 september 2014 kl

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

Preschool Kindergarten


Relationell databasdesign

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

SkillGuide. Bruksanvisning. Svenska

Application Note SW

Tentamen ISGB01 (delkurs i ISGB24) Databasdesign 7,5 Poäng

Vyer, Prepared Statements, Triggers

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

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

Beijer Electronics AB 2000, MA00336A,

Karlstads Universitet, Datavetenskap 1

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

Föreläsning 6: Normalisering & funktionella beroenden

PRESS FÄLLKONSTRUKTION FOLDING INSTRUCTIONS


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

ÖVERVAKNING AV SQL SERVER

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

Tentamen DATABASE TECHNOLOGY - 1MB025

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Swedish National Data Service

MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen

karl andersson & söner

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

Hur integrera Active Directory och DNS? Rolf Åberg, Simplex System

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

2.1 Installation of driver using Internet Installation of driver from disk... 3

Småprat Small talk (stressed vowels are underlined)

Databasföreläsning. Del 2 lagrade procedurer, vyer och transaktioner

Design Service Goal. Hantering av demonterbara delar som ingår i Fatigue Critical Baseline Structure List. Presentatör

Urban Runoff in Denser Environments. Tom Richman, ASLA, AICP

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

Structured Query Language (SQL)

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

1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.

Documentation SN 3102

Styrteknik: Binära tal, talsystem och koder D3:1

Alias 1.0 Rollbaserad inloggning

Från Excel laddningar till web arbetsflöden

HANTERING AV UPS CX

LARS. Ett e-bokningssystem för skoldatorer.

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

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.

2. Redundans 3. Normalformer

Tentamen EIT:DB Databastmetodik 11/ kl Lösningsförslag

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

Användarhandbok. MHL to HDMI Adapter IM750

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Komponenter Removed Serviceable

SQL. Structured Query Language. Frågespråk för att används för. Kommandon. data åtkomst data manipulation

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

Transkript:

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 an therfore <>0. [ at the moment unknowned value / not applicable value ] and [ avoid trash-data inserts into db / not a value compared like zero (0) ] B) Stored procedure (Connolly/Begg, p.222) Stored procedures is a small program that can take parameters and be executed by users. Ypu can use them to do operations against several tables. [ parameters can be used ] and [ to simplify operations/operations against several tables ] C) Primary Key (Connolly/Begg, p.101) The candidate key that is selected to identify tuples uniquely within the relation. It can not be NULL. [ Selected candidate key ] and [ to identify each row uniquely ] D) Deadlock (Connolly/Begg, p.590) When two or more transactions are waiting for locks to be realesed that are held by each other. [ An ever lasting loop ] and [ locks held by two transactions ] E) View (Connolly/Begg, p.105) Dynamic result of one or more relational operations operating on the base relation to produce another relation. A view is a virtual relation that does not necessarily exist in the database but can be produced upon request by a particular user at the time of request. [ change-independence -> applications ] [ virtual table / based on relational operations ] and [ used as a security mechanism ] F) Transaction (Connolly/Begg, p.570) An action, or series of actions, carried out by a single user or application program, that reads or updates the contents of a database. [ betraktas som en helhet och kan inkludera många operationer ] and [ kan bara som helhet lyckas fullt ut eller göras ogjord vid fel/egenskaper ACID ] Uppgift 2 se slides

Uppgift 3 (se 2.4 i kurslitteratur) 1. Data storage, retrieval and update. (Absolut viktigast) 2. A user-accessible catalog (viktig) 3. Transaction support 4. Concurrency control services (ja) 5. Recovery services (ja) 6. Authorization services 7. Support for data communication (ja) 8. Integrity services 9. Services to promote data independence 10. Utility services Viktigt med argumentation som rättfärdigar valet av funktioner.

Uppgift 4 1. Musikportalen AB lagrar uppgifter om kunders beställningar i en enkel databas bestående av en tabell (se fig. nedan). Bolagets ägare använder databasen för att hålla reda på sina kunders beställningar. Analysera tabellen och diskutera designen i termer av redundans, inkonsistens och normalformer/normalisering. Ge även förslag på (designmässigt) bättre databaslösning i form av en slutlig E/R-modell i 3NF. För att få full poäng på frågan ska svaret vara väl strukturerat. (12p) Beställningar OrderNr ArtikelNr Artikeltyp Vikt Antal Pris LeverantörID Leverantörsnamn Leverantörsstatus 110133 EL200 JBL K-130 4 10 4000 L2200 Musikgrossisten AB 5 110298 H4100 Trumpall, svart 3 2 1500 L4403 Trumlagret HB 3 110133 EL300 JBL Diskanthorn 2 6 2900 L2200 Musikgrosisten AB 5 110298 H4101 Trumpall, krom 3 18 2000 L4403 Trumlagret HB 2 110499 G2200 Gitarr, akustisk 2 3 9500 L8806 Gitarrbyggarna HB 4 Förutsättningar: tabellen har en primärnyckel {OrderNr, ArtikelNr} olika artiklar kan levereras av olika leverantörer. (Musikportalen AB har aldrig flera leverantörer av en och samma artikel) varje leverantör tilldelas en viss status (beroende på leveranssäkerhet) musikprodukterna har artikelnummer, pris, en viss vikt och kan finnas i olika typer eller utföranden Inkonsistens: Motsägelsefulla data i vår databas, tex samma namn stavat på två olika sätt, eller två olika orter inlagda för samma företag. Hänger ihop med redundans. Får vi bort redundansen eliminerar vi samtidigt inkonsistensen. I tabellexemplet kan vi se exemplet markerat med gult som är ett typexempel på inkonsistens som kan uppstå. Redundans: Är när samma data förekommer på flera olika ställen. Innebär att risken för inkonsistenta data är stor eftersom man måste ändra på alla ställen den datan man ändrar finns. Redundans är förknippat med dålig databasdesign där normalisering ej beaktats tillräckligt. I exemplet kan vi kika på Trumlagret HB som finns på två rader. Blir direkt problem om vi ska ändra namnet, vi måste då se till att ändra samtliga redundanta rader

Normalisering: För att designa databasen på ett korrekt sätt behöver vi bryta isär tabellen Beställning för att slippa problem med inkonsistens, redundans. Till exempel är det problematiskt att uppdatera och ta bort data som finns lagrad på flera ställen (redundant). Glöms ett ställe bort löper vi risken att datan blir inkonsistent och ger två eller fler svar då frågor ska besvaras precist. Utan korrekt data blir databasen värdelös då kanske viktiga beslut ska fattas. I samband med normalisering ska vi vi kika på normalformerna. Vi pratar då om funktionellt beroende (ett värde på varje b för varje a i en tabell), till exempel är ort beroende av postnummer, det finns då ett värde på orten för varje postnummer. Man säger att b är funktionellt beroende av a (ändras postnummret determinerar det värdet på orten som också måste kollas av så det stämmer då a ändras). 1a normalform handlar om att vi har en PK samt att det bara finns ett värde i varje fält/ruta. I tabellexemplet kan nog artikeltyp diskuteras. Troligen behöver den delas upp i två attribut. Ett attribut med artikelnamn och ett attribut med artikelbeskrivning. (OrderNr, ArtikelNr, Artikelnamn, Artikeltyp, Vikt, Antal, Pris, LeveratörID, Leverantörsnamn, Leverantörsstatus) 2a normalform bygger vidare på att 1NF redan är uppfylld och att alla icke-nyckelattribut är funktionellt beroende av hela PK. Vi bryter ut Allt som beror på halva PK, dvs artikel och leverantörsdata. Leverantörsdata bryts i sin tur ut. (OrderNr, ArtikelNr, Antal) (ArtikelNr, Artikelnamn, Artikeltyp, Vikt, Pris, LeverantörID) (LeveratörID, Leverantörsnamn, Leverantörsstatus) 3e normalform bygger vidare på 2a normalform och eliminerar alla transitiva beroenden mellan icke nyckelattribut. Status förefaller beroende av (LeveratörID, Leverantörsnamn) (Leverantörsnamn, Leverantörsstatus) Rätt slutlösning i 3NF: (OrderNr, ArtikelNr, Antal) (ArtikelNr, Artikelnamn, Artikeltyp, Vikt, Pris, LeverantörID) (LeveratörID, Leverantörsnamn) (Leverantörsnamn, Leverantörsstatus)

Uppgift 5 SELECT Företagsnamn, Stad, tel FROM [Kund(Customer)] ORDER BY Företagsnamn; SELECT * FROM [Kund(Customer)] WHERE Företagsnamn LIKE '%AB' ORDER BY Företagsnamn; SELECT Datum, OrderID, Leveranssätt FROM [Order(Order)] WHERE KundID = (SELECT DISTINCT KundID FROM [Kund(Customer)] WHERE tel ='031-785411'); SELECT Företagsnamn, Stad, tel, Kontaktperson,Datum FROM [Order(order)], [Kund(Customer)] WHERE [Order(Order)].KundID=[Kund(Customer)].KundID AND SäljareID='AK3'; UPDATE [Kund(Customer)] SET KundID=1004 WHERE KundID='1001'; DELETE FROM [Order] WHERE KundID=1002; a-d) e) Det går inte pga referensintegriteten. The UPDATE statement conflicted with the REFERENCE constraint "FK_Order(order)_Kund(Customer)". The conflict occurred in database "Jesper_material", table "dbo.order(order)", column 'KundID'. The statement has been terminated. f) 1 row affected

Uppgift 6 se slides