1 / 25

Databashanteringssystem

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

jakeem-reid
Download Presentation

Databashanteringssystem

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

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

  3. 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

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

  5. 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

  6. 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 SELECTON PersonTO Kalle Förutsätter att man själv har behörighet att ge denna behörighet!

  7. 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 GRANT privilegierON objektTO subjekt[WITH GRANT OPTION]

  8. 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

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

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

  11. 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

  12. Enterprise Constraint • ECA • Event • Condition • Action • Trigger CREATE TRIGGER triggernamnAFTER/BEFORE händelse ON tabellnamnREFERENCING ny & gammalFOR EACH ROW/STATEMENTWHEN villkorlogik att utföras

  13. 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 personWHERE kön IN (’m’, ’k’)WITH CHECK OPTION

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

  15. 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

  16. 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

  17. Den förlorade uppdateringen tid

  18. Läsning av okommittade data (dirty read) tid

  19. Inkonsekvent analys (ej upprepningsbar läsning) tid

  20. Fantomproblemet tid

  21. 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

  22. T1 T2 T3 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

  23. T1 T2 T3 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)

  24. 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

  25. Å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)

More Related