1 / 24

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

adler
Download Presentation

Vad är en databas?

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

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

  3. Varför DB? • Metadata (data om data) • program- och dataoberoende • Datamodell / dataabstraktion • högnivå språk för hantering av databasen • multipla vyer av samma data • effektivt sökning/åtkomst av stora datamängder

  4. 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 åtkomst • Tillåter flera användare att använda och ändra databasen samtidigt (transaktionshantering)

  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.

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

  7. 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, angivnasom t ex date ’2010-03-20’. • att uttrycka frågor och uppdateringar (DML). • SELECT * FROM studentWHERE program = ’MMD’;

  8. DB • Entiteter - (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

  9. DB

  10. Vyer • Viewmechanism - 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.

  11. Databasmiljö

  12. ANSI/SPARC modellen

  13. ANSI/SPARC modellenExternt skikt • Anvä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, texSQL. • Databasadministratören måste kunna en hel uppsättning språk och verktyg.

  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.

  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.

  16. Ett exempel: Skikten i ANSI/SPARC modellen

  17. Dataoberoende i ANSI/SPARC modellen

  18. Mapping • Fö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.

  19. Datamodeller • Objektbaserade datamodeller - används för att beskriva data på logisk och vy nivå. • Entity-Relationship • Objektorienterad • Postbaserade 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

  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.

  21. Fleranvändararkitekturer • File-server • Client-Server • Web service

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

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

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

More Related