Tentamen och lösningsförslag,

Relevanta dokument
SEMINARIUM 6 AFFÄRS- OCH PROCESSMODELLER

Tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

Tentamen. Databasmetodik Lördag 27 september 2014 kl

Exempel-Tentamen III

Lösningsförslag till Exempel tentamen

Webbregistrering pa kurs och termin

Tentamen plus lösningsförslag

Exempel tentamen. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Alla hjälpmedel är tillåtna

Preschool Kindergarten

Webbreg öppen: 26/ /

Analytisk relationsdatabasdesign

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Lösningsförslag, tentamen i Databaser

Informationssystem och databasteknik

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Isolda Purchase - EDI


Förskola i Bromma- Examensarbete. Henrik Westling. Supervisor. Examiner

Enterprise App Store. Sammi Khayer. Igor Stevstedt. Konsultchef mobila lösningar. Teknisk Lead mobila lösningar

Adding active and blended learning to an introductory mechanics course

Service och bemötande. Torbjörn Johansson, GAF Pär Magnusson, Öjestrand GC

Alias 1.0 Rollbaserad inloggning

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

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Analys och bedömning av företag och förvaltning. Omtentamen. Ladokkod: SAN023. Tentamen ges för: Namn: (Ifylles av student.

Lösningsförslag till Tentamen,

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

Inkvarteringsstatistik. Göteborg & Co

Exempel-tentamen 1. + Lösningsförslag. Inga hjälpmedel är tillåtna.

Immigration Bank. Bank - General. Bank - Opening a bank account. Can I withdraw money in [country] without paying fees?

Inst. för Data- och Systemvetenskap SU Maria Bergholtz. Tentamen. 21/ kl Inga hjälpmedel är tillåtna (annat än ordbok).

COPENHAGEN Environmentally Committed Accountants

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

Eternal Employment Financial Feasibility Study

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Writing with context. Att skriva med sammanhang

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

Accomodations at Anfasteröd Gårdsvik, Ljungskile

Affärsmodellernas förändring inom handeln

Konceptuella datamodeller

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13

Tentamen MMG610 Diskret Matematik, GU

Swedish adaptation of ISO TC 211 Quality principles. Erik Stenborg

Isometries of the plane

Discovering!!!!! Swedish ÅÄÖ. EPISODE 6 Norrlänningar and numbers Misi.se

Beijer Electronics AB 2000, MA00336A,

Informa5onsmodellering

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

Lösningsförslag Tentamen, 25 april 03

IT i organisationer och databasteknik

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

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

Flervariabel Analys för Civilingenjörsutbildning i datateknik

SWESIAQ Swedish Chapter of International Society of Indoor Air Quality and Climate

Protokoll Föreningsutskottet

12.6 Heat equation, Wave equation

EXTERNAL ASSESSMENT SAMPLE TASKS SWEDISH BREAKTHROUGH LSPSWEB/0Y09

EXPERT SURVEY OF THE NEWS MEDIA

Syns du, finns du? Examensarbete 15 hp kandidatnivå Medie- och kommunikationsvetenskap

CHANGE WITH THE BRAIN IN MIND. Frukostseminarium 11 oktober 2018

denna del en poäng. 1. (Dugga 1.1) och v = (a) Beräkna u (2u 2u v) om u = . (1p) och som är parallell

Kursplan. EN1088 Engelsk språkdidaktik. 7,5 högskolepoäng, Grundnivå 1. English Language Learning and Teaching

Datasäkerhet och integritet

The Municipality of Ystad

Databaser och Datamodellering Foreläsning IV

Consumer attitudes regarding durability and labelling

Questionnaire for visa applicants Appendix A

PA1415 Programvarudesign Second Resit

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

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

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

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

Surfaces for sports areas Determination of vertical deformation. Golvmaterial Sportbeläggningar Bestämning av vertikal deformation

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 15 August 2016, 8:00-12:00. English Version

A metadata registry for Japanese construction field

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

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

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel:

Förändrade förväntningar

The cornerstone of Swedish disability policy is the principle that everyone is of equal value and has equal rights.

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Custom-made software solutions for increased transport quality and creation of cargo specific lashing protocols.

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

F ξ (x) = f(y, x)dydx = 1. We say that a random variable ξ has a distribution F (x), if. F (x) =

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

Tentamen i Databasteknik

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl LÖSNINGSFÖRSLAG

State Examinations Commission

Windlass Control Panel v1.0.1

FORSKNINGSKOMMUNIKATION OCH PUBLICERINGS- MÖNSTER INOM UTBILDNINGSVETENSKAP

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

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:

Transkript:

Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz och Paul Johannesson Tentamen och lösningsförslag, 0226 2I-033 IT i rganisationer och Databasteknik Tentamen är öppen i så motto att föreläsningar, litteratur, egna anteckningar, lösningsförslag till seminarier, etc., är tillåtna. Det är inte tillåtet att dela material med varandra. Datorer, programmerbara räknare, mobiler etc. är inte tillåtna. Skriv bara på en sida av pappret Skriv namn på varje papper Skriv läsligt, annars rättas inte tentamen Tentan innehåller sex uppgifter som kan ge maximalt 50 poäng För att erhålla betyget tre räcker 35 poäng För att erhålla betyget fyra räcker 4 poäng För att erhålla betyget fem räcker 47 poäng

Uppgift, 0p. Skapa ett konceptuellt schema (t.ex. i form av ett UML klassdiagram) som kan representera ett enkelt rollspel enligt den engelska beskrivningen nedan. Alla avbildningsregler (multiplicities) skall anges. A player can play games with the computer where a game consists of a sequence of battles. When a player starts a battle, she can choose a certain role figure to represent her in the battle. For example, she can choose to be a warrior or a thief or a sorcerer, but there are many more role figures to choose from. Each role figure can carry out different things that help in the battle. For example, a warrior can throw spears or fire guns, while a sorcerer might throw thunderbolts or cast magic spells. Typically, there are between ten and twenty different things a role figure can do. However, what a role figure is capable of doing is dependent on the skill level of the player. Here are a few concrete examples: - A player with skill level 0 who chooses to be a sorcerer can throw thunderbolts - A player with skill level 00 who chooses to be a sorcerer can throw thunderbolts, cast magic spells, and throw daggers - A player with skill level 0 who chooses to be a warrior can fire guns - A player with skill level 50 who chooses to be a warrior can fire guns, throw spears, and throw daggers The skill level of a player varies during a game. After each battle the skill level increases how much depends on the success of the player in the battle. The conceptual schema should make it possible to represent sentences like: - The skill level of Peter is 20 when he starts the game, but it increases to 40 at the second battle and at the last battle his skill level is 220. It should be possible to get answers to queries like: - If Peter had chosen to be a sorcerer in the second battle of the game he started 0220 2:00, which things had he been capable of doing? GAME gameid PLAYER playerid CAPABILITY SPEC skill level BATTLE battleseqno skill RLE FIG name ACTIN actionname Uppgift 2, 8p. Konstruera ett konceptuellt schema (t.ex. i form av ett UML klassdiagram) som uppfyller följande två villkor:. m det konceptuella schemat översätts till ett relationsdatabasschema så erhålles det relationsdatabasschema som återfinns nedan 2. Det konceptuella schemat får innehålla högst tre klasser (om Du gör ett ER-schema, högst tre entiteter) I schemat skall anges alla avbildningsregler (multiplicites) samt för varje klass dess identifierare. Relationsdatabasschema: R(A, B, F)

S(A, B, C, G) T(A, B, A2, B2, C2) U(A, B, A2, B2, C2, H) V(A, B, C, A2, B2, C2) S.(A,B) << R.(A, B) T.(A, B) << R.(A, B) T.(A2, B2, C2) << S.(A, B, C) U.(A, B) << R.(A, B) U.(A2, B2, C2) << S.(A, B, C) V.(A, B, C) << S.(A, B, C) V.(A2, B2, C2) << S.(A, B, C) Följande notation används ovan: PERSN(namn, adress, telnr), HUND(hundid, ägarnamn, ägaradress, ras) Primärnycklar är understrukna. Relationen HUND innehåller ett attribut benämnt ägare som utgör främmande nyckel mot tabellen PERSN. Detta skrivs på följande sätt: HUND.(ägarnamn, ägaradress) << PERSN.(namn, adress) där namn, adress utgör primärnyckel i tabellen PERSN. R A B F S C G U H Uppgift 3, 0p. Betrakta följande relationsdatabasschema: FLD(Namn, Längd) LAND(Namn, Yta) FLYTER_GENM(Flod, Land) GRÄNSAR_MT(Land, Land2 ) KUST_MT(Land, Hav) MYNNAR_I(Flod, Hav, Land) // Floden Flod mynnar i havet Hav i landet Land

(Primärnycklar är angivna med fetstil.) FLYTER_GENM.Flod << FLD.Namn FLYTER_GENM.Land << LAND.Namn GRÄNSAR_MT.Land << LAND.Namn GRÄNSAR_MT.Land2 << LAND.Namn MYNNAR_I.Flod << FLD.Namn MYNNAR_I.Land << LAND.Namn a) Skriv följande fråga i Relationsalgebra och SQL: Vilka länder gränsar mot exakt samma länder som landet Georgien? (4p) Rättning: Någon form av kvot eller kombinationer som simulerar kvot måste vara med. Vi har inte gett avdrag för de som inte tagit fram exakt samma utan bara samma. Georgien_grannar --> PILand2 (SIGMA Land = 'Georgien' (GRÄNSAR_MT)) Icke_Georgien_grannar --> PILand2 (GRÄNSAR_MT) DIFFERENS Georigen_grannar Har_alla_Georgien_grannar --> GRÄNSAR_MT KVT Georgien_grannar Har_minst_en_granne_som_Georgien_inte-Har --> PILand (GRÄNSAR_MT JIN Icke-Georgien_grannar) GRÄNSAR_MT.Land2 = Icke_Georigen_grannar.Land2 6 (SIGMA Land <> 'Georgien' (Har_alla_Georgien_grannar) DIFFERENS Har_minst_en_granne_som_Georgien_inte_har a) Skapa en trigger som upprätthåller följande konsistensregel: Relationen GRÄNSAR_MT är symmetrisk, dvs vid INSERT av en rad i tabellen GRÄNSAR_MT ska ytterligare en rad läggas till som realiserar att om landet X gränsar mot landet Y så ska även landet Y gränsa mot landet X. (3p) CREATE TRIGGER symmetri AFTER INSERT N GRÄNSAR_MT REFERENCING NEW AS n FR EACH RW MDE DB2SQL WHEN (n.land NT IN (SELECT Land2 from GRÄNSAR_MT WHERE Land = n.land2) INSERT INT GRÄNSAR_MT VALUES(n.Land2, n.land); a) Realisera tabellerna LAND och KUST_MT som två CREATE TABLE satser. Definitionerna ska inkludera sk. key business rules, dvs regler för vad som händer om man tar bort den ena av två tabeller som är relaterade via främmande nycklar. (3p) CREATE TABLE LAND(Land varchar(50) NT NULL, Yta integer not null, primary key(land));

CREATE TABLE KUST_MT(Land varchar(50) NT NULL, Hav varchar(50) NT NULL, primary key(land, Hav), foreign key(land) REFERENCES Land(Land) N DELETE CASCADE N UPDATE RESTRICT) Rättning: lika varianter finns. Eftersom den främmande nyckeln inte var utsatt i tentamen så bör det inte ge avdrag om den inte tagits med. Däremot ges avdrag om man deklarerat främmande nycklar i tabellen LAND. Uppgift 4, 8p. Betrakta följande relationsschema: ANSTÄLLD(Anställningsnummer, Rumsnummer, Lönegrad, Avdelning, Antal_kvadratmeter, Lokalkostnad) Följande funktionella beroenden råder: Anställningsnummer Rumsnummer, Lönegrad Rumsnummer Antal_kvadratmeter Lönegrad, Avdelning Antal_kvadratmeter, Lokalkostnad a) (3p) Bestäm primärnyckel för ANSTÄLLD. Motivera ditt val. Primärnyckel = Anställningsnummer + Avdelning. Bevis: Anställningsnummer Lönegrad (dekomponeringslagen) Anställningsnummer Rumsnummer (dekomponeringslagen) Anställningsnummer Antal_kvadratmeter (transitiva lagen) Anställningsnummer, Avdelning Lokalkostnad (pseudotransitiva lagen) Således är minimala antalet attribut som ensamt funktionellt bestämmer övriga attribut lika med Anställningsnummer + Avdelning. Rättning: Bara Anställningsnummer alternativt Anställningsnummer, Avdelning och Lokalkostnad ger poäng b) Vilken normalform är tillämplig för ANSTÄLLD? Motivera ditt val. (2p) NF. Tabellen är inte i 2NF pga vissa attribut, tex Lönegrad mfl bara är bestämda av halva PN. c) Visa via exemplet ovan och motivera i text varför en högre normalform är att föredra framför en lägre. (3p) Icke normaliserade tabeller ger upphov till så kallade uppdateringsanomalier. Tex kan man inte lägga in uppgifter om antal_kvadratmeter i ett rum om inte rummet används av en anställd. Tas en den sista som sitter i

ett rum bort (som anställd) så försvinner alla uppgifter om detta rums storlek, sitter flera i ett rum så kan det, om det vill sig illa, bli så att rummet i fråga har LIKA uppgifter om antal_kvadratmeter dvs konsistensproblem, mao problem både vid INSERT, DELETE och UPDATE. Effektivitetsmässigt så vinner vi en del i dimensionen plats på hårddisken. Eftersom man inte längre dubbellagrar saker som t ex antal kvadratmeter för ett visst rum så minskar det utrymme detta tar. Detta under förutsättning att antalet rader som refererar till samma rum är många och att datatypen för främmande nyckeln är liten i förhållande till storleken på datatypen för antal_kvadratmeter i detta fall. I annat fall kan datastrukturen istället bli större. Vad gäller snabbhet i sökning är tendensen att högre normalform leder till FLER diskaccesser, läs flera JIN mellan tabeller. Uppgift 5, 8p. Låt U vara en mängd attribut. Låt D vara en mängd funktionella beroenden som gäller attributen i U. Låt SAT(D) beteckna mängden av de relationer (tabeller) som har alla attributen i U som kolumner och uppfyller alla funktionella beroenden i D. a) Låt U = {a,b,c,d} och D = {a b, bc d}. Ge ett exempel på en relation (tabell) som tillhör SAT(D) och en relation som inte gör det. Medlem i SAT(D): a b c d x y x m Inte medlem i SAT(D): a b c d x y x m x m x m (Bryter mot a b) b) Avgör för vart och ett av följande påståenden om det är sant eller falskt. Anser du att påståendet är sant motivera med en generell diskussion varför du anser att så är fallet. m du anser att påståendet är falskt så visa detta med ett motexempel. i) m D D2 så SAT(D) SAT(D2) FALSKT. Låt tex D = tomma mängden och D2 = {a b}. Då är vänsterledet SANT (tomma mängden är en delmängd av alla mängder). Högerledet är därmot FALSKT, dvs SAT(D) är nu mängden av ALLA relationer över U. SAT(D2) är en mindre mängd nämligen alla relationer över U som upprättnåller a b. ii) m SAT(D) SAT(D2) så D D2 FALSKT. Låt D2 = tomma mängden. Då är vänsterledet SANT. Högerledet är dock FALSKT, tomma mängden har inga delmängder. Uppgift 6, 6p. Utgå från en liten dagligvarubutik som ingår i en stor affärskedja, t.ex. en ICA-butik. Konstruera en affärsmodell (business model) för företaget. Förklara affärsmodellen i text. Här har vi inte gjort ett exakt lösningsförslag. Varianter av lösningsförslaget till seminarium 6 kan tjäna som modell. Definition av affärsmodell enligt Weill: Similar to Weill, we will visualise business models by means of the legends shown below. The legends are divided into three groups that cover the major aspects of a business model. First, there are the agents, which include the organisation from whose perspective the business model is constructed (square), customers (left-facing pentagons), suppliers (right-facing pentagons), and allies (split squares). Secondly, there are the relationships between the agents shown by lines. Thirdly, there are flows of products or services (arrow labelled 0 ), money (arrow labelled ), and information (arrow labelled i ). The last item, the information, is based on the messages that

flow through the relationships between the agents. nly information pertaining to the transactions occurring is considered here, not information that constitutes products, e.g. downloadable software. Typically, the information is acquired through systematic research about a product or service. A traditional linear industry value chain would have a business model like this one, showing products flowing upwards the chain from suppliers to customers and money flowing in the opposite direction. Supplier s supplier Supplier MyCompany Customer Customer s customer Business Model for Industry Value Chain rganisations may participate in arbitrarily complex business models. However, it is possible to identify a number of basic, generic business models that can be used as building blocks to create more complex models. ne of the simplest generic business models is the direct-to-customer model shown below. The most important flows in this model are products mo ving from the organisation to the customer and a reciprocal movement of money from the customer. The distinguishing feature of this model is that the organisation sells directly to the customer without any intermediary or any other actor being involved. This can be contrasted to a business model where the organisation uses allies (like distributors and dealers) as intermediaries to the customer, see figure below. Replacing this business model with a direct-to-customer model has become increasingly popular during recent years thanks to the possibilities offered by the Internet. ne example is Dell Computer Corporation that hosts a web site, which allows customers to configure and order their computers directly from Dell without the need for any intermediary. MyCompany Customer Direct to Customer Business Model MyCompany Distributor Dealer Customer Intermediary Business Model Removing intermediaries and instead adopting a direct-to-customer model has been one of the most important uses of the Internet in business. However, the Internet has also enabled new types of intermediaries that can link customers and suppliers in ways that would be difficult or even impossible without the use of IT. ne successful type of intermediary is the full-service provider, which provides a customer within some domain with all the services needed by the customer. A full-service provider typically does not produce all the services itself, but instead functions as an intermediary between a supplier and a customer. Any domain could be covered by a full-service provider, e.g. financial services, educational services, and computer equipment. A full-service provider in a financial domain would provide different services like cash management, account

services, financial advice, stock market research, brokerage, etc. The main benefit a full-service provider can offer its customers is a single point of contact so that they do not have to interact with several different suppliers to fulfil their needs in a domain; instead, they only need to interact with the full-service provider.