Från verksamhet till databas

Slides:



Advertisements
Liknande presentationer
I detta bildspel reflekterar kollegor i olika ämnen tillsammans över språkliga handlingar i klassrummet. Underlag till diskussionen är den uppgift som.
Advertisements

Butiksdata.
Databaser & databasdesign
Vad är en databas? “En databas är en delad samling logiskt relaterade data som designats för att möta informationsbehovet i en organisation eller för.
Access med Sebastian och Robert
Klasser och objekt.
DATABASHANTERING för programmerare
B2KUNO Johan Eklund.
Föreläsning 3 Repetition Operatorer Styrstrukturer Deklaration och anrop av metoder.
Datamodellering med E/R-diagram
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev Värnamo Tel: Epost: Databasteknik 2.
Digitalisering av kulturarvet
ANVÄNDARGRÄNSSNITT Förslag till ett Design och konstruktion av interaktiva system HT 2002.
MIIS 2003 – User Identity Lifecycle Management
Föreläsning 2 Datalogi för E1 2D1343
WEBMASTER DAG 13 Mahmud Al Hakim
Databaser och databas-system
Datamodellering med E/R-diagram
APL årsk. 1 BF12AB 2013 v 7 – 12 Alla dagar i veckan.
XSLT – en introduktion Digitalisering av kulturarvet.
Källor! Hur gör man egentligen?
XSLT – en introduktion Elektronisk publicering.
DATABASHANTERING för programmerare
Internet Styrdatorer och kablar Uppkopplade användare Servrar 182.QRZN.
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
Frågespråk och SQL nikos dimitrakas rum 6626
SQL nikos dimitrakas rum 6626
Databashantering Do it Max-style!. SELECT SELECT vad FROM tabellnamn Exempel: ◦ SELECT * FROM stralin_max  * = Välj allt som finns i tabellen ◦ SELECT.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
FRÅGEUTVECKLING INOM MSSQL Marcus Medina. Dagens visdomsord ”Kunskap kan vara tung att inhämta men är sedan lätt att bära.” - Okänd.
MODELLER Modell: struktur som avbildar vissa aspekter av någon del av verkligheten Exempel: Kartor Differentialekvationer Miniatyrmodeller Syfte med modeller:
Databaser och databassystem
IT i organisationer och databasteknik
INFORMATIONSSYSTEM Informationssystem: datoriserat system som stödjer en organisations informationsförsörjning VERKSAMHET avbildar Definitionen alltför.
Logikprogrammering 16/ : operatorer Staffan Larsson.
DATABASHANTERING för programmerare Lektion 6 Mahmud Al Hakim
DATABASHANTERING för programmerare Lektion 5 Mahmud Al Hakim
Access 1 ITDA 2 Kurs Namn Klass Betyg En elev (namn) kommer att läsa många kurser och få ett betyg i varje kurs. Försök modellera om till funktionella.
IV1023 ht2013 nikos dimitrakas KTH/ICT/SCS 1 IV1023 ht2013 Avancerad Datahantering med XML Frågespråk för SSD och XML nikos dimitrakas
Bibliotek
TDDB77 Databasteknik Fö 2 Relationsdatabaser & SQL Henrik André-Jönsson.
TDDB77 Databasteknik Fö 4 Gå från ER/EER-schema till ett relationsschema Henrik André-Jönsson.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
-Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =,,!=, !) -String.
Föreläsning 3 Operatorer Flödeskontroll Primitiva datatyperKlasser i API och egna klasser int double byte float char boolean short long String BufferedReader.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
DA7351 Programmering 1 Databas SQL Föreläsning 24.
Databaser, avancerade frågor
Från databas till Excel
IT Databas Göran Wiréen
IT Databas Göran Wiréen
Röda tråden En orderdatabas
Frågor Villkor och sortering
IT Databas Göran Wiréen
IT Databas Göran Wiréen
En trygg framtid görs i dag. Paikkakunta xxxxxxxxxxxxxx.fi
Repetition Del 1.
Integration av lokala system
IT Databas Göran Wiréen
Operativ informationshantering, databaser
000 Datavetenskap, information, allmänna verk
Kap 1 Vi får behålla vår fina park. källa: datum
SQL Structured Query Language Frågespråk för att används för Kommandon
SQL Structured Query Language Frågespråk för att används för Kommandon
Presentationens avskrift:

Från verksamhet till databas skola elev kurs lärare ämne bibliotek låntagare lån bok skola ((sNr), adress) elev ((eNr), förNamn, efterNamn) lärare ((lNr), förNamn, efterNamn) ämne ((äNamn), kursBok) ((sNr, eNr, lNr, äNamn) bibliotek ((bNamn), adress) låntagare ((ISBN), titel) ((bNamn, lNr, ISBN, datum) Världen Delmängd Modell Databasstruktur Från verksamhet till databas

Från konceptuellt schema till databas Huvudsteg 1. Varje objekttyp blir ett relationsschema 2. Varje 1-1 och 1-m attribut hos en objekttyp blir ett attribut i motsvarande relationsschema 3. Varje m-m attribut blir ett eget relationsschema - attributen i detta ges av nyckelattributen i de sammanbundna relationsschemana

Från konceptuellt schema till databas String String String Integer märke namn ålder regnr PERSON äger (m,m,p,p) BIL

Generalisering i relationsscheman regnr String FORDON String tillverkare ISA BIL märke String

Relationsalgebra Relationsalgebran är ett formellt språk för att extrahera data ur relationer. Språket är uppbyggt av ett litet antal operatorer. De primitiva operatorerna är Selektion Projektion Union Differens Kartesisk produkt

Selektion ANSTÄLLD Namn Lön Chef Avd Per Kvist 15000 Eva Berg Parfym Bo Gren 20000 Eva Berg Parfym Sten Rot 22000 Nils Hed Skor Nils Hed 30000 Eva Berg Skor Eva Berg 35000 Eva Berg Parfym Selektion innebär att man väljer ut ett antal tupler ur en relation baserat på något villkor. Namn Lön Chef Avd Per Kvist 15000 Eva Berg Parfym Bo Gren 20000 Eva Berg Parfym Eva Berg 35000 Eva Berg Parfym sAvd=ParfymANSTÄLLD

Projektion ANSTÄLLD Namn Lön Chef Avd Per Kvist 15000 Eva Berg Parfym Bo Gren 20000 Eva Berg Parfym Sten Rot 22000 Nils Hed Skor Nils Hed 30000 Eva Berg Skor Eva Berg 35000 Eva Berg Parfym Projektion innebär att välja ut ett antal attribut ur en relation. Namn Lön Per Kvist 15000 Bo Gren 20000 Sten Rot 22000 Nils Hed 30000 Eva Berg 35000 pNamn,LönANSTÄLLD

Övning i relationsalgebra ANSTÄLLD(Namn, Lön, Chef, Avd) Vad innebär följande uttryck i naturligt språk? pNamn(sLön > 20000 (ANSTÄLLD)) Skriv ett relationsalgebraiskt uttryck som ger namnen på cheferna för de anställda som tjänar mer än 25000 på skoavdelningen.

Kartesisk produkt AVDELNING ANSTÄLLD Namn Lön Chef Avd Anamn Våning Per Kvist 15000 Eva Berg Parfym Bo Gren 20000 Eva Berg Parfym Sten Rot 22000 Nils Hed Skor Nils Hed 30000 Eva Berg Skor Eva Berg 35000 Eva Berg Parfym Leksaker 2 Livsmedel 3 Parfym 3 Skor 2 Trädgård 1 Namn Lön Chef Avd Våning pNamn,Lön,Chef,Avd,Våning (sAvd = Anamn (ANSTÄLLD X AVDELNING)) Per Kvist 15000 Eva Berg Parfym 3 Bo Gren 20000 Eva Berg Parfym 3 Sten Rot 22000 Nils Hed Skor 2 Nils Hed 30000 Eva Berg Skor 2 Eva Berg 35000 Eva Berg Parfym 3

Join Utifrån de primitiva relationsalgebraiska operatorerna kan nya bildas. R |X| <condition> S = s condition (R X S) pNamn,Lön,Chef,Avd,Våning (ANSTÄLLD |X| Avd = Anamn AVDELNING))

Övning i relationsalgebra ANSTÄLLD(Namn, Lön, Chef, Avd) AVDELNING(Anamn, Våning) Skriv ett relationsalgebraiskt uttryck som ger namn och lön för de anställda som arbetar på andra våningen.

SQL - Structured Query Language SELECT Namn, Lön FROM ANSTÄLLD WHERE Lön > 17000 p X s

SQL - Structured Query Language ANSTÄLLD(Namn, Lön, Chef, Avd) Vad betyder följande SQL-fråga? SELECT Namn, Lön FROM ANSTÄLLD AS A, ANSTÄLLD AS B WHERE A.Chef = B.Namn AND A.Lön > B.Lön

Vyer i SQL CREATE VIEW VÅNTVÅ AS (SELECT * FROM ANSTÄLLD, AVDELNING WHERE ANSTÄLLD.Avd = AVDELNING.Anamn AND Våning = 2) SELECT * FROM VÅNTVÅ WHERE Lön > 20000

Nästlade SQL-frågor CREATE VIEW VÅNTVÅ AS (SELECT * FROM ANSTÄLLD, AVDELNING WHERE ANSTÄLLD.Avd = AVDELNING.Anamn AND Våning = 2) SELECT Namn FROM ANSTÄLLD WHERE Namn NOT IN (SELECT Namn FROM VÅNTVÅ)

Övning SQL ANSTÄLLD(Namn, Lön, Chef, Avd) - Avd främmande nyckel AVDELNING(Anamn, Våning) SÄLJER(Avd, Vara) - Avd främmande nyckel På vilka våningar finns anställda som tjänar mer än 20000? Vilka anställda arbetar på en avdelning som säljer skor? På vilka våningar finns anställda med en chef som tjänar mer än 20000? På vilka våningar säljs inte skor?

Systemkatalog SYSCOLUMNS SELECT COLUMN FROM SYSCOLUMNS COLUMN TABLE DOMAIN PK FK FK-TABLE Namn ANSTÄLLD String yes no Lön ANSTÄLLD Integer no no Chef ANSTÄLLD String no yes ANSTÄLLD Avd ANSTÄLLD String no yes AVDELNING Anamn AVDELNING String yes no Våning AVDELNING Integer no no SELECT COLUMN FROM SYSCOLUMNS WHERE FK = ”yes” AND TABLE = ”ANSTÄLLD”

Optimering Inläsning och parsing Frågeoptimering Kodgenerering Fråga Inläsning och parsing Bearbetad fråga Frågeoptimering Exekveringsplan Kodgenerering Kod för exekvering Resultat Frågeexekvering

Initialt frågeträd PNamn s Lön > 20000 X ANSTÄLLD X AVDELNING SELECT Namn FROM ANSTÄLLD, AVDELNING, SÄLJER WHERE Lön > 20000 AND ANSTÄLLD.Avd = AVDELNING.Anamn AND SÄLJER.Avd = AVDELNING.Anamn AND SÄLJER.Vara = ”Skor” PNamn s Lön > 20000 AND ANSTÄLLD.Avd = AVDELNING.Anamn AND SÄLJER.Avd = AVDELNING.Anamn AND SÄLJER.Vara = ”Skor” X ANSTÄLLD X AVDELNING SÄLJER

Transformerat frågeträd PNamn s ANSTÄLLD.Avd = AVDELNING.Anamn AND SÄLJER.Avd = AVDELNING.Anamn X s Lön > 20000 X ANSTÄLLD s SÄLJER.Vara = ”Skor” AVDELNING SÄLJER

Transformerat frågeträd PNamn |X| ANSTÄLLD.Avd = AVDELNING.Anamn s Lön > 20000 |X| Avd = Anamn ANSTÄLLD s SÄLJER.Vara = ”Skor” AVDELNING SÄLJER