Relationell databasdesign

Storlek: px
Starta visningen från sidan:

Download "Relationell databasdesign"

Transkript

1 Relationell databasdesign Kapitel 7 Relationell databasdesign sid Uppdelning m.h.a. funktionella beroenden 3 Funktionella beroenden - teori 12 Uppdelningsalgoritmer 27 Designprocess 33 Relational oath : "A nonkey field must provide a fact about the key the key the whole key and nothing but the key so help me Codd"

2 Relationell databasdesign 7-1 Hur skall ett schema för en relationell databas utformas? Målet är att generera en mängd relationsscheman som tillåter att data lagras utan onödig redundans men som samtidigt möjliggör en enkel åtkomst av information. Dvs. en god uppdelning av data i relationsscheman bör hittas. Målet nås genom att utforma scheman i lämplig normalform. En normalform specifiserar krav (vilka typer av begränsningar som får finnas i ett relationsschema) på ett schema. För att kunna avgöra om ett relationsschema är i lämplig normalform eller ej behövs information om den reella värld databasen avbildar. En del av denna information finns i E-R-diagrammet, men mera information om organisationen behövs - begränsningar som ej kan uttrycks i diagrammet. En "bra" samling av relationsscheman Undviker upprepning av data Tillåter representation av all behövlig information Möjliggör kontroll av uppdateringar dvs. kontroll m.a.p. brytande av integritetsbegränsningar Ex.: Lending_schema = (branch_name, branch_city, assets, customer_name, loan_number, amount) Överflödighet: Data för branch_name och assets upprepas för varje lån som branch ger => Minnesutrymme slösas, uppdateringar kompliceras, risken för inkonsistens i DB ökas. null-värden: ingen information om en branch kan lagras om branchen ej givit lån, om ej null-värden tillåts (svåra att hantera).

3 Relationell databasdesign, Första normalformen 7-2 Första normalformen, 1NF Första normalformen pålägger bara ett mycket grundläggande krav på relationer: Domänerna för alla attribut är atomiska, dvs. betraktas som odivisibla. Icke-atomära domäner kan leda till designer med redundanta datalager (entitetsmängder), som i sin tur lätt leder till inkonsistens i databasen. att information kodas i program (det krävs programmering för att komma åt information) Icke-atomära domäner kan vara användbara i vissa fall varför många moderna databassystem understöder icke-atomära domäner (kap 9) Vad innebär detta?

4 Relationell databasdesign, Uppdelning m.h.a.fb 7-3 Uppdelning m.h.a. funktionella beroenden Funktionella beroenden (beteckning ) Nycklar, eller mera allmänt funktionella beroenden är begränsningar på databasen som kräver att relationer satisfierar vissa egenskaper. En relation som satisfierar alla sådana begränsningar säges vara legal. Låt R vara ett relationsschema. En delmängd K av R är en supernyckel om inga två tupler kan ha samma värde på attributmängden K. dvs. t 1 t 2 t 1 [K] t 2 [K] eller t 1 [K] = t 2 [K] t 1 = t 2 Def.: Låt R vara ett relationsschema. Låt α, β R. Det funktionella beroendet α βgäller på R, om för varje giltig relation r(r), för alla par av tupler t 1,t 2 i r så att t 1 [α] =t 2 [α], det även gäller att t 1 [β] = t 2 [β]. Dvs. t 1 [α] = t 2 [α] t 1 [β] = t 2 [β] M.a.o, K är en supernyckel för R, om K R, dvs, t 1 [K] = t 2 [K] t 1 [R] = t 2 [R], dvs. t 1 = t 2 Funktionella beroenden kan användas för att uttrycka begränsningar som vi ej kan uttrycka m.h.a. supernycklar. Ex.: Schemat loan_info_schema = (branch_name, loan-number, customer-name, amount) Ett givet lån kan ges åt mera än en person, så loan_number är ej en supernyckel, men de funktionella beroendena loan_number amount loan_number branch_name bör gälla.

5 Relationell databasdesign, Uppdelning m.h.a.fb 7-4 Funktionella beroenden används på två sätt: 1. För att specificera begränsningar på mängden av legala relationer. Vi skall alltså bara handskas med de relationer som satisfierar en given mängd F av funktionella beroenden. Vi säger då att F gäller på R. 2. För att testa relationer för att se om de (relationerna) är legala under F. Om en relation r är legal under F, säger man att r satisfierar F. Ex.: Betrakta följande relation r. Vilka funktionella beroenden gäller? A C? ja det finns två par av tupler med samma värde på A: de har samma C värde C A? nej ty t.ex. t 4 [C] = t 5 [C] men t 4 [A] t 5 [A] AB D? ja det finns inget par av olika tupler t 1 och t 2 så att t 1 [AB] = t 2 [AB] A BC? nej ty t.ex. t 1 [A] = t 2 [A] men t 1 [BC] t 2 [BC] A B C D a 1 b 1 c 1 d 1 a 1 b 2 c 1 d 2 a 2 b 2 c 2 d 2 a 2 b 3 c 2 d 3 a 3 b 3 c 2 d 4 Ett funktionellt beroende säges vara trivialt om det satisfieras av alla relationer, t.ex. A A. Allmänt kallas ett funktionellt beroende α β trivialt om β α Obs! En instans av en viss relation kan satisfiera ett funktionellt beroende som ej gäller på relationens schema. t.ex. i bankdatabasens exempelinstans gäller customer_street customer_city men eftersom gator kan tänkas ha samma namn i olika städer inkluderar vi ej customer_street customer_city i mängden av funktionella beroenden som skall gälla för customer schemat.

6 Relationell databasdesign, Uppdelning m.h.a.fb 7-5 I bankexemplet måste åtminstone följande icke-triviala funktionella beroenden alltid gälla: Customer_schema = (customer-name, customer_street, customer_city): customer_name customer_street customer_name customer_city Branch_schema = (branch-name, branch_city, assets): branch_name branch_city branch_name assets Loan_schema = (branch_name, loan-number, amount): loan_number branch_name loan_number amount Borrower_schema = (loan-number, customer-name ): inga FB Account_schema = (account-number, branch_name, balance ): account_number branch_name account_number balance Depositor_schema = (account-number, customer-name): inga FB

7 Relationell databasdesign, Uppdelning m.h.a.fb 7-6 Boyce-Codd normalform (BCNF), 2NF BCNF eliminerar all redundans som kan uppteckas på basen av funktionella beroenden. Ett relationsschema R är i BCNF om för alla funktionella beroenden på R av formen α β (α, β R) minst en av följande gäller 1. α β är ett trivialt funktionellt beroende (dvs. β α) 2. α är en supernyckel för R Vad innebär detta? En databasdesign är i BCNF om alla relationsscheman är i BCNF. Ex.: Bankexemplet - alla scheman är i BCNF Customer_schema är BCNF ty de icke-triviala funktionella beroenden har customer_name på vänstra sidan (customer_name är en kandidatnyckel). Borrower_schema är i BCNF ty det har inga funktionella beroenden. Customer_schema = (customer-name, customer_street, customer_city): customer_name customer_street customer_name customer_city Branch_schema = (branch-name, branch_city, assets): branch_name branch_city branch_name assets Loan_schema = (branch_name, loan-number, amount): loan_number branch_name loan_number amount Borrower_schema = (loan-number, customer-name ): Account_schema = (account-number, branch_name, balance ): account_number branch_name account_number balance Depositor_schema = (account-number, customer-name):

8 Relationell databasdesign, Uppdelning m.h.a.fb 7-7 Ex.: Schemat Loan_info_schema = (customer-name, loan-number, amount ) loan_number amount customer_name, loan_number amount är inte i BCNF ty loan_number är inte en supernyckel. Uppdelning av scheman Ett schema som inte är i BCNF kan uppdelas i två: Låt R vara ett schema som ej är i BCNF. Då finns det åtminstone ett icke-trivialt funktionellt beroende α β sådant att α inte är en supernyckel för R. Ersätt R med scheman (α β) och (R - (β - α)) Ex.: Loan_info_schema ersätts av Loan_schema = (loan-number, amount): (α β ) loan_number amount Borrower_schema =(customer-name, loan-number): (R - (β - α)) = (R - β) ty β innehåller inga av α s attribut Loan_schema är i BCNF Borrower_schema är i BCNF Resulterande scheman som ej är i BCNF uppdelas vidare.

9 Relationell databasdesign, Uppdelning m.h.a.fb 7-8 BCNF och beroendebevarande För att uttrycka konsistensbegränsningar i en databas finns olika metoder primärnyckelbegränsningar funktionella beroenden check-begränsningar assertationer Varje gång databasen uppdateras skall begränsningarna testas. En databas bör utformas så att begränsningar kan testas effektivt. Ett test av ett funktionellt beroende som kan göras genom att bara undersöka en relationskapsmängd är effektivt. Uppdelning i BCNF kan leda till att testning involverar flere mängder dvs. blir ineffektiv. Ex.: Bankexemplet ändras så att en kund tillåts ha flera personliga bankirer, men bara en från en gren En anställd måste nu associeras med en gren. Ändringen kunde implementeras i E-R-diagrammet på följande sätt: ursprunglig version (en bankir per kund) Ett fel i denna design : en kund kan ha flera bankirer från samma gren branch_city branch_city branch-amne assets branch-amne assets branch en anställd tillhör en gren branch customer-id customer_street customer-id customer_street customer_name customer_city customer_name customer_city customer customer cust_ banker type-ass. works_in cust_ banker type-ass. flera bankirer per kund employee employee emploee-id employee_name tel_num emploee-id employee_name tel_num

10 Relationell databasdesign, Uppdelning m.h.a.fb 7-9 Man borde ha en relationskapsmängd som tvingar fram begränsningen att en kund bara har en bankir per gren: Istället för att lägga till works_in ersätts cust_banker med en ternär relationskapsmängd: och FB cust_banker_branch(customer-id,employee-id, branch_name, type_ass) med customer-id,employee-id cust_banker_branch employee_id branch_name Fördel: en enda relationskapsmängd representerar begränsningen, dvs. den är enkelt att testa. Men cust_banker_branch schemat är ej i BCNF ty employee_id är ej en supernyckel och vi måste upprepa branch_name för varge gång en anställd deltar i en cust_banker_branch relationskap. Uppdelning ger: branch_city (employee-id, branch_name) assets (customer-id, emploee-id, type_ass) branch-amne Dvs. denna design är den samma som den ursprungliga versionen (med works_in som tillåter att en kund har flera bankirer från samma gren) och begränsningen (en kund kan ha högst en personlig bankir från en gren) måste uttryckas med det funktionella beroendet: customer_id, branch_name employee_id branch customer-id customer_street customer_name customer_city customer Dvs. uppdelning i BCNF är ej beroendebevarande Varför ej? cust_ banker_ branch employee type-ass. emploee-id tel_num employee_name

11 Relationell databasdesign, Uppdelning m.h.a.fb 7-10 Tredje normalformen, 3NF BCNF kräver att alla icke-triviala funktionella beroenden är av formen α β där α är en supernyckel. 3NF är svagare, den tillåter icke-triviala funktionella beroenden vars vänstersida ej är en supernyckel: Ett relationsschema R är i tredje normalform med avseende på en mängd F av funktionella beroenden om det gäller för varje funktionellt beroende i F + av formen α β, där α R och β R, att åtminstone en av följande gäller: 1. α β är ett trivialt funktionellt beroende 2. α är en supernyckelför R 3. Varje attribut A i β α ingår i en kandidatnyckel för R Obs! alla attribut i β α behöver ej ingå i samma kandidatnyckel. Villkor 3 medför att varje schema har en beroendebevarande uppdelning i 3NF. Obs! varje schema som satisfierar BCNF satisfierar även 3NF. Ex.: Betrakta schemat. cust_banker_branch(customer-id, employee-id, branch_name, type_ass) med det FB som medför att det ej är i BCNF employee_id branch_name Är det i 3NF? Dvs. är branch_name en del av en kandidatnyckel?

12 Relationell databasdesign, Uppdelning m.h.a.fb 7-11 Visa att branch_name ingår i en kandidatnyckel: Vi har de funktionella beroendena employee_id branch_name customer_id, branch_name employee_id ( samt customer_id, employee_id cust_banker_branch eftersom (customer_id, employee_id) är primärnyckel och då även en kandidatnyckel. Finns det andra kandidatnycklar? Är customer_id, branch_name en kandidatnyckel? customer_id, branch_name employee_id gäller För ett visst (customer_id, employee_id) par kan det bara finnas en relationskap i cust_banker_branch ty customer_id, employee_id cust_banker_branch Dvs. (customer_id, branch_name) är en supernyckel ty employee_id branch_name gäller Varken customer_id eller branch_name är supernycklar så (customer_id, branch_name) är en kandidatnyckel. Dvs. employee_id branch_name strider ej mot 3NF regler, dvs. cust_banker_branch är i 3NF gäller Obs! Besvärligt varför man bör använda formella metoder vid resonering om funktionella beroenden, normalformer och uppdelningar av scheman.

Uppdelning. Relationell databasdesign, FB Teori 7-20. Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av

Uppdelning. Relationell databasdesign, FB Teori 7-20. Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av Relationell databasdesign, FB Teori 7-20 Uppdelning Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av R om R i = R, i=1,...,n. Dvs. varje R i är en delmängd av R och varje attribut

Läs mer

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella

Relationsmodellen. Relations modellen är idag den mest änvända datamodellen för kommersiella Relationsmodellen 2-1 Relationsmodellen Relations modellen är idag den mest änvända datamodellen för kommersiella applikationer. Relationsdatabasstruktur En relationsdatabas består av en samling tabeller,

Läs mer

Databasdesign. E-R-modellen

Databasdesign. E-R-modellen Databasdesign Kapitel 6 Databasdesign E-R-modellen sid Modellering och design av databaser 1 E-R-modellen 3 Grundläggande begrepp 4 Begränsningar 10 E-R-diagram 14 E-R-design 16 Svaga entitetsmängder 19

Läs mer

Funktionella beroenden - teori

Funktionella beroenden - teori Relationell databasdesign, FB Teori 7-12 Funktionella beroenden - teori Vid utformning av databassystem är det av största vikt att man kan resonera systematiskt om funktionella beroenden bl.a. för att

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

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

Reducering till relationsscheman

Reducering till relationsscheman E-R-modellen, Reducering till rel.scheman 6-26 Reducering till relationsscheman En databas som överensstämmer med ett E-R-databasschema kan representeras som en mängd relationsscheman ty E-R-modellen och

Läs mer

Andra relationella språk

Andra relationella språk Andra relationella språk Kapitel 5 Andra relationella språk sid Tupelrelationskalkyl 1 Domänrelationskalkyl 6 Query-by-Example (QBE) 8 Andra relationella språk, tupelrelationskalkyl 5-1 Tupelrelationskalkyl

Läs mer

E-R-modellen, E-R-diagram 6-14. E-R-diagram. representerar entitetsmängder

E-R-modellen, E-R-diagram 6-14. E-R-diagram. representerar entitetsmängder E-R-modellen, E-R-diagram 6-14 Komponenter Rektanglar Ellipser Ruter Linjer E-R-diagram representerar entitetsmängder repr. attribut repr. relationskapsmängder länkar attribut till entitetsmängder och

Läs mer

Frågeoptimering. Frågeoptimering kapitel 14

Frågeoptimering. Frågeoptimering kapitel 14 Frågeoptimering kapitel 14 Frågeoptimering sid Introduktion 1 Transformering av relationsuttyck 4 Kataloginformation för kostnadsestimering Statisk information för kostnadsestimering Kostnadsbaserad optimering

Läs mer

Universitetet: ER-diagram

Universitetet: ER-diagram Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning Varför normalisera? Metod att skydda

Läs mer

Grunderna för relationsmodellen!

Grunderna för relationsmodellen! Grunderna för relationsmodellen! 1 Varför behöver jag lära mig relationsmodellen?! Relationsmodellen är den totalt dominerande datamodellen i moderna databassystem Beskriver databaser som en mängd tabeller

Läs mer

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 * * * * DAV B04 - Databasteknik! "# $ %'&( ) KaU - Datavetenskap - DAV B04 - MGö 132 Riktlinjer när man vill skapa en databas 1) Designa så att det är lätt att förstå innebörden. Kombinera inte attribut

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

Karlstads Universitet, Datavetenskap 1

Karlstads Universitet, Datavetenskap 1 DAV B04 - Databasteknik KaU - Datavetenskap - DAV B04 - MGö 1 Normalisering Förut sunt förnuft Nu formell metod riktlinjer för att hjälpa till att gruppera attributen (egenskaperna) för varje relation

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

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion.

Programdesign, databasdesign. Databaser - Design och programmering. Funktioner. Relationsmodellen. Relation = generaliserad funktion. Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Programdesign, databasdesign Databasdesign Konceptuell design Förstudie, behovsanalys

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

2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY!, där RIDKURS.KursId = KURS.KursId 3NF Hästnamn, Art, NY! NY! NY! NY!

2NF Hästnamn, KursId, StartDatum, SlutDatum KursId NY!, där RIDKURS.KursId = KURS.KursId 3NF Hästnamn, Art, NY! NY! NY! NY! ÖVNING 9 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

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

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18

Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 LiTH, Tekniska högskolan vid Linköpings universitet 1(5) IDA, Institutionen för datavetenskap Juha Takkinen Skriftlig tentamen i kurserna TDDD12 och TDDB48 Databasteknik 2008-08-11 kl. 14 18 Lokal T2 och

Läs mer

Kvalitetstänkande. Utgångsläge Samtliga ER-diagram har överförts till scheman

Kvalitetstänkande. Utgångsläge Samtliga ER-diagram har överförts till scheman Kvalitetstänkande Utgångsläge Samtliga ER-diagram har överförts till scheman Förbättra kvaliteten på relationsscheman Normalformler ger dugligare nycklar Hitta funktionella beroenden med hjälp av slutsatsdragning

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

Informationssystem och databasteknik

Informationssystem och databasteknik Informationssystem och databasteknik Föreläsning 5 Analytisk databasdesign F5! Funktionellt beroende: Pnr Namn Funktion (i vanlig mat. betydelse): 610321 11111 22222 33333 Maria Eva Sture Olle För 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

Normalisering. Christer Stuxberg Institutionen för Informatik och Media

Normalisering. Christer Stuxberg Institutionen för Informatik och Media Normalisering Christer Stuxberg christer.stuxberg@im.uu.se Institutionen för Informatik och Media Översikt Normalisering Dataredundans och Uppdateringsanomalier Anomalier vid insättning Anomalier vid borttagning

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

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

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

IT i organisationer och databasteknik

IT i organisationer och databasteknik IT i organisationer och databasteknik Föreläsning 5 Analytisk databasdesign Arkitektur hos ett informationssystem Presentation Användargränssnitt via en browser Applikationslogik Data Java servlets som

Läs mer

Ett databashanteringssystem (DBHS) skiljer sig från andra programmeringssystem bl.a.

Ett databashanteringssystem (DBHS) skiljer sig från andra programmeringssystem bl.a. 1 Kap. 1 INTRODUKTION Ett databashanteringssystem (DBHS) skiljer sig från andra programmeringssystem bl.a. 1. Möjligheten att hantera persistenta data 2. Möjligheten att accessera stora mängder av data

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

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

Pga att (Nummer och Typ) tillsammans bestämmer övriga attribut funktionellt väljer vi (Nummer, Typ) till primärnyckel: ÖVNING 1. PRODUKT(Nummer, Namn, Typ, Klass, Prisklass, Vikt, Volym, Fraktkostnad) Nummer, Typ Namn, Klass, Pris, Prisklass, Vikt, Volym, Fraktkostnad Namn, Typ Nummer Typ Klass Pris Prisklass Vikt, Volym,

Läs mer

Idag. Hur vet vi att vår databas är tillräckligt bra?

Idag. Hur vet vi att vår databas är tillräckligt bra? Idag Hur vet vi att vår databas är tillräckligt bra? Vad är ett beroende? Vad gör man om det blivit fel? Vad är en normalform? Hur når man de olika normalformerna? DD1370 (Föreläsning 6) Databasteknik

Läs mer

Avancerad SQL Kapitel 4. Databaser: Avancerad SQL. sid SQL datatyper 1 Integritetsbegränsningar 3 Auktorisering 7 Inbäddad SQL 10 Dynamisk SQL 10

Avancerad SQL Kapitel 4. Databaser: Avancerad SQL. sid SQL datatyper 1 Integritetsbegränsningar 3 Auktorisering 7 Inbäddad SQL 10 Dynamisk SQL 10 Avancerad SQL Kapitel 4 Avancerad SQL sid SQL datatyper 1 Integritetsbegränsningar 3 Auktorisering 7 Inbäddad SQL 10 Dynamisk SQL 10 Avancerad SQL, datatyper 4-1 Datatyper i SQL En datatyp, dvs. domän

Läs mer

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign)

Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign) Föreläsning 4 Transformation från konceptuell datamodell till relationsschema ( Syntetisk databasdesign ) Normalisering (Analytisk databasdesign) 1 Vad är en databas? Logiskt sammanhängande mängd av data,

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

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

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

GIS, databasteknik och kartografi. Kursmaterial för databasdelen

GIS, databasteknik och kartografi. Kursmaterial för databasdelen GIS, databasteknik och kartografi Kursmaterial för databasdelen Våren 2004 Innehåll Objekt och objektklasser......................... 3 Samband och sambandsklasser...................... 4 Övningsuppgifter:

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

Databasteori Övningar

Databasteori Övningar Databasteori Övningar Eva L. Ragnemalm November 2009, uppdaterad april 2010 Kapitel 1: ER-modellering Skapa ER-diagram för nedanstående övningar (läs om ERmodeller i boken) 1. Universitetet (Detta är samma

Läs mer

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

Normalisering. Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info. Normalisering Varför? För att åstadkomma en så bra struktur i databasen som möjligt med minimalt med dubbellagrad info. Tillbaka i modelleringsfasen. 1NF: Vad menas med ett sammansatt attribut? Exempel:

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

Lösningsförslag Tentamen, 25 april 03

Lösningsförslag Tentamen, 25 april 03 Lösningsförslag Tentamen, 25 april 03 Uppgift 1 Kommentar: Svårigheterna ligger i att differentiera mellan BIL och BILMODELL och MOTOR och MOTORTYP. Båda avbildare ett sk. powertype-förhållande (templatecopy)

Läs mer

Tentamen Databasteknik

Tentamen Databasteknik Försättsblad Tentamen Databasteknik 2003 04 29, 8.00 13.00 Inga hjälpmedel. Bedömning (preliminär): uppgifterna ger maximalt 14 + 11 + 11 + 6 + 4 + 4 = 50 poäng. För godkänt krävs 25 poäng (3/25, 4/33,

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Institutionen för datavetenskap Linköpings universitet TETAME TDDB77 Databaser och Bioinformatik 22 augusti 2006, kl 14-18 Jourhavande lärare: Lena Strömbäck (Patrick Lambrix, 0703-492066) Poäng: Tentan

Läs mer

Tentamen plus lösningsförslag

Tentamen plus lösningsförslag Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Tentamen plus lösningsförslag 2I-1100 Informationssystem och databasteknik Skriv bara på en sida av pappret Skriv namn på varje

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

TDDI60 Tekniska databaser

TDDI60 Tekniska databaser Lena Strömbäck 2006-10-13 Skriftlig tentamen i kursen TDDI60 Tekniska databaser Datum: 2006-10-13 Tid: 8-12 Lokal: T2, U3 Hjälpmedel: Engelsk ordlista tillåten ej elektronisk Poängränser: Tentamen består

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

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

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

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 Inst. för Data- och Systemvetenskap SU/KTH Maria Bergholtz, Paul Johannesson Exempel tentamen 2I-1100 Informationssystem och Databasteknik Tentamen är öppen i så motto att läroböcker, föreläsningsanteckningar,

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 15 mars 2002, kl 14-18 Jourhavande lärare: Patrick Lambrix, 2605 Poäng: Tentan består ut av 2 delar. För

Läs mer

TDDI 60 Tekniska databaser

TDDI 60 Tekniska databaser Lena Strömbäck 2004-08-19 Skriftlig tentamen i kursen TDDI 60 Tekniska databaser Datum: 2004-08-19 Tid: 14-18 Lokal: TER1 Hjälpmedel: Engelsk ordlista tillåten ej elektronisk Miniräknare ej programmerbar

Läs mer

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna

Tentamen NDA01G Öppen för alla. Tentamenskod: Inga hjälpmedel är tillåtna Databasteknik 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen NDA01G Öppen för alla Tentamenskod: Tentamensdatum: 2016-11-04 Tid: 14:00-19:00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

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

Tentamen 2I1033, IT i Organisationer och Databasteknik lördag 17/4 2004, kl. 10 15 LÖSNINGSFÖRSLAG Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz Tentamen 2I033, IT i Organisationer och Databasteknik lördag 7/4 2004, kl. 0 5 LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna. Skriv bara på

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

Tentamen DATABASTEKNIK - 1DL116, 1MB025

Tentamen DATABASTEKNIK - 1DL116, 1MB025 Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn, Tore Risch Tentamen 2004-08-16 DATABASTEKNIK - 1DL116, 1MB025 Datum...Måndagen den 16 Augusti, 2004 Tid...14:00-19:00 Jourhavande

Läs mer

Lösningsförslag till Tentamen,

Lösningsförslag till Tentamen, Institutionen för Data- och Systemvetenskap SU/KTH Maria Bergholtz och Paul Johannesson Lösningsförslag till Tentamen, 022 2I-00 Informationssystem och databasteknik För att erhålla betyget tre räcker

Läs mer

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

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

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

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

Tentamen i. Databasteknik. för D1, SDU1 m fl. tisdag 15 januari 2013

Tentamen i. Databasteknik. för D1, SDU1 m fl. tisdag 15 januari 2013 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 tisdag 15 januari 2013 Gäller som

Läs mer

Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag

Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Tentamen EIT:DB Databastmetodik 11/1 2013 kl. 13 17 + Lösningsförslag Inga hjälpmedel är tillåtna (annat än ordbok). Kort syntaxsamling för delar av SQL samt lista med symboler för relationsalgebraiska

Läs mer

Tentamen. TDDB38 - Databasteknik

Tentamen. TDDB38 - Databasteknik Tekniska Högskolan i Linköping, Institutionen för datavetenskap Almut Herzog / Olof Johansson / Patrick Lambrix / Cecile Åberg Tentamen TDDB38 - Databasteknik (Svensk version) Datum: Fredag 12:e januari

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

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

Databaser design och programmering. Design processen ER- modellering

Databaser design och programmering. Design processen ER- modellering Databaser design och programmering Design processen ER- modellering 2 Programutveckling Förstudie, behovsanalys Programdesign, databasdesign Implementation 3 Programdesign, databasdesign Databasdesign

Läs mer

Databasteori. Övningar

Databasteori. Övningar Databasteori Övningar Eva L. Ragnemalm November 2009, reviderad 2012, 2014, augusti 2016, mars 2017 Observera: det finns inget facit till dessa övningar, eftersom många går att lösa på flera sätt, mer

Läs mer

Databasteori Övningar

Databasteori Övningar Databasteori Övningar Eva L. Ragnemalm November 2009, reviderad augusti 2016 Kapitel 1: ER-modellering Skapa ER-diagram för nedanstående övningar (läs om ERmodeller i boken). Övningarna kräver inte EER-komponenter.

Läs mer

Utveckling av webbapplikationer med.net, DVA213 (1 av 5)

Utveckling av webbapplikationer med.net, DVA213 (1 av 5) Utveckling av webbapplikationer med.net, DVA213 (1 av 5) TENTAMEN Utveckling av webbapplikationer med.net, DVA213, 15/08/12 kl. 8:10-12:30 Ansvariga lärare: Afshin Ameri, Dag Nyström Max poäng: 60p Betygsgränser:

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

Utvecklingen av ett tidregistrerings- och faktureringssystem

Utvecklingen av ett tidregistrerings- och faktureringssystem Datavetenskap Opponenter: Anders Heimer & Jonas Seffel Respondenter: Daniel Jansson & Mikael Jansson Utvecklingen av ett tidregistrerings- och faktureringssystem Oppositionsrapport, C-nivå 2006:10 1 Sammanfattat

Läs mer

TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18

TENTAMEN. TDDD12 Databasteknik TDDD46 Databasteknik. 16 augusti 2010, kl 14-18 LiTH, Linköpings tekniska högskola IDA, Institutionen för datavetenskap Jose M. Peña 2010-08-10 Lokal TER1 och TERC. Tillåtna hjälpmedel Lexikon, miniräknare. TENTAMEN TDDD12 Databasteknik TDDD46 Databasteknik

Läs mer

Entity-Relationship-modellen

Entity-Relationship-modellen Entity-Relationship-modellen 1 Varför behöver man kunna E-R design? E-R diagram är ett visuellt sätt att designa databasers struktur Enkelt och överskådligt sätt att beskriva data, samt de samband som

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

Databasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för?

Databasteknik. Vad är. Vad är databaser bra till? data? föreläsare: Kjell Lindqvist. och NADA. databaser? och. vad är de bra för? Databasteknik Vad är data? föreläsare: Kjell Lindqvist och NADA databaser? och vad är de bra för? och varför ska ni kunna något om dem? Copyright c NADA, KTH DBT, bild 1 Copyright c NADA, KTH DBT, bild

Läs mer

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

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA... INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...6 2 (6) 2D1954 Programutvecklingsprojekt vt 2003 Installation

Läs mer

EMPS(NAME, SALARY, DEPT)

EMPS(NAME, SALARY, DEPT) Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer

Läs mer

Övningsuppgift. Bankkonton. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Övningsuppgift. Bankkonton. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Övningsuppgift Bankkonton Steg 2 Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402 Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering

Läs mer

Databaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts

Databaser - Design och programmering. Operationer i relationsalgebra. Att söka ut data. Exempel DBschema. Att plocka ut data, forts Databaser Design och programmering Relationsalgebra den matematiska grunden för att bearbeta data representerad i relationsmodellen Operationer i relationsalgebra Två typer av operationer: Operationer

Läs mer

TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18

TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDB77 Databaser och Bioinformatik 24 april 2004, kl 14-18 Jourhavande lärare: Pawel Pietrzak (013/28 24 10, 013/21 01 17) Poäng: Tentan

Läs mer

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18

TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Institutionen för datavetenskap Linköpings universitet TENTAMEN TDDD12 Databasteknik 7 januari 2010, kl 14-18 Jourhavande lärare: Jose M. Peña (1651) Poäng: Tentan består av 2 delar. För godkänd krävs

Läs mer

ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP. Tommy Färnqvist, IDA, Linköpings universitet

ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP. Tommy Färnqvist, IDA, Linköpings universitet Föreläsning 5 ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 11 september 2015 Tommy Färnqvist, IDA, Linköpings

Läs mer

Föreläsning 3 Dagens föreläsning går igenom

Föreläsning 3 Dagens föreläsning går igenom Databasbaserad publicering Föreläsning 3 1 Föreläsning 3 Dagens föreläsning går igenom E/R-modellen & Läs om E/R-diagram i kapitel 2-3 i boken "Databasteknik" eller motsvarande avsnitt på http://www.databasteknik.se/webbkursen/er/index.html

Läs mer

Universitetet: ER-diagram e-namn

Universitetet: ER-diagram e-namn Databaser Desig och programmerig Fortsättig på relatiosmodelle: Normaliserig fuktioella beroede ormalformer iformatiosbevarade relatiosschemauppdelig Varför ormalisera? Metod att skydda oss frå dum desig

Läs mer

Informationssystem och Databasteknik

Informationssystem och Databasteknik Informationssystem och Databasteknik Föreläsning 4 Relationsmodellen Från konceptuell modell till relationsdatabasschema Analytisk databasdesign Vad är ett databashanteringssystem? En mängd program som

Läs mer

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa.

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa. Institutionen for datavetenskap CTH- TIN 140 Goteborg GU- INN 12 mw DATABASER D4 och GU HT -97 Andra omtentamen i DATABASER Obs! Larare-version, med losningar DAG: lo, 22 aug 1998 TID: kl. 8.45 { 12.45

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

Separation of Concern. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017

Separation of Concern. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017 Separation of Concern Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017 Modulär design Ett programsystem är för stort för att kunna förstås i sin helhet.

Läs mer

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

Tentamen Databasmetodik DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 2013 kl. 9-13 Institutionen för Data- och Systemvetenskap IT-universitetet Maria Bergholtz Tentamen DB:DSK/FK/DVK/ATD/SP/EIT mfl. äldre kurstillfällen 8 augusti 203 kl. 9-3 Inga hjälpmedel tillåtna (syntaxsammanställning

Läs mer

Säker datahantering med SE-PostgreSQL

Säker datahantering med SE-PostgreSQL Säker datahantering med SE-PostgreSQL Andreas Cederholm Mattias Lindström Examenrapport vid CSC Handledare: Mads Dam Examinator: Mads Dam Referat SE-PostgreSQL är ett tillägg till databashanteraren PostgreSQL

Läs mer

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa.

Uppgift 1. (a) Ange tre orsaker hur felaktigheter i en databas kan uppsta. Till varje av dem, ange en lamplig metod som anvands som atgard mot dessa. Institutionen for datavetenskap CTH- TIN 140 Goteborg GU- INN 12 mw DATABASER D4 och GU HT -98 Omtentamen i DATABASER Obs! Larare-version, med losningar DAG: lo, 28 nov 1998 TID: kl. 8.45 { 12.45 SAL:

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

2014-2015 Alla rättigheter till materialet reserverade Easec

2014-2015 Alla rättigheter till materialet reserverade Easec 1 2 Innehåll Introduktion... 4 Standarder... 5 Översikt: Standarder... 6 1058.1-1987 IEEE Standard för Software Project Management Plans... 7 Ingående dokument... 8 Syfte och struktur... 9 ITIL... 10 ITIL

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

En ipad-baserad ritningsbehandlare

En ipad-baserad ritningsbehandlare IT 13 032 Examensarbete 15 hp Maj 2013 En ipad-baserad ritningsbehandlare David Eriksson Kristian Ionescu Institutionen för informationsteknologi Department of Information Technology Abstract En Ipad-baserad

Läs mer

Abstract. Webbsida för lagring av alumner i en databas. Website containing a database for the storage of alumni contact information.

Abstract. Webbsida för lagring av alumner i en databas. Website containing a database for the storage of alumni contact information. Abstract Webbsida för lagring av alumner i en databas Website containing a database for the storage of alumni contact information Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet

Läs mer