4
Datenbanksystem ? ( Teil 1) Abdelhamid Barzali [email protected] Was ist ein Datenbanksystem? Unter dem Begriff Datenbanksystem versteht man ein System zur effizienten und widerspruchsfreien Speicherung grosser Menge von Daten sowie die Bereitstellung von Teilmengen der Daten in unterschiedlichen Formen je nach Benutzerbedürfnissen. Zur internen Organisation einer strukturierten Speicherung der Daten sowie Kontrolle der Schreib- und Lesezugriffe auf die Daten dient ein Datenbankmanagementsystem (DBMS) und bildet somit mit der Menge der zur verwaltenden Daten das gesamte Datenbanksystem. Warum ein Datenbanksystem ? “ Es gibt heutzutage fast keine Software ohne Datenbank ” “ Besonders in der Betriebsverwaltung ist ein Datenbanksystem von grösster Bedeutung Natürlich kann man auch alternativerweise durch ein Dateisystem unsere Daten verarbeiten. Man stößt leider irgendwann an seine Grenzen !? : Redundanz und Inkonsistenz : wenn Daten in einem Datenbank mehrfach existieren als nötig, kann es zu Inkonsistenzen kommen. Es würden sich nämlich

Datenbanksystem

Embed Size (px)

DESCRIPTION

Einführung in Datenbanksysteme (Abdelhamid Barzali)

Citation preview

Page 1: Datenbanksystem

Datenbanksystem ? ( Teil 1)

Abdelhamid Barzali

[email protected]

Was ist ein Datenbanksystem? Unter dem Begriff Datenbanksystem versteht man ein System zur effizienten und widerspruchsfreien Speicherung grosser Menge von Daten sowie die Bereitstellung von Teilmengen der Daten in unterschiedlichen Formen je nach Benutzerbedürfnissen. Zur internen Organisation einer strukturierten Speicherung der Daten sowie Kontrolle der Schreib- und Lesezugriffe auf die Daten dient ein Datenbankmanagementsystem (DBMS) und bildet somit mit der Menge der zur verwaltenden Daten das gesamte Datenbanksystem.

Warum ein Datenbanksystem ? “ Es gibt heutzutage fast keine Software ohne Datenbank ”

“ Besonders in der Betriebsverwaltung ist ein Datenbanksystem von grösster Bedeutung ”

… Natürlich kann man auch alternativerweise durch ein Dateisystem unsere Daten verarbeiten. Man stößt leider irgendwann an seine Grenzen !? :

● Redundanz und Inkonsistenz : wenn Daten in einem Datenbank mehrfach existieren als nötig, kann es zu Inkonsistenzen kommen. Es würden sich nämlich

Page 2: Datenbanksystem

unerwünschte widersprüchliche Daten bilden. Beispiel : Angenommen arbeiten die Universitätsverwaltung und die Bibliothek mit dem selben Datenbanksystem. Wenn Studentendaten mehrfach sowohl in der Universitätsverwaltung als auch in der Bibliothek vorhanden sind, kann es zum Widerspruch der Adresse eines Studenten kommen,der nach seinem Umzug nur die Universitätsverwaltung informiert hat. Im Datenbanksystem der Bibliothek liegt immer noch seine alte Adresse. Die Änderung redundanter Daten kann Probleme bereiten,wenn Änderungen in verschiedenen Stellen der Datenbank durchgeführt werden.

● Integritätsverletzung : Es ist möglich beim Kreieren von Schemata, Integritätsbedingungen zu bilden. Zb. Man denke an die Bedingung,dass Studenten zur bestimmten Prüfung zugelassen werden,erst wenn sie eine gewisse ECTS-Punkte erbracht haben. Die Einhaltung solcher Integritätsbedingungen bei der Datenverarbeitung in Dateien ist schwierig.In Datenbanksystemen werden Daten nur geändert, wenn sich das System nach der Änderung in einem konsistenten Zustand befindet. Zb. stellt das DBS sicher,dass nach einer Transaktion gewisse Integritätsbedingungen erfüllt werden.

● Begrenzte Möglichkeiten des Mehrbenutzerbetriebs : Dateisysteme bieten

sehr schlechte oder sogar keine Möglichkeiten eines Mehrbenutzerbetriebs. Ein kontrollierter Mehrbenutzerbetrieb ist bei den meisten Datenbanksystemen möglich.

● Beschränkte Zugriffsmöglichkeiten : Es ist schwierig und meistens sogar

unmöglich sich in mehreren isolierten Dateien befindlichen Daten miteinander zu verknüpfen.Besonderes bei relationalen Datenbanken ist eine Verknüpfung von Daten recht flexible.

● Verlust von Daten : Die meisten Datenbanksysteme bieten “technisch

ausgereifte“ Möglichkeiten der Wiederherstellung eines Zustands der Daten. Bei der Datenverarbeitung durch Dateisysteme können Datenverlust-Fehler leicht auftreten.

Page 3: Datenbanksystem

Ebenen der Datenabstraktion:

● Physische Ebene: Index und Speicherstrukturen werden hier festgelegt.

● Logische Ebene: Das Datenbankschema ist ein integrierter Entwurf der Daten.Es beschreibt alle relevanten Daten und ihrer Beziehungen untereinander.

● Sichten: Die Bereitstellung der anforderungsgemäss auf die Benutzer

zugeschnittenen Teilmengen der gespeicherten Daten. Datenunabhängikeiten:

● Physische Datenunabhängikeit: Das Hinzufügen von einem Index innehalb der physikalischen Speicherstruktur des Datenbanksystems hat keinen Effekt auf die logische Ebene außer dem Effizienzeffekt.

● Logische Datenunabhängikeit: Man kann die logische Struktur der Daten ändern

ohne,dass Man Anwendungsprogramme anpassen muss. Also die logische Schicht der Datenbank ist unabhängig von den Schnittstellen,über die die externen Anwendungsprogramme auf die Daten zugreifen.

¨ Datenmodelle : Die meisten Datenbanksysteme beruhen auf einem Datenmodell,welches eine theoretische Grundlage eines Datenbanksystems darstellt und bestimmt die Art der Speicherung und Bearbeitung der Daten in einem Datenbanksystem. DDL : ( Data Definition Language ) dient der Beschreibung , Änderung und Entfernung von Datenstrukturen und Datenobjekten, mit denen sie in Beziehung stehen. DML : ( Data Manipulation Language ) ist ein Teil einer Datenbanksprache und wird verwendet zum Lesen , schreiben ,ändern und zum löschen der Daten. Datenbankschema und Auspragung :

Page 4: Datenbanksystem

Es ist zu unterscheiden zwischen Datenbank-schema und -ausprägung.während Datenbankschema ein integriertes Modell der gesamten Daten und ihrer Beziehungen untereinander darstellt,versteht man unter dem Begriff Datenausprägung einen Zustand der abgespeicherten Daten innerhalb eines Datenbanksystem. Datenbankentwurf Abstraktionsebenen des Datenbankentwurfs:

● konzeptuelle Ebene: hier wird ein Ausschnitt der realen Welt beschrieben. ● Implementierungsebene: Die Datenbankanwendung wird hier in Bezug auf das

Datenbanksystem modelliert, welches eingesetzt wird.Bei einem relationalen Datenbankmodell werden Attributen , Tupeln und Relationen festgelegt.

Relationale Algebra: unter dem Begriff Relationenalgebra versteht man eine formale Sprache, mit der Man Abfragen über einem relationalen Schema stellen kann.Dadurch lassen sich, Relationen miteinander verbinden oder Informationen daraus herleiten.