DBS

Datenbanksysteme

Datenbanksysteme


Sira Gorba
Diese Lernkarten bieten eine Einführung in die Grundlagen von Datenbanksystemen und deren Modellierung. Sie behandeln zentrale Konzepte wie Entitäten, Attribute, Beziehungen und Beziehungstypen, sowie die Darstellung und Beurteilung von Datenbanken. Die Karteikarten sind besonders nützlich für Studierende und Berufstätige in der Informatik, die ein besseres Verständnis für Datenbankdesign und -verwaltung erlangen möchten.
Flashcards
12
Students
1
Language
German
Category
Computer Science
Level
Other
Created / Updated
24.05.2013 / 10.10.2019

Flashcards

Was ist ein Informationssystem?

Ein System, welches informationsverarbeitende Prozesse realisiert, heisst Informationssystem. Folgende Tätigkeiten  werden ausgeführt:

> Informationen aufnehmen, verändern, löschen

> Informationen zwischenspeichern

> Informationen langfristig aufbewahren und zur Auskunftserteilung verfügbar machen

> Mit anderen Informationssystemen kommunizieren

Beispiele dafür: Kontobuchungssysteme, Flugreservationssysteme, Bibliotheksausleihsysteme, Customer Care Systeme,...

Beispiel für die Einführung eines Informationssystem

Ein Unternehmen hat mehrere Unternehmesbereiche (KFZ, Elektro,...). 

Das Unternehmen hat verschiedene Betriebe an verschiedenen Standorten (Aholming, Karben,...).

An jedem Standort ist nur ein Betrieb, der eindeutig einem Unternehmensbereich zugeordnet ist.

Zu jedem Betrieb gehören ein oder mehrere Gebäude.

Abteilungen (F&E, Controlling,...) sind immer in einem Gebäude untergebracht.

Informationsbedarfsanalyse:

1. Mitarbeiter: Name, Personalnummer, an welchen Ort und in welchem Unternehmesbereich arbeitet sie/er, Abteilung, Gebäude, in welchem sich der Arbeitslatz befindet, Gehalt

2. Standort eines Betriebs: die geografischen Koordinaten (für Tourenplanung), Strasse/Hausnummer, Ortname und PLZ, den Namen des Betriebsleiters, die Höhe des Personalbudgets

Konventioneller Ansatz

Die Aufteilung eines Satzes in Felder sowie die Länge der einzelnen Datenfelder sind in jedem COBOL-Programm, das die Datei benutzen soll, genau zu definieren (und auch die Satzlänge eines Datensatzes)

Eine enge Verflechtung zwischen Program und Daten, d.h. Programm-Daten-Abhängigkeit.

Probleme des konventionellen Ansatzes

Problem 1: Änderungen

Feldlänge (Beispiel: Seit dem 1.7.1993 gab es neue Postleitzahlen)

Entfernen oder Hinzufügen eines Feldes (Beispiel: In die PERSONAL-Datei soll für jede Mitarbeiter das Geburtsdatum aufgenommen werden

Veränderungen der Anordnung der Felder

> Anderungen der Dateibeschreibung, damit Änderungen und Neuinstallation aller Programme, die auf diese Datei zugreifen; Aus versäumten Änderungen können Absturz des betreffenden Programms und (schlimmer) falsche Rechenergebnisse resultieren.

Problem 2: Redundanz

Der Unternehmensvorstand " Forschung und Entwicklung" möchte zum einfacheren Versenden von Rundschreiben eine Datei aller F&E- Mitarbeiter haben. Er kopiert sich aus der Personaldatei PERSONAL die Sätze aller "F&E"-Mitarbeiter und erstellt daraus die Datei PERSONAL-FuE. Diese enthält anstelle des Gehaltes ein zusätzliches Feld "Experte", das angibt, worin sich der Mitarbeiter besonders gut auskennt.

Andere Stellen im Unternehmen kopieren die PERSONAL-Datei ebenfalls und modifizieren ihre Kopien nach ihren Berdürfnissen. Unter Umständen werden auch die modifizierten Kopien selbst wieder weitergegeben. So entsteht im Unternehmen mit der Zeit eine grosse Sammlung unterschiedlicher Abkömmlinge der PERSONAL-Datei.

Problem 3: Inkonsistenzen

Alle von PERSONAL abgeleiteten Dateien enthalten nun falsche Angaben über Herrn Truhel > Inkonsistenzen

Beispiel: Der F&E-Vorstand wird wihl auch weiterhin seine Rundschreiben an Herrn Truhels alten Arbeitsplatz schicken. Die Konsisten-Haltung aller Abkömmlinge von PERSONAL über einen längeren Zeitraum ist in der Realität kaum zu gewährleisten.

Konzept des Datenbanksystems:

 

Integration des Datenbestandes, zentrale Verwaltung der Daten; Trennung von Programm und physisches Datenorganisation

Semantische Integritätsbedingungen- Wertebereiche (Domäne) > Beispiel: Innerhalb einer Tabellenzeile: Wertebereichsangaben -z.B. PLZ muss zwischen 01000 und 99999 liegen (statische Bedingung); Gehalt eines Angestellten darf bei Änderungen nie kleiner werden (dynamische Bedingung

Semantische Integritätsbedingungen -Innerhalb der Tabelle > Zellenübergreifen: Alle Angestellten, die am selben Standort in derselben Abteilung arbeiten, haben ihren Arbeitsplatz im selben Gebäude; Je Standort gehören alle Mitarbeiter demselben Unternehmensbereich an.

Semantische Integritätsbedingungen-Tabellenübergreifend > Die Summe der Gehälter aller Mitarbeiter an einem Standort darf das Personalbudget dieses Standortes nicht überschreiten.

Beurteilung des Datenbank-Ansatzes

1. Vermeidung von Redundanz: Trennung von Programm und Daten; Integrierte Verwaltung der Daten, um redundante Datenspeicherung zu vermeiden (Duplikate nicht notwendig)

2. Sicherstellung der Aktualität für alle: Zentrale Verwaltung bewirkt aktuellen und gleichen Stand der Daten für alle Benutzer.

3. Flexibler Gebrauch von Daten: Daten werden dem Benutzer von DBMS in der von ihm gewünschten Form übergeben (Views). Neue Anwendungen sind leichter zu implementieren, da Datenverwaltung nicht auf einzelne Anwendungen zugeschnitten ist; Grad der Flexibilität eines DBS ist allerdings abhängig vom Datenmodell und den verwendeten Speichertechniken.

4. Sicherung der Integrität: Integrität der Datenbank -Korrektheit und Vollständigkeit der gespeicherten Daten; zentrale Kontrollmöglichkeit durch spezielle Programme des DBMS

Motivation für das erstellen eines Entity Relationship Model

Standardisierte Darstellung > Ermöglicht die Kommunikation zwischen verschiedenen Stakeholdern

>Informationswissenschaftler

>Wirtschaftsinformatiker

>Programmierer

Unterstütz ein gutes Datenbankdesign

Entities, Entity-Sets, Entity-Typen

Entity (e):

Objekt der realen Welt, unterscheidbar von anderen Objekten; bsp.: Anna, Thomas, Markus,...

Entity-Typ (E):

Objekt-Typ ("charakteristische Eigenschafte"); Objekt e € E sind Objekte des Typs E; E = Name des Objekts

 

Attribute, Attributwerte

Entitäten haben Attribute

Ein Attribut stellt eine Eigenschaft dar

a = Name des Attributes

E: < A >

Ein Entity-Typ E wird charakterisiert durch eine Menge relevanter Attribute (A = {a1,...a7}

Schlüssel, Schlüsselwerte

Oft genügt ein Teil des Tupels um dieses einduetüg zu identifizieren

K ist " Schlüsse" für E: <A>

Eigenschaften

"identifizierende Attributkombinationen

Minimal > es gibt keine echte Teilmenge

K c K die Identifizierend ist

Es kann mehrere Schlüssel geben. Primärschlusser (primary key): einziger oder fest ausgwählter Schlüssel

üblich ist die Verwendung eines einfachen Schlüsselattribute z.B. AngNr, AbteilungsNr, ArtikelNr,.... anstelle einer mehrstelligen Attributkombination

Beziehungen und Beziehungstypen

Beziehung, Relationship (b)

Zwei oder mehrere Objekte können miteinander in Beziehung stehen.

Bsp: Angestellter 411 gehört zur Abteilung 2; b1 = (Angestellter 411, Abteilung 2)

Bsp: Buch R781K wurde an Anna geborgt und ist am 16. Juni fällig; b2 = (Buch R781K, Anna, 16.Juni)

Anzahl n der an einer Beziehung beteiligten Entities ist der Grad dieser Beziehung

 

Beziehungstyp/ relationship type (B)

Charakterisierung der Beziehungsmengen durch geeignete Eigenschaften

B = Name des Beziehungstyps

Bsp: arbeitetInAbteilung (Angesteller, Abteilung); entlehnt (Medium, Benutzer, Fälligkeitsdatum)

Attribute von beziehungstypen: Beziehungstypen können Attribute haben (ebenso wie Entity-Typen); konkrete bezihunge: Attributwerte entsprechend;

Bsp: Dauer der Zugehörigkeit; Umfang der Mitarbeit an einem Projekt; Menge des durch einen Kunden bestellten Artikels

Beziehungstypen sind gekennzeichnet durch die beteiligten Entity-typen und ggfs. Attribute des Beziehungstyps;

Bsp: arbeitetInAbteilung < Angestelllten, Abteilung>; entlehnt < Medium, fälligkeitsdatum, Benutzer, verlängert>

Grafische Darstellung

> Angabe aller Attribute bei grösseren Diagrammen unübersichtlich; Empfehlung: Anfertigen von Auszügen mit Angabe der Attribute.

> Im Gesamt- Diagramm eventuell lediglich Schlüsselattribute und Attribute von Beziehungstypen angeben (ohne Symbole).

> Beziehungstypen durchnummerieren und gesondert auflisten mit Angabe ihrer Bedeutung bzw des namebs.

Study