Databashanteringssystem

Slides:



Advertisements
Liknande presentationer
Butiksdata.
Advertisements

security through simplicity 2 Visste du att du kan använda ditt inpasseringskort till att logga in till din dator, till ditt nätverk och till dina molntjänster?
•Varför? •När? Resan •Vad ska vi göra? •Vart bor vi? •Nöjen? 13:45- 14:55 Stockholm- Köpenhamn 15:40- 18:10 Köpenhamn- Chicago 20:05- 23:05 Chicago-
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.
Relationsdatabasdesign
Romersk skulptur Exempel Förutsättningar Kännetecken
hej och välkomna EKVATIONER Ta reda på det okända talet.
(Data)Modellering nikos dimitrakas rum 6626
MS Excel 2010 – Dag 2 Mahmud Al Hakim
DATABASHANTERING för programmerare
Leif Håkansson’s Square Dancer Rotation
MS Excel 2007 Dag 1 Lärare: Mahmud Al Hakim. Agenda 1.Börja arbeta med Excel Hantera arbetsböcker 3.Formler 4.Formatera 5.Diagram Att läsa: sid.
MS Excel 2010 – Dag 1 Mahmud Al Hakim. Kursens innehåll 2 DagInnehåll 1 Introduktion till Excel 2010 Hantera arbetsböcker Formler Formatering Litteratur:
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev Värnamo Tel: Epost: Databasteknik 2.
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
Förstudie 2. Design 3. Migrering 4 Analys av befintlig miljö –Microsoft Assessment and Planning (MAP) kan användas för att analysera sin miljö.
© 2005 MAH – Datavetenskap LdP Transaktioner Distribuerade system PV7110.
1 Informationssystem och databasteknik 2I Elmasri Navathe kapitel Relationsdatabashanteringssystem RDBHS.
IT i Organisationer och databasteknik 2I
En introduktion till Datakommunikation och Säkerhetstänkande
Karolinska Institutet, studentundersökning Studentundersökning på Karolinska Institutet HT 2013.
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2007.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 7: Deadlocks.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 11: Implementation av filsystem.
Enkätresultat för Fritidshem Föräldrar 2014 Skola - Hällby skola.
INFÖR NATIONELLA PROVET
DAV B04 - Databasteknik Återhämtning (kap 19).
Enkätresultat för Grundskolan Elever 2014 Skola:Hällby skola.
1 Vänsterskolan Debattartiklar. 2 Aktuell krok 3 Aktuella krokar 1. Direkt krok.
Från Gotland på kvällen (tågtider enligt 2007) 18:28 19:03 19:41 19:32 20:32 20:53 21:19 18:30 20:32 19:06 19:54 19:58 20:22 19:01 21:40 20:44 23:37 20:11.
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
TÄNK PÅ ETT HELTAL MELLAN 1-50
Grundskola Elever 2013 Grundskoleenkät - Elever ( per klass)
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Frågespråk och SQL nikos dimitrakas rum 6626
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Enkätresultat för Fritidshem Elever 2014 Skola:Fritidselever, Gillberga skola.
SQL nikos dimitrakas rum 6626
ITK3:DB/EIT:DB Databasmetodik
Grundskola Föräldrar 2013 Grundskoleenkät - Föräldrar Enhet:Gillberga skola.
Databashantering Do it Max-style!. SELECT SELECT vad FROM tabellnamn Exempel: ◦ SELECT * FROM stralin_max  * = Välj allt som finns i tabellen ◦ SELECT.
Transaktionshantering (kap 17+18)
Databashantering MS Access 2003 Lektion 2
Flexicon – Din systempartner
2 Agenda 1. Börja arbeta med Excel Hantera arbetsböcker 3. Formler 4. Formatera 5. Diagram 6. Skriva ut 7. Referenser mellan kalkylblad 8. Arbeta.
Täckningsgrad Dec 2014 – feb 2015 Täckningsgrad Dec 2014 – feb 2015.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord “Det verkar alltid omöjligt tills dess att det är gjort” Nelson Mandela.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Frågeutveckling inom MSSQL
Enkätresultat för Grundskolan Föräldrar 2014 Skola - Gillberga skola.
OpCon/xps - A case study. Club2200Page 1 OpCon/xps – A case study Club2200 Magnus Nyman & Hans Forslind.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
Vara kommun Grundskoleundersökning 2014 Föräldrar 2 Levene skola årskurs 5 Antal svar 2014 för aktuell årskurs i skola: 12 Antal svar 2014 för årskurs.
Projekt 5.3 Gilpins och Ayalas θ-logistiska modell A Course in Mathematical Modeling - Mooney & Swift.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
BVForum - en genomgång för revisorer Sören Thuresson.
Förskoleenkät Föräldrar 2012 Förskoleenkät – Föräldrar Enhet:Hattmakarns förskola.
DATABASHANTERING för programmerare Lektion 5 Mahmud Al Hakim
Grundskola Elever 2013 Grundskoleenkät - Elever Enhet: Gillberga skola.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
När infaller Julafton och hur ofta?
Navision och SQL Server 2005
DA7351 Programmering 1 Databas SQL Föreläsning 24.
Operativsystem - Baklås Mats Björkman
Presentationens avskrift:

Databashanteringssystem nikos dimitrakas nikos@dsv.su.se 08-162099 rum 6626 Connolly/Begg (3rd edition) Kapitel 18.1, 18.2, 6.2, 4.4 (inte 6.4.3, 6.4.4), 6.5, 6.6, 3.3, 8.2.7, 27.4.11, 19.1, 19.2, 19.3 (4th edition) Kapitel 19.1, 19.2, 6.2, 6.4 (inte 6.4.3, 6.4.4), 6.5, 6.6, 3.3, 8.2.7, 28.4.12, 20.1, 20.2, 20.3 (5th edition) Kapitel 20.1, 20.2, 7.2, 7.4 (inte 7.4.3, 7.4.4), 7.5, 7.6, 4.3, 29.4.12, 22.1, 22.2, 22.3

Databashanteringssystem Säkerhet Användare och behörigheter Integritet Backup och återställning Transaktionshantering Samtidighet (concurrency) Lås Rollback Återställning

Säkerhet Hot Avsiktliga eller oavsiktliga hot som kan påverka systemet och organisationen Stöld och bedrägeri Försämrad sekretess (confidentiality) Försämrad personlig integritet (privacy) Försämrad integritet/tillförlitlighet Försämrad tillgänglighet Säkerhet Skydd mot dessa hot

Sårbarhet – Potentiella hot Hårdvara Nätverk Applikation DBHS Användare Programmerare Administratör Databas

Botemedel Auktorisation (authorization) Tillåta tillgång till systemet Kräva identifiering och authenticering Åtkomsts-/Behörighetskontroll (access control) MAC vs DAC (Mandatory/Discretionary) Bevilja och häva tillgång/åtkomst till resurser/objekt SQL (DAC): GRANT / REVOKE Backup och återställning Integritet Vyer Kryptering RAID Prestanda Säkerhet pga redundans

Grant Beviljar ett subjekt (användare) vissa privilegier (läsa/skriva/etc) på ett objekt (tabell/vy/etc) Ge Kalle behörighet att titta i tabellen Person GRANT SELECT ON Person TO Kalle Förutsätter att man själv har behörighet att ge denna behörighet!

Grant GRANT privilegier ON objekt TO subjekt [WITH GRANT OPTION] SELECT, INSERT, UPDATE, DELETE, REFERENCES, USAGE, ALL PRIVILEGES, roll Specifika kolumner: UPDATE(adress) Objekt Tabell, vy, domän, etc Subjekt Användare, grupp, roll, PUBLIC WITH GRANT OPTION Tillåt subjektet att ge bort samma behörighet vidare

Backup & återställning Att ta en kopia Journaling Att spara en logg med alla ändringar Återställning Få tillbaka allt med hjälp av backup och loggar

Integritet Integrity Enhancement Feature Required Data (NOT NULL) Domain Constraint (CHECK, DOMAIN) Entity Integrity Referential Integrity General Constraint (ASSERTION) Enterprise Constraint (Trigger)

Entitetsintegritet Unika och identifierbara rader i varje tabell Ej NULL eller dubbletter i PN

Referensintegritet Främmande nycklar har Regler för främmande nycklar NULL, eller Ett värde som finns i den refererade kandidatnyckeln Regler för främmande nycklar Vad händer med FN när den refererade kandidatnyckeln förändras eller tas bort CASCADE SET NULL / NULLIFY RESTRICT / NO ACTION

Enterprise Constraint ECA Event Condition Action Trigger CREATE TRIGGER triggernamn AFTER/BEFORE händelse ON tabellnamn REFERENCING ny & gammal FOR EACH ROW/STATEMENT WHEN villkor logik att utföras

Vyer & Integritet VIEW WITH CHECK OPTION Man kan mata in data i vyn Inmatningarna måste uppfylla villkoret i vyn Inmatningarna sparas i tabellen (inte i vyn) De inmatade raderna måste alltså ingå i vyn CREATE VIEW personMK AS SELECT * FROM person WHERE kön IN (’m’, ’k’) WITH CHECK OPTION

Databashanteringssystem Säkerhet Användare och behörigheter Integritet Backup och återställning Transaktionshantering Samtidighet (concurrency) Lås Rollback Återställning

Transaktionshantering Ett logiskt sammanhängande jobb Egenskaper (ACID) Atomicity Allt eller inget Commit eller Rollback Consistency Integritet/Konsekvens före och efter transaktionen Isolation Oberoende av varandra Durability Permanent även vid krasch

Concurrency / Samtidighet Flera transaktioner parallellt Oberoende av varandra Potentiella problem Flera vill åt samma resurs (tabell/rad) Den förlorade uppdateringen Läsning av okommittade data (dirty read) Inkonsekvent analys (ej upprepningsbar läsning) Fantomproblemet

Den förlorade uppdateringen Transaktion A Transaktion B X Läs X (30) 30 Dra bort 20 (10) Lägg till 50 (80) Skriv X (10) 10 Skriv X (80) 80 tid

Läsning av okommittade data (dirty read) Transaktion A Transaktion B X Läs X (30) 30 Dra bort 20 (10) Skriv X (10) 10 Läs X (10) Ångra Lägg till 50 (60) Skriv X (60) 60 tid

Inkonsekvent analys (ej upprepningsbar läsning) Transaktion A Transaktion B X Y Sum (var) Sum = 0 30 80 Läs X (30) Läs Y (80) Sum =+ X Dra bort 40 från Y (40) Skriv Y (40) 40 Läs Y (40) Lägg till 40 till X (70) Sum =+ Y 70 Skriv X (70) tid

Fantomproblemet Transaktion A Transaktion B Hämta alla personer från Stockholm Ta bort Kalle (som bor i Stockholm) … tid Transaktion A Transaktion B Hämta alla personer från Stockholm Lägg till Kalle (som bor i Stockholm) …

Concurrency / Samtidighet Krav Serialiserbarhet Parallellt dock utan konflikt Återställbarhet Inga konflikter även vid rollback Lösningar Seriellt schema (inga parallella transaktioner) Lås Tidsstämplar

Lås Läslås (Shared lock) Skrivlås (Exclusive lock) Låsgranularitet Databas, tabell, …, rad, cell Deadlock 2 eller flera transaktioner väntar på varandra att släppa lås 2PL – Two-Phase Locking Växande fas – lås begärs Krympande fas – lås släpps Inga nya lås efter att något lås har släppts T1 T2 T3

Lås Deadlock T1 T2 T3 Förhindra Timeout Conservative 2PL Upptäck Wait-for graph Lös Offer (victim) Rollback (för senare återstart) Svältning (starvation) T1 T2 T3

Tidsstämpling Varje transaktion får en tidsstämpel vid start Varje dataelement markeras med två tidsstämplar Transaktionen som läste dataelementet senast Transaktionen som skrev dataelementet senast Varje gång en transaktion vill läsa eller skriva ett dataelement Jämför transaktionens tidsstämpel med dataelementets tidsstämpel Avgör om transaktionen skall fortsätta eller startas om

Återställning (Recovery) Databasåterställning Få tillbaka databasen (i korrekt tillstånd) efter systemfel Följande behövs Backup En kopia av databasen Full eller inkrementell Sparas separat Loggar Innehåller information om alla transaktioner Värden före en ändring (BEFORE IMAGE) Värden efter en ändring (AFTER IMAGE)