Vad är en databas?

24
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 en produkt.” Var finns databaser? (användningsområden – överallt) Köp i affär och användning av kreditkort Boka en resa hos en researrangör Låna och söka böcker på ett bibliotek Teckna en försäkring Studera på Högskola Använda internet 1

description

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 en produkt.” Var finns databaser? (användningsområden – överallt) Köp i affär och användning av kreditkort Boka en resa hos en researrangör - PowerPoint PPT Presentation

Transcript of Vad är en databas?

Page 1: Vad är en databas?

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 en produkt.”

Var finns databaser? (användningsområden – överallt)◦ Köp i affär och användning av kreditkort◦ Boka en resa hos en researrangör ◦ Låna och söka böcker på ett bibliotek◦ Teckna en försäkring◦ Studera på Högskola◦ Använda internet

1

Page 2: Vad är en databas?

Filbaserade system

Filbaserade system var ett tidigt försök till att datorisera manuella filsystem◦Produkter, uppgifter, klienter,

anställda osv…◦Recept, garantier, bankärenden

osv…Varje program definierar och styr

sin egen data.

Page 3: Vad är en databas?

Varför DB?Metadata (data om data)program- och dataoberoendeDatamodell / dataabstraktionhögnivå språk för hantering av

databasenmultipla vyer av samma dataeffektivt sökning/åtkomst av

stora datamängder

Page 4: Vad är en databas?

Database Management System - DBMS

Tillåter användare att skapa nya databaser och specificera schema (dvs logiska beskrivningar av data)

Ger användare möjligheten att ställa frågor, lägga till eller ta bort data

Stödjer lagring av stora mängder av data (gigabytes, terabytes) över en längre tidsperiod

Har säkerhetsrutiner för att hålla databasens innehåll konsistent

Kontrollerar åtkomstTillåter flera användare att använda och ändra

databasen samtidigt (transaktionshantering)

Page 5: Vad är en databas?

5

Funktioner i ett DBMS

Datalagring, åtkomst och uppdatering En användarkatalog (user-accessible catalog) Transaktionshantering (transaction support) Ett kontrollsystem för samtidig data

(concurrency control services) Ett Backup och återställningsystem (recovery

services) Behörighetskontroll (Authorization services) Datakommunikationssupport (Data

communication) Ett säkerhetssystem för data (integrity services) Service för Dataoberoende (Data independence) Utility services.

Page 6: Vad är en databas?

DDL & DML

Data Definition Language (DDL) - tillåter användare att specificera de datatyper, den struktur och de restriktioner som gäller för data lagrat i databasen.

Data manipulation Language (DML) - tillåter användare att lägga till, uppdatera, ta bort och hämta data från databasen.

Procedurell DML - användaren specificerar vilken data som begärs och hur man kommer åt det

Icke-procedurell DML - användaren specificerar vilken data som begärs utan att specificera hur man kommer åt det

Page 7: Vad är en databas?

SQL - Structured Query Language

Standardiserat frågespråk. Används för:◦att definiera scheman, ge typer och

integritetsvillkor (DDL). varchar(n): strängar av längd högst n. int: heltal date: datum, angivna som t ex date ’2010-

03-20’.

◦att uttrycka frågor och uppdateringar (DML).

SELECT * FROM studentWHERE program = ’MMD’;

Page 8: Vad är en databas?

DBEntiteter - (objekt) kan vara t ex vara

kunder, beställningar eller leverantörer.Attribut - (egenskap) t ex kundnummer,

kundnamn och adress för ett objekt Kund. Relationer - hur relaterar eller förhåller

entiteter sig till varandra (1-1, 1-M eller M-M)?

Primärnyckel - unik identifierare i en tabell

Främmande nyckel - värdet på en primärnyckel i en annan tabell

Page 9: Vad är en databas?

DB

Page 10: Vad är en databas?

Vyer

View mechanism - varje användare kan ha sin egen vy av databasen.

Views (Vyer) - är en bild av en del av DB◦Säkerhetsaspekt - Exkludera data

som vissa användare ej ska ha tillgång till.

◦Individanpassning av utseendet på DB

◦Pressenterar en oföränderlig bild av databasstrukturen även om den underliggande databasen ändras.

Page 11: Vad är en databas?

Databasmiljö

11

Page 12: Vad är en databas?

12

ANSI/SPARC modellen

Page 13: Vad är en databas?

13

ANSI/SPARC modellenExternt skiktAnvändarens vy av databasen. Denna

nivå beskriver den delen av databasen som är relevant för en viss användare.

Varje användare har ett språk till sitt förfogande:◦ Programmeraren bygger applikationer i C, Java

etc.◦ Slutanvändaren använder någon form av

frågespråk, tex SQL.◦ Databasadministratören måste kunna en hel

uppsättning språk och verktyg.

Page 14: Vad är en databas?

14

ANSI/SPARC modellenKonceptuellt skikt

Den konceptuella nivån beskriver alla data som är lagrade i databasen och dess relationer.

Den konceptuella vyn representerar hela databasens informationsinnehåll. Tex en samling förekomster av artiklar och ett antal förekomster av leverantörsposter.

Här definieras även säkerhetskontroller och integritetskontroller som kommer att gälla i databasen.

Page 15: Vad är en databas?

15

ANSI/SPARC modellenInternt skikt

Den fysiska representationen av data i datorn. Denna nivå beskriver hur data lagras i databasen.

Den interna vyn beskrivs med hjälp av det interna schemat som inte bara definierar olika posttyper som skall lagras utan även vilka index som skall finnas, hur lagrade fält skall representeras, etc.

Page 16: Vad är en databas?

16

Ett exempel: Skikten i ANSI/SPARC modellen

Page 17: Vad är en databas?

17

Dataoberoende i ANSI/SPARC modellen

Page 18: Vad är en databas?

18

MappingFörhållandet mellan det externa,

konceptuella och interna schemat kallas för mapping.

Mappingen binder samman de olika nivåerna, oavsett namn på data:◦ Logiskt dataoberoende - externa scheman

är immuna mot förändringar i det konceptuella schemat.

◦ Fysisk dataoberoende - konceptuella scheman är immuna mot ändringar i det interna schemat.

Page 19: Vad är en databas?

19

DatamodellerObjektbaserade datamodeller - används för

att beskriva data på logisk och vy nivå.◦ Entity-Relationship

◦ ObjektorienteradPostbaserade datamodeller

◦ Relationell datamodell - Bygger på entiteter, attribut och relationer.

◦ Nätverksdatamodell - Posterna i databasen är organiserade som samlingar av godtyckliga grafer

◦ Hierarkiskdatamodell - posterna är organiserade som samlingar av träd

Fysiska datamodeller - kan användas för att beskriva hur data lagras fysiskt

Page 20: Vad är en databas?

20

Konceptuell modellering

Det konceptuella schemat är kärnan i systemet och understöder alla användarvyer

Bör vara en komplett och noggrann representation av en organisations databehov

Konceptuell modellering är processen att utveckla en modell av informationsanvändning oberoende av implementeringsdetaljer

Resultatet blir en konceptuell datamodell.

Page 21: Vad är en databas?

21

Fleranvändararkitekturer

File-serverClient-ServerWeb service

Page 22: Vad är en databas?

22

File-Server arkitekturTillhandahåller delat utrymme för data som ex: dokument, bilder och databaser

Page 23: Vad är en databas?

23

Client-Server arkitektur Klienten skickar begäran till servern om exempelvis databasåtkomst, serverbaserad programvara eller dylikt

Page 24: Vad är en databas?

Web Services Webbaserad mjukvara som kommunicerar och samarbetar med andra webbtjänster