• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/44

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

44 Cards in this Set

  • Front
  • Back

Problemen med databeroende

-Ändring av datas definition kräver ändringar i många program – pris måste definieras som double även i andra program.


-Applikationer kan endast arbeta med sina egna filer – applikationen kan inte komma åt data i andra applikationer.


-Otydlig semantik; regler för hur data får skrivas, otydliga variebelnamn

filbaserade synsättets 4 egenskaper.

-Decentraliserad lagring av data,


-Data och dess lagringsstruktur definieras i programkoden,


-Organisatorisk decentralisering,


-Programspråk och utvecklingsmetod styr datastrukturen.

4 problem decentraliserad lagring av data leder till

Isolerad och separerad data:


-Svårt att komma åt önskade data



-Inkonsekventa definitioner av data



-Inflexibilitet





-Redundans

3 problem, Data och dess lagringsstruktur definieras i applikationens programkod leder till




(Detta är samma som problemen av databeroende eftersom det är en av sakerna som kan leda till databeroende)

-Ändring av datas definition kräver ändringar i många program



-Applikationen kan endast arbeta med sina egna filer



-Otydlig semantik

kännetecken för systemutvecklingsprocess - traditionella filhanteringssystem

-System- och programutveckling är processorienterad och fokuserar på arbetsuppgifter (processer) som utförs av systemet.


-Utvecklingen fokuseras inte på datas struktur och regler -> datadefinitioner görs i programkoden -> databeroende.


-Valet av utvecklingsmetod har betydelse för resultatet.

5 deldefinitioner för databas

-Gemensam samling av data (centraliserad lagring)



-Logiskt relaterade data


-Separat beskrivning av data



-Tillgodose informationsbehovet hos en organisation



-Lätt att komma åt data och ändra data

Vilka nivåer i trenivåarkitekturen

extern - användarnas lokala vyer


konceptuell - verksamhetens globala vy


intern - lagringsmediats vy

Varför dela in i nivåer?


(trenivåarkitektur)

Fysiskt dataoberoende


Logiskt dataoberoende

Nackdel med trenivåarkitektur

Det tar tid för DBMS att göra mappningar -> systemets prestanda försämras

Systemutvecklingsprocess Databassynsättet

-Utveckling av db och tillhörande applikationer utgår från datastrukturen.




-Först analyseras vilka objekt och företeelser som verksamheten vill lagra data om samt vilka samband som finns mellan dessa.




-I princip motsatsen till den processdrivna utvecklingen i filbaserade system.

4 Fördelar med databassynsättet


-ange vilka egenskaper som ger upphov till dessa

-Lättare att genomföra samma standarder i hela verksamheten <- centraliserad kontroll av data.


-Bättre kontroll över datas integritet <- DBMS kan utföra kontroller på data så att den är korrekt, samma data är tillgänglig för alla.


-Bättre tillgänglighet av data. <- Centraliserad data


-Förbättrad säkerhet <- DBMS sköter behörighet och kontroller på data.

Huvudsakliga aktörer i db-miljön

-Databasadministratör (DBA)



-Databasutvecklare



-Användare

Vad innehåller datakatalogen


-Information om data lagras (Metadata).

-Regler för data (ex. behörigheter).

Vilka använder sig av datakatalogen

DBMS,


DBA,


databasutvecklarna

fördel med att ha en datakatalog

Minskat databeroende (definitionen av datan lagras inte tillsammans med )

Tre delar i en DBMS datamodell

Strukturell del: hur data struktureras


Integritetsdel: en uppsättning regler som säkerställer att data alltid är korrekta


Manipulativ del: operationer som kan utföras på data

3 typer av datamodeller som används vid utvecklingsarbetet av db:s design

-Extern datamodell


* Representera varje användares vy i var sin datamodell.


-Konceptuell datamodell


* Den externa datamodellen integreras till en global datamodell.


-Intern datamodell


*Beskriver hur det lagras fysiskt


För att återspegla trenivåarkitekturen



5 fördelar med dbsynsättet framför filbaserade system

-minskat databeroende



-samlad data,

-bättre informationstillgång,

-minskad redundans.



-lättare att underhålla

3 kostnader och krav vid införande db-system

Om databasen utvecklas med defekter som blir förödande för verksamheten. Därför krävs det kompetenta DBA.,




konverteringskostnader för existerande system,




ökade kostnader förhårdvara och nätverk.

Integritetsregler


Lista 5 stycken

Domän

Null

Unikhet

Entitetsintegritet - om idnr PN får den inte vara null

Referensintegritet - främmande nycklar

Verksamhetsregler

kriterierna för relationsmodellen


9 st

-Unikt relationsnamn



-Atomära värden



-Sammansatt attribut



-Flervärt attribut


-Unika attributnamn


-Alla värden för ett visst attribut måste hämtas från sammadomän



-Attributens inbördes ordning får inte ha någon betydelse



-Varje tuple måste vara unik



-Innebörden av värdena i relationen måste vara oberoende avtuplernas inbördes ordning

Anomali

= när det finns redundans i en tabell uppstår oönskade effekternär data ändras i databasen. = Uppdateringsanomalier.




Modifieringsanomali


För att ändra t.ex. orderdatum måste ändringen göras på alla rader där datumet finns.




Tilläggsanomali


När en ny rad ska skapas i tabellen.


T.ex. om man lägger till en ny rad för en viss order måste man säkerställa så att orderdatum och kundnummer är desamma som de övriga raderna i tabellen.




Borttagningsanomali


När en rad ska tas bort från tabellen




Att ta bort värden ur primärnyckeln, men behålla övriga attribut på raden är ej tillåtet.

3 kriterier, som ska uppfyllas, när en relation delas upp imindre relationer

Bibehåll alla attribut


Samtliga attribut i ursprungstabellen ska finnas i tabellerna som den delats upp i.




Förlustfri delning av tabeller


När tabellerna sammanfogas via den främmande nyckeln ska resultatet bli ursprungstabellen. Inga rader får försvinna eller tillkomma.




Upprätthålla beroendena


Målet är att determinanten och dess beroende attribut ska vara i samma tabell.


Den regel som det funktionella beroendet representerar är då inbyggd i tabellens struktur och behöver inte upprätthållas med specialskriven programkod.

Vilka steg i utvecklingen av ett databassystem

-Databasplanering


-Systemdefinition


-Framtagning av kravspecifikation för databassystemet


-Konceptuell design


-Logisk design


-Fysisk design


-Design och implementation av applikationerna

3 huvudsakliga strategier för att utföra en databasdesign

Bottom-up


Alla detaljer analyseras från början.


Succesivt sätts de samman till större enheter.


Problem: från start måste en stor mängd detaljer hanteras -> utvecklingen går i baklås.




Top-down


Startar med en handfull stora objekt som succesivt bryts ner i mer detaljerade beskrivningar.


Systemet analyseras och utformas som en helhet.


Lämplig: systemet är så pass litet att det är lätt att hålla samman under utvecklingsarbetet eller om verksamheten är välstrukturerad med en ledning som har god överblick.




Blandstrategin


Vid stora system är det bra att dela upp systemet i mindre bitar som var för sig utvecklas enligt top-down-metoden.


I slutet av den konceptuella designen eller den logiska designen sammanfogas de lokala modellerna till en global modell.


Lämpligt: stort system som gör det svårt att hålla samman utvecklingsarbetet, verksamheten är decentraliserad.

3 viktiga egenskaper i en ER-modell är kardinalitet, delaktighet/deltagande (participation) och relationsgrad

Kardinalitet


Hur många relationer som varje entitet maximalt får lov att ha till en annan entitetstyp.


Delaktighet/deltagande


Hur många relationer som varje entitet minimalt får lov att ha till en annan entitetstyp.


Relationsgrad


Talar om hur många entitetstyper som deltar i en relation.

Vad är:


relationsschema


databasschema

Relationsschema

Utgörs av relationens namn följt av dess attribut inom parentes


Databasschema


Ett schema som utgörs av databasens samtliga relationsscheman.


Det konceptuella schemat i trenivåarkitekturen.



Vad är DDL respektive DML för något

DDL


-Data Definition Language.


-Hur saker ska lagras.


CREATE (tabeller, rader).


DML


-Data Manipulation Language.


-Ändra/Hämta/Ta bort/Lägga till.


Queries refererar oftast till SELECT.


Ex. INSERT.

samspelet mellan de två verksamhetsfunktionerna dataadministration och databasadministration

Dataadministration


-På ledningsnivå i organisationen.


-Databasplanering.


-Utveckling och underhåll av standarder.


Databasadministration


-De tekniska, fysiska och praktiska aspekterna och arbetsuppgifterna rörande databasen.


-Den fysiska databasdesignen.


-Övervaka säkerhet, prestanda och dataintegritet.


-Delta vid utveckling av databasen.


-Definiera databasens scheman

4 villkor en transaktion måste uppfylla

(ACID)


Atomär


-Alla transaktionens operationer utförs eller ingen av dem (de kan inte delas upp).


Consistent


-Databasen var konsistent vid starten av T och ska vara det efter T avslutas.


Isolated


-Ändringar som görs av transaktionen ska inte bli synliga förrns transaktionen är avslutad.


-När transaktioner exekveras samtidigt ska respektive transaktion effekter vara desamma som om de exekverades ensamma (= T isoleras från varandra).


Durability (varaktighet)


-När transaktionen fullbordats ska dess ändringar av databasens innehåll vara permanenta.

Vad menas med before image respektive afterimage?

Before image


-Innan en transaktion utförs tas kopior över utgångsläget, dessa kan sedan användas i en rollback och återställa databasen till utgångsläget.


After image


-En journal över utförda transaktioner.


-Användbar för att uppdatera DBMS vid databasproblem.

Rollback och roll forward

Rollback


-Om en transaktion inte kan slutföras används rollback för att gå tillbaka till utgångsläget, med omanipulerad data.


-Man avbryter transaktionen.


Roll forward


-En journal över genomförda transaktioner som kan användas vid databasproblem för att ”bring it up to date”.

Vad menas med commit?

Commit


-När en transaktion anses vara färdig används commit för att alla ändringar ska sparas och att databasen är konsistent.

Cascading rollback

Cascading rollback = En transaktion tvingas göra rollback pga att en annan transaktion har gjort rollback.

Vilka är de två vanliga sätten att eliminera den negativa effekten av cascading rollback?

Rigorous


-Varje transaktion håller alla sina lås tills den är färdig.


Strict


-Varje transaktion håller endast X-låsen.

Vadmenas med att en transaktion är serializeable?

Serializeable = Transaktioner är helt isolerade från varandra. Uppfylls med tvåfaslåsning. (En transaktion i taget).

Vad är deadlock och hur kan det åtgärdas?

Deadlock = två eller flera transaktioner står still ochväntar på varandra.


Wait-for-graph: gör rollback på en av transaktionerna och låt den andra transaktionen fortsätta.


Time-out: när en transaktion har stått och väntat på ett lås tillräckligt länge antas den ha råkat ut för deadlock och avbryts.

Vilka åtgärder bör DBMS ha utfört för att det ska vara möjligt att återställa databasen (recovery) efter att en krasch har inträffat?

-Loggfil (journal)



-Checkpoint



-Backup


-Omedelbar och fördröjd uppdatering

Varför är det viktigt att tillämpa write-ahead log protocol?

För att kunna titta i loggfilen efter en krasch för att se vad som behöver ändras. Skriver till loggfilen innan transaktionen utförs(-before image).

Hur utförs Roll forward av DBMS? För vilka transaktioner utförs detta?

Roll forward: Användning av after image på en commit för att göra om allting och säkerställa consistency. Gör om alla ändringarna (transaktionen) igen.

Hur utförs Rollback av DBMS? För vilka transaktioner utförs detta?

Roll-back: användningar av logg för att hitta before image, utförs mha before image; rullar tillbaka databasen till ett tidigare stadie. Utförs för transaktioner som inte ännu är sparade i databasen.

Teknikerna/metoderna för concurrency control delas in i kategorierna pessimistiska (eller konservativa) och optimistiska.

OCC känneteckas av att man antar att transaktionerna oftast inte kommer vilja utföra saker samtidigt på samma objekt. Använder därför inte lås och


Först påbörjar man transaktionen, modify, validate (ser om det blev som man ville?), commit




PCC låser alla transaktioner tills det finns noll risk för regelbrott (mot ACID). Passar bäst inom bankindustrin.

Kravspecifikationens 7 kategorier av regler

1. Attribut som kan fungera som identifikator


2. Obligatoriskt eller frivilligt värde?


3. Unikt eller duplikat?


4. Domänen


5. Dynamiska regler för värden


vad som ska göras när ett värde ändras


6. Återanvändning


7. Ordningsföljder

Vilka är de olika typerna av verksamhetstransaktioner?

MUL


-Manuella transaktioner använder inte datasystemet, är därför ointressanta för analysen av datastrukturen, men är det som brukar binda ihop de transaktioner som gör det.




-Uppdateringstransaktioner – ändrar lagrade data. Analysen av dem ger informationen om hur datas struktur ser ut. (kallas även skrivtransaktion)




-Lästransaktioner – Gör inga ändringar av lagrad data, utgörs av sammanställningar, presentationer och rapporter. (kallas även beslutsstödstransaktion)




-Blandade transaktioner En blandning av ovanstående. Omfattar ett helt ärende.