Tentamen i databaser på Verksamhetsstödjande system PDF

Title Tentamen i databaser på Verksamhetsstödjande system
Course Informatik: Verksamhetsstödjande system
Institution Malmö Universitet
Pages 4
File Size 113.6 KB
File Type PDF
Total Downloads 57
Total Views 133

Summary

Tentamen i databaser på Verksamhetsstödjande system (da372a) Jesper Larsson 2019-12-12, 14:15–18:15...


Description

Tentamen i databaser på Verksamhetsstödjande system (da372a) Jesper Larsson 2019-1212, 14:15–18:15 1. (10 p.) Utforma ett databasschema i relationsmodellen för att stödja nedanstående beskrivning. Schemat ska beskrivas genom att ange: • Namn på tabeller, med beskrivning/predikat om det behövs för att användningen ska bli begriplig. • Namn (och ev. beskrivning) på de kolumner varje tabell ska ha. • Vilka kolumner primärnycklar ska bestå av. • Vilka främmande nycklar som ska finnas, och vad de ska referera till. Datatyper behöver inte anges. Inget E/R-diagram behövs (men tycker man att det hjälper som ett steg på vägen är det ok att rita ett). Ge tillräckliga beskrivningar för att det för en databaskunnig person ska vara lätt att förstå hur allt är tänkt att användas. Databasen håller reda på vilka papper som finns i alla skrivare på ett kontor. Varje skrivare har en unik plats som beskrivs med en textsträng, exempelvis ”Kapprummet på 2:a vån.” eller ”Norra konferensutrymmet”. Varje papper har en storlek (A5, A4 eller A3), en färg (vitt, rosa, blått eller gult) och en papperskvalitet (normal, tunn eller styv). Det går förstås inte att skilja mellan individuella papper i samma skrivare om de har samma typ, det vill säga samma storlek, färg och papperskvalitet. Skrivarna förses med papper av anställda, som identifieras med hjälp av e-postadress Databasen håller reda på hur många papper av varje typ som finns i varje skrivare. Den registrerar också vilka anställda som lagt in papper av en viss typ i vilken skrivare: hur många papper och vid vilken tidpunkt (datum och klockslag). Om en skrivare har papper av samma typ som olika anställda lagt dit går det inte att veta ”vems” ett visst papper är, men när en papperstyp tar helt slut i en skrivare rensas alla gamla uppgifter om den papperstypen i den skrivaren bort. Eftersom man sällan tillför nya papper förrän de gamla av den typen tagit slut är det därför oftast bara en person som står för pappren av en viss typ som finns i en viss skrivare..

2. (5 p.) Översätt följande E/R-diagram till relationsmodellen. Svaret ska bestå av vilka tabeller som ska finnas och vilka kolumner var och en ska ha. Inga nycklar, datatyper

eller beskrivningar av användning behöver anges.

stad ( namn, folkmängd, ligger i) land (landskod) språk (språkkod, namn) officiellt (land, språk)

3. (6 p.) En databas innehåller tre tabeller med namn, kolumner och nycklar enligt följande: • Tabell Kund med kolumner epost (en textsträng med högst 30 tecken) och namn (en textsträng med högst 50 tecken). Primärnyckel är epost. • Tabell Vara med kolumner vara_id (ett heltal), vara_namn (en textsträng med högst 30 tecken) och pris (ett heltal). Primärnyckel är vara_id. • Tabell Köp som håller reda på när kunder köpt varor. Den har kolumner kund (en textsträng med högst 30 tecken), vara (ett heltal) och datum (med datatyp date). Primärnyckeln består av kund, datum, och vara. Kolumnen kund är en främmande nyckel som refererar till rader i Kund-tabellen, och vara är en främmande nyckel som refererar till värden i Vara-tabellen. a) Ge SQL för att skapa tabellen Köp inklusive primär- och främmande nycklar. create table köp ( kund varchar (30) vara interger datum date

primary key( kund, datum) foreign key (kund) references kund (epost) foreign key (vara) references vara (vara-id) );

b) Ge SQL för att lista namn på alla kunder som köpt varor som kostar exakt 100 (kronor) på datum 2019-12-06. select kund from (kop join vara on vara=vara_id) where pris=100 and datum=20191206; c) Låt oss säga att primärnyckeln i Köp vore enbart kund och datum. Vad skulle det innebära för praktisk skillnad i hur databasen kan eller inte kan användas? create table kund ( epost varchar(30) primary key, namn varchar(50) ); create table vara ( vara_id integer primary key, vara_namn varchar(30), pris integer ); create table kop ( kund varchar(30), vara integer, datum varchar(20) ); insert into kund (epost, namn) values ('[email protected]', 'jakob'), ('[email protected]', 'albin'), ('[email protected]', 'jonathan'); insert into vara (vara_id, vara_namn, pris) values ('1', 'stol', '100'), ('2', 'bord', '200'), ('3', 'soffa', '300'); insert into kop (kund, vara, datum) values ('jakob', '11', '2019-12-06'), ('albin', '22', '2019-12-01'), ('jonathan', '33', '2019-11-23');

4. (8 p.) En biluthyrningsfirma bygger en webbapplikation för att hålla reda på bokning av bilar, som fungerar som en databasdriven webbplats. En kund ska via internet kunna se vilka sorters bilar som är lediga vilka datum, vad de kostar att hyra, och välja

att boka bil på angivna dagar. Det kan hända att två kunder båda försöker boka den sista bilen av en viss sort på samma tid, vilket då bara ska lyckas för den ena medan den andra får ett felmeddelande. Komponenterna som ska ingå i användninsflödet är: 1. Kundens dator (eller smartphone) med webbläsare. 2. En server med ett databassystem som bilfirman låter en teknikleverantör driva. 3. En webbserver som hotellet anlitar en konsult för att bygga, för kunderna att surfa in på. Ge ett förslag på beskrivning av vad de olika delarna av systemet ska göra. Utelämna sådant som är beroende av ospecificerade detaljer (ge till exempel inte något databasschema, och gå inte in på vilka möjligheter som ska finnas för att ange bilmodell), och fokusera på: • Ansvarsfördelningen mellan databsservern, http-servern och webbläsaren. Vilka funktioner utför var och en av dem för att få det hela att funka? Vilken information har var och en av dem om systemets uppbyggnad. (Man bör till exempel kunna utläsa vilka delar av systemets utformning som skulle gå förlorade om en av dem havererar och tappar sina data.) • Den information som skickas mellan de tre komponenterna under processen. När skickas meddelanden mellan dem och vilken information innehåller de? Observera: Svaret måste relatera till det scenario som ges i frågan för att svaret ska godtas. En generell beskrivning av databasdrivna webbapplikationer accepteras inte som svar....


Similar Free PDFs