Presentation laddar. Vänta.

Presentation laddar. Vänta.

DSK1:DB/FK:DB vt2010 nikos dimitrakas 1 Databashanteringssystem nikos dimitrakas 08-162099 rum 6626 Connolly/Begg (3rd edition) Kapitel.

Liknande presentationer


En presentation över ämnet: "DSK1:DB/FK:DB vt2010 nikos dimitrakas 1 Databashanteringssystem nikos dimitrakas 08-162099 rum 6626 Connolly/Begg (3rd edition) Kapitel."— Presentationens avskrift:

1 DSK1:DB/FK:DB vt2010 nikos dimitrakas 1 Databashanteringssystem nikos dimitrakas 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, , 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, , 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, , 22.1, 22.2, 22.3

2 DSK1:DB/FK:DB vt2010 nikos dimitrakas Databashanteringssystem Säkerhet –Användare och behörigheter –Integritet –Backup och återställning Transaktionshantering –Samtidighet (concurrency) –Lås –Rollback –Återställning 2

3 DSK1:DB/FK:DB vt2010 nikos dimitrakas 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 3

4 DSK1:DB/FK:DB vt2010 nikos dimitrakas Sårbarhet – Potentiella hot Hårdvara Nätverk Applikation DBHS Användare Programmerare Administratör Databas 4

5 DSK1:DB/FK:DB vt2010 nikos dimitrakas 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 5

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

7 DSK1:DB/FK:DB vt2010 nikos dimitrakas Grant Privilegier –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 7 GRANT privilegier ON objekt TO subjekt [WITH GRANT OPTION]

8 DSK1:DB/FK:DB vt2010 nikos dimitrakas Backup & återställning Backup –Att ta en kopia Journaling –Att spara en logg med alla ändringar Återställning –Få tillbaka allt med hjälp av backup och loggar 8

9 DSK1:DB/FK:DB vt2010 nikos dimitrakas Integritet Integrity Enhancement Feature –Required Data (NOT NULL) –Domain Constraint (CHECK, DOMAIN) –Entity Integrity –Referential Integrity –General Constraint (ASSERTION) Enterprise Constraint (Trigger) 9

10 DSK1:DB/FK:DB vt2010 nikos dimitrakas Entitetsintegritet Unika och identifierbara rader i varje tabell Ej NULL eller dubbletter i PN 10

11 DSK1:DB/FK:DB vt2010 nikos dimitrakas Referensintegritet Främmande nycklar har –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 11

12 DSK1:DB/FK:DB vt2010 nikos dimitrakas Enterprise Constraint ECA –Event –Condition –Action Trigger 12 CREATE TRIGGER triggernamn AFTER/BEFORE händelse ON tabellnamn REFERENCING ny & gammal FOR EACH ROW/STATEMENT WHEN villkor logik att utföras

13 DSK1:DB/FK:DB vt2010 nikos dimitrakas 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 13 CREATE VIEW personMK AS SELECT * FROM person WHERE kön IN (’m’, ’k’) WITH CHECK OPTION

14 DSK1:DB/FK:DB vt2010 nikos dimitrakas Databashanteringssystem Säkerhet –Användare och behörigheter –Integritet –Backup och återställning Transaktionshantering –Samtidighet (concurrency) –Lås –Rollback –Återställning 14

15 DSK1:DB/FK:DB vt2010 nikos dimitrakas Transaktionshantering Transaktion –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 15

16 DSK1:DB/FK:DB vt2010 nikos dimitrakas 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 16

17 DSK1:DB/FK:DB vt2010 nikos dimitrakas Den förlorade uppdateringen Transaktion ATransaktion BX Läs X (30)30 Läs X (30) Dra bort 20 (10) Lägg till 50 (80) Skriv X (10)10 Skriv X (80)80 17 tid

18 DSK1:DB/FK:DB vt2010 nikos dimitrakas Läsning av okommittade data (dirty read) 18 Transaktion ATransaktion BX Läs X (30)30 Dra bort 20 (10) Skriv X (10)10 Läs X (10) Ångra30 Lägg till 50 (60) Skriv X (60)60 tid

19 DSK1:DB/FK:DB vt2010 nikos dimitrakas Inkonsekvent analys (ej upprepningsbar läsning) 19 Transaktion ATransaktion BXYSum (var) Sum = Läs X (30) Läs Y (80) Sum =+ X30 Dra bort 40 från Y (40) Skriv Y (40)40 Läs Y (40) Läs X (30) Lägg till 40 till X (70) Sum =+ Y70 Skriv X (70)70 tid

20 DSK1:DB/FK:DB vt2010 nikos dimitrakas Fantomproblemet 20 Transaktion ATransaktion B Hämta alla personer från Stockholm Ta bort Kalle (som bor i Stockholm) … tid Transaktion ATransaktion B Hämta alla personer från Stockholm Lägg till Kalle (som bor i Stockholm) …

21 DSK1:DB/FK:DB vt2010 nikos dimitrakas 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 21

22 DSK1:DB/FK:DB vt2010 nikos dimitrakas 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 22 T1T2T3

23 DSK1:DB/FK:DB vt2010 nikos dimitrakas Lås Deadlock –Förhindra »Timeout »Conservative 2PL –Upptäck »Wait-for graph –Lös »Offer (victim) »Rollback (för senare återstart) »Svältning (starvation) 23 T1T2T3

24 DSK1:DB/FK:DB vt2010 nikos dimitrakas 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 24

25 DSK1:DB/FK:DB vt2010 nikos dimitrakas Å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) 25


Ladda ner ppt "DSK1:DB/FK:DB vt2010 nikos dimitrakas 1 Databashanteringssystem nikos dimitrakas 08-162099 rum 6626 Connolly/Begg (3rd edition) Kapitel."

Liknande presentationer


Google-annonser