Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522. Läs detta innan du börjar:



Relevanta dokument
Tentamen för 1E1601. Måndag 10 mars 2003, kl Alla hjälpmedel tillåtna

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Fiktiv tentamen för DD1370 Databasteknik och informationssystem

Tentamen. i Databasteknik. lördagen den 13 mars Tillåtna hjälpmedel: Allt upptänkligt material

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen i Databasteknik

Idag. Exempel. Exempel modellen (1) Exempel...

Tentamen för DD1370 Databasteknik och informationssystem

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

Tentamen för DD1370 Databasteknik och informationssystem

Tentamen för DD1370 Databasteknik och informationssystem

Lösningsförslag till tentamen för 1E1601

Tentamen för DD1370 Databasteknik och informationssystem

Lösningsförslag till. tentamen för 1E1601

Tentamen för DD1370 Databasteknik och informationssystem

Dokumentation för Brf Orminge's hemsida

Idag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...

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

Lösningsförslag till fiktiv tentamen för DD1370 Databasteknik och informationssystem

Introduktion till MySQL

Tentamen i. Databasteknik

Kom igång med Procurators nya kundanpassade webbutik!

Att skriva inlägg i Spelmansgillets bloggar hos Blogspot/Google

Datalogi, grundkurs 1

Lathund för Mina sidor och hur man anmäler avrop

Idag. 1. Från modell till databasstruktur. 2. Prata med databaser (frågepsråket SQL)

Från verklighet via modell till databas. Idag. Testa reglerna på varuhusmodellen. Från verklighet via modell till databas

O365- Konfigurering av SmartPhone efter flytt till Office 365 alt ny installation

Ansök till förskola och familjedaghem med Mobilt BankID eller e-legitimation

Installera din WordPress med 9 enkla steg

Övningar i SQL. SQLAccess.doc Ove Lundgren

Omtentamen i OOSU2, 16 maj 2014

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info.

Omtentamen i OOSU2, 21 augusti 2014

Välkommen till Kriminologi 1 på distans!

Tentamen i Databasteknik

Adelanet för vårdnadshavare Grundskola

Dela, samarbeta, byt. Bruksanvisning för medlemmar

Välkommen på kurs hos RIGHT EDUCATION!

Fråga: Hur beställer jag? Svar: För att läsa mer om hur du handlar på linghageshop.com ska du läsa sidan: Så handlar du.

EndNote online T5 hösten Camilla Persson

Wordpress och Sociala medier av Sanna Ohlander Guide till hur du skapar och förändrar inlägg och sidor på staffanstorp.se

Zendesk standard konfiguration Nordisk e handel 1.1

Frontermanual för Rektorsprogrammet

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Användarmanual. Resultatrapportering Kurs1

Aktivitetskort på nätet

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

Idag. Modellering. Varför modellera? Konceptuell modell Modelleringsverktyg Objektklasser Sambandsklasser Knepiga attribut Modelleringsprocessen

Diskussionsforum i Fronter

Verktygen i Fronter, för lärare

Laboration SQL. Kom igång.

Så här funkar Föreningsliv

Inget problem, vi skickar dina registrerade uppgifter till den e-post-adressen som du använde vid registreringen.

Tentamen I Arkitektur och design av globala applikationer

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

Omtentamen i OOPW, 29 augusti 2013 kl. 9-13

Thomas Pihl Frontermanual. för studerande vid Forum Ystad

Anmälning i Kuksa såhär gör du (långa versionen med bilder och översättningar)

E-biblioteket en tjänst från sjukhusbiblioteken

En värld på nätet Facebook ht 2010

Idag. Varför modellera? Modellering. Modelleringsverktygets egenskaper. Modelleringsverktyget

Innehållsförteckning:

Användarmanual DHL ACTIVETRACING 3.3. Full Spårbarhet. Full spårbarhet av dina DHL sändningar

SKOLOMBUD INSTRUKTIONER & REGLER

ANVÄNDARMANUAL FÖR WORDPRESS

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

Flex - Manual. Innehåll

Ursvikskolan Elevernas lathund för skolwebben

Anmälning i Kuksa såhär gör du (långa versionen med bilder och översättningar)

Inledning/innehållsförteckning. Hej!

DD1311 Programmeringsteknik för S1 Laborationer läsåret

Upptäck vår Webbshop! Enkel, smidig och alltid tillgänglig

Lathund Web Help Desk

Inloggning 2 Var och hur loggar man in hemifrån?... 2 Hur skapar man engångskoder och ändrar användarnamn?... 2

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

» RSS - Bygg din egen RSS!

manual interbook SKOLOR

Verktygen i Fronter, för lärare

Mamut Open Services. Mamut Kunskapsserie. Kom i gång med Mamut Online Survey

! Webprogrammering. ! Databasteori och praktik. ! Fö, le, la + projekt. ! Examination (tenta, dugga + labb, ! Studera användarna och deras problem

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

Instruktion för Betanias Kundportal

Innehållsförteckning Inloggning: Allmänna inställningar hur du ändrar utseende och språk samt navigerar i menyn högst upp i bildkant.

Introduktion till Mina sidor

Wordpress och Sociala medier av Sanna Ohlander Guide till hur du skapar och förändrar inlägg och sidor på staffanstorp.se

Ditt användarnamn är den e-postadress som du angav när du registrerade dig. Ditt lösenord får du från ditt barns klasslärare.

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

Snabbguide till First Class

Manual för Menys webbaserade kurser i Fronter

Överföring av filer med Zendto v 1.1. stora filer som inte kan skickas via e-post konfidentiella uppgifter som inte kan skickas via okrypterad e-post

REKRYTERA MED HJÄLP AV OFFENTLIGA JOBB

Kom igång! Snabbstart för dig som är administratör

Så här beställer du varor i webbutiken. Gå in på Logga in Klicka på E-handel

Moodle2 STUDENTMANUAL

Manual för Platsnytt rekrytering. Urvalsfrågor

LUVIT Portal Användarmanual

Preppmaterial för ARON

WEB KLIENT användarmanual

Transkript:

Tentamen i Datorteknik och - kommunikation, 2D1522/4K1522 2002-05-30 Läs detta innan du börjar: Tid: 14.00-18.00. Du får gå tidigast 15.00 Hjälpmedel Utdelade databashäften. Anteckningar i häftet får finnas endast i den mån de är strikt relaterade till kursdelen om databaser. OBS!!! Tentan består av två delar (databasdelen och resten) som ska rättas av olika personer. Besvara därför varje del på olika blad. Skriv bara på bladets ENA sida! Skriv NAMN på varje blad! Läs igenom frågetexten ordentligt innan du formulerar ditt svar. Kontrollera att du svarat på rätt sak. Motivera dina svar! Lämna inget underförstått. Den som rättar ska ej behöva lägga tid på att räkna ut vad du egentligen menat. Skriv läsligt och med korrekt språk. Undermåligt formulerade svar kan medföra poängavdrag. Underlätta för våra tentavakter: (Uttdrag ur KTHs tentamensregler) 1. Inga kläder eller väskor vid skrivplatsen (utom då kläderna befinner sig påklädda på tentanden, Björns anm.). 2. Endast en person i taget får lämna skrivsalen. Maximal poäng är 60. Preliminära betygsgränser: 3: 30 poäng 4: 40 poäng 5: 50 poäng

1. Ett filmvisningsföretag har ett antal biografer och har byggt en modell över verksamheten. Man hade som underlag: Varje film lagras med sin titel (som är eller görs unik). Varje biograf lagras med angivande av antal platser i salongen (en salong per biograf, om det finns två eller fler räknas varje salong som en biograf), adress och telefon till kassan. Varje plats i varje salong är numrerad. Biljetterna numreras med en unik nummerserie och det finns angivet vilken biograf, vilken plats, vilket datum och tid (kl 15, 17, 19... ) biljetten avser. Film Visning DatumTid Biograf FinnsPå Adress Biljett HarPlats Plats med följande egenskapsmatris: Typ Namn I-termer E-termer Obj Film Titel Filmbolag DatumTid DatumTid Biograf Namn Tel, Platsantal Adress AdressNr GatuAdress, GatuNr, Ort Plats PlatsNr Samb Visning Titel, DatumTid, Namn Biljett DatumTid, Namn, PlatsNr Status FinnsPå Namn, AdressNr HarPlats Namn, PlatsNr där Status talar om ifall biljetten är såld eller beställd eller till försäljning. a) (5p) Överför modellen till databasstruktur. Motivera varje steg i överföringen (t.ex. genom angivande av vilka regler i kokboken som använts). 1

b) (5p) Utöka den ursprungliga modellen (inklusive egenskapsmatrisen) så att den även kan representera: Priser. Det finns inte med i modellen ovan. Priset för en biljett kan variera beroende på vilken film som visas men det är alltid samma pris för alla platser i en biograf en viss visning. Priset varierar även över tiden (dyrare idag än för tio år sedan, kan vara dyrare på lördag än på måndag). Man vill registrera vilka skådespelare som medverkar i respektive film med angivande av namn samt huruvida de har huvud- eller biroll i filmen. 2. Ett reservdelslager för TV har ett kort per TV-modell med följande uppgifter i ett register: Modell Unik beteckning för en viss TV-apparat Årtal År då modellen först marknadsfördes Märke Egentligen namnet på tillverkaren Del En lista över beteckningar för delar till modellen Sort En lista med klartextbeskrivningar till delarna Kvantitet Hur mycket man har i lager av varje del Som en första ansats har man samlat alla termer i ett enda register. a) (3p) Föreslå en bättre struktur. Du behöver inte genomföra en formell normalisering. b) (2p) Varför kommer man att få problem om informationen lagras i ett enda register? (Specifika problem för den aktuella strukturen.) 2

3. Översätt till (begriplig?) svenska utgående från varuhuset, som har följande schema: anställd (namn, lön, chef, avd) försäljning (avd, varunr, volym) leverantör (företag, adress) lager (företag, avd, varunr, volym) avdelning (avd, våning) vara (varunr, typ) a) (3p) create view q1 (avd, cnt) as select L.avd, count(v.typ) from lager L, vara V where L.varunr=V.varunr group by L.avd; select våning from avdelning where avd in (select avd from q1 where cnt = (select max(cnt) from q1)); b) (2p) select distinct typ from vara where varunr in (select varunr from försäljning where avd in (select avd from anställd group by avd having avg(lön) > (select avg(lön) from anställd where avd = sport"))); 3

Del 2 4. Antag att du bygger en webtjänst med ett webformulär där en användare kan fylla i en enkät. Webformuläret använder http-metoden POST för att skicka över data till ett PHP-script (eller CGI-script). PHPscriptet lägger in data i en databas och skickar sedan tillbaka en enkel websida som säger Tack för ditt ditt svar, alternativt Uppgifter saknas, gör om. a) (2p) Vilka (om några) http-headers måste minst vara satta från webläsaren för att postningen ska kunna lyckas (exakta namn behövs inte, men vad respektive header har för funktion måste anges). b) (2p) Vilka (om några) http-headers måste minst vara satta från webservern för att svaret ska kunna tolkas av webläsaren. 5. (2p) Beskriv vad ett envägskrypto är och beskriv en situation där ett envägskrypto är att föredra samt varför så är fallet. 6. (2p) Hur går man tillväga om man vill knäcka ett substitutionskrypto givet att man har stora mängder krypterad text på ett välkänt språk.. 7. (2p) Vad är ett shell i unix-sammanhang? Var kommer man oftast i kontakt med sådana (t.ex. när du gjort laborationerna). 8. (3p) Förklara principiellt hur Cookies fungerar och man går tillväga om man vill använda Cookies för sessionshantering. 9. (3p) Vilka lager finns i OSI-modellen och vilka funktioner fyller respektive lager? 10. (3p) Förklara skillnaderna mellan kretskopplade nät och paketkopplade nät. Vilka är de huvudsakliga fördelarna respektive nackdelarna? 11. (2p) Förklara begreppet port i IP-sammanhang. Varför behövs portar? 12. (3p) Vad krävs för att ett XML-dokument ska vara well formed? Vad krävs för att ett XML-dokment ska vara Valid? Är något av well formed och valid ett nödvändigt, men inte tillräckligt, villkor för att det andra ska vara uppfyllt?

13. Insprerad av dokumentären Konspiration 58 har du blivit övertygad om att det finns stora mängder konspirationer i världen, som behöver komma till allmänhetens kännedom, och att det då finns en enom potential för att sälja muggar och T-shirts. Snabbt registrerar du domänen konspiration59.com i övertygelsen om att det säkert fanns någon konspiration även 1959 som kan kommersialiseras. Efter den första entusiasmen lagt sig börjar du planera för hur siten ska vara uppbyggd. Det du fokuserar dig på är ett diskussionsforum där personer kan läsa och lägga in inlägg. Efter lite funderande kommer du fram till följande något vaga beskrivning av vad systemet ska klara och hur det ska fungera: * Något webprogrammeringsspråk och teknik ska användas, t.ex. php eller python. * Att läsa inlägg ska vara möjligt för alla, men för skapa nya inlägg krävs att man registrerar sig och sedan loggar in. * I botten ska en databas finnas där inläggen med tillhörande metainformation ska lagras, samt information om uppgiftslämnare såsom namn, användarnamn, lösenord och epostadress. På nästa sida finns en skiss på hur huvudsidan i inläggsforumet ska se ut. Det är tänkt att fungera så här: * Genom att klicka på Nytt inlägg ska man få upp ett formulär där man kan lägga in ett nytt inlägg. Om man inte är inloggad ska man komma till en inloggningssida. Det ska även finnas möjligheter att registrera sig som ny användare. * Genom att klicka på någon av rubrikerna får man upp en ny sida där själva inlägget syns.

a) (2p)Vilka tabeller ska databasen innehålla, vilka kolumner ska respektive tabell innehålla och hur ska tabellerna vara kopplade till varandra? b) (6 p) Rita en skiss över vilka statiska sidor som ska finnas och vilka dynamiska sidor som ska finnas. Förklara också med pilar mellan sidorna och en kort förklaring hur det är tänkt att man ska navigera mellan sidorna. Förklara slutligen vad varje dynamisk sida ska utföra, antigen i klarspråk eller som pseudokod (t.ex. IF kolla-i-databasen-om-xxx-äruppfyllt THEN hoppa-till-sidan-yyy). Det är viktigt att ni behandlar de problem som finns för respektive sida/funktion, t.ex. hur ni håller reda på vem som är inloggad, och hur ni får reda på alla parametrar som behövs för att kunna ställa de relevanta databasfrågorna etc. c) (4p) Gör ett XML-dokument som på ett vettigt strukturerat sätt beskriver själva innehållet i forumet och dess innehåll (alla inlägg). d) (4p) Gör en DTD som beskriver XML-strukturen.