Datenbank (DB)

Werbung
Datenbank (DB): sehr große integrierte Sammlung von Daten, beschreibt Ausschnitt aus der realen Welt: Entitäten und
Beziehungen.
Datenbank-Management-System (DBMS): Softwarepaket zum Speichern und Verarbeiten von Datenbanken
(Einfügen, Lesen, Ändern und Löschen von Daten), Oracle, DB2(IBM), MS SQL Server.
Vorteile: Datenunabhängigkeit, effizienter Zugriff, verminderte Entwicklungszeit, Kontrolle der
Datenintegrität, Zugriffskontrolle auf Daten, Datensicherheit, einheitliche Datenadministration, Unterstützung
Nebenläufigkeit (Concurrency Control) Recovery-Fähigkeit
Datenbank-System
(DBS):
ermöglicht
anwendungsübergreifende
Nutzung
von
Daten,
isoliert
Anwendungsprogramme von Hardware und Betriebssystem (und deren Änderungen), DBS=DBMS+DB
Vorteile: integrierter Datenbestand Vermeidung von Redundanz, Konsistenz, höhere Qualität des Bestandes,
einheitliche Mechanismen für Datenschutz, -sicherheit (Recovery) und Nebenläufigkeit (Concurrency
Control), physische+logische Datenunabhängigkeit, leichtere+schnellere Programmentwicklung/-wartung,
Nutzung von 4GL, Form- und Reportgeneratoren, optimierte Anfragesprache
Nachteile: General-Purpose Software oft weniger effizient als Spezialisierte, bei konkurrierenden
Anforderungen nur für einen Teil der AP optimiert, Kosten: DBMS+zusätzliche Hardware, hochqualifiziertes
Personal (DB-Administration), Verwundbarkeit durch Zentralisierung – Ausweg: Verteilung
Datenmodell (DM): Struktur, Operation, Konsistenzregeln der Daten
Informationssystem (IS): besteht aus Menschen und Maschinen, die Informationen erzeugen oder benutzen und die
durch Kommunikationsbeziehungen miteinander verbunden sind
rechnergestütztes Informationssystem (CIS): Erfassung, Speicherung, Transformation von Informationen durch
EDV (teilweise) automatisiert.
Datenmodelle
Daten: haben Struktur, die in Typen definiert wird (Intension), Werte und Instanzen (Extension)
Datenmodell: Menge von Konstrukten zur Beschreibung von Daten, Low-Level-Details der Datenspeicherung werden
abstrahiert, DBMS erlaubt Definition von Daten in bestimmten Datenmodell (meist relational)
Semantisches Datenmodell: abstrakter ohne Bezug auf DBMS, z.B.: ER-Modell
Schema: beschreibt Menge von Daten mit Hilfe eines Datenmodells
Relationales Datenmodell: Basiskonstrukt: Relation (Tabelle), jede Relation hat Schema zur Beschreibung der Spalten
(oder Felder)
Abstraktionsebenen
Views: anwendungsspezifische Ausschnitte auf das konzeptuelles Schema (Filterung unnötiger Daten, Schutz vor
nichtautorisiertem Zugriff), Anwendungsspezifische Strukturierung
Konzeptuelles Schema: integrierte logische Sicht des gesamten Datenbestandes ohne Details über Speicherort oder
Struktur
Physisches Schema: in Form von Datensätzen (Records), spezifische Zugriffspfade, Abbildung der Records auf
Speicherstruktur
Datenunabhängigkeit
Applikationen sind isoliert davon, wie Daten strukturiert und gespeichert werden, Logische Datenunabhängigkeit,
Physikalische Datenunabhängigkeit (Pfad,Struktur,Speicherstruktur,Gerät, Seitenzuordnung...)
Concurrency Control
Nebenläufigkeit, Pro: bessere Auslastung, bessere Performance, Kontra: Inkonsistenzen bei Überlappungen, DBMS
garantiert Isolation (Illusion einer Appl. alleine Zugriff auf DB zu haben, sieht nur konsistenten Zustand) und
Konsistenz (korrekter Ablauf von Transaktionen)
Transaktionskonzept
Transaktion: atomare (all or nothing) Sequenz von Datenbank-Aktionen, nach jeder Transaktion KONSISTENTER
Zustand wenn zu Transaktionsbeginn schon konsistent!! (Integritätsbedingungen können formuliert werden, DBMS
kennt aber Semantik nicht – Benutzer für korrekten Ablauf verantwortlich)
Datensicherheit
DBMS sichert Atomizität auch bei Absturz während einer Transaktion – Logging: Protokollierung aller Aktionen, vor
Änderung entsprechender Logeintrag an sicherer Stelle, nach Crash zurücksetzen undo, Logging von Write (alter und
neuer Wert), Commit und Abort, Logs häufig auf anderen Datenträger, Aktivitäten von Logging und Concurrency
Control transparent verwaltet von DBMS
Rollen beim Entwurf und Betrieb von DB
Endbenutzer – meist ein computer-naiver Benutzer (Verkäufer, Verwaltungsangestellter), Liest Daten, fügt ein, ändert
mit vorgegebenen Masken und Applikationen
DB-Anwendungsprogrammierer – entwickelt Applikation mit vorgegebenen Schema
Schema-Designer – ermittelt Anforderungen der Benutzer und Anwender, Entwickelt Teilschichten und integriert
diese zum globalen Schema (konzeptuelles Schema), Bildet Schema zusammen mit DB-Administrator auf spezifisches
DBMS ab
DB-Administrator – mitverantwortlich für Mapping konzeptuelles -> logisches Schema, Autorisiert neue Benutzer
(Zugriffsrechte), Reibungsloser Ablauf (Verfügbarkeit), Sicherung/Archivkopie, Installation neuer DBMS-Versionen
DBMS-Entwickler – Entwickelt die DBMS Software
Entity-Relationship-Modell
Datenmodell: System von Konzepten zur abstrakten Darstellung eines Ausschnitts der realen Welt mittels Daten,
verschiedene Abstraktionsebenen, bestehen aus: Struktur (statische Eigenschaften), Operatoren (dynamische E., erlaubt
Zugriff, Speicherung, Änderung), Constraints (Korrektheitsbedingungen, garantiert syntaktische+semantische
Korrektheit einer Operation)
Phasen des DB-Entwurfs
Requirements-Analyse (Welche Daten, Operationen, Anwendungen, nichtfunktionalen Anforderungen)
Konzeptueller DB-Entwurf (Spezifikation Anforderungen in high-level-Darstellung -> ER-Modell)
Logischer DB-Entwurf (Übersetzung konzeptueller Entwurf in Schema im Datenmodell des Ziel-DBMS)
Schema-Verfeinerung (Normalisierung des relationalen Schemas soweit erforderlich)
Physischer DB-Entwurf (phys. Entw.entsch. (Index,Clusters) entsprechend Last-Profilen u. Perf. Anforderungen)
Security-Entwurf (Def. Benutzergruppen, Rollen, Zugriffsrechten)
Konzept 1: Entity-Menge
Entity: unterscheidbar von anderen Objekten, beschrieben durch Menge von Attributen
Entity-Menge: Zusammenfassung aller Entities mit gemeinsamen Eigenschaften, DB enthält endlich viele
Konzept 2: Relationship-Menge
Relationship: Beziehung zwischen min. zwei Entities, Zusammenfassung von gleichartigen Beziehungen
(Relationships), R...Relationshipmenge = math. Relation zwischen n Ei : R⊆E1×...×E nd.h. R= {r=[ e1 ,... , en ]∣e1∈ E1 ... en ∈E n}
Konzept 3: Wertemengen
Herunterladen