Uppdelning. Relationell databasdesign, FB Teori Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av
|
|
- Johannes Olofsson
- för 8 år sedan
- Visningar:
Transkript
1 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 i R förekommer i åtminstone ett delschema R i. Låt F vara en mängd funktionella beroenden på relationsschema R och låt R 1, R 2,..., R n vara en uppdelning av R. Restriktionen av F till R i är mängden F i av alla funktionella beroenden i F + som bara innehåller attribut ur R i. Låt F = F 1 F 2... F n.f är en mängd av funktionella beroenden på R som kan testas effektift (ty bara attribut ur ett schema ingår i varje funktionellt beroende)
2 Relationell databasdesign, FB Teori 7-21 En nödvändig egenskap för uppdelningar. Förlustfri uppdelning Betrakta Lending schemat R: Lending_schema= (loan_number, amount, customer_name, branch_name, branch_city, assets) Uppdela Lending schema i R 1 : Branch_customer_schema = (branch_name, branch_city, assets, customer_name) och R 2 : Customer_loan schema = (customer_name, loan_number, amount) Alla attribut i det ursprungliga schemat R måste förekomma i uppdelningen (R 1, R 2 ): R = R 1 R 2 Rekonstruera Lending schema m.h.a natural join branch_customer customer_loan Tabellerna i en databas måste kunna joinas korrekt. Leder till Lending + falska tupler och att information försvinner, dvs. informationen om vem som är låntagare i vilken branch. lending b_name b_city assets c_name l_num amount a Åbo 2000 Kalle L b T:fors Kalle L c H:fors Pelle L branch_customer b_name b_city assets c_name a Åbo 2000 Kalle b T:fors Kalle c H:fors Pelle customer_loan c_name l_num amount Kalle L Kalle L Pelle L branch_customer customer_loan b_name b_city assets c_name c_name l_num amount a Åbo 2000 Kalle Kalle L a Åbo 2000 Kalle Kalle L a Åbo 2000 Kalle Pelle L b T:fors Kalle Kalle L b T:fors Kalle Kalle L b T:fors Kalle Pelle L c H:fors Pelle Kalle L c H:fors Pelle Kalle L c H:fors Pelle Pelle L branch_customer customer_loan b_name b_city assets c_name l_num amount a Åbo 2000 Kalle L a Åbo 2000 Kalle L b T:fors Kalle L b T:fors Kalle L c H:fors Pelle L-11 23
3 Relationell databasdesign, FB Teori 7-22 Branch_customer_schema = (branch_name, branch_city, assets, customer_name) Customer_loan schema = (customer_name, loan_number, amount) Exemplet ovan är en lossy-join uppdelning: Resultatet av att utföra -operationen på delarna ger mera tupler, men mindre information jämfört med den ursprungliga relation som uppdelades. Motsatsen är en förlustfri, lossless-join uppdelning. Exempel på en lossless-join uppdelning: Betrakta en alternativ uppdelning, där Lending_schema uppdelas i Branch_schema = (branch_name, branch_city, assets) Loan_info_schema = (branch_name, customer_name, loan_number, amount) branch_name assets branch_city Om en kund råkar ha lån från flera grenar, så kan vi inte säga vilket lån som hör till vilken gren. branch b_name b_city assets a Åbo 2000 b T:fors c H:fors loan_info b_name c_name l_num amount a Kalle L b Kalle L c Pelle L branch loan-info = lending b_name b_city assets c_name l_num amount a Åbo 2000 Kalle L b T:fors Kalle L c H:fors Pelle L Varför är den första uppdelningen "lossy" men inte den andra? Branch_customer_schema Customer_loan_schema = { customer_name } Branch_schema Loan_info_schema = { branch_name } Problemet i det första fallet är att assets och branch_city alltid är desamma för en gren, medan customer_name inte funktionellt bestämmer loan_number : Dvs. de gemensamma attributen vid joinen måste funktionellt bestämma den ena delrelationen, dvs. vara en supernyckel för den ena delrel.
4 Relationell databasdesign, FB Teori 7-23 Mera formellt: Låt R vara ett relationsschema. R 1, R 2,..., R n är en uppdelning av R Låt r vara en relation på R, och låt r i = Π R (r),i = 1, 2,..., n, dvs. uppdelningen ger relationerna r 1, r 2,..., r n. i Då gäller r r i Uppdelningen är lossless-join om inga falska tupler ingår, dvs. r = r i Givet relationsschema R och funktionella beroenden F, så är R = R 1 R 2 lossless om åtminstone en av följande gäller i F: R 1 R 2 R 1 R 1 R 2 R 2 Är BCNF uppdelning förlustfri? Exempel på icke lossless-join uppdelning: Uppdelning av R = (A, B) i R 1 = (A) och R 2 = (B) Π A (r) r r A B a 1 a 2 b 1 Π B (r) Π A (r) Π B (r) A a b r A B a 1 a 2 b 1 b 2 B 1 2
5 Relationell databasdesign, FB Teori 7-24 Ex.: Vidare uppdelning av Lending schemat: Loan_info_schema = (branch_name, customer_name, loan_number, amount) customer_name, loan_number Loan_info_schema uppdelas i Loan_schema = (branch_name, loan_number, amount) Borrower_schema = (customer_name, loan_number) Uppdelningen är lossless: Loan_schema Borrower_schema = {branch_name, loan_number, amount} {customer_name, loan_number} = { loan_number } Det gäller att loan_number branch_name, amount aug, x x=x loan_number loan_number, branch_name, amount (loan_number + = loan_number branch_name amount ) loan_number Loan_schema dvs. loan_number är kandidatnyckel i Loan_schema: Loan_schema Borrower_schema Loan_schema v.s.b. lending b_name b_city assets c_name l_num amount a Åbo 2000 Kalle L b T:fors Kalle L c H:fors Pelle L branch b_name b_city assets a Åbo 2000 b T:fors c H:fors loan_info b_name c_name l_num amount a Kalle L b Kalle L c Pelle L borrower c_name l_num Kalle L-23 Kalle L-02 Pelle L-11 loan b_name l_num amount a L b L c L-11 23
6 Relationell databasdesign, FB Teori 7-25 En önskvärd egenskap för uppdelningar. Beroende-bevarande uppdelning En uppdelning R 1, R 2,..., R n av ett relationsschema R är beroendebevarande om F = F, dvs. om alla FB i F ingår i någon restriktion av F till R i Att en uppdelning är beroende-bevarande innebär att varje funktionelt beroende i F kan testas i åtminstone en av relationerna i uppdelningen. En uppdelning kan vara beroende-bevarande fastän F F: Låt F = F i, F är en mängd av funktionella beroenden på R som vanligen är olika F, men F + = F + kan gälla. Om så är fallet är varje beroende i F logiskt implicerat av F. det räcker att testa F, ty om F är satisfierat är F det även. Ex.: R = (A, B, C) F = { A B, B C }, F + = { A B, B C, A C} Uppdelning i R 1 = (A, B) med F 1 = { A B} och R 2 = (B, C) med F 2 = { B C}, F = { A B, B C }: uppdelningen är lossless-join: R 1 R 2 = { B } och aug B BC ty (B) + = BC = R 2 under F 2 (B C B BC ) uppdelningen är beroende-bevarande: ty F = F A B kan testas i R 1 och B C i R 2
7 Relationell databasdesign, FB Teori 7-26 Uppdelning i R 1 = (A, B) med F 1 = { A B} och R 2 = (A, C) med F 2 = { A C}, F = { A B, A C }: uppdelningen är lossless-join: R 1 R 2 = { A }, och A AB = R 1 uppdelningen är ej beroende-bevarande: F F och F + F + A B kan testas i R 1 men B C måste testas i R 1 R 2.
8 Relationell databasdesign, FB Teori 7-27 Ex.: Uppdelningen av Lending schema är beroende-bevarande: Branch_schema = (branch_name, assets, branch_city) Loan_schema = (branch_name, loan_number, amount) Borrower_schema = (customer_name, loan_number) branch_name assets branch_city loan_number amount branch_name Betrakta varje funktionellt beroende i F + ; visa att det kan testas i (åtminstone) en relation i uppdelningen. branch_name assets branch_city kan testas i Branch_schema loan_number amout branch_name kan testas i Loan_schema I detta exempel är det enkelt att verifiera att uppdelningen är beroende-bevarande ty F = F (tillräckligt villkor för beroende-bevarande). Om testen ovan misslyckas testas för beroende-bevarande med följande test (som beräknar höljet av F och F ): Algoritm för test av beroende-bevarande D = {R 1, R 2,..., R n } är en uppdelning av ett relationsschema R F är mängden av funktionella beroenden på R. beräkna F + for varje schema R i i D do begin F i = restriktionen av F + till R i end F := F i ; beräkna F + if (F + = F + ) then return (true) else return (false)
9 Relationell databasdesign, FB Teori 7-28 En effektivare test som undviker att beräkna F + : Tillämpa följande procedur på varje funktionellt beroende α β i F: resultat = α while (förändringar i resultat) do for each R i i D t = (resultat R i ) + R i resultat = resultat t Dvs. varje FB α β testas i F genom att använda en modifierad form av attributhölje för att se om det bevaras av uppdelningen. Attributhöljet är m.a.p. de funktionella beroendena i F. Omresultat innehåller alla attribut i β, så bevaras α β. Uppdelningen är beroende-bevarande omm alla beroenden i F bevaras. Observera att i stället för att beräkna restriktionen av F på R i och använda den för att beräkna attributhöljet av resultat, använder vi attributhöljet för (resultat R i ) m.a.p. F och snittar det sedan med R i för att få ett ekvivalent resultat. Denna procedur är snabbare (polynomiell mot exponentiell). Repetition av information I uppdelningen av Lending-schema blir det inget problem med upprepning av information som i Lending-schemat där det är nödvändigt att upprepa branch och assets för varje lån. Uppdelningen separerar gren- och lånedata i två olika relationer och eliminerar därvid upprepning. Den grad av "lack of redundancy" vi kan uppnå representeras av flera normalformer.
Relationell databasdesign
Relationell databasdesign Kapitel 7 Relationell databasdesign sid Uppdelning m.h.a. funktionella beroenden 3 Funktionella beroenden - teori 12 Uppdelningsalgoritmer 27 Designprocess 33 Relational oath
Läs merFunktionella 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 merRelationsmodellen. 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 merAndra 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 merDatabasdesign. 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 merSQL, 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 merFrå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 merKarlstads 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 merUniversitetet: ER-diagram
Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning Varför normalisera? Metod att skydda
Läs merDatabaser Design och programmering
Databaser Design och programmering Fortsättning på relationsmodellen: Normalisering funktionella beroenden normalformer informationsbevarande relationsschemauppdelning 2 Varför normalisera? Metod att skydda
Läs merReducering 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 merKonceptuella 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 merIdag. Databaskvalitet(??) Databaskvalitet... Databaskvalitet...
Idag Databaskvalitet(??) 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? Det finns metoder
Läs merLogisk 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 merNORMALISERING. 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 merE-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 merSkriftlig 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 mer2NF 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 merGrunderna 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 merTypsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Läs merKarlstads 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 merFöreläsning 6: Normalisering & funktionella beroenden
Föreläsning 6: Normalisering & funktionella beroenden DVA234 Databaser IDT Akademin för Innovation, Design och Teknik Innehåll Föreläsningens mål: Att ge en överblick över hur normalisering fungerar Önskvärda
Läs merKarlstads 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 merPga 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 merTentamen 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 merLö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 merTypsystem. Typsystem... Typsystem... Typsystem... 2 *
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 10 Anton Grensjö grensjo@csc.kth.se 9 november 2017 1 Idag En konstruktionsreduktion Fler bevis av NP-fullständighet 2 Teori Repetition Ett problem tillhör
Läs merInformationssystem 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 merLö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 merLösningar till tentamen i EDAF75
Lösningar till tentamen i EDAF75 4 april 2018 Lösning 1 (a) Här är ett förslag till E/R-modell: Det finns flera rimliga alternativa sätt att modellera, så du behöver inte vara orolig bara för att du inte
Läs merKvalitetstä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 merDatabasteori. Ö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 merAvancerad 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 merFöreläsning 9: NP-fullständighet
Föreläsning 9: NP-fullständighet Olika typer av problem: 1. Beslutsproblem: A(x) =Ja. 2. Optimeringsproblem: A(x) =m Vanligen max/min. 3. Konstruktionsproblem: A(x) =En struktur. Vanligen lösningen till
Läs merProgramdesign, 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 merUtsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section
Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett
Läs merIdag. 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 merTENTAMEN. 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 merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merDIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL. r s använder vi för att uttrycka frågor där ordet alla figurerar:
DIVISIONSEXEMPEL RELATIONSALGEBRA OCH SQL r s använder vi för att uttrycka frågor där ordet alla figurerar: Ex. Vilka personer har stamkundskort vid ALLA klädesbutiker i stad X? Vilka personer har bankkonto
Läs merGIS, 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 merTDDI 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 merLogik och kontrollstrukturer
Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch
Läs merProgrammering II (ID1019) :00-12:00
ID1019 Johan Montelius Programmering II (ID1019) 2015-03-13 09:00-12:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren
Läs merNormalisering. 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 merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 7 Anton Grensjö grensjo@csc.kth.se 14 oktober 2015 Anton Grensjö ADK Övning 7 14 oktober 2015 1 / 28 Översikt Kursplanering Ö6: Algoritmkonstruktion F19:
Läs merGrundläggande logik och modellteori
Grundläggande logik och modellteori Kapitel 4: Konjunktiv och disjunktiv normalform Henrik Björklund Umeå universitet 15. september, 2014 CNF och DNF Konjunktiv normalform (CNF) Omskrivning av en formel
Läs merAnalytisk 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 merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 1 Anton Grensjö grensjo@csc.kth.se 14 september 2015 Anton Grensjö ADK Övning 1 14 september 2015 1 / 22 Översikt Kursplanering F1: Introduktion, algoritmanalys
Läs merProgramkonstruktion och datastrukturer. Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem
Programkonstruktion och datastrukturer Formell verifiering eller hur man bevisar att program gör rätt utan att testa dem PKD 2012/13 Formell verifiering Sida 1 Uppdaterad 2008-11-28 Formell verifiering:
Läs merRelationsalgebra. Relationsalgebra består av en mängd operatorer som tar en eller två relationer som input och producerar en ny relation som resultat.
Database: Relationsalgeba 2-11 Relationsalgeba Relationsalgeba bestå av en mängd opeatoe som ta en elle två elatione som input och poducea en ny elation som esultat. De fundamentala opeationena ä unäa
Läs merBakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
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Ä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 merTentamen 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 merTDDI60 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 merExempel 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 merFilosofisk logik Kapitel 15. Robin Stenwall Lunds universitet
Filosofisk logik Kapitel 15 Robin Stenwall Lunds universitet Dagens upplägg Första ordningens mängdlära Naiv mängdlära Abstraktionsaxiomet (eg. comprehension) Extensionalitetsaxiomet Små mängder Ordnade
Läs merIT 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 merLö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 merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merTentamen 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 merTENTAMEN. 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 merDatabaser - Design och programmering. Relationsmodellen. Relationer - som tabeller. Relationer som tabeller. Alternativa notationer: Relationsschema
Databaser Design och programmering Relationsmodellen definitioner ER-modell -> relationsmodell nycklar, olika varianter Relationsmodellen Introducerades av Edward Codd 970 Mycket vanlig Stödjer kraftfulla
Läs merKomponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska
Matlab-föreläsning 3 (4), 17 september, 2015 Innehåll Sekvenser (från förra föreläsningen) Upprepning med for-slingor och while-slingor Villkorssatser med if - then -else - Logik Sekvenser - repetion från
Läs merDeklarationer/definitioner/specifikationer
Deklarationer/definitioner/specifikationer Konstantdefinitioner innebär att ett namn binds och sätts att referera till ett värde som beräknas vid kompileringen/interpreteringen och som under programmets
Läs merTENTAMEN. 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 merFöreläsning 7 Datastrukturer (DAT037)
Föreläsning 7 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-21 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Förra
Läs merFöreläsning 9 Innehåll
Föreläsning 9 Innehåll Binära sökträd algoritmer för sökning, insättning och borttagning, implementering effektivitet balanserade binära sökträd, AVL-träd Abstrakta datatyperna mängd (eng. Set) och lexikon
Läs merFöreläsning 8: Intro till Komplexitetsteori
Föreläsning 8: Intro till Komplexitetsteori Formalisering av rimlig tid En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1
Läs merFöreläsning 2 Programmeringsteknik och C DD1316
Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer
Läs merFöreläsning 7+8: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?
Formalisering av rimlig tid Föreläsning 7+8: NP-problem En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1 är för långsam.
Läs merCS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)
CS - Computer science Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008) Vad datateknik INTE är: Att studera datorer Att studera hur man skriver datorprogram Att studera hur man använder
Läs merTENTAMEN 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Ö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 merDugga Datastrukturer (DAT036)
Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre
Läs merFöreläsning 8+9: NP-problem. Begreppet effektiv algoritm är alltså synonymt med går i polynomisk tid i den här kursen. Är detta en rimlig uppdelning?
Formalisering av rimlig tid Föreläsning 8+9: NP-problem En algoritm som har körtid O(n k ) för någon konstant k är rimligt snabb. En algoritm som har körtid Ω(c n ) för någon konstant c>1 är för långsam.
Läs merFor-sats/slinga. Notis
Notis I koden för exemplen förekommer kommentarer. Kommentarer i Matlabkoden identieras med prexet %. Kommentarer är text/kod som Matlab bortse från. Alltså all text/kod som ligger till höger och på samma
Läs merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övningsmästarprovsövning 2 Anton Grensjö grensjo@csc.kth.se 20 november 2017 1 Dagordning 1. Genomgång av uppgiftens lösning 2. Genomgång av bedömningskriterier
Läs merDatabasteori Ö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 merFö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 merAlgoritmer, datastrukturer och komplexitet
Algoritmer, datastrukturer och komplexitet Övning 10 Anton Grensjö grensjo@csc.kth.se 18 november 2015 Anton Grensjö ADK Övning 10 18 november 2015 1 / 20 Översikt Kursplanering Ö9: NP-fullständighetsbevis
Läs merTDDI16 Datastrukturer och algoritmer. Algoritmanalys
TDDI16 Datastrukturer och algoritmer Algoritmanalys 2017-08-28 2 Översikt Skäl för att analysera algoritmer Olika fall att tänka på Medelfall Bästa Värsta Metoder för analys 2017-08-28 3 Skäl till att
Läs merFilosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19
Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium IV v. 2.0, den 29/4 2013 III. Metalogik 17-19 Modeller för satslogiken 18.1 Vi har tidigare sagt att en modell är en tolkning av en teori
Läs merTENTAMEN. 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 merLösningsförslag till tentamen i EDA011, lördagen den 16 december 2006
Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006 Detta lösningsförslag är skrivet i stor hast, så det är möjligt att det innehåller en del slarvfel jag ber i så fall om ursäkt för
Läs merFöreläsning 5: Kardinalitet. Funktioners tillväxt
Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A
Läs merIntroduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner
Läs merFöreläsning 8: Aritmetik och stora heltal
2D1458, Problemlösning och programmering under press Föreläsning 8: Aritmetik och stora heltal Datum: 2006-11-06 Skribent(er): Elias Freider och Ulf Lundström Föreläsare: Per Austrin Den här föreläsningen
Läs merFöreläsning 5: Dynamisk programmering
Föreläsning 5: Dynamisk programmering Vi betraktar en typ av problem vi tidigare sett: Indata: En uppsättning intervall [s i,f i ] med vikt w i. Mål: Att hitta en uppsättning icke överlappande intervall
Läs merDatastrukturer och algoritmer
Datastrukturer och algoritmer Föreläsning 5 Algoritmer & Analys av Algoritmer Algoritmer Vad är det? Innehåll Mer formellt om algoritmer beräkningsbarhet Att beskriva algoritmer Analysera algoritmer Exekveringstid,
Läs merTentamen DATABASTEKNIK - 1DL116
Uppsala universitet Institutionen för informationsteknologi Kjell Orsborn Tentamen 2003-05-20 DATABASTEKNIK - 1DL116 Datum...Tisdagen den 20 Maj, 2003 Tid...12:00-17:00 Jourhavande lärare...kjell Orsborn,
Läs merFöreläsning 7: Syntaxanalys
DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2007-10-30 Skribent(er): Erik Hammar, Jesper Särnesjö Föreläsare: Mikael Goldmann Denna föreläsning behandlade syntaxanalys.
Läs merTER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)
1 (7) Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen Sal (1) Tid Kurskod Provkod Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som ingår i tentamen
Läs merAsymptotisk komplexitetsanalys
1 Asymptotisk komplexitetsanalys 2 Lars Larsson 3 4 VT 2007 5 Lars Larsson Asymptotisk komplexitetsanalys 1 Lars Larsson Asymptotisk komplexitetsanalys 2 et med denna föreläsning är att studenterna skall:
Läs merBankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Läs merNormalisering. 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 merTDDC30. Kursledning Kursledare: Jonas Lindgren. Labassistent: Jonas Lindgren Labassistent: Niklas Holma Labassistent: Erik Nilsson
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Imperativa delen av
Läs merExempel på ett litet Ada-program
Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift
Läs mer