Home

Kapitel 1

image

Contents

1. SELECT ANGESTELLTE NAME JOB TITEL FROM ANGESTELLTE JOB ABTEILUNG WHERE ABTEILUNG BEZEICHNUNG KONSTRUKTION AND ABTEILUNG ABT_ID ANGESTELLTE ABT_ID AND ANGESTELLTE JOB_ID JOB JOB_ID AND JOB TITEL IN SELECT JOB TITEL FROM JOB ANGESTELLTE ABTEILUNG WHERE ABTEILUNG BEZEICHNUNG Organisation und Datenverarbeitung AND ANGESTELLTE JOB_ID JOB JOB_ID 3 Finde alle Mitarbeiter Angestellte in der Abteilung Konstruktion die einen Beruf job titel haben der zu einem Mitarbeiter der Abteilung Organisation und Datenverarbeitung nicht gleich ist SELECT ANGESTELLTE NAME JOB TITEL FROM ANGESTELLTE JOB ABTEILUNG WHERE ABTEILUNG BEZEICHNUNG Konstruktion AND ABTEILUNG ABT_ID ANGESTELLTE ABT_ID AND ANGESTELLTE JOB_ID JOB JOB_ID AND JOB TITEL NOT IN SELECT JOB TITEL FROM JOB ANGESTELLTE ABTEILUNG WHERE ABTEILUNG BEZEICHNUNG Organisation und Datenverarbeitung AND ANGESTELLTE JOB_ID JOB JOB_ID 4 Finde alle Angestellten die mehr verdienen als irgendein Mitarbeiter in der Personalabteilung Die Ausgabe soll in eine Tabelle mit folgenden Spalten
2. SELECT NAME FROM ANGESTELLTE WHERE ANGESTELLTE JOB_ID SELECT ANGESTELLTE JOB_ID FROM ANGESTELLTE JOB WHERE NAME Fritz AND ANGESTELLTE JOB_ID JOB JOB_ID OR ABT_ID SELECT ABT_ID FROM ANGESTELLTE WHERE NAME Fritz ORDER BY NAME In Unterabfragen mit mehr als einem Ergebnis mu eine where Klausel verwendet werden die mehr als einen Wert akzeptiert Eine solche Abfrage kann die Operatoren IN ANY ALL verwenden z B 1 Welche Angestellten ben die T tigkeiten eines Systemplaners bzw eines Ingenieurs aus SELECT ANGESTELLTE NAME FROM ANGESTELLTE WHERE ANGESTELLTE JOB_ID IN ELECT JOB JOB_ID S FROM JOB WHERE JOB TITEL Systemplaner OR JOB TITEL Ingenieur bzw SELECT ANGESTELLTE NAME FROM ANGESTELLTE 86 Datenbanken WHERE ANGESTELLTE JOB_ID ANY SELECT JOB JOB_ID FROM JOB WHERE JOB TITEL Systemplaner OR JOB TITEL Ingenieur 2 Finde alle Mitarbeiter Angestellte in der Abteilung Konstruktion die einen Beruf job titel haben der zu einem Mitarbeiter der Abteilung Organisation und Datenverarbeitung gleich ist
3. za mu Bsp Bestimme alle Angestellten aufsteigend geordnet nach Berufen job titel und innerhalb des Berufs absteigend nach Gehalt job gehalt Die Ausgabe soll in eine Tabelle mit folgenden Spalten berschriften erfolgen job titel job gehalt angestellte nam SELECT JOB TITEL JOB GEHALT ANGESTELLTE NAME FROM JOB ANGESTELLTE WHERE JOB JOB_ID ANGESTELLTE JOB_ID ORDER BY JOB TITEL JOB GEHALT DESC ber die SELECT Anweisung kann eine Tabelle mit sich selbst verkn pft werden Selbstverkn pfung SELF JOIN Mit Selbstverkn pfungen k nnen Daten aus verschiedenen Zeilen einer einzigen Tabelle zueinander in Beziehung gesetzt werden und diese Daten in einer Ergebnistabelle zu Zeilen zusammengefa t werden Der SELF JOIN kann ber die Definition unterschiedlicher Namen f r eine Tabelle realisiert werden soL behandelt die unter verschiedenen Namen gef hrten Tabelle wie unterschiedliche eigenst ndige Tabellen Bsp Bestimme aus der Tabelle Angestellte jeweils f r einen Mitarbeiter die Angestellten mit denen er in der gleichen Abteilung arbeitet Die Ausgabe soll in eine Tabelle mit folgenden Spalten berschriften erfolgen A ANG_ID A NAME B ANG_ID B NAME A ABT_ID SELECT A ANG_ID A NAME B A
4. Client Datenbanksystem Client Datenbeschaffung Oberfl che Fachfunktion Oberfl che Fachfunktion Fachfunktion LAN lt gt WAN z B Modem lt gt LAN der Zentrale Datenbeschaffung Fachfunktion Servicefunktion Datenbanksystem Fachfunktion Abb 1 5 11 Aufgabenverteilung auf verschiedenen Schichten Pr sentation Funktionen Datenbeschaffung Datenbank Services des Client Server Modells Die Abb zeigt die Verteilung der Aufgaben auf verschiedene Schichten Die Pr sentationsschicht bernimmt die Darstellung der Information gegen ber dem Benutzer klassische Frontend Bearbeitung Die FEunktionsschicht umfa t die fachlichen Funktionen unabh ngig von Darstellung und Speicherung Die Datenbeschaffungsschicht umfa t die Speicherung der Daten auf den erforderlichen Medien mit den entsprechenden Systemen Die Service Schicht stellt Werte und Funktionen in allgemeiner Form bereit die systembezogen oder umgebungsbezogen sind Zur Nutzung des Internet steht eine Vielzahl von Anwendungen zur Verf gung die als Internet Dienste bezeichnet werden Die Dienste st tzen sich auf ein Client Server Modell ab Bekannte Dienste im Internet sind Telnet File Transfer Protocol FTP Usenet News World Wide Web www Alle Internet Dienste st tzen sich auf das Client Server Konzept Das Client Programm Client stellt die Schnittstelle zwischen Benutzer und Server
5. Diagramm Einsatzgebiet Use Case Gesch ftsprozesse allgemeine Einsatzm glichkeiten Klassendiagramm So gut wie berall das Klassendiagramm ist das wichtigste Diagramm der UML Interaktionsdiagramm Zeigt den Nachrichtenflu und damit die Zusammenarbeit der Objekte im zeitlichen Ablauf Sequenzdiagramm Zeitliche Aufrufstruktur mit wenigen Klasse Kolloborationsdiagramm Zeitliche Aufrufstruktur mit wenigen Nachrichten Package Diagramm Groborientierung in welchem Modul welche Klasse zu finden ist Aufteilung in Unterprojekte Bibliotheken bersetzungseinheiten Zustandsdiagramm Darstellung des dynamischen Verhaltens Aktivit tsdiagramm Bei parallelen Prozessen und anderer Parallelit t Gesch ftsprozesse Implementierungsdiagramm Besonders f r die Darstellung von verteilten Anwendungen und Komponenten allgemein Darstellung von Implementierungs einheiten bersetzungseinheiten ausf hrbare Programme Hardwarestruktur Komponentendiagramm Zusammenh nge der Software Deployment Diagramm Hardwareaufbau Abb Einsatzgebiete und Eigenschaften der verschiedenen UML Diagramme Jedes der Diagramme besitzt zahlreiche Stilelemente mit verschiedenen Beschriftungsarten Use Case Anwendungdf lle kann man sich als eine Sammlung von Szenarios ber dem Systemeinsatz vorstellen Jedes Szenario beschreibt eine Sequenz von Schritten Jede dieser Sequenzen wird von einem Menschen einem anderen S
6. Client HTML Betriebssystem Betriebssystem Betriebssystem Seiten WWW Server Browser Browser Datenbanksystem Daten bank Abb 1 5 13 Intranet Architektur Bei der Client Server Kommuniktaion ber das Internet ben tigt man eine Server der st ndig in Bereitschaft ist und auf Anfragen von einem Client wartet Der Client baut eine Verbindung auf indem er eine Anfrage an den Server richtet und dieser die Verbindung aufnimmt Das einfachste Bsp hierf r ist ein Web Server der auf einem Host Rechner installiert ist Der Web Browser fungiert dabei als Client der eine Verbindung zu einem bestimmten Web Server f r den Datenaustausch herstellt In erster Linie wird der Client HTML Dokumente vom Web Server empfangen Viele Web Knoten legen jede Web Seite als eigene HTML Datei ab Solche Seiten sind allerdings statisch d h sie erzeugen bei jedem Aufruf denselben Inhalt In vielen Unternehmen steigt aber das Interesse vorhandene in Datenbanksytemen gehaltene Dokumente und Informationen f r Web Clients verf gbar zu machen Die Anbindung einer Datenbank an einen Web Server erleichtert die Aktualisierung der Inhalte Allerdings m ssen dazu die Daten mediengerecht aufbereitet d h in HTML der Seitenbeschreibungssprache des Web verpackt werden Das geschieht mit Hilfe von Programmen die Daten aus der Datenbank auslesen und aus den so gewonnenen Informationen HTML Dokumente erzeugen Die zugeh rigen Programme laufen auf dem Web Se
7. Lieferant Nr Name des Lieferanten Adresse des Lieferanten Information ber den Lieferanten Der Lieferant kann bestimmte Waren repr sentiert durch eine Teile Nr zu be stimmten Konditionen Preis Liefertermin etc liefern PREISNOTIERUNG Teile Nr Einzelpreis Liefertermin Das Teil ist noch zu beschreiben TEILE Teile Nr Beschreibung Vorrat an Teilen im Lager Schlie lich ist der Teilestammsatz noch mit den vorhandenen Bestellungen Bestell Nr zu verkn pfen Es mu bekannt sein welche Bestellungen zu einem Teil bereits vorliegen bei dem der Vorrat zur Neige geht Schema Der folgende Schema Entwurf bietet sich an 51 Datenbanken BESTELLUNG Bestell Nr Lieferant Nr Bestelldatum Liefertermin Preis LIEFERANT Lieferant Nr Name Adresse Information BESTELLPOSITION ARTIKEL Artikel Nr Bestellmenge Preis Artikel Nr Name Beschr Vorrat PREISNOTIERUNG Artikel Nr Preis Lieferant Bestell Nr Abb 1 3 32 Schema zum maschinellen Abwicklung des Bestellwesens Der Schema Entwurf resultiert aus den unmittelbaren Beziehungen zwischen den Objekt bzw Satztypen Au erdem gibt es noch Querbeziehungen Es handelt sich dabei um erg nzende nicht unbedingt f r den unmittelbaren Verwendungszweck notwendige Informationen Subschema Das Schema ist die allumfassende Darstellung der Datenelemente und Satztypen die in der DB g
8. berschriften erfolgen JOB GEHALT JOB TITEL ANGESTELLTE NAME ANGESTELLTE ABT_ID SELECT JOB GEHALT JOB TITEL ANGESTELLTE NAME ANGESTELLTE ABT_ID FROM ANGESTELLTE JOB WHERE JOB GEHALT gt ANY SELECT GEHALT FROM JOB ANGESTELLTE ABTEILUNG WHERE ABTEILUNG BEZEICHNUNG PERSONALABTEILUNG AND ABTEILUNG ABT_ID ANGESTELLTE ABT_ID AND ANGESTELLTE JOB_ID JOB JOB_ID AND JOB JOB_ID ANGESTELLTE JOB_ID ORDER BY GEHALT DESC Die Vergleichs Operatoren einer vergleich_bed 49 d rfen in Unterabfragen Subquery durch ALL ANY oder SOME Synonym f r ANY modifiziert werden Eine Anfrage darf mehrere Subqueries enthalten Unterabfragen d rfen geschachtelt sein Es ist m glich IN f r ANY und NOT IN f r ALL zu setzen Die ORDER BY Klausel ist in Unterabfragen nicht zugelassen 49 Vgl Syntaxdiagramme Abb 1 4 2 87 Datenbanken EXISTS Unterabfragen k nnen auch mit dem Operator EXISTS verkn pft werden Der Ausdruck exists select f hrt zum logischen Wert wahr falls das Ergebnis des in Klammern eingeschlossenen select Ausdrucks nicht leer ist S W ELECT JOB TITEL FROM JOB HERE EXISTS SELECT FROM ANGESTELLTE WHERE ANGESTELLTE JOB_ID JOB JOB_ID R
9. l vgl 1 2 1 Datenbanken zus tzliche Nachforschungen Organisation der Methodenbank Datenverarbeitung Datenbank Abb 1 2 1 Aufbau eines Informationssystems Die Organisation der Datenverarbeitung ist weitgehend bestimmt durch die Anwendung Solche Organisationsformen haben sich herausgebildet f r Dokumentationssysteme Expertensysteme Data Warehouse Systeme 1 2 2 1 Dokumentations Systeme Informations bzw Dokumentations Systeme enthalten Stichwortkataloge Die Titel oder die Zusammenfassungen der zu dokumentierenden Zeitschriftenartikel oder B cher werden auf aussagenkr ftige Begriffe durchsucht Weggelassen werden dabei alle W rter die nichts zum Suchproze beitragen Artikel Pr positionen Konjunktionen wenig aussagekr ftige W rter Schlagwortkataloge Nicht aus dem urspr nglichen Dokument bestimmte Stichw rter sondern speziell ausgew hlte Schlagw rter aus einem Schlagwortregister bilden hier die Grundlage Der Benutzer mu seine Abfrage mit diesen Schlagw rtern Deskriptoren aufbauen vgl Schlagwortverzeichnis der Association of Computing Machinery ACM Deskriptoren k nnen aber zu Problemen der folgenden Art f hren das Synonymenproblem Mehrfachbenennung eines Begriffs das Polysemenproblem Verwendung einer Begriffsbenennung f r verschiedene Begriffe das Aquivalenzproblem Verwandte Deskriptoren werden zweckm i
10. 2 Keine zentralen Systemfunktionen Zur Unterst tzung einer hohen Autonomie der Knoten und Verf gbarkeit sollte die Datenbankverarbeitung nicht von zentralen Systemfunktionen abh ngen Solche Komponenten bilden au erdem einen potentiellen Leistungsengpa 3 Hohe Verf gbarkeit Fehler im System z B Rechnerausfall oder Konfigurations nderungen Installation neuer Software und Hardware unterbrechen nicht die Datenbankbearbeitung 4 Ortstransparenz Der physische Speicherort sollte f r Benutzer verborgen bleiben Der Datenbankzugriff darf sich vom Zugriff auf lokale Objekte nicht unterscheiden 5 Fragmentierungstransparenz Eine Relation Tabelle der Datenbank sollte verteilt auf mehrere Knoten gespeichert werden k nnen Die dazu zugrundeliegende horizontale oder vertikale Fragmentierung der Relation bleibt f r den Datenbankbenutzer unsichtbar 6 Replikationstransparenz Die mehrfache Speicherung von Teilen der Datenbank auf unterschiedlichen Rechnern bleibt f r den Benutzer unsichtbar Die Wartung der Redundanz obliegt ausschlie lich der DB Software 7 Verteilte Anfragebearbeitung 88 C J Date An Introduction to Database Systems 5th Edition chapter 23 Addison Wesley 1990 131 Datenbanken Innerhalb einer DB Operation SQL Anweisung sollte die M glichkeit bestehen auf Daten mehrerer Rechner zuzugreifen Zur effizienten Bearbeitung sind durch verteilte DBMS geeignete Techniken bereitzustellen z B Query Opt
11. nah 3 4 5 6 Aufgabe Entwerfe das ER Diagramm das Schema und die relationale Datenbank f r die Personalverwaltung in einem Unternehmen a Entwurf des ER Diagramms Die Analyse zur Ermittlung der Struktur einer relationale Datenbank hat ergeben 1 Ermitteln relvanter Entit ten f r den betrachteten Datenbereich z B Der Angestellte A1 mit dem Namen Fritz ist am 2 1 1950 geboren und arbeitet in der Abteilung OD Organisation und Datenverarbeitung als Systemplaner SY Er besitzt zus tzliche Qualifikationen f r Operateur OP Programmierer PR T tigkeiten Ein Systemplaner verdient 6000 00 DM ein Operateur OP 3500 DM ein Programmierer 5000 00 DM im Monat Der Angestellte A2 mit dem Namen Tom ist am 2 3 1951 geboren und arbeitet in der Abteilung KO Konstruktion als Ingenieur IN Er besitzt zus tzliche Qualifikation zur Systemplaner SY T tigkeiten Ein Systemplaner verdient 6000 00 DM ein Ingenieur IN 6000 DM im Monat Der Angestellte A3 mit dem Namen werner ist am 23 1 1948 geboren und arbeitet in der Abteilung OD Organisation und Datenverarbeitung als Programmierer SY Er besitzt zus tzliche Qualifikationen f r Operateur OP Programmierer PR T tigkeiten Ein Programmierer verdient 5000 00 DM im Monat Der Angestellte a4 mit dem Namen Gerd ist am 3 11 1955 geboren und arbeitet in der Abteilung VT Vertrieb
12. Aufbau betrieblicher Informationssysteme 6 Auflage Stuttgart 1990 23 Datenbanken Jedem Entit ts Typ kann man eine Kombination von Attributen jeder Entit t dieses Typs eine entsprechende Kombination von Attributwerten zuordnen Bsp Produktionsdaten eines Unternehmens Dem Entit tstyp ANGESTELLTE kann zugeordnet werden NAME Karl BERUFSBEZEICHNUNG Programmierer NAME_DER_KINDER Fritz Anna In der Regel sind Attributkombinationen so beschaffen da sie die zugeh rige Entit t eindeutig beschreiben Alle Entit ten des gleichen Typs bilden eine Entit tsmenge Bsp Alle Studenten einer Hochschule charakterisiert durch die Eigenschaften NAME ALTER WOHNORT Ein Entit ts Schl ssel Schl sselkandidat candidate key ist dann ein Attribut das Entit ten innerhalb einer Entit tsmenge eindeutig identifiziert Ein Entit tstyp kann mehrere Schl sselkandidaten haben Es ist sinnvoll aus den Schl sselkandidaten einen Prim rschl ssel primary key auszuw hlen Soweit es m glich ist sollte man zusammengesetzte Prim rschl ssel vermeiden 3 Beziehungen Zwischen Entit ten k nnen Beziehungen bestehen So sind bspw in den Produktionsdaten eines Unternehmens Beziehungen 5 Ein Angestellter ist Mitarbeiter an bzw ist Projektleiter von bestimmten Projekten 7 Ein Angestellter geh rt zu einer bestimmten Abteilung Gleichartige Beziehungen k nnen zu einer Bezi
13. Sie sorgt in relationalen Datenbanken daf r da jedem Wert eines Fremdschl ssels ein entsprechender Prim rschl ssel des gleichen Bereichs zur Verf gung steht Idealerweise speichern Datenbankverwaltungssysteme DBMS die Integrit ts konzepte unterst tzen Integrit tsbedingungen z B zul ssige Wertebereiche f r Daten im Data Dictionary Pragmatische Integrit tsbedingungen Dazu z hlen gesetzliche und organisatorische Vorschriften Ablaufintegrit t Hierunter versteht man die Datenkonsistenz bei der Verwaltung des Mehrbenutzer betriebes Die Ablaufintegrit t kann beeintr chtigt werden wenn mehrere Benutzer zugleich auf eine Datenbank zugreifen Falls eine Verletzung der Integrit t festgestellt wurde so mu sie wiederhergestellt werden Dies geschieht durch einen Wiederherstellungsproze der von der Art des Fehlers abh ngig ist So verf gt das Datenbankverwaltungssystem in der Regel ber eine transaktions orientierte Fehlerbehebung Eine Transaktion ist bekanntlich eine Folge von 140 Datenbanken Operationen die alle insgesamt abgeschlossen sein m ssen Zu jeder Transaktion wird ein Protokolleintrag Anfangszeitpunkt der Transaktion Transaktionsnummer Transaktionstyp Datenobjekt vor Ver nderung before image Zustand des Datenobjekts nach Ver nderung after image Fehlerstatus Endzeitpunkt der Transaktion erstellt Im Fehlerfall besteht die M glichkeit fehlerfreie von fehlerhaften Transaktionen au
14. Transaktionen am Lesen und Schreiben des Objekts Eine Transaktion erh lt exklusiven Zugriff auf das Objekt Die Gr e der Dateneinheiten die in einem Datenbanksystem gesperrt werden k nnen wird als Granularit t degree of granularity bezeichnet In relationalen Datenbanksystemen sind typischerweise folgende sperrbare Einheiten bekannt die Datenbank die Relation ein physischer Plattenblock ein Attributwert Verklemmungen Je nach Art der verwendeten Sperren entstehen zwischen Transaktionen Wartebeziehungen bzw Serialisierungsbedingungen durch Zugriffe auf die Datenbank Falls Transaktionen Datenelemente sperren kann es zu Verklemmungen kommen z B Die Transaktion T und T k nnen nebenl ufig ausgef hrt werden Das geschieht zuf llig in folgender Reihenfolge 1 Transaktion T sperrt Objekt A zum Schreiben 2 Transaktion T2 sperrt Objekt B zum Schreiben 3 Transaktion T fordert eine Sperre auf Objekt B mu aber warten da Objekt B von T gesperrt ist 4 Transaktion T fordert eine Sperre auf Objekt A mu aber warten da Objekt A von T gesperrt ist An diesem Punkt k nnen weder T noch T fortfahren Sie sind verklemmt Synchronisation von Transaktionen TA Es geh rt zur Aufgabe der Transaktionsverwaltung derartige unkorrekten Abl ufe Anomalien voneinander zu isolieren und zu synchronisieren Die Abarbeitung einer Transaktion l t sich durch das Zwei Phasen Protokolls ohne Gef hrdung de
15. glichkeiten Zu diesen Datenbankaufgaben kommt noch als weitere Aufgabe hinzu System steuerung zur Koordinierung der verschiedenen Auftr ge innerhalb des Datenbanksystems und Datenkommunikation zum Nachrichtenaustausch mit Au enstellen Transaktionsbetrieb Benutzerschnittstelle DBMS DC Hardware Abb 1 2 7 berblick zu den Komponenten eines DB DC Systems 17 Datenbanken Aufgaben eines DC Systems Bereitstellen einer Schnittstelle f r Anwender Datenbankprogramm die die Eigenheiten der Datenstationen und die techn Eigenschaften der Daten bertragung verdeckt Abwicklung des Nachrichtentausches zwischen einer Vielzahl von Datenstationen und den Anwender Datenbankprogrammen Weiterleitung der Nachrichten in Abh ngigkeit von Priorit t Betriebsmittel verf gbarkeit und Schutzregelungen an den Empf nger Der Fernzugriff auf Datenbanken ist im wesentlichen durch 4 Komponenten bestimmt den Bildschirmarbeitsplatz Das kann bspw ein Bankautomat mit einfacher Benutzeroberfl che oder ein komplexes System CAD Workstation mit leistungsf higem Prozessor sein das Anwendungsprogramm Das ist in der Regel ein transaktionsorientiertes Programm das einfache Abfragen und Anderungsw nsche entgegennimmt Zugriffsberechtigung des Benutzers pr ft Datenbankzugriffe abwickelt und dem Benutzer das Resultat bermittelt das Datenbanksystem DB System DBS Es besteht in der Regel aus mehreren P
16. gt E wenn alle Personen einer Menge zusammengefasst werden b Erfolgt die Zusammenfassung getrennt nach M nnern und Frauen so liegt die Art E E vor 5 Kardinalit tsverh ltnis Es gibt dar ber Auskunft in welchem Verh ltnis zwei Entit tstypen ber einen be stimmten Beziehungstyp miteinander verbunden sind Man unterscheidet Beziehungen vom Verh ltnis 1 1 Zwischen zwei Entit tstypen Entit tstyp 1 und Entit tstyp 2 kann zu einem Zeit punkt nur eine einzige Entit t aus Entit tstyp 1 mit einer einzigen Entit t aus Enti t tstyp 2 in Verbindung stehen So ist der Beziehungstyp Heirat eine 1 1 Verbindung zwischen zwei Personen Entit ten Beziehungen vom Verh ltnis 1 N Zwischen den beiden Entit tstypen kann zu einem Zeitpunkt nur eine einzige Enti t t aus Entit tstyp 1 mit mehreren Entit ten aus Entit tstyp 2 in Verbindung stehen So ist bspw der Beziehungstyp zwischen Abteilung und Angestellte vom Verh ltnis 1 N Beziehungen vom Verh ltnis M N Zwischen zwei Entit tstypen k nnen zu einem Zeitpunkt mehrere Entit ten aus Entit tstypp 1 mit mehreren Entit tstypen aus Entit tstypp 2 ber den Beziehungstyp in Verbindung stehen So ist bspw der Beziehungstyp zwischen Projekte Teile vom Verh ltnis M N 6 Mitgliedsklassen Ergibt sich aus den Anforderungen des Anwendungsgebiets da jedes Exemplar eines Entit tstyps an einer Beziehung teilhaben mu dann wird diese Klasse des Entit
17. r jeden Entit tstyp und jeden Beziehungstyp wird eine eigene Tabelle angelegt Jedes notwendige Attribut erh lt in einer solchen Tabelle eine Spalte zugeordnet Bei den Tabellen der Beziehungstypen mu darauf geachtet werden da auch die Prim rschl ssel der ber die Beziehungstypen verkn pften Entit tstypen vorliegen 18 yg 1 3 6 2 19 vgl Chen P S und Kn ll Heinz Dieter Der Entity Relationship Ansatz zum logischen Systementwurf Mannheim Wien Z rich 1991 20 Sie wird zur besseren bersicht generell abgeflacht dargestellt 31 Datenbanken Lieferant liefert Artikel L Name Anschrift L A Preis A Bez Best EOI ee Meet L01 A17 ATT aa okan Abb 1 3 6 Relationale Datenbank zur Beziehung Lieferant Artikel Die Komplexit t eines Beziehungstyps gibt an in welchem Verh ltnis die Entit ten der beteiligten Entit ts Typen zueinander in Beziehung stehen Sie wird durch die Beschriftung der Kanten 1 m n ausgedr ckt Zwischen 2 Entit ts Typen k nnen Beziehungen des Typs 1 1 1 n eins zu viele und m n viele zu viele vorkommen Einer Kante kann ein Rollenname zugeordnet sein der die Funktion des jeweiligen Entit ts Typen in Bezug auf den Beziehungstyp beschreibt 3 ist_ein Beziehung Sie wird durch eine Raute mit der Beschriftung ist_ein oder durch einen Pfeil dargestellt Die Kante zu E einer Beziehung E4 ist_ein E ist ungeri
18. ufig ablaufen den Verlust lost update der durch die Transaktion T4 durchgef hrten Aktualisierung 1 Transaktion T holt das Objekt aus der Datenbank 2 Transaktion T liest das Objekt aus der Datenbank 3 Transaktion T aktualisiert das Objekt und schreibt es zur ck 4 Transaktion T aktualisiert das Objekt und schreibt es zur ck in die Datenbank out of date retrieval Zu einer veralteten Wiedergewinnung out of date retrieval f hrt dagegen die folgende Reihenfolge der Ereignisse 1 Transaktion T liest das Objekt zur Aktualisierung aus der Datenbank 2 Transaktion T liest das Objekt zur Information 3 Transaktion T ver ndert das Objekt und schreibt es zur ck in die Datenbank Lese Schreibsperren Hier m ssen f r die Dauer der Ausf hrung einer Transaktion die betroffenen Daten sog Konsistenzbereich gegen den Zugriff anderer Anwender gesch tzt werden So mu eine der beiden Transaktionen den Zugriff bzgl des Objekts sperren Die Wahl bzw die Definition des Konsistenzbereichs soll derart geschehen da nur der m glichst kleinste definierbare aber notwendige Bereich gesperrt wird 102 Datenbanken Eine Lesesperre erlaubt den Lesezugriff auf das Objekt und verhindert da eine Transaktion das Objekt aktualisiert Eine beliebige Anzahl Transaktionen kann eine Lesesperre auf ein Objekt zur gleichen Zeit aus ben Ein Schreibsperre erlaubt Lese und Schreibzugriff auf ein Objekt hindert andere
19. 27330 Uwe 8 M nchen Karlsplatz Pers Nr Name Adresse Abb 1 1 3 Datenbestand f r die Adressenschreibung Es ergeben sich aus dieser L sung allerdings zwei neue Probleme Bestimmte Ordnungsbegriffe sind doppelt zu speichern Pers Nr Name Man spricht von Datenredundanz gleiche Informationen sind mehrfach abgespeichert Daraus ergibt sich 1 Zus tzlicher Bedarf an Speicherplatz auf externen Speichereinheiten 2 Unterschiedlicher Stand der Datenbest nde wenn nicht alle Anderungen in mehrfach gespeicherten Daten durchgef hrt werden Eine 3 Aufgabe ist F r jeden Mitarbeiter sind Informationen ber seine Ausbildung bzw Erfahrungen und die M glichkeiten seiner Besch ftigung zu speichern Mitarbeiter M ller kann z B im Unternehmen zwei Besch ftigungen aus ben F r jede Besch ftigung hat er eine entsprechende Ausbildung bzw Erfahrung Es ergeben sich wieder zwei L sungen f r die 3 Aufgabe L sung 1 Erweiterung des gemeinsamen Datensatzes L sung 2 Aufbau eines dritten Datenbestandes Probleme Wie viele Besch ftigungen kann ein Mitarbeiter m glicherweise dann aus ben Wie viele Ausbildungen bzw Erfahrungen kann er haben Wieviel Speicherplatz mu f r neue Ausbildungen bzw Erfahrungen im Datensatz je Mitarbeiter frei gelassen werden Folgerungen In der herk mmlichen Datenverarbeitung treten eine Reihe von Problemen auf Diese Probleme verhindern den Aufbau von Informationssy
20. Anweisung gt CREATE VIEW lt Tabellen Name gt AS lt Abfrage gt DELETE FROM lt Tabellen Name gt WHERE lt Bedingung gt NSERT INTO lt Tabellen Name gt lt Spalten Liste gt VALUES lt Wert Liste gt ROLLBACK Macht alle Ver nderungen an der Datenbank seit dem letzten COMMIT Kommando wieder r ckg ngig SELECT DISTINCT ALL lt Spalten Liste Funktionen Konstanten etc gt FROM lt Tabellennamen Liste oder Namen von Views gt WHERE lt Bedingung en gt GROUP BY lt Gruppierte Spalte n gt HAVING lt Bedingung gt ORDER BY lt Geordnet nach Spaltenwerte gt ASC DESC UPDATE lt Spalte n gt SET lt Spalten Name gt lt Wert gt WHERE lt Bedingung gt SQL arbeitet mit verschiedenen Objekten Tabelle Spalte Zeile View skalare Werte und Operationen auf diesen Objekten wie die verschiedenen Syntax Diagramme zum SELECT Kommando zeigen SOL besteht aber nicht nur aus der SELECT Anweisung sondern setzt sich insgesamt aus 12 Befehlen zusammen Diese Befehle lassen sich zur Datendefinitions Sprache Data Definition Language DDL der Datenmanipulationssprache Data Manipulation Language DML und der Datenkontroll Spache Data Control Language DCL zuordnen Au erdem geh rt zu SQL der Systemkatalog zur Verwaltung der Tabellenstruktur und Werkzeuge f r Performance Optimierung zur Beschleunigun
21. Beziehung zwischen Ehemann und Ehefrau ist vom Typ 1 1 2 Professoren k nnen mehr als eine Diplomarbeit gleichzeitig betreuen eine Diplomarbeit mu von genau einem Professor betreut werden Das ist eine hierarchische 1 n Beziehung Gelegentlich stehen Entit tsmengen auch ber eine ist_ein IS_A Beziehung in Verbindung So ist bspw ein Professor an einer Hochschule ein Hochschulangestellter Hochschulangestellte sind aber auch die Verwaltungsangestellten Der Professor an einer Hochschule besitzt neben der Identifikation die ihn als Hochschulmitarbeiter ausweist und einer Reihe weiterer 15 vgl Chen P S The Entity Relationship Modell toward a unified view of data ACM Transactions on Database Systems March 1976 16 vgl 1 3 1 1 17 Es spielt auch eine wesentliche Rolle bei den Werkzeugen des computerunterst tzten Software Engineering CASE 30 Datenbanken Attribute Name Geburtsdatum Adresse Merkmale die ihn als Mitglied eines Fachbereichs in einer bestimmten Hochschule z B Fachhochschule Regensburg ausweisen Die zweistellige Beziehung E4 ist_ein E2 besagt E4 ist eine Spezialisierung von Ev bzw Ev ist eine Verallgemeinerung von E4 Im vorliegenden Fall k nnte E4 Professoren auch als Teilmenge von Ep Hochschulmitarbeiter verstanden werden Die Darstellung von E4 und Ev als verschiedene Mengen erm glicht es jedoch Besonderheiten von E4 zu modellieren die nicht unbedingt f r jede Entit t
22. Das sind Programme mit deren Hilfe Datenbanken f r interne Zwecke aufgebaut und gepflegt werden k nnen Es handelt sich dabei um Datenbankverwaltungs Systeme Datenbankmanagement Systeme DBMS die nur die Organisation nicht aber den Inhalt der Datenbank bestimmen Streng genommen bezeichnet der Begiff Datenbank eine nach bestimmten Regeln aufgebaute Datensammlung Texte Tabellen bzw Zahlen Zeichen Graphiken Auf diese Daten besteht eine Zugriffsm glichkeit die ber vielf ltige Kombinationsm glichkeiten des Suchbegriffs gew nschte Informationen bereitstellt So wird heute weltweit der Zugriff auf mehr als 6000 ffentlich zug ngliche Datenbanken angeboten Sie werden von zahlreichen Instituten Zeitschriften Zeitungen Nachrichtenagenturen Vorlagen und amtlichen Stellen gef llt In externen Datenbanken arbeitet der Anbieter einer Datenbank mit Hilfe von Datenbanksystemen zusammen ber Datenbanksysteme werden externe Quellen Zeitschriften B rsenmitteilungen Gesetze Urteile etc ausgewertet und in eine f r die Datenbank geeignete Form gebracht Im Gegensatz dazu enthalten interne Datenbanken nur Daten die im eigenen Umfeld des Datenbankadministrators anfallen Datenbanken 1 2 2 Informationssysteme Was geh rt alles zu einem Informationssystem Eine Datenbank liefert Fakten f r ein Informationssystem Ausgangspunkt solcher Systeme ist der Benutzer Er stellt Fragen das Informationssystem gibt Antworten Einf
23. Datenbank Zugriffssprache im Rahmen der System Application Architecture SAA von IBM Inzwischen wurde der Standard von 1986 bereits zweimal aktualisiert 1989 1992 Die aktuelle Fassung SQL 92 aus taktischen Gr nden SQL2 genannt umfa t bereits eine 600 Seiten umfassende Beschreibung 1 Die select Anweisung Die zentrale Idee Die zentrale Idee die SQL zugrundeliegt und in der select Anweisung verwirklicht wurde ist eine Abbildung bestimmter Tabellenspalten Die Tabellen bilden den Definitionsbereich ber eine Auswahlkriterium wird aus dem Definitionsbereich ein Abbildungsbereich bestimmt select lt spalten gt 1 Klausel from lt tabellen gt 2 Klausel where lt bedingung gt 3 Klausel Der 1 Klausel legt fest welche Spalten Attribute im Ergebnis Abbildungsbereich ber cksichtigt werden sollen Die 2 Klausel bezeichnet die Tabellen und Views Sichten aus denen Zeilen und Spalten abgefragt werden sollen Die 3 Klausel ist optional und bestimmt da nur diejenigen Zeilen im Ergebnis angezeigt werden sollen die einer bestimmten Bedingung gen gen Der formale Aufbau des select Befehls ist an bestimmte Regeln gebunden die die folgenden Syntax Diagramme f r den Standard von 1989 beschreiben 44 vgl Sandberg G A primer of relational data base concepts IBM Systems Journal Heft 1 S 23 61 1980 45 vgl Zloof M M Query by Example a database language
24. Datenbanken 2 Daraus lassen sich die folgendenen Entit ten ableiten Abteilung Angestellte Job 3 die folgende Attribute besitzen Abteilung Abt_ID Bezeichnung Angestellte Ang_ID Name Gebjahr Abt_ID Job_ID Job Job_ID Titel Gehalt 4 Beziehungen bestehen zwischen Abteilung und Angestellte Angestellte und Job ausge beter Beruf Angestellte und Job Qualifikation 5 Ermitteln der H ufigkeit von Entit tsmengen zwischen denen Beziehungen bestehen Ein Angestellter arbeitet in einer Abteilung Eine Abteilung hat mehrere Angestellte Ein Angestellter bt eine bestimmte berufliche T tigkeit aus Eine berufliche T tigkeit kann von mehreren Angestellten wahr genommen werden Ein Angestellter besitzt mehrere Qualifikationen Eine bestimmte Qualifikation haben mehrere Angestellte erreicht 6 Darstellung der Datenstruktur in einem ER Diagramm Abb 1 3 16 ER Diagramm zur Datenbank Personalverwaltung b Schemaentwurf der reltionalen Datenbank Abteilung Abt_ID Bezeichnung Angestellte Ang_ID Name Gebjahr Abt_ID Job_ID Job Job_ID Titel Gehalt Qualifikation Ang_ID Job_ID 40 Datenbanken c Die relationale Datenbank f r das Personalwesen ABTEILUNG ABT _ID BEZEICHNUNG OD Organisation und Datenverarbeitung Personalabteilung ANGESTELLTE ANG ID A1 Fritz 21150 OD SY A3 Wermer___ 23 4 1948 OD PR____ A5 Emi 23160 PA PR Aae Uw
25. Erstellung und Weiterentwicklung von Thesauri sind in DIN 1463 festgelegt 8 Datenbanken Hilfsorganisation f r Suchfragen Sie erlauben dem Dokumentationsbenutzer einen schnelleren Zugang zur gesuchten Information 1 2 2 2 Data Warehouse Ein Data Warehouse ist eine Datenbank mit historischen Daten die aus unter schiedlichen Datenquellen eines Unternehmens in eine seperate Datenbank kopiert werden Herk mmliche Datenbanken operative Systeme bearbeiten das Tagesgesch ft Informationen ber z B die Umsatzsituation Soll Ist Werte einer Budget Planung sind daraus leicht abzuleiten Informationen ber die Umsatzentwicklung der letzten 6 Jahre Soll Ist Entwicklung im Vergleich zum Vorjahr k nnen nicht direkt ermittelt werden Ein Data Warehouse stellt Datenmaterial bereit derartige komplexe Fragen zu beantworten Es enth lt Daten in unterschiedlicher Verdichtung die f r die Entscheidungsunterst tzung der Benutzer relevant sind Direktzugriff wird Endbenutzern durch einen Informationskatalog erm glicht der ber Inhalte Formate und Auswertungsm glichkeiten des Data Warehouse Auskunft gibt Die Auswertung dieser Datenbank durch eine gro e Anzahl von Benutzern stellt gro e Anforderungen Der Erfinder des Datenbankmodells f r relationale Datenbanken E F Codd hat folgende Merkmale genannt die Systeme f r das Online Analytical Processing OLAP erf llen sollen Merdimensionale konzeptionelle Sicht auf die Daten T
26. Programm ber mehrere JDBC Treiber angesteuert werden Jeder Treiber registriert sich beim JDBC Manager w hren der Initialisierung Beim Versuch sich mit einer Datenbank zu verbinden gibt das Java Programm einen Datenbank URL an den JDBC Manager weiter Der JDBC Manager ruft dann einen der geladenen JDBC Treiber auf Die URLS von JDBC haben die Form jdbc subprotocol subname subprotocol ist der Name der jeweiligen Datenbank z B jdAbc oracle oci7 rfhs8012_ora3 129 Driver Datenbanken GetConnection Initialisieren und Allokieren createStatement prepareCall Connection prepareStatement executeUlpdate Anwei Statement executeQuery gt execute getMoreResults Bearbeiten von Prepared sungen Statement Callable ta Verarbeitung GetResultSet Abb 1 5 20 JDBC Objekte Methoden Ablauf Resultat next ResultSe z getString Mr Deallokieren Bereinigen 130 X y A v Datenbanken 1 6 Verteilte Systeme 1 6 1 Verteilte Datenbanken Definition und Anforderungen Verteilte Datenbanken sind auf verschiedenen Rechnern eines Rechnernetzes verteilt und besitzen ein Datenbankverwaltun
27. Trends f hren zur Datenbankmaschine Ein Datenbankrechner ist ein Rechensystem das ausschlie lich Datenbank aufgaben wahrnimmt Die Kommunikation zu einem Verarbeitungsrechner mu gew hrleistet sein Eine Datenbankmaschine ist ein Datenbankrechner der f r die Durchf hrung seiner Datenbankaufgabe durch spezielle diese Aufgabe unterst tzende Hardware ausger stet ist Neben einem intelligenten Kontroller der eine schnelle Reduktion der Gesamtmenge auf eine komprimierte Zwischenergebnismenge durchf hrt sollte eine Datenbankmaschine auch hardwaregest tzte Operationen z B zur Bildung von invertierten Listen Berechnen von Hashschl sseln bzw Sortieren und Verkn pfen von Tupelmengen umfassen Diese Operationen k nnen leistungsm ig entweder durch hohe Parallelit t von vielen relativ einfachen Hardwarebausteinen z B Mikroprozessoren oder von wenigen speziell entwickelten Hochleistungsbausteinen durchgef hrt werden 1 7 Integrit tsbedingungen und Integrit tsregeln Konsistenz oder Integrit t bedeutet die Korrektheit der in der Datenbank gespeicherten Daten Dazu geh rt die technische oder physische Integrit t d h richtiges Arbeiten des Datenbanksystems Dar ber hinaus sollen die Daten aber weitgehend den Abh ngigkeiten und Bedingungen gen gen denen die durch die Daten dargestellten realen Objekte unterworfen sind logische Konsistenz 93 vgl Eberhard L und andere Datenbankmaschinen berblick ber de
28. angeben Navigieren durch die Datenbank Bsp Zugriff zu den Angestellten im Rahmen der komplexen Beziehungen zwischen Angestellten und Projekten 44 Datenbanken Aufgabe Finde alle Angestellte die an Projekt P1 arbeiten L sungsschritte 1 Suche Entit t P1 2 Deute P1 als Owner eines Set vom Typ P AP 3 Suche 1 n chstes Member Ai P1 in diesem Set 4 Falls nicht vorhanden STOP evtl weiter mit 8 5 Vorhanden Deute Ai P als Member in einem Set vom Typ A AP suche zugeh rigen Owner Ai 6 Verarbeite Ai 7 Weiter bei 3 8 5 Zusammenfassung Die Einf hrung spezieller Entit ts Typen zur Realisierung von Beziehungen ist in folgenden F llen notwendig 1 Die Beziehungen sind keinem Set Typ zuzuordnen n m Beziehungen 2 Die Beziehung besteht zwischen mehr als 2 Entit ts Typen 3 Eine Beziehung besitzt Attribute Das Schema einer auf dem Netzwerk Datenmodell beruhenden Datenbank mu also enthalten Die Beschreibung der vorhandenen Entit ts Typen und ihrer Attribute einschl der Wertebereiche Die Beschreibung der vorkommenden Set Typen Bsp OBJEKTTYP_1 OBJEKTTYP_2 OB VERBINDUNG C SET_4 JEKT OBJEKTTYP_5 OBJEKTTYP_6 a Abb 1 3 24 Datenbankstrukturdiagramm eines Netwerks mit 6 Sets 45 Datenbanken 1 3 5 Das hierarchische Datenbankmodell Ber cksichtigt werden hierarchische Beziehungen zwischen
29. ani aaiae a aaa umensessennse Unformatierte Datenbest nde Hier k nnen S tze nicht durch Ordnungskriterien oder feste Stellenzuordnung der Felder identifiziert werden Deshalb m ssen wichtige beschreibende Schlagworte sog Deskriptoren festgelegt personell oder maschinell werden Bei der Suche Information Retrieval IR m ssen die gespeicherten Deskriptoren mit den Suchbegriffen des Benutzers verglichen werden ber Wort hnlichkeits 4 vgl 1 2 2 1 12 Datenbanken pr fungen Begriffskombinationen Synonyme und logische Operationen sind die m glichen Fundstellen einzukreisen Zusammenfassung Den grunds tzlichen Unterschied zwischen formatierten und unformatierten Daten soll das folgende Bsp nochmals herausstellen Formatiert Feldname Pers Nr Name Vorname Beruf Fam Stand Abt Daten Feldinhalte 4711 Maier Hans B cker verh 10 Unformatiert Der Mitarbeiter Hans Maier hat die Personalnummer 4711 er ist B cker arbeitet in der Abteilung 10 und ist verheiratet Es gibt Systeme f r formatierte und Systeme f r unformatierte Daten Sie sind unter folgenden Bezeichnungen bekannt Data Management Systems Information Retrieval Systems Information Managament Systems Information Storage and Retrieval File Managent Systems EEE Dokumente sind in der Regel nicht strukturiert Sie bestehen aus einer Menge von Worten Eine umfassende Textverarbeitung ist daher
30. aus Ev relevant sind Darstellung Das Entity Relationship Modell dient vor allem zur Beschreibung des konzeptuellen Schemas einer Anwendung Die Struktur aus Entit tsmengen Beziehungsmengen und Attributen wird im Entity Relationship Diagramm ER Diagramm grafisch dargestellt 1 Deklaration von Entit tsmengen Sie erfolgt ber ein Rechteck das den Namen der Entit tsmenge enth lt und durch Kreise die die Attribute aufnehmen Die Kreise werden durch ungerichtete Kanten mit dem Rechteck verbunden Elemente des Prim rschl ssel werden unterstrichen Wertebereiche werden nicht dargestellt 2 Deklaration von Beziehungsmengen Sie erfolgt durch eine Raute 0 die den Namen der Beziehungsmenge enth lt Die Raute wird durch Kanten mit der beteiligten Entit tsmengen Deklaration Recht ecke verbunden Die Kanten sind nicht gerichtet Ausnahme Hierarchische Beziehungen Der Typ der Beziehung wird an die Kante geschrieben Falls die Beziehungsmenge Attribute besitzt werden diese ebenfalls durch Kreise dargestellt und ber ungerichtete Kanten mit der entsprechenden Raute verbunden Bsp Beziehung zwischen Lieferant und Artikel im ERM liefert Artikel ED A Fe ge OED nD Freie AB Bezeichnung Bestand Abb 1 3 5 ERM Diagramm zur Beziehung Lieferant Artikel Lieferant Zur Darstellung der Auspr gungen Mengen Occurrences greift das ERM h ufig auf das relationale Datenbankmodell zur ck F
31. aus den gespeicherte Tabellen abgeleitet wird Nachdem ein View definiert wurde kann er in gleicher Weise benutzt werden wie jede andere Relation Die Suche in einer relationalen Datenbank erfolgt durch Angabe von bestimmten Attributwerten eingebettet in Abfragesprachen Da das Durchsuchen aller Daten s tze viel zu lang dauern w rde mu die f r das Suchen wichtige Information ber einen Index herausgezogen werden Im Index steht neben der Suchinformation dann ein Verweis auf den vollst ndigen Datensatz Selbstverst ndlich ist der Index so einzurichten da die Suchzeit m glichst kurz ist Au erdem belegt der Index zus tzlichen Speicherplatz Man kann nat rlich auch mehrere Indexe f r verschiedene Suchkriterien einrichten Die Architektur einer relationalen Datenbank ist somit intern wesentlich durch die Organisation der Daten und Indexdatei en bestimmt Durch Integration der logischen Programmierung Prolog mit relationalen Datenbanken entstehen deduktive Datenbanken Sie erg nzen die Fakten der relationalen Datenbank Tupel mit Regeln Relationale Datenbanken werden dadurch zu Wissensbasen Die zur Manipulation logischer Datenbanken entwickelten Datenbanksprachen z B Datalog st tzen sich auf die Pr dikatenlogik 29 Datenbanken 1 3 3 Das Entity Relationship Modell Grundlagen Das Entity Relationship Modell 5 von Chen ist ein Versuch Beziehungen zwischen den Daten zu formalisieren Die Objekte der Wirklichk
32. berl sst ihr die Bearbeitung der nicht lokalen Servicees Au erdem l uft auf dem Client eine Komponente des Distributed System Management DSM Im Server Block l uft die Server Seite der Applikation Die Serversoftware l uft meist auf einem kompletten Server Software Package Die wichtigsten Serverplattformen sind dabei SQL Datenbank Server TP Monitore Groupware Server Objekt Server und Web Server Das Betriebssystem stellt das Interface zur Middleware bereit und liefert die Anfragen f r Service Auch auf dem Server l uft eine Komponente des DSM Der Middleware Block l uft auf der Client und der Serverseite der Applikation und kann wieder in drei gro e Kategorien unterteilt werden Transport Stacks Netzwerk Operating System NOS und Service spezifische Middleware Auch der Middleware Block hat eine DSM Komponente Client Middleware Server Service Specific ODBC TXRPC Mail ORB HTTP Objects Web Browser GUI OQUI DSM Web SNMP CMIP Tivoli ORB OLTP NOS DBMS Directory Security Distributed File DSM RPC Massaging Peer to Peer Lo Transport Stack os 5 NetBios TCP IP IPX SPX SNA Middleware ist ein recht ungenauer Begriff der all die verteilte Software beinhaltet die ben tigt wird um Interaktionen zwischen Client und Server zu 118 Datenbanken erm glichen oder anders gesagt Ist die Verbindung die dem Client erm glicht einen Ser
33. comp B b beschrieben z B oL e al e Der als Zahlenpaar angegebene Komplexit tsgrad bedeutet Die erste Zahl vor dem Komma gibt die Mindestzahl an Die zweite Zahl nach dem Komma gibt die H chstzahl an bedeutet viele Eine Beschreibung des Beziehungstyps b A B kann durch die Komplexit tsgrade comb A b bzw comp B b allgemein so erfolgen b A B comp A b comp B b 0 1 oder 1 1 0 1 oder 1 1 0 oder 1 0 1 oder 1 1 0 1 oder 1 1 0 oder 1 0 oder 1 0 oder 1 Abb 1 3 14 Komplexit tsgrade im ERM Bsp Ein typisches ER Diagramm aus der Fertigungsvorbereitung Arbeitsplan wird_ eingesetzt 0 0 1 1 Arbeitsgang Arbeitsplatz Abb 1 3 15 ER Diagramm aus der Fertigungsvorbereitung 24 bedeutet beliebig viele 38 Datenbanken Zusammenfassung Arbeitsschritte beim Ausarbeiten von Datenstrukturen in einem ER Diagramm 1 Ermittle relevante Entit ten f r den betrachteten Datenbereich 2 Feststellen der Entit tsmengen Nur gleichartige Entit ten k nnen zur Entit tsmenge zusammengefa t werden Ermitteln der Attribute f r jede Entit tsmenge evtl mit Korrekturen des 2 Arbeitsschrittes Definition der Beziehungstypen von Entit tsmengen zwischen denen Beziehungen bestehen Ermitteln der H ufigkeiten der Beziehungen zwischen den Entit tsmengen Darstellung der Datenstruktur in einem ER Diagramm
34. das Verhalten erweitert So stellt Auftrag drucken dem Use Case Anlage zus tzliche Funktionalit t zur Verf gung lt Anleger Devisenhandel Abb Use Case Geld anlegen lt lt uses gt gt bzw lt lt extends gt gt sind Darstellungen spezieller Stereotypen Stereotypen sind Erweiterungsmechanismen der UML Sie haben etwa die Bedeutung so hnlich etwa wie und erlauben eine weitere Einteilung der Klassen in Schnittstellen Kontroll und Entit tenobjekte irgendwelche Dinge Elemente und Darstellung des Klassendiagramms Das Klassendiagramm beschreibt die statische Struktur der Objekte in einem System sowie ihre Beziehungen untereinander Die Klasse ist das zentrale Element Klassen werden durch Rechtecke dargestellt die entweder den Namen der Klasse tragen oder zus tzlich auch Attribute und Operationen Klassenname Attribute Operationen Methoden sind jeweils durch eine horizontale Linie getrennt Klassennamen beginnen mit Gro buchstaben und sind Substantive im Singular Ein strenge visuelle Unterscheidung zwischen Klassen und Objekten entf llt in der UML Objekte werden von den Klassen dadurch unterschieden da ihre Bezeichnung unterstrichen ist Auch k nnen Klassen und Objekte zusammen im Klassendiagramm auftreten 62 Datenbanken Wenn man die Objekt Klassen Beziehung Exemplarbeziehung Instanzbeziehung darstellen m chte wird zwischen einem Objekt und seiner Klasse ein
35. den Daten Eine hierarchische Struktur l t sich in der Gestalt eines Baumes beschreiben Ein Baum ist eine Datenstruktur mit folgenden Eigenschaften Sie ist zyklenfrei Es gibt einen speziell hervorgehobenen Knoten die Wurzel Sie hat keinen Vorg nger Auf jeden anderen Knoten zeigt eine Kante d h Jeder Knoten hat genau einen Vorg nger 1 Definition Es gibt eine Menge benannter Entit ts Typen Segmente und eine Menge von unbenannten Beziehungen Jede Entit t Segment Occurrence geh rt zu einem Entit ts Typ Alle Entit ten innerhalb der Datenbankstruktur der zugeh rige Graf ist eine Ansammlung von B umen sind total geordnet hierarchische Ordnung Jede Entit t ist nur ber einen Einstiegpunkt Wurzelsegment erreichbar Bsp Datenbankstruktur Diagramm Abb 1 3 25 Datenbankstruktur im hierarchischen Datenmodell Occurrence Diagramm A Weg der hierarchischen Ordung Abb 1 3 26 Auspr gung hierarchischer Strukturen 46 Datenbanken 2 Wesentliche Einschr nkungen gegen ber dem Netzwerkmodell Nur Baumstrukturen keine allgemeine Netzstrukturen sind erlaubt Zugriff kann nur ber einen gerichteten Weg der von der Wurzel ausgeht erfolgen Nur in einem Baum kann ein Entit ts Typ vorkommen Ist bspw die Beziehung E E in einem Baum realisiert ist e nur ber die zugeh rige Entit t e vom Typ E zu erreichen Eine selbstst ndige Verarbeitung von Entit ten
36. des Typs E ist nur so m glich Duplizieren aller zu diesem Entit ts Typ zugeh rigen Entit ten Redundanz Beziehungen zwischen Entit ts Typen Segmenten sind nur in einer Baum struktur zu realisieren Beziehungstypen gibt es daher nur in der Form 1 1 bzw 1 m Segmente der obersten Hierarchiestufe hei en Wurzelsegmente Ein von einem solchen Segment ausgehende Hierarchie ist ein Datenbanksatz Die Menge der von den Wurzelsegmenten ausgehenden S tze bilden eine Datenbasis Ein Segment ist nur ber einen gerichteten Weg erreichbar dessen Ausgangspunkt das Wurzelsegment ist 3 Beispiele zur Anwendung hierarchischer Strukturen a heterogene Strukturen E E Bsp Stammsegment Typ FUNKTION Abh ngige Segment Typen AUSBILDUNG ERFAHRUNG Abb 1 3 26 Datenbankstrukturdiagramm f r eine heterogene Struktur 47 Datenbanken Abb 1 3 27 Occurrence Diagramm einer heterogenen Struktur b Homogene Strukturen E E i NAME TITEL TODESART TODESDATUM Abb 1 3 28 Struktur einer Herschaftsfolge Diese Schemadarstellung beschreibt bspw die Folge deutscher K nige im Mittelalter Die Herrscher wurden gew hlt h ufig gab es sogar Gegenk nige 1 n Beziehung der Nachfolge In einer physischen Datenbank des hierarchischen Datenbankmodells sind aber nur 1 1 bzw 1 n Verbindungen zu realisieren Es mu also zu der vorliegenden Struktur eine Erg nzung ein Zeiger Segment
37. dort mit einem entsprechenden Interpreter ausgef hrt So steht nichts mehr im Wege auf dem Client Animationen ablaufen zu lassen Eingabefelder zu berpr fen oder auch Datenbank Anweisungen SQL aufzurufen Einen geeigneten Satz von Funktionen f r den Datenbankzugriff unter Java enth lt die JDBC Java Database Connectivity Schnittstelle JDBC ist die Spezifikation einer Schnittstelle zwischen Client Anwendung und SQL Die Bearbeitung von Daten einer Datenbank durch ein Java Programm umfa t im Rahmen der JDBC Schnittstelle Zuerst ruft das Java Programm die getConnection Methode auf um das Connection Objekt zu erstellen Dann erg nzt es das Statement Objekt und bereitet die SQL Anweisungen vor Ein SQL Statement kann sofort ausgef hrt werden Statement Objekt oder ein kompilierbares Statement Prepared Statement Objekt oder ein Aufruf an eine gespeicherte Prozedur Callable Statement Objekt sein Falls die executeOuery Methode ausgef hrt wird wird ein Resultat Objekt zur ckgeschickt SQL Anweisungen wie update und delete verwenden die executeUpdate Methode Sie gibt einen ganzzahligen Wert zur ck der die Anzahl der Zeilen anzeigt die vom SQL Statement betroffen sind Der ResultSet enth lt Zeilen mit Daten die mit der Methode next abgearbeitet werden k nnen Bei einer Anwendung mit Transaktionsverarbeitung k nnen Methoden wie rollback und commit verwendet werden Zur Ausf hrung kann ein Java
38. gestrichelter Pfeil in Richtung Klasse gezeichnet Die Definition einer Klasse umfa t die bedeutsamen Eigenschaften Das sind Attribute d h die Struktur der Objekte ihre Bestandteile und die in ihnen enthaltenen Informationen und Daten Abh ngig von der Detaillierung im Diagramm kann die Notation f r ein Attribut den Attributnamen den Typ und den voreingestellten Wert zeigen Sichtbarkeit Name Typ voreingestellter Wert Operationen d h das Verhalten der Objekte Manchmal wird auch von Services oder Methoden gesprochen Das Verhalten eines Objekts wird beschrieben durch die m glichen Nachrichten die es verstehen kann Zu jeder Nachricht ben tigt das Objekt entsprechende Operationen Die UML Syntax f r Operationen ist Sichtbarkeit Name Parameterliste R ckgabetypausdruck Eigenschaften Sichtbarkeit ist ffentlich gesch tzt oder privat Name ist eine Zeichenkette Parameterliste enth lt optional Argumente deren Syntax dieselbe wie f r Attribute ist R ckgabetypausdruck ist eine optionale sprachabh ngige Spezifikation Eigenschaften zeigt Eigenschaftswerte ber String an die f r die Operation Anwendung finden Zusicherungen Die Bedingungen Voraussetzungen und Regeln die die Objekte erf llen m ssen werden Zusicherungen genannt UML definiert keine strikte Syntax f r die Beschreibung von Bedingungen Sie m ssen nur in geschweifte Klammern gesetzt werden Idealerweise sollten re
39. globaler nderungstransaktionen Bsp Eine Transaktion T hat in den Knoten Ki Km ber Teiltransaktionen Tij Tm neue Versionen erzeugt Diese Versionen m ssen in allen oder in keinem Knoten g ltig gemacht werden Es mu sichergestellt werden da sich etwa aufgrund eines Knotenzusammenbruchs eine Teiltransaktion zur ckgesetzt eine 138 Datenbanken andere jedoch richtig beendet wird Innerhalb einer einzelnen Transaktion Ti von Knoten Ki hat die zugeh rige lokale Fehlerbehandlungsroutine f r die Konsistenz der Daten gesorgt 1 6 2 Datenbankrechner und Datenbankmaschinen Hohe Softwarekosten und immer preiswertere Hardware haben dazu gef hrt das Konzept des Universalrechners zu berdenken Man kann heute einen Trend zur Aufteilung veschiedener Systemkomponenten auf autarke Prozessoren beobachten F r Datenbanken sind zwei Enwicklungsrichtungen festzustellen 1 Entwicklung neuer Rechnerfamilien die sowohl assoziatives inhaltsorientiertes als auch paralleles Arbeiten erm glichen Diese Rechner f hren die Suche nach Antwortmengen nicht mehr ber physische Adressen aus sondern erm glichen das Wiederauffinden der Daten inhaltsm ig ber Assoziativspeicher 2 Auf konventionellen Rechnerarchitekturen beruhende autarke Prozessoren Die Konsequenz aus der 1 Entwicklungsrichtung f hrt zu spezieller Such und Verarbeitungshardware und diejenige aus der 2 Entwicklungsrichtung zu dem Konzept der Datenbankrechner Beide
40. herangezogen werden Das bringt gro e Flexibilit t erzwingt den Aufbau eines Schemas f r das Schema directory directory zur Festlegung welche Teile wo gespeichert sind Query Processing Zwei wesentliche Unterschiede kenn zeichnen die Bearbeitung von Datenbankabfragen Queries in einem VDBS gegen ber einem zentralen DBS 1 Zus tzliche Verz gerungen durch Netzkommunikation 2 Nutzung von Parallelit t durch Beteiligung mehrerer Rechner und redundant vorhandener Daten Bekannt sind folgende query processing Strategien 137 Datenbanken Zerlegen der Anfrage an zentraler Stelle so da jede Teilabfrage von genau einem Knoten dezentral bearbeitet werden kann Das Formuliern der zu verschickenden Teilabfragen erfolgt in der Abfragesprache des Datenbanksystems DML z B in SQL Versenden von DML Anfragen zwischen Programmen Ausarbeiten eines Gesamtplans zur Bearbeitung der Anfrage Der Ausf hrungsplan umfa t Zerlegung der kompexen Anfragen in Teilfragen Festlegen der Ausf hrungsreihenfolge dieser Teilfragen sequentiell parallel Bestimmen der Knoten an die Daten geschickt werden sollen Auswahl lokaler Zufriffspfade Optimierung Hier ist festzulegen wie lokale Bearbeitung und Ubertragung von Teilergebnissen aufeinander folgen bzw sich abwechseln sollen Zielsetzung einer Anfrage bersetzung ist es zu einer Anfrage einen Ausf hrungsplan festzulegen der eine m glichst effiziente Bearbeitung des
41. jedem Suchbegriff ist eine eindeutige Positionsangabe Satzzeiger des Datensatzes auf dem externen Speicher zugeordnet F r Indexe gelten die folgenden Bearbeitungsregeln Eine order by Klausel in einer select Anweisung kann jede Spalte einer Tabelle referenzieren unabh ngig davon ob die Tabelle ber einen auf dieser Spalte basierenden Index verf gt oder nicht Ein Index kann sich nicht aus mehr als 16 Spalten zusammensetzen Ein Index speichert keine NULL Werte SQL verf gt ber keine Anweisung mit der der Inhalt eines Indexes berpr ft werden kann Ein Index kann nur f r eine Tabelle jedoch nicht f r eine Datensicht view erstellt werden 91 Datenbanken Tabellen bzw Sichten views k nnen auch durch Auswahl aus eine anderen Tabelle erstellt werden create table bzw create view mit einer Unterabfrage Bsp Erzeugen einer Tabelle ABTKOSTEN CREATE TABLE ABTKOSTEN ABT_ID NOT NULL BEZEICHNUNG NOT NULL GEHAELTER AS SELECT DISTINCT ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG SUM JOB GEHALT FROM ABTEILUNG ANGESTELLTE JOB WHERE ABTEILUNG ABT_ID ANGESTELLTE ABT_ID AND JOB JOB_ID ANGESTELLTE JOB_ID GROUP BY ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG Eine Datensicht view ist eine gespeicherte Abfrage deren
42. langsam und au erdem teuer da Textdatenbanken von betr chtlichem Umfang sind So sind auch hier strukturierte Verarbeitungsformen n tig d h die Darstellung des Textes mu auf Formate zur ckgef hrt werden Ist das m glich dann k nnen die Zugriffsformen formatierter Datenbanken angewendet werden Gew hnlich dient dazu eine Liste von ausgesuchten Schl sselworten je Dokument Die Schl sselw rter beschreiben den Inhalt des Dokuments und erm glichen das Dokument von anderen Dokumenten zu unterscheiden So ergibt die Auswahl der Schl sselw rter eine Indexierung zu den Dokumenten Sie kann personell oder maschinell d h automatisch mit Hilfe des Rechners erfolgen 13 Datenbanken 1 2 3 3 Daten und Speicherstrukturen Datenstrukturen 1 Verkettete Systeme Verbindungen zwischen Datens tzen werden realisiert durch Aufnahme von Adre verweisen in den jeweiligen Datensatz spezielle sequentielle Anordnung von Datens tzen im Speicher Satzadressen Pers Nr Kostenstelle Gehalt Kettungsfelder Kostenstelle Gehalt 1 100 10 1230 3 10 2 106 20 850 6 7 3 110 10 1900 7 8 4 111 30 1600 5 9 5 117 30 1400 8 4 6 120 20 740 9 2 7 121 10 870 x 1 8 124 30 2400 10 x 9 130 20 1600 20 3 10 133 30 1340 x 5 Abb 1 2 3 Adre verkettung 2 Invertierte Systeme Verbindungen werden ber spezielle inverted files Indexe Indextafel W rter b cher Adressb cher aufgebaut
43. stellt bzw Nachrichten aus der Warteschlange entnimmt Queue 1 i r EI en Client Queue 2 e 4 Dieses Prinzip l st alle Probleme die beim RPC oder bei der peer to peer Verbindung aufgetreten sind e Der Client kann immer noch eine Anfrage senden auch wenn der Server besch ftigt runtergefahren oder gar nicht angeschlossen ist Es muss nur die Warteschlange verf gbar sein in die der Client seine Anfrage ablegen kann Ist der Server wieder verf gbar kann dieser dann die Nachrichten aus der Schlange abholen und bearbeiten e Umgekehrt kann auch der Server eine Antwort senden wenn der Client runtergefahren oder nicht angeschlossen ist Es muss wiederum nur seine Antwort Warteschlange verf gbar sein Der Server setzt seine Antwort einfach in diese Schlange Ist der Client wieder verf gbar pr ft er in seine Warteschlange und findet die erwartete Antwortnachricht des Servers e Mehrere Server k nnen ihre Anfragen der gleichen Warteschlange entnehmen und so die Arbeitslast auf diese verteilen Sobald ein Server eine Anfrage abgearbeitet hat kann er die n chste aus der Schlange entnehmen und diese abarbeiten Es kann also nicht passieren dass ein Server berlastet ist w hrend sich der andere im Leerlauf befindet e Anfragen in der Warteschlange k nnen
44. to peer Kommunikation wurde zuerst in Unix Systemen und sp ter auch in allen anderen OS Sockets eingef hrt Sockets stellen logische Steckdosen f r die Herstellung von bidirektionalen Kommunikationsverbindungen bereit Der Socket Kopf bildet die Schnittstelle zwischen dem Aufruf an das Betriebssystem zum Auf und Abbau sowie Durchf hrung der Kommunikation und den weiter unten liegenden Systemschichten dem Protokollteil und dem Ger tetreiber Die drei am meisten verwendeten Socket Typen sind e Stream e Datagram e Raw Stream Sockets setzen auf das TCP Datagram Sockets auf das UDP und Raw Sockets auf das IP Protokoll auf im Fall der TCP IP Protokollfamilie Der Typ der Sockets wird bei der Systemgenerierung festgelegt Eine Socketadresse f r das TCP IP Protokoll besteht aus der IP Adresse und der Portnummer Die IP Adresse ist eine 32 Bit Zahl die normalerweise durch vier Dezimalzahlen getrennt durch einen Punkt dargestellt wird Der Port ist der Eingangspunkt zu einer Applikation und wird durch eine 16 Bit Integer Zahl dargestellt Ports sind normalerweise Eingangspunkte zu Service der Server Applikationen Wichtige kommerzielle Server Programme z B Oracle DBMS FTP haben ihre festgelegten sogenannten well known Ports 2 Remote Procedure Call RPC Beim RPC ruft ein Client Prozess eine Funktion auf einem entfernten Server auf und verbleibt im Wartezustand bis er eine Antwort erh lt der RPC arbeitet also synchron
45. und Betriebssysteme z B Windows Unix erfolgt durch die einzelnen Software Hersteller der DBS Oracle Sybase Informix bzw durch die Werkzeug Hersteller z B Oracle Microsoft die Komponenten z B ODBC Treiber f r besondere Plattformen und DBS liefern Network Operating System Das Network Operating System NOS hat die schwierige Aufgabe den Service der im Netz erh ltlich ist als ein System darzustellen single system image Es setzt also die verteilten Teile des Netzwerkes zusammen und stellt sie als ein System dar macht es also transparent NOS verwalten bspw Datei und Druckerressourcen und halten sie transparent indem sie Anfragen ber das LAN zu angeschlossenen Datei und Druckerservern weiterleiten Das NOS bietet daf r Proxies die die Anfragen abfangen und an die entsprechenden Server weiterleiten Transparenz hei t also dass das Netzwerk mit seinen Servern vor seinen Benutzern versteckt bzw unsichtbar gemacht wird Die wichtigsten Transparenz typen sind e Location transparency Es ist unwichtig wo sich eine Ressource im Netz befindet man muss z B nicht eine Ortsinformation in den Namen der Ressource mit eingeben e Namespace transparency Man soll die gleichen Namensvereinbarungen und namespaces auf der lokalen oder irgendeiner Ressource im Netz verwenden k nnen unabh ngig vom Ort Typ oder Hersteller e Logon transparency Es sollte ein einziges Passwort zum einloggen an allen Servern und Dienst
46. von einem Transaktionssystem TP System transaction processing system Transaktionsmonitor Dieses Systemprogramm koordiniert f r viele Endbenutzer die unterschiedlichen Transaktionsauftr ge und unterst tzt dabei die logisch zusammenh ngenden Verarbeitungssequenzen Transaktionen Bei der Implementierung eines Transaktionssytems mu ber cksichtigt werden Eine meist gro e Anzahl von Benutzern ruft gleichzeitig Funktionen mit Zugriffen auf die gemeinsamen Datenbest nde ab Die Koordinierung bernimmt ein Transaktionsmonitor TP Monitor der den Anwendungsprogrammen alle Fragen der Mehrfachausf hrung und der ger tespezifischen Ein Ausgabe abnimmt Transaktionsprogramme greifen nat rlich auf die Datenbank zu TP Monitor und Datenbanksystem m ssen daher gleichzeitig aktiv sein und koordiniert zusammen arbeiten Man unterscheidet nichtintegrierte DB DC Systeme von integrierten DB DC Systemen Nichtintegrierte DB DC Systeme entstehen durch einfache Kopplung der unabh ngigen DB und DC Teile die je einen eigenen Steuerteil aufweisen z B UDS UTM 7 Die Koordinierung von recovery und restart ist in diesen F llen kompliziert Bei integrierte DB DC Systemen ist DC Komponente Bestandteil des Datenbank systems Aus der Sicht der Anwender ist ein TP Monitor ein Programm das eine Endlosschleife mit einer ACID Transaktion als Schleifenk rper bearbeitet 67 UDS ist ein Universelles Datenbanksystem der Firma SIEMENS U
47. ALLOWED HERE Gruppen Funktionen geh ren niemals in ein Pr dikat der WHERE Klausel UNION H ufig m chte man Ergebnisse mehrerer Abfragen verkn pfen Das kann mit Hilfe des Operators UNION geschehen Bsp Welche Job Identifikationen gibt es in Angestellte oder Job ECT JOB_ID OM ANGESTELLTE ION CT Ri N E JOB_ID ROM JOB HJ UG EN 00 2 Erzeugen bzw L schen von Tabellen Views Sichten und der Indexe Tabellen werden ber die Anweisung CREATE TABLE erzeugt z B CREATE TABLE ABTEILUNG ABT_ID CHAR 2 NOT NULL BEZEICHNUNG CHAR 40 CREATE TABLE JOB JOB_ID CHAR 2 NOT NULL TITEL CHAR 30 G EHALT DECIMAL 8 2 CREATE TABLE ANGESTELLTE 90 Datenbanken ANG_ID CHAR 3 NOT NULL NAME CHAR 10 GEBDATUM DATE ABT_ID CHAR 2 JOB_ID CHAR 2 CREATE TABLE QUALIFIKATION ANG_ID CHAR 3 JOB_ID CHAR 2 Jede Tabellenspalte umfa t Werte einer bestimmten Dom ne Dom nen lassen sich ber Angabe des Datentyps der Spaten und der Anzahl Zeichen definieren Generell unterscheidet SQL vier Basistypen Datentyp Erl uterung char lt Laenge X gt Zur Speicherung von Zeichenketten der L nge X Integer Zur Speicherung von ganzen Zahlen decimal lt Laenge X Dezimalstellen Y gt Zur Speicherung von Zahlen im Festkommaf
48. Anforderungen erf llt Diese Komponente hat dann folgende Aufgaben Bereitstellen von Wissen ber die Verteilung der Daten Speicherungsort Replizierung Fragmentierung mit netzweit eindeutiger Kennung Die Bereitstellung dieser Metadaten bernimmt ein globales Datenw rterbuch Erbringen der ACID Eigenschaften im Rahmen einer globalen Transaktions verwaltung so da ein Anwendungsprogramm glaubt die Daten w rden im DBS des Rechners gehalten auf dem es abl uft Lenkung der Zugriffe an die zust ndigen Knoten im Rahmen der Auftrags bearbeitung Globale Anfragen werden in eine Reihe lokaler Anfragen aufgespalten die an die betreffenden Knoten versandt werden und deren Antworten dann wieder eingesammelt und verkn pft werden Die Auftragsbearbeitung erstellt dazu einen m glichst kosteng nstigen Ausf hrungsplan unter Ausnutzung der Kenntnisse von Speicherungsort Replizierung Fragmentierung und bertragungskosten DB 1 Anwendung_1 DBMS_1 Anwendung_4 Anwendung_2 DBMS_4 DBMS_2 Anwendung_3 DBMS_3 DB_3 Abb 1 5 22 Verteilte Datenbanken Verteilungsstrategien Verteilte Datenbanken k nnen Verteilungen hinsichtlich der Daten des Datenbankschemas des Systemkatalogs der Query Auswertungen der 91 Die Anwendung arbeitet mit globalen Relationen d h der Programmierer braucht keinen Kenntnis ber Fragmentierung und Allokation 134 Datenbanken Synchronisation und der Verfahren zur Fehlerbehandlung
49. Auftrags erm glicht Diese Aufgabe ist bereits f r zentralisierte DBS komplex da im allg eine gro e Anzahl alternativer Ausf hrungsstrategien besteht Noch komplexer ist die Bestimmung eines optimalen Ausf hrungsplans im verteilten Fall Synchronisation Falls mehrere Transaktionen Prozese in DBS gleichzeitig diesselben Daten benutzen werden Synchronisationsma namen erforderlich Die parallele nebenl ufige concurrent Ausf hrung mu dasselbe Ergebnis erzielen wie irgendeine sequentielle Reihenfolge In einem VDBS gibt es dar ber hinaus zus tzliche Probleme bedingt bspw durch die Existenz mehrfacher Kopien m gliche Beteiligung mehrerer Rechner an der Bearbeitung einer Transaktion Verfahren zur Fehlerbehandlung crash recovery Aufgabe der Verfahren ist es bei St rungen die Datenbankkonsistenz zu erhalten bzw wieder herzustellen Die Serialisierbarkeit aller benachbarten Transaktionen zu gew hrleisten die Auswirkungen auf die direkt betroffenen Transaktionen zu beschr nken Die Basis der Fehlerbehandlungsverfahren bilden lokale Sicherungsverfahren in den Knoten des VDBS Derartige Knoten verf gen ber ein solides sicheres Hintergrundsystem dessen Inhalt alle St rungen berlebt Lokale Sicherheit bietet die Grundlage f r die Implementierung im globalen Fehlerbehandlungsverfahren Eine wesentliche Voraussetzung f r die Bewahrung der Konsistenz in verteilten DB ist Die Erhaltung der Unteilbarkeit
50. B mit A verwandt Die Beziehung Relation verwandter Begriff ist damit symmetrisch Systematischer Katalog Darunter verstehen Bibliothekare die Verwendung eines k nstlichen Schlag wortverzeichnisses n mlich der universellen Dezimal Klassifikation UDK oder DK Dewey s Dezimalklassifikation Um 1870 entwickelte der amerikanische Bibliothekar Melvil Dewey ein Ordnungs system f r eine einheitliche B cheraufstellung Er teilte das gesamte menschl Wissen in 10 Hauptabteilungen Allgemeine Medizin Philosophie Religion Theologie Sozialwissenschaften Recht Verwaltung Sprachen Mathematik Technik Medizin Kunst Literatur Geschichte Vvo N Vu lr rwN Ho Jeder der Hauptabteilungen teilt sich in 10 Abteilungen 00 09 10 19 20 und bei Bedarf jede dieser Abteilungen in 10 Unterabteilungen 000 001 Dieser Klassifikationsvorschlag fand eine sehr starke Verbreitung Die verwendete Dokumentationssprache ist einfach zu lernen denn sie besteht ja nur aus etwa 1000 Deskriptoren Die Deskriptoren sind hierarchisch geordnet Die internationale Dezimalklassifikation Das Klassifikationssystem von M Dewey wurde bis heute immer wieder weiter berarbeitet Durch weitere Untergliederung entstanden bereits bis 1973 70000 Deskriptoren Die internationale Dezimalklassifikation wird heute gepflegt von der Federation Internationale de Dokumentation Diese Kataloge bilden die Regeln f r die
51. DER BY JOB TITEL O ber EXISTS kann der Existenzquantor in SQL interpretiert werden SQL hat den Allquantor nicht implementiert Allerdings k nnen Abfragen mit dem Allquantor immer mit Hilfe des negierten Existenzquantors formuliert werden Es gibt komplexe Unterabfragen die die Verwendung von EXISTS in negierter Form erforderlich machen Bsp W hle die Angestellten aus die die Qualifikation Systemplaner haben SELECT FROM ANGESTELLTE WHERE NOT EXISTS SELECT FROM JOB WHERE JOB TITEL lt gt Systemplaner AND JOB JOB_ID ANGESTELLTE JOB_ID Die vorliegende Abfrage zeigt eine Anwendung mit dem Allquantor der Pr dikatenlogik Standard SQL hat den Allquantor nicht implementiert Abfragen mit dem Allquantor k nnen mit Hilfe des negierten Existenzquantors formuliert werden z B W hle die Qualifikation so aus da keiner existiert der nicht die Qualifikation Systemplaner SY besitzt Aggregatfunktionen Aggregat Funktionen berechnen tupel bergreifend Summe Durchschnitt Aufz hlungen So z hlt die Funktion COUNT alle Tupel einer Tabelle einschl Duplikate und einschl aller Tupel die Nullwerte enthalten va SELECT COUNT FROM ANGESTELLTE Das Symbol bestimmt da sich die Funktion COUNT auf die gesamte Z
52. Datenbanken 1 Typologie der Datenbanksysteme 1 1 Grenzen der herk mmlichen Datenverarbeitung Es hei t Datenbanksysteme berwinden die Grenzen herk mmlicher Daten verarbeitung Das kann sich nur auf das Bearbeiten von Dateien mit Dateisystemen beziehen Das zeigt bspw folgende 1 Aufgabe die sehr vereinfacht eine maschinelle Gehaltsabrechnung beschreibt 31210 Ute 6 1 800 900 30164 Liesel 1 2 840 1 800 29910 J rgen 1 4 400 2 200 27730 Uwe 3 2970 2 100 Pers Nr Name Steuerklasse Bruttogehalt Nettogehalt Programm Gehaltsabrechnung berweisung Liesel berweisung J rgen berweisung Uwe 2 100 DM Abb 1 1 1 Datenflu zur 1 Aufgabe Das Programm liest einen Datensatz in einen festen Bereich des Hauptspeichers ein und baut die Druckausgabe auf Diese Druckausgabe besteht aus Uberweisungen auf das Konto des Mitarbeiters bei seiner Bank Eine 2 Aufgabe ist Beschriftung von Aufklebern mit den Adressen der Mitarbeiter z B f r den Versand von Mitteillungen Es gibt zwei M glichkeiten diesem Programm die Datenfelder Name und Adresse zur Verf gung zu stellen L sung 1 Erweiterung des bestehenden Datensatzes f r die Gehaltsabrechnung um ein Adressenfeld Datenbanken 31210 Ute 6 1 800 900 8 M nchen Ebers
53. Datendefinitionen Die meisten in einer Installation ben tigten Daten befinden sich irgendwo in Bibliotheken Dateien Verzeichnissen oder Listen In der Regel sind diese Informationen jedoch nicht hinreichend miteinander verbunden Ein data dictionary DD ist ein Hilfsmittel bei dem alle Definitionen in einer Gruppe von Datenbanken gespeichert werden um leichter Fragen beantworten zu k nnen Auswertungen durchf hren und Ausgaben erzeugen zu k nnen Ein DD enth lt Angaben ber Definition Herkunft aktuelle Benutzung und nderung Struktur und Benutzungsvorschriften der Daten z B Namen zul ssige Wertebereiche logische Beziehungen Integrit ts und Zugriffsm glichkeiten Namen und Eigenschaften von Anwenderprogrammen mit Angaben ber Speicherung Codierung und Auffinden der Daten Adre und L ngenangaben Feldtypen Zugriffspfade und physische Plazierung in der Datenbank Angaben ber Speicherung Codierung und L ngenangaben Feldtypen Zugriffspfade in der Datenbank Angaben zu Verarbeitungseinheiten Modul Programm Segment Funktionen eines DD sind Erstellen von Berichten z B Benutzerreports welche Daten werden von wem benutzt Generierung von Datendefinitionen und Datenbank Beschreibungen Datenmodellierung aus Definitionen im DD 19 Datenbanken Vorteile des DD bestehen auf vier Gebieten Dokumentation Datenbankdefinition Anwendungsentwicklung und Kontrolle Dokumentation Wird d
54. Ergebnis auf einer Abfrage einer oder mehrerer Tabellen beruht und gespeichert ist Bsp Erstelle eine Sicht Einkommen die Identifikation Name Abteilungs bezeichnung Gehalt des Angestellten enth lt CREATE VIEW EINKOMMEN ANG_ID NAME BEZEICHNUNG GEHALT AS SELECT ANGESTELLTE ANG_ID ANGESTELLTE NAME ABTEILUNG BEZEICHNUNG JOB GEHALT FROM ANGESTELLTE ABTEILUNG JOB WHERE ANGESTELLTE ABT_ID ABTEILUNG ABT_ID AND ANGESTELLTE JOB_ID JOB JOB_ID SELECT FROM EINKOMMEN ANG NAME BEZEICHNUNG GEHALT Al Fritz Organisation und Datenverarbeitung 6000 A2 Tom Konstruktion 6000 A3 Werner Organisation und Datenverarbeitung 3000 A4 Gerd Vertrieb 3000 A5 Emil Personalabteilung 3000 A7 Erna Konstruktion 3000 A8 Rita Konstruktion 3000 A9 Ute Organisation und Datenverarbeitung 6000 A10 Willi Konstruktion 6000 A12 Anton Organisation und Datenverarbeitung 6000 A13 Josef Konstruktion 6000 A14 Maria Personalabteilung 3000 12 rows selected Bsp Bestimme aus der vorliegenden Sicht einkommen mit Hilfe einer SQL Anweisung eine Liste mit folgender Ausgabe Identifikation Name Gehalt des Angestellten das durchschnittliche Gehalt das in der Abteilung verdient wird der der Angestellte angeh rt SELECT A ANG_ID A
55. IBM Systems Journal Heft 4 S 324 342 1977 46 Alle Bezeichnungen in nicht fettgedruckten Kleinbuchstaben werden entweder in anderen Diagrammen erl utert bzw im Text beschrieben Gro geschriebene W rter in Fettdruck bezeichnen Schl sselw rter bzw terminale Symbole der select Grammatik Sie k nnen unmittelbar genutzt werden W rter die nur aus kleingeschriebenen Buchstaben bestehen m ssen ersetzt werden 76 Datenbanken ALL auswahl_liste gt SELECT DISTINCT alias_bez FROM tabellen_name view name WHERE bedingung gt GROUP BY spalten_name HAVING bedingung ORDER BY spalten_name ASC DESC auswahl_liste 1T bi Die hier angegebene Grammatik des select Befehls bezieht sich auf ENTRY SQL von SQL 92 Ein nach diesen Vorschriften aufgebauter SQL Befehl m te von allen herk mmlichen auf dem Markt befindlichen relationalen Datenbanksystemen verstanden werden 77 Datenbanken merkmal view_name tabellen_name spalten_name ausdruck spalten_name tabellen_name M bezeichner ausdruck gt term bedingung TT einfache_bed NOT AND OR Ra einfache_bed 78 Datenbanken term spalten_name konstante ausdruck aggregate skalare_funktion dauer aggregate AVG merkmal gt MAX ALL MIN DISTINCT spalten_name SUM COUNT gt DISTINCT spalten_name einfache_b
56. Invertierte Systeme sind weitgehend unabh ngig von Datenstruktur und Zugriffspfad da ber die inverted files erst im Bedarfsfall die Beziehungen aufgebaut werden Satzadressen Pers Nr Kostenstelle Gehalt 1 100 10 1230 2 106 20 850 3 110 10 1900 4 111 30 1600 5 117 30 1400 6 120 20 740 7 121 10 870 8 124 30 2400 9 130 20 1600 10 133 30 1340 14 Datenbanken Prim rindextabelle Sekund rindextabelle Sekund rindextabelle Pers Nr Kostenstelle Gehalt Feldwert Satzadr Feldwert Satzadr Feldwert Satzadr 100 1 10 T37 740 6 106 2 20 2 6 9 850 2 110 3 30 4 5 8 10 870 7 111 4 1230 1 117 5 1340 10 120 6 1400 5 121 7 1600 4 9 124 8 1900 3 130 9 2400 8 134 10 Abb 1 2 4 Indizierte Datei Speicherstrukturen Die Informationen m ssen in einer Datenbank permanent gespeichert werden Dateien spielen daher in Datenbanken eine gro e Rolle Die Ausf hrungen ber invertierte Systeme haben gezeigt da diese Daten nicht in einer einfachen Satzstruktur aufgebaut sind Sogar Informationen ber die Struktur der Daten m ssen in Dateien gespeichert werden Grundlage f r Datenstrukturen sind Bl cke kleinste physikalische Bearbeitungseinheit f r fast alle Datenbank Komponenten Die Gr e eines Datenbankblocks ist nicht generell festgelegt Sie kann beim Anlegen der Datenbank d
57. Klassendiagramm automatische Geldausgabe Die Klasse ist das zentrale Element sie wird als Rechteck dargestellt z B Geldautomat Die gefundenen Klassen sind durch Linien miteinander verbunden Diese Linien stellen die Elemente Assoziation Aggregation Komposition und Vererbung dar Eine Assoziation association ist eine Strukturbeziehung die eine Menge von Objektbeziehungen beschreibt Eine Aggregation ist eine Sonderform der Assoziation Sie repr sentiert eine strukturelle Ganzes Teil Beziehung Grafisch wird eine Assoziation als durchgezogene Line wiedergegeben die gerichtet sein kann manchmal eine Beschriftung besitzt und oft noch weitere Details wie z B Muliplizit t Kardinalit t oder Rollenanmen enth lt z B 4 Arbeitet f r 0 1 Arbeitgeber Arbeitnehmer Eine Assoziation kann einen Namen zur Beschreibung der Natur der Beziehung Arbeitet f r besitzen Damit die Bedeutung unzweideutig ist kann man dem 64 Datenbanken Namen eine Richtung zuweisen Ein Dreieck zeigt in die Richtung in der der Name gelesen werden soll Rollen Arbeitgeber Arbeitnehmer sind Namen f r Klassen in einer Relation Eine Rolle ist die Seite die die Klasse an einem Ende der Assoziation der Klasse am anderen Ende der Assoziation zukehrt Die Navigierbarkeit kann durch einen Pfeil in Richtung einer Rolle angezeigt werden Abb Bin re Relation R C1xC2 Rolle1 Rolle2 1 Rolle1 Rollen Abb n re R
58. Knoten eine Commit Best tigung zum Manager gesendet haben Jetzt kann dem Client der erfolgreiche Abschluss der Transaktion mitgeteilt werden Die Transaktion wird abgebrochen wenn eine Subtransaktion fehlschl gt und die Commit Aufforderung zur ckweist Dann fordert der Manager alle Subtransaktionen und diese wiederum ihre Subtransaktionen usw auf ein Rollback durchzuf hren D h alle beteiligten Stationen machen die getroffenen Ver nderungen r ckg ngig und versetzen sich wieder in den Ausgangszustand 66 Rollback Zur cksetzen des Systems in den Ausgangszustand vor der Transaktion z B werden Ver nderungen der Daten in der DB r ckg ngig gemacht 105 Datenbanken 1 Phase Transaction Manager Resource Manager in M nchen Resource Manager in Regensburg 2 Phase Transaction Manager Resource Manager Resource Manager in M nchen in Regensburg Abb Ablauf des 2PC Protokoll Der gr te Nachteil des 2PC Protokoll ergibt sich aus der hohen Anzahl der Nachrichten die versendet werden m ssen Dies f hrt zu Performanz Einbu en Nicht jede Transaktion braucht die Sicherheit eines 2PC Protokolls z B read only Transaktionen Diese m ssen erkannt und durch ein einfaches Protokoll abgearbeitet werden 106 Datenbanken 1 5 2 3 Transaktionsmonitor Operating Systeme f r Transaction Processing Den Transaktionsbetrieb mit Datenbankanwendungen realisieren DC Komponenten Man spricht auch
59. NAME A GEHALT AVG ALL B GEHALT FROM EINKOMMEN A EINKOMMEN B WHERE A BEZEICHNUNG B BEZEICHNUNG GROUP BY A ANG_ID A NAME A GEHALT 92 Datenbanken Allgemein k nnen ber views nicht nur Selektionen ausgef hrt werden sondern auch Einf gungen nderungen L schungen unter folgenden Bedingungen Bie L schungen ber einen view darf der view keine GROUP BY oder DISTINCT Klausel enthalten und das Pseudo Attribut ROWNUM nicht verwenden Anderenfalls k nnten zu einem ber den view sichtbaren Datensatz in der Tabelle mehrere Datens tze existieren die wegen der DISTINCT Klausel nicht unterscheidbar w ren Bei nderungen ber einen view darf der Anderungswert nicht ber einen Ausdruck bestimmt werden Es gelten diesselben Bedingungen wie beim L schen Beim Einf gen ber einen view sind alle vorstehenden Restriktionen zu beachten und es darf keine NOT NULL Bedingung der realen Tabelle verletzt werden d h alle NOT NULL Felder m ssen im view enthalten sein Mit DROP TABLE DROP VIEW DROP INDEX k nnen Tabellen Sichten Indexe gel scht werden z B DROP VIEW EINKOMMEN DROP TABLE ABTKOSTEN DROP INDEX ABT_IDX DROP INDEX JOB_IDX DROP INDEX ANGEST_IDX DROP INDEX QUAL_IDX DROP TABLE QUALIFIKATI
60. NG ANGESTELLTE W G HERE ABTEILUNG ABT_ID OD AND ANGESTELLTE ABT_ID OD ROUP BY ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG 2 Bestimme eine Liste die die Identifikation Bezeichnung einer Abteilung und die Zahl der Beschaeftigten in dieser Abteilung zeigt SELECT ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG COUNT ANGESTELLTE ANG_ID FROM ABTEILUNG ANGESTELLTE WHERE ANGESTELLTE ABT_ID ABTE GROUP BY ABTEILUNG ABT_ID ABTE H UNG ABT_ID UNG BEZEICHNUNG KI GROUP BY und HAVING Die Anweisung GROUP BY erm glicht es Datens tze Tupel gruppenweise zu ordnen Auf diese Gruppen lassen sich verschiedene Operationen in der Regel mit Aggregatsfunktionen ausf hren Die Klauseln GROUP BY und HAVING bewirken da sich diese Funktionen nicht mehr auf alle Zeilen einer Tabelle sondern auf alle Zeilen innerhalb einer Gruppe auswirken Die GROUP BY Klausel f hrt Zeilen aus der Ergebnistabelle einer SELECT Anweisung zu Gruppen zusammen in denen bestimmte Spalten den gleichen Wert haben Jede Gruppe wird in der Ergebnistabelle zu einer einzigen Zeile reduziert Somit kann ber GROUP BY projiziert werden auf Attribute ber die gruppiert wird Gruppen Funktionen
61. NG_ID B NAME A ABT_ID FROM ANGESTELLTE A ANGESTELLTE B WHERE A ABT_ID B ABT_ID AND A NAME lt gt B NAME ORDER BY A NAME F r den Verbund einer Tabelle mit sich selbst wird genutzt da jeder Name einer Tabelle eine gewisserma en selektionsinterne Abk rzung alias erhalten 85 Datenbanken kann durch Leerzeichen getrennt dem Tabellennamen in der from Klausel nachgestellt Unterabfragen Bedingungen in SELECT DELETE oder UPDATE Kommandos sowie HAVING Klauseln d rfen sogenannte Subqueries Unterabfragen enthalten In diesem Fall wird ein Wert bzw eine Menge von Werten in einer Bedingung errechnet Das Ergebnis dieser Berechnung wird direkt in die befreffende Anfrage eingesetzt jedoch nicht gespeichert Der Aufbau der bergeordneten select Anweisung h ngt ab von der Anzahl der Werte die als Ergebnis der untergeordneten SELECT Abfrage ausgegeben werden Folgende F lle sind m glich Unterabfrage mit einem Ergebnis Unterabfrage mit mehreren Ergebnissen Eine Unterabfrage mit einem Ergebnis ist SELECT JOB TITEL JOB GEHALT FROM JOB WHERE JOB JOB_ID SELECT ANGESTELLTE JOB_ID FROM ANGESTELLTE S WHERE ANGESTELLTE NAME Fritz Bsp Bestimme alle Angestellten die diesselbe Funktion Titel wie Fritz haben oder in der gleichen Abteilung besch ftigt sind
62. ON DROP TABLE ANGESTELLTE DROP TABLE JOB DROP TABLE ABTEILUNG 3 ndern der Tabellenstruktur Zum Einf gen neuer Felder dient der ALTER TABLE Befehl mit der ADD Klausel z B ALTER TABLE ABTKOSTEN ADD ANZAHL INTEGER Reicht der zur Verf gung gestellte Platz von Tabellenspalten nicht aus dann kann ber ALTER TABLE mit einer MODIFY Klausel die Bereichsgr e dieser Felder erweitert werden 4 Hinzuf gen von Datens tzen Zeilen Zum Einf gen eines einzelnen neuen Datensatzes dient der INSERT Befehl mit einer VALUE Klausel z B insert into abteilung values KO Konstruktion nsert into job values KA Kaufm Angestellter 3000 00 fisa a insert into angestellte values CALM E TIt 02 JAN 50 0D SY insert into qualifikation values 93 Datenbanken AL SY 5 Aktualisieren von Daten Beim ndern von S tzen werden die zu ver ndernden Felder angegeben und die zu ndernden S tze durch eine Selektion bestimmt z B update abtkosten set anzahl select count angestellte abt_id from abtkosten angestellte where abtkosten abt_id KO and angestellte abt_id KO group by abtkosten abt_id where abtkosten abt_id KO Falls die WHERE Klausel fehlt werden alle Spalten nach der Angabe in der SET Anweisung ver ndert 6 L schen von Daten Das L schen von Dat
63. Parameter werden wie bei jeden gew hnlichen Prozeduraufruf bergeben Es ist ein Client und ein Serverteil des RPC n tig Der Clientteil Client Stub wird von der Client Applikation wie eine lokale Prozedur aufgerufen Der auszuf hrende Prozedurcode befindet sich jedoch auf dem Server Also werden die Parameter in eine Nachricht verpackt und an den Serverteil des RPC den Server Stub gesendet Dieser packt dann die Parameter wieder aus f hrt mit diesen Parametern den Prozedurcode aus und sendet die Ergebnisse wiederum in einer Nachricht verpackt zur ck zum Client Stub Die R ckgabedaten werden hier wieder ausgepackt und an die aufrufende Applikation bergeben Client Server Application Application Y ver Client Stub Server Stub v A Client Runtime Server Runtime Library Library A A y y Transport Transport 112 Datenbanken Die Schnittstelle des RPC muss in der Interface Description Language IDL deklariert werden damit das Ein und Auspacken korrekt funktioniert Ein IDL Compiler erzeugt daraus dann die Client bzw Server Stubs Die Implementierung der Prozedurr mpfe erfolgt wieder wie bei normalen Prozeduren Obwohl RPC das Leben eines Programmierers bereits erheblich vereinfachen gibt es einige Schwierigkeiten und Fehlerquellen zu beachten Wenn sehr viele Clients auf die Serverfunktionen zugreifen wird schnell ei
64. Programm Server dar Der Server bietet Informations und 81 firmenintern als Intranet genutzt 82 Das f ngt beim Tagesdatum an und reicht zu so komplexen Funktioen wie bspw Zeitsynchronisierung innerhalb eines komplexen Netzes oder der Nachrichtenvermittlung zwischen Objekten Object Request Broker 83 F r eine Vielzahl von Diensten sind Standgardisierungen in sog RFCs Request for Comments niedergelegt 124 Datenbanken Kommunikationsvermittlung an Aufgabe des Client ist es Anfragen des Benutzers in eine maschinenverst ndliche Art umzuformulieren und dem Benutzer die vom Server gelieferte Antwort zu pr sentieren F r die Benutzung eines Internet Dienstes ist ein Client und ein Server Programm n tig Der Client bernimmt Vorfeldaufgaben front end application der Informationsverarbeitung und erlaubt unterschiedliche Datenquellen unter einer Oberfl che zu integrieren Internet Dienste erm glichen die Kommunikation mit anderen Internet Teilnehmern die Nutzung von Informationsressourcen im Internet und das Anbieten von Informationen ber das Internet Der Internet Dienst dem das Internet das exponentielle Wachstum verdankt ist das World Wide Web www Die Idee des World Wide Web WWW oder einfach nur Web ist Anfang 1989 am CERN entstanden Ausl ser waren Schwierigkeiten beim Auffinden relevanter Informationen im Internet in Hard und Software Zur L sung des Problems wurde ein auf der Client Server Architektur
65. R Diagramm zur Beschreibung der Mitarbeiter an einer FH Spezialisierung zerlegt Objekttypen in speziell definierte nachgeordnete Entit tstypen Spezialisierung ist die Umkehrung der Generalisierung So ist die vorstehende Abbildung auch eine Spezialisierung da dier Entit tstyp Mitarbeiter in die Entit tstypen Beamter und Angestellter spezialisiert wird Mit der ist_ein Beziehung werden Untertypen Subtypen in das ERM eingef hrt Ein Entit tstyp E4 ist ein Untertyp des Entit tstyps Ep falls jede Auspr gung Instanz von E4 auch ein Untertyp von E ist Bsp In einem Software Unternehmen f r Proze automatisierung gibt es Sekret rinnen Manager und Ingenieure Die Ingenieure k nnen Maschinenbau Flugzeugbau Bauingenieure sein Im ER Diagramm dr ckt sich das so aus 35 Datenbanken Mitarbeiter Sekret rin Ingenieur Manager Maschinenbau Ing Flugzeugbau Ing Elektro Ing Abb 1 3 11 Mitarbeiterbeziehungen in einer Projektgruppe Diese Hierarchie k nnte in das folgende Schema einer relationalen Datenbank berf hrt werden Mitarbeiter MNR Attribute die allen Mitarbeitern gemeinsam sind Ingenieure MNR Attribute spezifisch f r Ingenieure Sekret rin MNR Attribute spezifisch f r Sekret rinnen Sekret re Maschinenbau Ingenieure MNR Attribute spezifisch f r Maschinenbau Ingenieure Flugzeugbau Ingenieure MNR Attribute
66. RM eingef hrt In dem vorliegenden Beispiel h ngt die Existenz einer Rechnungsposition von der Existenz des zugeh rigen Rechnungskopfes ab Es besteht eine Sch sselabh ngigkeit zu einer anderen Entit t Beziehungstypen die diese Identifizierung herbeif hren werden h ufig auch im ER Diagramm in einer Raute mit doppeltem Umri gezeichnet Erweiterungen des ERM Zum ERM wurde eine Vielzahl von Varianten und Erweiterungen vorgeschlagen Eine sehr sinnvolle Erweiterung bezieht sich auf die Pr zisierung der Komplexit t von Beziehungen Die bisher angegebene Darstellung der Kompexit t von Be ziehungen ist durch das Verh ltnis zwischen 2 Entit ten bestimmt Eine 1 n Be zienung zwischen z B einem Kunden und einer Rechnung sagt aber nichts dar ber aus ob jedem Kunden wenigstens eine Rechnung zugeordnet sein mu oder nicht Auch ist nicht ersichtlich ob sich die Rechnung genau auf einen Kunden bezieht oder ob Rechnungen ohne Kunden zul ssig sind Bei drei und mehrstelligen Beziehungen ist die 1 m n 37 Datenbanken Schreibweise berhaupt nicht sinnvoll interpretierbar Wird f r jeden Entit tstyp durch einen Komplexit tsgrad comp E b angegeben mit wievielen Beziehungen des Typs b eine Entit t minimal in Beziehung stehen mu bzw maximal in Beziehung stehen kann dann liegt die min max Schreibweise vor Es gilt 0 lt min lt 1 lt max lt Eine Beziehung b A B wird durch 2 Komplexit tsgrade comp A b und
67. ROM ABTEILUNG HERE ABT_ID IN KO OD RDER BY ABT_ID osHun LIKE erm glicht die Suche nach Zeichenfolgen Dabei ersetzt der Unterstrich _ ein beliebiges einzelnes Zeichen das Prozentzeichen eine beliebige Anzahl von Zeichen Bsp Welche Angestellte haben einen Namen der mit F beginnt ELECT FROM ANGESTELLTE HERE NAME LIKE F 3 Die Bedingung IS NULL Zur Ermittlung von Tupeln die NULL Werte in einem Attribut besitzen gibt es den speziellen Operator IS NULL bzw IS NOT NULL NULL Werte sind nicht durch 84 Datenbanken Zeichen repr sentiert daher ist der Operator auch nicht gleichwertig mit einem Bei einer Selektion durch eine ORDER BY Klausel erscheinen NULL Werte stets am Anfang unabh ngig von der gew hlten Sortierfolge Verbund Es besteht grunds tzlich die M glichkeit mehrere Tabellen im Rahmen von Verbundoperationen zu verkn pfen Bsp Welche Angestellten ben den Beruf Systemplaner aus SELECT ANGESTELLTE ANG_ID ANGESTELLTE NAME JOB TITEL FROM ANGESTELLTE JOB WHERE ANGESTELLTE JOB_ID JOB JOB_ID AND JOB TITEL Systemplaner Bsp Welchen Beruf bt welcher Angestellte aus ELECT ANGESTELLTE ANG_ID ANGESTELLTE NAME JOB TITEL ROM ANGESTELLTE JOB HERE ANGESTELLTE JOB_ID JOB JOB_ID
68. Schicht erf llt bestimmte Dienstleistungen bzw Aufgaben und stellt das Ergebnis der n chsten Schicht zur Verf gung 109 Datenbanken Application Layer telnet ftp NFS NIS Anwendungsschicht mail rsh TI RPC Presentation Layer Darstellungsschicht Transport Layer TCP Transmission Control Bit bertragungsschicht Transportschicht Protocol Network Layer IP Internet Protokoll Vermittlungsschicht Data Link Layer Ethernet CSMA CD Datensicherungsschicht Physical Layer Ethernet Physikalisches bertragungsmedium Abb 1 5 4 OSI Referenzmodell und ONC Netzwerkprotokolle in einem UNIX Betriebssystem Ethernet beschreibt die Leistungen des LAN Local Area Network auf Bit bertragungs und Datensicherungsschicht Die Hauptaufgabe der Vermittlungsschicht Network Layer ist die Verkehrsienkung des Netzwerks Nachrichten sollen ber das Internet Protokoll IP auf optimalem Weg ihr Zielsystem erreichen Der Adressierungsmechanismus dieser Ebene basiert auf der Internet Adresse Die Transportschicht bernimmt den Transport von Nachrichten zwischen den Kommunikationspartnern steuert den Datenflu und definiert die Transportqualit t gerichtet ungerichtet der Daten bertragung Das TCP Transmission Control Protocol beinhaltet verbindungsorientierte Dienste Jede Ankunft eines TCP Protokolls mu beantwortet werden Die Kommunikationssteuerschicht Session Layer steuert den Austausch von Nachrichten auf der Transport
69. TM ist ein TP Monitor der Firma SIEMENS 107 Datenbanken Client TP Monitor RPC oder MOM oder Peer to Peer Tier 2 Tier 3 Application Daten Logic Abb Transaktionsmonitor Beispiel f r eine 3 Tier Anwendung Der Kontrollfluss innerhalb des TP Monitor f r jede Anfrage ist 1 Den Input vom Display oder einem anderen Ger t in das Standard Format f r Anfragen XT API68 bersetzen 2 Auswerten des Anfrage Headers um zu bestimmen welche Transaktion gefordert wird und welches Programm die Anfrage abarbeiten soll 3 Starten der Transaktion und des Programms welches in 2 bestimmt wurde dieses Programm ruft typischerweise Aktionen auf einer Datenbank auf 4 Commit zum Beenden der Transaktion im Erfolgsfall bzw Abbruch im Fehlerfall 5 Zur cksenden eines Output zum Display oder einem anderen Ger t 68 XT API X Open Interface Standart f r die Kommunikation zwischen Applikation und Transaktion Manager 108 Datenbanken 1 5 3 Client Server Systeme 1 5 3 1 Fernzugriff in Netzen aus autonomen Rechnern Kommunikationsprotokolle Es ist zweckm ig kleinere Datenverarbeitungssysteme zur F hrung lokaler Datenbanken f r Verarbeitungsaufgaben am Arbeitsplatz vorzusehen und diese ber ein Netz an ein oder mehrere Rechenzentren anzuschliessen distributed processing Jeder Bildschirm
70. TUM 31 12 1995 KUNDEN NR 50118 NAME ADRESSE ARTIKEL NR BEZEICHNUNG PREIS MENGE BETRAG A Widerstand 5 00 2000 10 000 00 B Spule 3 00 1000 3 000 00 SUMME 18 000 00 Abb 1 3 36 Ein Rechnungsformular Das zugeh rige Datenbankstrukturdiagramm einer netzwerkorientierten Datenbank das die Daten des vorliegenden Rechunungsformulars benutzt sieht so aus RECH KOPF RECH NR ADRESSE SUMME RECH RUMPF ARTIKEL NR BETRAG Abb 1 3 37 Datenbankstrukturdiagramm zum Rechnungsformular Besitzt dieser Entwurf f r eine netzwerkorientierte Datenbank die Eigenschaften Datenunabh ngigkeit und Datenneutralit t Datenunabh ngigeit Ein Zugriffspfad wesentlich bestimmt durch die Zeilenposition ist zur Daten wiedergewinnung unerl lich Datenneutralit t Es werden nur solche Anwendungen unterst tzt die zuerst den Rechnungskopf und dann den Rechnungsrumpf lesen 55 Datenbanken Datenunabh ngigkeit und Datenneutralit t sind ber ein netzwerkorientiertes DB Modell nicht erreichbar Sind solche Eigenschaften mit dem relationalen DB Modell m glich Da das Rechnungsformular die Struktur einer komplexen geschachtelten Tabelle aufweist das relationale DB Modell nur einfache Tabellen kennt ist hier ein Nor malisierungsproze durchzuf hren Normalisieren bedeutet Darstellung des logischen Schemas einer relationalen Datenbank in Form einfach
71. Transformation Externe Schemata Interne Schemata Externe Ebene Interne Ebene individuelle Sichten Programme physische Datenbanken Abb 1 3 35 Datenbankarchitektur nach ANSV SPARC 25 ANSU X3 SPARC Group on Data Base Management Systems Interim Report Bulletin of ACM SIGMOD No 2 1975 ANSI American National Standard Institute Sparc Standard Planning and Requirement Committee 53 Datenbanken Die ANSU SPARC Architektur sieht 3 Ebenen vor 1 Eine mittlere konzeptuelle Ebene die alle drei Anwendersichten zu einer Art gemeinschaftlichen Sicht vereinigt 2 Eine interne Ebene die es gestattet unter Kenntnis von Anwenderprofilen und verf gbarer Hard und Grundsoftware die leistungsf higsten Speicher und Zugriffsmethoden zu w hlen 3 Eine externe Ebene mit beliebig vielen Anwendersichten Im Mittelpunkt der verschiedenen Betrachtungen Sichten steht das allumfassende Konzept f r die Anwendung der Daten Datenbanken stellen auf der einen Seite die Mittel zur Verf gung die die jeweiligen Dateien f r die spezifischen Anwendungen bereitstellen Auf der anderen Seite sorgen sie f r die Speicherung der Daten internes Schema Speicherschema Entscheidend ist in beiden F llen das Datenmodell das der allgemeinen Beschreibung zugrundeliegt Das Datenmodell soll m glichst genau die realen Verh ltnisse die reale Welt wiedergeben d h die unterschiedlichen Objekte Entit ten und ihre Beziehungen Ein Datenmodell ist dann da
72. ach dem Prinzip des File Server arbeiten die meisten Netzwerkbetriebssysteme Bekanntestes Produkt ist zur Zeit Novell Netware Mit Hilfe sog Netware Loadable Moduls NLM l t sich das Netzwerk an verschiedene Architekturen anpassen Den restlichen Markt f r Netzwerbetriebssysteme teilen sich LAN Manager bzw LAN Server 5 und Banyan Vines 74 Viele Systemdienste wie etwa die ganze Schichtung m glicher Netzwerkprotokolle IPX ZCP IP usw wurden auf der Server Seite als NLM realisiert 75 Der LAN Manager kommt von Microsoft der LAN Server von IBM Der Ansatz ist aber gleich Der Server Teil setzt auf OS 2 als Betriebssystem Nachfolger des LAN Manager ist inzwischen der Windows NT Advanced Server der Netzwerkfunktionen von Windows NT benutzt 116 Datenbanken Netware File Server Netware Betriebssystem Btrieve Record Manager Netware SQL Datenbankmaschine SPX DOS OS 2 Netware SQL DOS Requester Netware SQL OS 2 Requester Anwendung Anwendung MS Windows Netware SQL Windows Requester Interface Anwendung Abb 1 5 7 Client Server Architektur des Netware SQL Btrieve ist die Zugriffsmethode von Netware SQL Geeignete client requester Programme kommunizieren ber SPX Sequenced Paket Exchange Protocoll mit Netware SQL Auch UNIX Server sind auch in PC Netzen weit verbreitet F r alle UNIX Abk mmlinge gibt es NFS Network File System E
73. ache Anfragen k nnen direkt aus der Datenbank beantwortet werden Bsp Buchhaltung Letzj hriger Gesamtumsatz Geburtsjahr von J S Bach F r komplizierte Fragen sind zus tzlich Methoden zur Kombination bestimmter Daten aus der Datenbank n tig Methodenbanken sind Programme f r mathematische Verfahren Matrizen Differential und Integralrechnung statistische Auswertungen und Operations Research Methodenbanken sind auf Gro rechern Mainframe immer noch selten H ufig anzutreffen dagegen sind integrierte Programmpakete f r Mikrocomputer die Programme zur Datenbankanwendung sowie f r Pr sentationsgrafik Tabellen kalkulation und Textverarbeitung enthalten Damit ist die Basis geschaffen f r weitere Nachforschungen die mehr als Faktenermittlung und zugeh rige spezifische Auswertung umfassen Bsp Methodenbank Datenbank Betriebsabrechnung Buchhaltung Vollkosten der Maschine X je Stunde Prognose Methoden Bev lkerungsdaten Schulanf nger in 10 Jahren Manchmal sind weitere Nachforschungen n tig Datenbank zus tzliche Nachforschungen Buchhaltung Gesch ftsberichte der Konkurrenz Personalkosten im Vergleich zur Branche In speziellen Anwendungen mu der Datenbestand f r den Fragesteller durch eine Organisation der Datenverarbeitung aufbereitet werden Methoden Recherchen Nachforschungen und Speicherung der Daten bilden durch diese Organisation der Datenverarbeitung ein Informationssystem L
74. als Kaufm Angestellter KA Ein Kaufm Angestellter verdient 3000 00 DM im Monat Der Angestellte a5 mit dem Namen Emil ist am 2 3 1960 geboren und arbeitet in der Abteilung PA Personalabteilung als Programmierer PR Ein Programmierer verdient 5000 00 DM im Monat Der Angestellte A6 mit dem Namen Uwe ist am 3 4 1952 geboren und arbeitet in der Abteilung RZ Rechenzentrum als Operateur OP Ein Operateur OP verdient 3500 DM ein Programmierer im Monat Die Angestellte A7 mit dem Namen Erna ist am 17 11 1955 geboren und arbeitet in der Abteilung KO Konstruktion als Techn Angestellte TA Eine Techn Angestellte verdient 3000 00 DM im Monat Die Angestellte A8 mit dem Namen Rita ist am 2 12 1957 geboren und arbeitet in der Abteilung KO Konstruktion als Techn Angestellte TA Eine Techn Angestellte verdient 3000 00 DM im Monat Die Angestellte a9 mit dem Namen Ute ist am 8 9 1962 geboren und arbeitet in der Abteilung OD Organisation und Datenverarbeitung als Systemplaner SY Sie besitzt zus tzliche Qualifikation f r Ingenieur IN T tigkeiten Ein Systemplaner verdient 6000 00 DM ein Ingenieur IN 6000 DM im Monat Der Angestellte A10 mit dem Namen willi ist am 7 6 1956 geboren und arbeitet in der Abteilung KO Konstruktion als Ingenieur IN Ein Ingenieur verdient 6000 00 DM im Monat 39
75. ame adresse String telefon Number Fachbereich persistent studentHinzufuegen studentStreichen studentErmitteln RR alleStudentenErmitteln dozentHinzufuegen fachbereichHinzufuegen dozentStreichen fachbereichStreichen dozentErmitteln fachbereichErmitteln alleDozentenErmitteln alleFachbereicheErmitteln A ZustaendigFuer 14 Mitglied Vorlesung Student persistent Besucht gt persistent name Name name Name studentID Number vorlesungsID Bee Number Abb Modellieren eines logischen Datenbankschemas 42 Booch Grady u a Das UML Benutzerhandbuch Addison Wesley Bonn 1999 Seite 123 72 Datenbanken 2 Die Modellierung eines physischen Datenbankschemas Das Modellieren einer physischen Datenbank umfa t Identifikation der Klassen die das logische Datenbankschema bilden Wahl einer Strategie zur Abbildung dieser Klassen auf Tabbellen Erstellen eines Komponentendiagramms mit den als Tabellen stereotypisierten Tabellen zur Visualisierung und Dokumentation Bsp Modellieren der physischen Datenbank FH db FH db Vorlesung Fachbereich Dozent Fachhochschule Student HEE 43 vgl Booch Grady u a Das UML Benutzerhandbuch Seite 451 73 Datenbanken 1 4 Standards Auf dem DB Markt existieren Systeme verschiedener Hersteller die in ihren Strukturen ihrer Terminologie und vor allem in den Sprachen erhebliche Untersc
76. angewendet auf Attribute der Haupttabelle 89 Datenbanken Konstante Mit der HAVING Klausel kann der Anwender den einzelnen Gruppen bestimmte Bedingungen auferlegen Sie ist eine Selektion von Gruppen Da im Ausgangspunkt der HAVING Klausel bereits Gruppen gebildet sind kann nur nach Attributen dieser Zwischen Ergebnistabelle selektiert werden Mit Hilfe der HAVING Klausel k nnen Gruppen ausgew hlt werden die in die Ergebnistabelle aufgenommen werden sollen SELECT ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG COUNT FROM ABTEILUNG ANGESTELLTE WHERE ANGESTELLTE ABT_ID ABTE G H K UNG ABT_ID UNG BEZEICHNUNG ROUP BY ABTEILUNG ABT_ID ABTE AVING COUNT gt 1 Die HAVING Klausel wird erst nach der Gruppierung ausgewertet denn sie schr nkt nur die durch die Gruppierung erzeugten Datenmangen ein Sie ist aber hier obwohl eine WHERE Klausel vor allen anderen Klauseln ausgef hrt wird unbedingt erforderlich da SELECT ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG COUNT FROM ABTEILUNG ANGESTELLTE WHERE ANGESTELLTE ABT_ID ABTEILUNG ABT_ID AND COUNT gt 1 GROUP BY ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG zu folgender Meldung f hrt GROUP FUNCTION NOT
77. ann aus mehreren Lokalit ten n her und performanter zugegriffen werden Katalogorganisation Bei einem nicht voll redundanten VDBS mu zur Beantwortung der Anfrage query processing bestimmt werden an welchem Knoten die angesprochenen Daten gespeichert sind Informationen ber Heimatadressen befinden sich im Systemkatalog data dictionary data directory F r die Abspeicherung und Verwaltung der Katalogdaten sind hnliche Probleme zu l sen wie bei den Benutzerdaten Wichtige Formen der Katalogorganisation sind zentralisierter Katalog Ein Rechner h lt den vollst ndigen Katalog Das Gesamtsystem ist allerdings von Leisung und Ausfallsicherheit eines Rechners abh ngig Voll redundanter Katalog Jeder Rechner im verteilten System h lt den Gesamtkatalog Lokaler Katalog Jeder Rechner h lt einen Katalog ber die lokale Dateien F r verteilte Transaktionen entstehen bertragungskosten da die Adresse von Fremddateien nicht bekannt sind Schemaverteilung 136 Datenbanken Eine Datenbank wird bekanntlich durch das Datenbankschema beschrieben Dort erfolgt die Definition der logischen Datenstrukturen z B Relationen mit zugeh rigen Attributen und Beziehungen zwischen den Relationen der physikalischen Strukturen z B Speicherstrukturen Zugriffspfade Ein VDBS ben tigt zus tzlich die Definition der Verteilungsregeln die einmal die Einheiten der Datenverteilung festlegen und zum anderen die Zuordnung der Datene
78. ar Interaktive Verarbeitung datenorientierter Aufgabenstellungen Datenbanken l sen datenorientierte Aufgabenstellungen in interaktiver Verarbei tung Ein derartiges Anwendungssystem kann in drei Basiskomponenten gegliedert werden eine Pr sentationskomponente zur Realisierung der Benutzerschnittstelle eine Logikkomponente zur Ausf hrung von Verarbeitungsfunktionen und ber nahme des Kontrollflusses in Anwendungssystemen eine Datenkomponente mit der Aufgabe der Datenverwaltung Die Datenkomponente kann weiter sog 5 Schichten Architektur unterteilt werden in das Datenbanksystem Das ist heute in der Regel ein relationales Datenbanksystem Anforderungen an das System werden in SQL formuliert Das System l st mengenorientierte Anforderungen in satzorientierte Zugriffe S tze von Tabellen auf Im Rahmen der 5 Schichen Architektur spricht man hier von der mengenorientierten Schnittstelle Diese Schnittstelle umfa t eine Klasse von Hochsprachen z B SQL das Datensatzverwaltungssystem Recordmanagementsystem Es l st Anforderungen nach Datens tzen ber die Kenntnis von Zugriffspfaden z B ber einen Index auf und bestimmt die Position der angeforderten S tze in den Dateien Tabellen Das Datensatzverwaltungssystem setzt Aufrufe an das Dateisystem ab Im Rahmen der 5 Schichten Architektur spricht man von der satzorientierten Schnittstelle Der Zugriff zur Datenbasis erfolgt satzweise Pufferverwaltung Einbrin
79. arbeitsplatz hat einen eigenen Prozessor und Speicher Das Anwendungsprogramm l uft auf diesem Arbeitsplatzrechner Beim Fernzugriff auf die Datenbank findet eine Interproze kommunikation zwischen den Anwendungsprogrammen und dem Datenbankverwaltungssystem auf dem Zentralrechner statt Das Client Server Modell ist das dominierende Konzept f r verteilte Datenverarbeitung mit ber ein Kommunikationsnetz verbundenen Rechnern Man versteht darunter eine Architektur bei der eine Anwendung in einen benutzernahen Teil Client Frontend und einen von allen Benutzern gemeinsam beanspruchten Teil Server Backend aufgeteilt ist Voraussetzung der verteilten Datenverarbeitung sind einheitliche Kommunikationsschnittstellen ein Kommunikationssystem zur Unterst tzung der Interproze kommunikation Dienste f r die Nutzung der Ressourcen etc Die Kommunikation zwischen Rechnern erfordert Kenntnis und Einhaltung bestimmter Regeln Kommunikationsprotokolle sind Regeln nach denen Kommunikationspartner Verbindungen aufbauen Information austauschen und wieder abbauen Von der International Standardisation Organisation ISO zusammen mit Open System Interconnection OSI wurde ein Architekturmodell entwickelt das heute generell als Ausgangspunkt aller Kommunikationsprotokolle zwischen Rechnern verwendet wird In diesem Modell werden die einzelnen f r die Kommunikation zwischen Rechnern ben tigte Dienste in 7 aufeinanderfolgenden Schichten abgewickelt Jede
80. ard f r objektorientierte Datenbanksysteme ODBS definiert mit Standardisierungsvorschl gen f r die Bereiche Objektmodell Objekt Definitionssprache ODL Objekt Abfragesprache OQL C und Smalltalk Anbindung f r ODL und OQL sowie OML Object Manipulation Language Anbindung f r Programmiersprachen Eine ODMG ODBS sieht daf r folgende M glichkeiten vor Definition von Datenbankschemata Einf llen von Daten Zugriff und Manipulation von Daten Verwendung der OQL Das Typ System der Programmiersprache und das Datenbankmodell des Datenbanksystems sollen m glichst integriert werden k nnen So soll das DBS mit dem erweiterten Typ System der jeweiligen Programmiersprache definiert werden k nnen 36 eine Gruppe f hrender Hersteller objektorientierter Datenbanksysteme 37 Spezifikation ODMG 93 60 Datenbanken 1 3 8 Die UML zur Beschreibung von Datenbankanwendungen Die Unified Modelling Language UML 38 ist eine Sprache zur Beschreibung von Softwaresystemen Sie besteht aus verschiedenen Diagrammen die wiederum verschiedene grafische Elemente besitzen Die Bedeutung also die Semantik der Elemente ist genau festgelegt Innerhalb der UML gibt es allerdings f r ein und denselben Sachverhalt mehrere Darstellungsarten 1 3 8 1 Die Diagramme Die Notation der UML umfa t Diagramme f r die Darstellung verschiedener Ansichten auf das System Sie sind vergleichbar mit Baup nen
81. aren atomaren Einheiten deren korrekte Ausf hrung das DBS bernimmt das Kommunikationssystem DC System Es bernimmt die Verbindung der einzelnen Komponenten Drei F lle k nnen unterschieden werden 1 Terminalnetze Beim Anschlu dummer Terminals ber gr ere Entfernungen dient das Netz als Verl ngerungsschnur Auf der Seite des Terminals m ssen Kommunikations protokolle bereitgestellt werden die wegen ihres geringf gigen Aufwands in Hardware implementiert werden k nnen Auf der Seite des Rechners liegt der Schwerpunkt der Verarbeitung z B Aufbau und Kontrolle der Verbindung Program mierung des Bildschirms 2 Netze zwischen autonomen Rechnern Zum Anschlu von Intelligenten Bildschirmarbeitspl tzen z B PC CAD Arbeitsstation mit integriertem Rechner mu ein Kommunikationsnetz zwischen eigenst ndigen Rechensystemen bereitgestellt werden 3 Verteilte Datenbanken Das Netz dient zur Kommunikation der einzelnen Datenbankverwal tungssysteme 1 2 3 5 Data Dictionary Directory System DD D System Es enth lt Informationen ber Definition Struktur und Benutzung von Daten Das directory liefert dem eingesetzten DB System Informationen ber Plazierung und Strukturen innerhalb der Benutzerdatenbank DB System orientiert Ein data dictionary dagegen gibt dem Anwender Information ber Daten ihre Herkunft wo sie genutzt werden und wann sie ge ndert wurden zentralisierte Ablage von Informationen ber
82. as DD richtig eingesetzt so wird es bspw die Definition des Felds Pers Nr nur einmal geben und diese Definition befindet sich im DD Im DD werden De finitionen nicht mehrfach gespeichert sondern entsprechend untereinander ver kn pft Datenbankdefinition Definition zu Datenbanken werden zweckm ig im DD angelegt und verwaltet Anwendungsentwicklung Das DD ist eine Hilfe festzustellen ob bestimmte Datendefinitionen bereits im DD vorhanden sind oder nicht Au erdem besteht die M glichkeit Satzstrukturen im neutralen Format des DD anzulegen Kontrolle Das DD ist eine Hilfe Definitionen eindeutig zu machen Dienstprogramme zur Auswertung eines DD erm glichen die Analyse der vorhandenen Datenobjekte z B die Bestimmung von Redun danzen Inkonsistenzen Cross Reference Listen Statistiken Benutzungsh ufigkeiten Werteverteilungen zur Optimierung der Speicher struktur Ein DD l t sich falls alle Daten ber Dateien und Programmsysteme in das W rterbuch aufgenommen werden zur zentralen Kontrollinstanz ber alle gespeicherten Daten ausbauen Man spricht h ufig auch von aktiven und passiven Data Dictionaries und bezieht sich dabei auf den Grad der Integration des Data Dictionary mit dem Datenbank verwaltungssystem DBMS Falls das DBMS die Definition des DD zur Laufzeit von Programmen auf den neuesten Stand bringt liegt ein aktives DD vor Ist dazu ein eigenst ndiger Regenerationslauf n tig handelt
83. as Rechteck erzeugt ein L schen wird durch ein Kreuz dargestellt P Nachrichenaustauch zwischen Objekten beschriftete Pfeile Uber den Pfeilen stehen Operationen die ausgef hrt werden In eckigen Klammern k nnen Bedingungen angegeben werden wann die Operation ausgef hrt wird Ruft das Objekt eine Operation von sich selbst auf dann zeigt der Pfeil auf die Lebenslinie zur ck Die in den Anwendungsf llen beschriebenen Objektinteraktionen k nnen in Sequenzdiagrammen verfeinert werden F r jeden Anwendungsfall k nnen ein oder mehrere Sequenzdiagramm e konstruiert werden Sequenzdiagramme stammen aus der Telekommunikationstechnik z B f r Protokolle 66 Datenbanken Bsp Ablauf des Use Cases Neue Vorlesung anbieten Bibliothek Terminkalender Vorlesungsverzeichnis 1 l T entleihen Buch u freier Termin reservieren Set l2222cl2 eintragen Termi eintragen Vorlesung gt J e Abb Sequenzdiagramm Neue Vorlesung anbieten 2 Kollabarationsdiagramme Ein Kollaborationsdiagramm ist ein Interaktionsdiagramm in dem die strukturelle Organisation der Objekte im Vordergrund steht die Nachrichten senden bzw empfangen Sequenz und Kollaborationsdiagramme sind isomorph so da man das eine in das andere umwandeln kann Sequenzdiagramme haben zwei Merkmale die sie von Kolloborationsdiagrammen unterscheiden 1 die Objektlebenslinie senkrechte gestrichel
84. atenbanken verwendet_in Synthese n besteht_aus Analyse Struktur Zur Darstellung der Mengen greift das ERM auf das Relationenmodell zur ck oreu Einzelteil 1 Einzelteil_2 Einzelteil_3 Baugruppe_l Baugruppe_2 Endprodukt_1 Endprodukt_2 Abb 1 3 8 Entity Relationship Diagramm f r eine Teile Verwaltung Dreierbeziehungen Die Beziehungsmenge Student Vorlesung Professor n p m ist eine Dreierbezie hung Dreifachbeziehung Auch 1 n m 1 1 n und 1 1 1 Beziehungen sind m glich Bsp Studenten an Fachhochschulen haben zwei praktische Studiensemester zu absolvieren Es wird gefordert da im Rahmen des Praktikums eine Mitwirkung des Studenten an Projektarbeiten stattfindet Zweckm igerweise gilt dann kein Betreuer f hrt einen beliebigen Studenten in mehr als einem Projekt kein Student arbeitet an einem beliebigen Projekt das von mehr als einem Betreuer betreut wird Das ER Modell dr ckt das so aus 34 Datenbanken Betreuer n 1 Student Projekt Abb 1 3 9 Eine 1 1 n Dreierbeziehung Konstruktionsoperatoren Durch Generalisierung werden hnliche oder miteinander verwandte Objekttypen zu bergeordneten Objekttypen zusammengefa t In einem ER Diagramm kann die Generalisierung durch eine ist_ein Beziehung veranschaulicht werden Mitarbeiter Beamter Angestellter Abb 1 3 10 E
85. auf verschiedene Arten vornehmen Das f hrt zu einer F lle komplexer Probleme die ein Verteiltes Datenbanksystem l sen mu Datenverteilung Fragmentierung Die Fragmentierung erm glicht es Daten einer globalen Relation Tabelle auf unterschiedliche Knoten des verteilten Systems zu speichern Abh ngig von der Art wie Tupel einer globalen Relation aufgeteilt werden spricht man von horizontaler oder vertikaler Fragmentierung bzw von einer Mischform der beiden Unter horizontaler Fragmentierung werden komplexe Tupel einer globalen Relation mit Hilfe der Selektion aufgeteilt Die Relation Tabelle wird horizontal geschnitten Bsp Horizontale Fragmentierung der Relation Konto nach Filialen Jede Filiale speichert auf ihrem Rechner die sie betreffenden Daten Horizontale Fragmente Konto Nr Inhaber Filiale Kontostand slana airat ian Bad Hersfeld _ aha meh Bad Hersfeld _ ash ah Bad Hersfeld Globale Relation Konto Nr Inhaber Filiale Kontostand Konto Nr Inhaber Filiale Kontostand Ma A Bad Hersfeld __ 10 Mauniiaiiasa nnnnnennnnnn Regensburg DR En Regensburg denmmeenneen nnmnnnnennn Regensburg _ erahnen eilsna hnde Bad Hersfeld PETEERE EATON T AEN aete aieaeah M nchen aaa AAA ANEAN Bad Hersfeld Konto Nr Inhaber Filiale Kontostand Abb 1 5 23 Horizontale Fragmen
86. aufbauendes hypertext basiertes System vorgeschlagen Hypertext wird dabei als Weg verstanden Informationen derart miteinander zu verkn pfen da sich der Benutzer nach eigenem Belieben durch die Informationen bewegen kann Die Verkn pfungen erscheinen dabei als Knoten in einem verwobenen Netz E Abb 1 5 12 Struktur des World Wide Web Eine verteilte Hypermedia Anwendung kann als Netz angesehen werden dessen Knoten Text Grafik Ton darstellen Verbindungen Links kennzeichnen die Beziehungen zwischen den Knoten und werden von der Systemsoftware verwaltet Die m glichen Verbindungen werden im Dokument Fenster an der entsprechenden Stelle gekennzeichnet Der Benutzer kann durch Anklicken derartiger Markierungen im Dokument oder durch Weiterbl ttern bzw R cksprung zu einem fr heren Knoten fortfahren solange er will Dokumente werden in einem speziellen Format dem Hypertext Format gespeichert Zum Erstellen von Dokumenten steht die Seitenbeschreibungssprache HTML Hypertext Markup Language zur Verf gung 84 europ isches Zentrum f r Teilchenphysik bei Genf 85 bezieht sich auf die in ISO 1986 standardisierte SGML Standard Generalized Markup Language 125 Datenbanken Die wichtigsten HTML Steueranweisungen sind Hyperlinks Damit kann man auf Dokumente verweisen die irgendein anderer Rechner im Internet bereitstellt Diese Verweise bilden ein weltumspannendes Netz das www Das Hypertext Transfer Protocol HTTP di
87. cher Angestellte ist vor dem 2 Dezember 1957 geboren 47 Vgl 1 3 3 48 SQL ist nicht case sensitive 83 Datenbanken SELECT FROM ANGESTEL WHERE GEBDATUM lt 02 D ORDER BY NAME IE EC 57 Komplexe Bedingungen Mehrere Suchbedingungen k nnen in einer WHERE Klausel kombiniert werden z B SELECT FROM ANGESTELLTE WHERE NAME Fritz AND JOB_ID sY Drei logische Operatoren NOT AND OR erm glichen die logische Kombination von Suchbedingungen Die angegebene Reihenfolge entspricht der Priorit t ihrer Verarbeitung Mit Klammern kann die Abarbeitungsfolge beeinflu t werden IN BETWEEN und LIKE SELECT kann auch in Zusammenhang mit den Operatoren BETWEEN LIKE und IN Suchbedingungen ber die WHERE Klausel festlegen Die 2 Operatoren BETWEEN LIKE ersetzen relationale Operatoren und legen den Geltungsbereich der WHERE Klausel fest Der mit BETWEEN festgelegte Bereich ist inklusiv Auch Zeilen deren Feldwert einem der beiden Grenzwerte entspricht werden in der Ergebnistabelle aufgenom men genauso wie alle dazwischenliegenden Werte SELECT FROM ANGESTELLTE WHERE GEBDATUM BETWEEN O1 JAN 55 AND 31 DEC 55 Der Operator IN pr ft ob ein Feldwert mit einem Wert in der angegebenen Werteliste bereinstimmt ELECT ABT_ID BEZEICHNUNG
88. chtet die Kante zu E gerichtet Bsp Entity Relationship Diagramme zu einer Hochschulverwaltung Entit tsmengen sind Hochschulmitarbeiter MNR Gebdat Adr MNR Mitarbeiternummer 23 Diplomarbeit Thema Beginn Ende Note Student Matrikelnummer Name Vorname Vorlesung Name Professor MNR Fachbereich Name Diese Entit tsmenge besitzt eine ist_ein Beziehung zu Hochschulmitarbeiter Beziehungsmengen sind Betreut Professor Diplomarbeit Der Beziehungstyp ist hierarchisch 1 n 21 vgl 1 3 1 2 22 Identifizierende Attribute sind unterstrichen 23 Die Mitarbeiternummer ist ein Attribut das allen Hochschulmitarbeitern gemeinsam ist und veerbt wird 32 Datenbanken Erarbeitet Der Beziehungstyp Student Vorlesung Professor ist vom Typ n p m und besitzt die Attribute Semester Jahr Schreibt Der Beziehungstyp Diplomarbeit Student ist vom Typ m n und besitzt das Attribut Semester Das f hrt zu dem folgenden Entity Relationship Diagramm DD u Ga Hochschulmitarbeiter Chema gt lt ist_ein 1 n 1 Name n m schreibt gt Semester n n Abb 1 3 7 Entity Relationship Diagramm zu einer Hochschul Verwaltung Homogene Zusammenstellungen von Beziehungsmengen der Klassifikation E E sind ebenfalls im ERM darstellbar z B St ckliste und Verwendungsnachweis bilden sich im ER Diagramm so ab 33 D
89. dem Wertebereich KRITERIUM gut mittel schlecht zugeordnet erhalten Das Attribut BEURTEILUNG verkn pft die Beziehungen BELEHRT mit der Dom ne Beurteilungs KRITERIUM Ein spezifisches Dozenten Studenten Beziehungspaar steht mit einem einzigen spez Kriterium in Beziehung Assoziation einfacher Art Beziehungen werden identifiziert indem man die Schl ssel der Entit ten in der Beziehung nutzt 1 3 2 Das relationale Datenbankmodell Grundlage dieses Datenmodells sind einfache Tabellen z B Schl ssel Fakult t Geburtsdatum 110506 Werner__ Medizin 10 03 71 1060313 _ Kal J ra 10 0173 2517008 Fritz Mathematik 09 03 70 Abb 1 3 2 Schematische Darstellung zu einem relationalen DB Modell 26 Datenbanken Die Tabelle wird auch Relation genannt Datenbanken die aus solchen Relationen aufgebaut sind hei en relationale Datenbanken Die Datenbanken bestehen aus flachen hierarchiefreien Zusammenstellungen von Datenfeldern Die Spalten der Tabelle bezeichnet man als Attribute der Relation Eine flache Datei flat file ist eine Relation und besteht aus einer Menge von Tupeln Tabellen Zeilen Zu einem Tupel sind die auf ein bestimmtes Objekt bezogenen Datenwerte zusammengefa t Das relationale Datenbankmodel besitzt im wesentlichen folgende Eigenschaften 1 Die Daten werden einheitlich durch Werte repr sentiert die in Form von Tabellen dargestellt werden 2 Der Benut
90. e 341952 RZ OP A9 Ute 08 09 1962 OD SY A11 Ema 13101866 OD _ KA A12 Anton 57198 OD SY JOB JOB ID PR___ Programmierer 15000 00DM OP__ Operateur 3500 00 DM__ QUALIFIKATION ANG ID JOB ID S A1 SY A A A2 li A218 A3 A4 IKA A A6 A7 A8 A1 A1 A1 A2 A2 A3 A4 A5 A6 A7 A8 A9 IN A9 A10 IN A13 IN A14 KA BEE Abb 1 3 17 Tabellen zur relationalen Datenbank 41 Datenbanken 1 3 4 Das netzwerkorientierte Datenbankmodell Das Datenmodell einer netzwerkorientierten DB sieht vor da die gespeicherten Objekte beliebig miteinander verkn pft sein k nnen Durch dieses Datenmodell werden Objekttypen und die vielf ltigen Beziehungen die zwischen Objekttypen bestehen k nnen beschrieben 1 Beziehungen Die Beziehungen zwischen den Objekttypen haben die Form einfacher Netzwerkstrukturen und tragen eine Benennung In einer grafischen Darstellung sind das Pfeile die die in eckigen K stchen dargestellten Objekttypen Entit ts Satztypen verbinden Die Benennung der Beziehungstypen Set Typen nimmt ein Oval Ellipse auf Eine Beziehung z B zwischen den Entit tstypen E bzw E stellt sich dann folgenderma en dar E Abb 1 3 20 Datenbankstrukturdiagramm im Netzwerkmodell Beschreibt man in dieser Form einen umfassenden Bereich z B alle Daten eines Unternehmens so erh lt man einen gerichteten Graph
91. eady to Commit Zustand ein In diesem Zustand garantieren die Subtransaktionen dass das Commit falls vom Koordinator gew nscht garantiert ausgef hrt wird selbst wenn zwischendurch ein Systemabsturz stattfindet und dass aber auch noch ein Abbruch der Gesamttransaktion akzeptiert wird und dann die Subtransaktion zur ckgesetzt wird sog rollback66 Ablauf des 2PC Protokolls Alle beteiligten Transaktionen werden durch eine Prepare to Commit Anweisung des Commit Managers aufgefordert den Ready to Commit Zustand einzunehmen Die Subtransaktionen k nnen wieder verteilte Transaktionen abgesetzt haben zu welchen sie das Prepare to Commit Kommando weiterleiten m ssen So kann ein Transaktions Baum entstehen mit dem Commit Manager als Wurzel Der Manager wartet dann auf die Best tigung aller beteiligten Stationen dass sie den Ready to Commit Zustand eingenommen haben Ist diese Best tigung eingetroffen wird sie in einem sicheren Platz zwischengespeichert damit sich das System auch nach einem Wurzelknotenausfall in den Ready to Commit Zustand zur ckversetzen kann Damit ist die erste Phase des 2PC Protokoll abgeschlossen Ein Commit wird vom Manager an alle Knoten gesendet Haben die Subtransaktionen wiederum Subtransaktionen so muss auch an diese die Commit Aufforderung weitergegeben werden usw Auf diese Weise wird der gesamte Transaktionsbaum durchlaufen Die zweite Phase des 2PC Protokolls ist beendet wenn alle beteiligten
92. ed vergleich_bed between_bed like_bed in_bed exists_bed Datenbanken vergleich_bed l NOT IS NULL ausdruck ausdruck spalten_auswahl between _bed gt ausdruck T T BETWEEN gt ausdruck AND ausdruck gt NOT like_bed gt spalten_name iS LIKE string gt NOT Bei string in like_bed haben _ und eine spezielle Bedeutung steht f r irgendein Symbol steht f r irgendeine Folge von 0 oder mehr Zeichen 80 Datenbanken is_bed NOT gt ausdruck IN spalten_auswahl konstante ausdruck exists_bed AT EXISTS gt spalten_auswaHl gt NOT string zeichen 8 Datenbanken spalten_auswahl ALL gt SELECT ausdruck DISTINCT alias_bez FROM tabellen_name view name WHERE bedingung gt GROUP BY spalten_name HAVING bedingung union_query select_Kommando 7 select_Kommando UNION ALL LY yfe kommando UNION ALL Abb 1 4 2 Syntaxdiagramme zum SQL Kommando 82 Datenbanken Die Basis der select Anweisung Jeder soL Befehl bzw jede soL Anweisung beginnt mit einem Befehlswort das die auszuf hrende Operation bezeichnet z B select Zu vielen SQL Befehlen geh ren eine oder mehrere Klauseln mit denen der Befehl f r eine spezielle Anforderung angepa t wird Jeder SQL Befehl mu zwei Bedingungen erf llen 1 B
93. egende Zerlegungsproze zeigt eine geeignete Auswahl von Spalten der Ausgangstabelle Normalisieren hei t demnach auch Zerlegen von Relationenschemata in kleinere bersichtlichere Tabellen Es sind nur sinnvolle Zerlegungen Kriterium funktionale Abh ngigkeiten zugelassen d h Die Ausgangsrelation mu sich ohne Informationsverlust durch Zusammenf gen von Teilrelationen der Zerlegung rekonstruieren lassen Verbundtreue Zerlegungen sind nur dann sinnvoll wenn sie verlustfrei sind Beim Zusammensetzen der Teilrelationen m ssen wieder genau die Tupel der Ausgangsrelation erzeugt werden Es sollen aber m glichst wenige Tabellen erzeugt werden die den Forderungen gen gen Minimalit t Eine Menge funktionaler Abh ngigkeiten beschreibt die Integrit tsbedingungen ber dem Relationenschema Sie wird bei der Zerlegung des Relationenschemas mit folgender Einschr nkung auf die Schemata der Tabellen vererbt ber einem Teilschema d rfen nur Abh ngigkeiten definiert sein deren Attribute vollst ndig im Teilschema enthalten sind Zum anderen sollte die Menge der Abh ngigkeiten die ber dem Schema g ltig sind zusammengenommen quivalent zu der Menge ber dem Ausgangsschema sein abh ngigkeitsbewahrende Zerlegung Ein anderer Vorteil der Zerlegung gr erer Tabellen in kleinere Tabellen ist die leichtere Definition von Sichten Views Ein View ist eine Relation die nicht explizit in der Datenbank gespeichert ist sondern
94. ehungsmenge bzw zu einem Be ziehungstyp zusammengefa t werden 4 Klassifizierung von Beziehungen Es k nnen identifizierende oder beschreibende Attribute unterschieden werden Ist E bzw E die Menge der identifizierenden Attributwerte und W die Menge der be schreibenden Attributwerte dann existieren folgende Abbildungsm glichkeiten 1 Beziehungen zwischen identifizierenden und beschreibenden Attributwerten E gt W 2 Beziehungen zwischen identifizierenden Attributwerten verschiedener Enti t tsmengen E gt E Bsp Produktionsdaten eines Unternehmens 6 Lieferanten Nr Teile Nr Ein Vorkommen des Lieferanten L1 identifiziert bspw eine bestimmte Anzahl 0 inbegriffen von Teilen T1 T2 T3 Ein Vorkommen T2 identifiziert bspw eine bestimmte Anzahl von Lieferanten L1 L3 3 Beziehungen zwischen identifizierenden Attributwerten der gleichen Menge E gt E 24 Datenbanken Bsp Produktionsdaten eines Unternehmens 3 Unterstellungsverh ltnis Es zeigt welche Angestellte Vorgesetzte bzw Untergebene sind 4 St ckliste Sie zeigt welche Unterteile Komponenten montiert werden um ein Oberteil zu erhalten 4 Verwendungsnachweis Er zeigt in welche Oberteile Baugruppen eine Komponente eingeht H ufig ist die Einteilung komplexer Strukturen E gt E E E abh ngig von der Abgrenzung der Entit tsmengen z B a Die Beziehung Pers Nr des Ehemanns zur Pers Nr der Ehefrau ist von der At E
95. eile bezieht nicht auf ein einziges Feld SQL Aggregat Funktionen sind COUNT liefert die Anzahl der ausgew hlten Zeilen SUM liefert die Summe der Werte in einem numerischen Feld MIN liefert den kleinsten Wert einer Zeichen Datums oder einer numerischen Spalte MAX liefert den gr ten Wert einer Zeichen Datums oder einer numerischen Spalte 88 Datenbanken AVG liefert den Mittelwert Durchschnitt der Werte eines numerischen Feldes Spalte Aggregat Funktionen k nnen auch mit der WHERE Klausel kombiniert werden z B 1 Stelle eine Liste von Angestellten zusammen die am meisten verdienen SELECT ANGESTELLTE ANG_ID ANGESTELLTE NAME FROM ANGESTELLTE JOB WHERE ANGESTELLTE JOB_ID JOB JOB_ID AND JOB GEHALT SELECT MAX JOB GEHALT FROM JOB 2 Welcher Angestellte hat ein monatliches Einkommen das ber dem Durchschnittseinkommen liegt ELECT A ANG_ID A NAME ROM ANGESTELLTE A JOB J HERE A JOB_ID J JOB_ID AND GEHALT gt SELECT AVG JOB GEHALT FROM JOB qag vu Aggregat Funktionen k nnen mit der GROUP BY Klausel auf disjunkte Teilmengen einer Tupelmenge bezogen werden z B 1 Wieviel Angestellte sind in der Abteilung OD beschaeftigt SELECT ABTEILUNG ABT_ID ABTEILUNG BEZEICHNUNG COUNT ANGESTELLTE ANG_ID FROM ABTEILU
96. eit die durch die Daten modelliert werden hei en Entit ten entities Dies k nnen beliebige Objekte sein z B reale Gegenst nde gedankliche Einheiten Vorg nge 6 Es gibt zwei Arten von Relationen 1 Entit ts Relationen Entit tsmengen Sie beschreiben die Eigenschaft einer Klasse von Entit ten d h eines Entit tstyps 2 Relationship Relationen Beziehungsmengen Sie verkn pfen 2 oder mehr Entit ten und beschreiben diese Verkn pfung mit Attributen die nur dieser Beziehung zugeordnet werden k nnen Es gibt zahreiche Varianten des Entity Relationship Modells 7 All diese Modelle dienen in erster Linie theoretischen berlegungen oder der Strukturierung von Da tensammlungen konzeptioneller Entwurf um Verkn pfungen deutlich zu machen und danach Dateien in einem der blichen Datenbanksysteme sinnvoll definieren und einrichten zu k nnen Mit Entit ts und Beziehungsmengen l t sich jeder Ausschnitt der realen Welt Miniwelt beliebig detailliert beschreiben Eine Beziehung kann dabei auch aus mehr als zwei Entit tsmengen bestehen Bsp Die Beziehung Hoert zwischen Student Vorlesung und Professor ist eine dreistellige Beziehung Das Entity Relationship Modell stellt den Rahmen f r die Angabe derartiger mehr stelliger Beziehungen bereit konzeptioneller Entwurf Nat rlich kennt das Entity Relationship Modell auch die in der realen Welt h ufig vorkommenden bin ren Relationen z B 1 Die
97. elation C1 x C2 x x Cn In vielen Situationen ist es wichtig anzugeben wie viele Objekte in der Instanz einer Assoziation miteinander zusammenh nen k nnen Die Frage Wie viele bezeichnet man als Multiplizit t der Rolle einer Assoziation Gibt man an einem Ende der Assoziation eine Multiplizit t an dann spezifiziert man dadurch F r jedes Objekt am entgegengesetzten Ende der Assoziation mu die angegebene Anzahl von Objekten vorhanden sein 1 1 1 1 1 n 0 2 6 0 n 2 6 nn 0 5 0 n 0 n 17 4 17 4 n m Abb Kardinalit ten f r Beziehungen Jede Assoziation kann eine Richtung besitzen Diese bestimmt ein Pfeil am Ende der Assoziation Zugriffe k nnen dann nur in Pfeilrichtung Navigationsf higkeit erfolgen Eine Aggregation wird durch eine Raute dargestellt z B zwischen Kartenleser und Geldautomat Sie gibt an Die Klasse Kartenleser ist in der Klasse Geldautomat enthalten Ist Teil von Beziehung 40 Eine Navigation mit Pfeil kann als Zeiger in einer Programmiersprache betrachtet werden 41 vgl Abb Klassendiagramm automatische Geldausgabe 65 Datenbanken Die Komposition wird durch eine ausgef llte Raute dargestellt und beschreibt ein physikalisches Enthaltensein Die Vererbung Spezialisierung bzw Generalisierung stellt eine Verallgemeinerung von Eigenschaften dar Eine Generalisierung generalization ist eine Beziehung zwischen dem Allgemeine
98. en Seine Knoten sind Entit tstypen Seine Kanten sind Beziehungen zwischen den Entit tstypen da alle m glichen Beziehungen zugelassen sind erh lt man ein Netzwerk plex structure 2 Definition des Set Typ Jede Entit t e vom Typ E steht h chstens mit einer Entit t e vom Typ E in Bezie hung Zu jeder Entit t e vom Typ E geh rt ein Set vom Set Typ B Neben e geh ren dazu alle Entit ten e4 e ek vom TypE Ein Set Typ bestimmt eine 1 n Beziehung Die Auspr gungen eines speziellen Set Typs beschreibt man mit Hilfe eines Occurrence Diagramms Nichtleerer Set 42 Datenbanken Owner Earl Member Abb 1 3 21 Occurrence Diagramm im Netzwerkmodell Leerer Set Der Owner besitzt keine Member 3 Die Datenbank des Netzwerk Datenmodell Es gibt eine Menge von benannten Entit ts Typen und eine Menge von benannten Set Typen Jede Entit t der Datenbank geh rt genau zu einem Entit ts Typ jede konkrete Beziehung zwischen Entit ten zu genau einem Set Typ Den Set Typen sind keine Attribute zugeordnet Die Member jedes Set sind gem einer dem Set Typ zugeordneten Ordnung geordnet Eine Teilmenge von Entit ts Typen ist ausgezeichnet F r sie gilt Zu jeder Entit t e der Datenbank gibt es mindestens einen gerichteten Weg 0 1 2 x1 amp k dessen Ausgangspunkt eu von einem Typ Eo ist Entit ten von einem Typ Eo hei en Einstiegpunkte in das Netzwer
99. en vererben Die Eigenschaften k nnen Zustand und oder das Verhalten beschreiben 5 Einkapselung Zustand und Methoden sind f r den Anwender gekapselt d h f r ihn unsichtbar information hiding Er kann nicht zu den Daten direkt zugreifen sondern nur ber die vorhandenen Methoden Die Methoden sind ihm ber Schnittstellen bekannt ber die er mit geeigneten Nachrichten die Methoden zum Arbeiten veranlassen kann 6 Berechnungsvollst ndigkeit Zur Realisierung der Methoden mu eine Sprache zur Verf gung stehen die die Formulierung beliebiger Algorithmen gestattet Die Datenbanksprache SQL in aktuell vorliegender Form gen gt diesen Anforderungen nicht 7 berladen berschreinen und sp tes Binden 59 Datenbanken Dabei handelt es sich um Detaikonzepte die die vorteile der Klassenhierarchie und Vererbung zur Geltung bringen berladen wird durch die gleiche Namensvergabe f r verschiedene Operatoren erzwungen berschreiben ist eine Methode die sowohl in der bergeordneten Klasse als auch in der untergeordneten Klasse definiert ist F r die Instanzen der untergeordneten Klasse ist die Methode der untergeordneten Klasse ma gebend Sp tes Binden bedeutet Das Binden eines Operatornamens an den zugeh rigen ausf hrbaren Programmcode erfolgt dynamisch erst zur Laufzeit Standard f r objektorientierte Datenbanken ODMG 93 Die Mitgliederfirmen der ODMG Object Database Management Group haben einen Stand
100. en Gegebenheiten Anforderungen Anwendung und Betriebssystem angepa t werden g ngige Werte 2 4 und 8Kbytes Blockadresse Satzadresse Pers Nr Kostenstelle Gehalt 1 1 100 2 106 3 110 4 111 2 5 117 6 120 7 121 8 124 3 9 130 10 133 lio O l2 ER Ist die DB einmal angelegt dann ist die Blockgr sse eine nicht mehr nderbare Gr e f r die Datenbank F r Dateien die Daten der Datenbank enthalten gilt 15 Datenbanken demnach Ihre Gr e entspricht immer einem Vielfachen der Datenbank Blockgr e Datenbank Bl cke stellen die kleinste Verwaltungseinheit f r den Speicher dar Ein Datenbank Block besteht immer aus einem Kopf und dem Inhalt z B den Daten s tzen einer Datei bzw Tabelle S tze Records PAGE CONTROL INFO PAGE INDICES Freier Platz Abb 1 2 5 Aufbau eines Datenbank Blocks Die logischen Strukturen der Datenbank z B Tabellen und Indexe werden in Dateien als Datenbank Segment abgebildet Jedes einzelne Segment besteht aus einer Anzahl von Bl cken Seiten Pages In jedem Bereich sind die Bl cke fortlaufend numeriert auch die Bereiche sind bekannt Alle Datens tze der Datenbank k nnen ermittelt werden falls die Blocknummer des Blocks in dem die Daten gespeichert sind und das Segment in dem sich der Block befindet bekannt sind physikalischer Databasekey Segment Typen werden in drei Gruppen unt
101. en Transaktionen muss sich ein Programm also genauso verhalten wie im Einbenutzerbetrieb Unter Dauerhaftigkeit versteht man dass von einer erfolgreich abgeschlossenen Transaktion vorgenommenen nderungen auch tats chlich in der Datenbank wirksam werden und nicht mehr z B in Folge eines Systemzusammenbruchs einfach verloren gehen k nnen Das Zustandsdiagramm einer Transaktion Jeder im Mehrbenutzerbetrieb arbeitende Transaktion kann genau ein Zustand zugeordnet werden in dem sie sich gerade befindet Start BOT delay recover sleeping reject Stop EOT an gt Abb 1 5 3 Zustandsdiagramm einer L Aktionen logische Verarbeitungseinheiten einer Transaktion sind durch BOT Begin of Transaction bzw EOT End of Transaction begrenzt Nach dem Start befindet sich eine Transaktion im Zustand running Hier wird ihr das Betriebsmittel Datenbank f r eine bestimmte Zeit zur Verf gung gestellt Ist der Auftrag danach abgewickelt dann geht sie in den Zustand committed ber falls die EOT Marke erreicht ist Ist der Auftrag nicht vollst ndig abgewickelt dann geht die Transaktion in den Zustand sleeping ber Die Bearbeitung wird zu einem sp teren Zeitpunkt fortgesetzt Kommt es w hrend der Bearbeitung der Transaktion zu Konsistenzverletzungen dann wird die Transaktion zur ckgewiesen und geht in den Zustand aborted ber In diesem Fall wird zu einem sp teren Zeitpunkt vollst ndig neu gestartet alle nderunge
102. en die im Netzwerk verf gbar sind gen gen e Replication transparency Es ist unbekannt wie viele Kopien einer Ressource existieren e Distributed time transparency Keine Zeitunterschiede zwischen Servern e Failure tranparency Das NOS soll uns von Netzwerk Fehlern abschirmen Kommunikation Client Server Applikationen sind ber verschiedene Adressr ume physikalische Maschinen Netzwerke und OS verteilt Wie verl uft die Kommunikation 70 Vernetzungskonzept von IBM System Network Architecture 71 Transmission Control Protocol Internet Protocol 72 Weitverkehrsnetz das etwa 4000 Netze mit ber 6000 Rechnern verbindet 111 Datenbanken Alle NOS bieten ein peer to peer Interface welches eine Kommunikation der Applikationen untereinander erm glicht und sehr nah an der physikalischen Verbindung angesiedelt ist Die meisten NOS bieten auch eine Form des Remote Procedure Call RPC der die physikalische Verbindung versteckt und den Server nur einen Funktionsaufruf entfernt erscheinen l sst Eine Alternative zu RPC bietet Message Oriented Middleware MOM die Messages zur Abarbeitung in eine Warteschlange stellt 1 Peer to peer Kommunikation Das Protokoll ist symmetrisch jede Seite kann die Kommunikation initiieren Es maskiert nicht vollkommen die unterliegende physikalische Schicht Das hei t dass der Programmierer z B bertragungstimeouts und Netzwerkfehler selbst abfangen muss F r eine einfache peer
103. enbankaufbaus der Be schreibung des Zugriffs f r ein bestimmtes Programm und der Beschreibung der Segmente mit den Datenfeldern Als Segment bezeichnet man die kleinste Zugriffseinheit das ist die kleinste Menge an Daten die durch DL 1 Operationen transportiert werden kann DL 1 ist die Sprache DDL DML von IMS Zur Beschreibung des hierarchischen Aufbaus einer physischen Datenbank dient die Data Base Description DBD Eine physische Datenbank ist die tats chlich gespeicherte Datenbank im Gegensatz zum Datenbankausschnitt program communication block PCB der dem Benutzer zur Verf gung gestellt wird Die Beschreibung des speziellen Datenbank Zugriffs f r ein Programm erfolgt im program specification block PSP Felder und Struktur eines Segments werden im Programm selbst beschrieben sie entsprechen den Konventionen der jeweiligen Wirtsprache 75 Datenbanken 1 4 3 System R und SQL 1 4 3 1 System R Hierbei handelt es sich um den Prototyp relationaler Datenbanken Die Entwicklung erfolgte in den Forschungslabors der IBM Aktuell davon ist vor allem der Sprachentwurf SEQUEL SQL bzw die zweidimensionale Zugriffssprache Query by Example BE Die beiden Sprachen sind grundlegend f r den Sprachentwurf in relationalen Datenbanken 1 4 3 2 Standard SQL Structured Query Language Im Februar 1987 wurde SQL zum offiziellen Standard des American National Standard Institute ANSI Im M rz 1987 wurde SQL die
104. endung oder auf einem anderen Rechner im Netzwerk Client Server Anwendung Eine wichtige Aufgabe des Client ist die Identifikation der Anwendung die ausschlie lich ber das User Programmatic Interface UPI an den Datenbankkern auf den Server gesandt wird 119 Datenbanken Client Anwendung Oracle Server User Programmatic Interface Oracle Programmatic Interface OPI SQL Net SQL Net Transport Network Substrate TNS Transport Network Substrate TNS Protokoll Adapter PA Protokoll Adapter PA Netzwerkspezifischer Netzwerkspezifischer Protokoll Stack Protokoll Stack z B TCP IP z B TCP IP Abb 1 5 9 Die Komponenten bei einer Client Server Verbindung UPI ist eine Schicht der Client Anwendung mit einem Satz von Funktionen ber die ein SQL Dialog zwischen Client und Server durchgef hrt werden kann Die Kontrolle wird dann an SQL Net weitergegeben das f r den Transport der Daten zust ndig ist In Client Server Verbindungen sorgt SQL Net f r die Verbindung zwischen Client und Server SQL Net ist die Middleware von Oracle Auf der Client Seite besteht SQL Net im wesentlichen aus einigen Bibliotheken und Konfigurationsdateien Auf der Server seite gibt es zus tzlich einen Listener Proze der auf Verbindungen wartet und entsprechende Verbindingen aufbaut Das Interface der Anwendungen und des Oracle7Server zu SQL Nert ist protokollunabh ngig SQL Net ist schichtenweise strukturiert Die unterste Schicht bilde
105. ens tzen kann durch eine Selektion spezifiziert werden DELETE FROM lt Tabellen Name gt WHERE lt Bedingung gt Weitere Klauseln des SELECT Befehls sind in der DELETE Anweisung nicht sinnvoll und daher auch nicht zugelassen Ohne WHERE Klausel wird der Inhalt det Tabelle gel scht z B DELETE FROM ANGESTELLTE 7 Zusammenfassung ALTER TABLE lt TABLE NAME gt ADD DROP MODIFY lt Spalten Spezifikationen gt gt 0 COMMIT Macht alle Ver nderungen seit der letzten Transaktion permanent und schlie t die aktuelle Transaktion ab Die mit INSERT DELETE und UPDATE gesetzten nderungen werden nicht sofort der Datenbank bergeben Der Benutzer sieht zwar eine konsistente Sicht seiner nderungen andere Benutzer sehen diese nderungen aber noch nicht Erst wenn der Befehl COMMIT gegeben wird gehen die gesammelten nderungen in die Datenbank ein und werden ffentlich CREATE UNIOUE NDEX lt Indextabellen Name gt ON lt TABLE NAME gt lt SPALTEN LISTE gt 50 Vgl CREATE Befehl 94 Datenbanken CREATE TABLE lt Tabellen Name gt lt Spalten Name gt lt Datentyp gt lt Gr enangabe gt lt Spaltenbedingung gt lt weitere Spalten gt CREATE TABLE lt Tabellen Name gt Spaltendefinitionl Spalten definitionN gt AS lt select
106. ent zur bertragung von Informationen aus dem World Wide Web WWW HTTP ist ein objektorientiertes Protokoll zur einfachen bertragung von Hypertext Dokumenten zwischen Client und Server Client Programme die HTTP benutzen werden in der Regel als Web Browser Server Programme als Web Server bezeichnet Der Browser schickt an den Server die Aufforderung eine bestimmte HTML Seite zu bertragen Falls er in dieser Seite weitere Verweise z B auf Bilder entdeckt schickt er weitere bertragungsw nsche hinterher Das Besorgen der gew nschten Dokumente erfolgt ber ein einheitliches Adre schema dem Uniform Resource Locator URL durch den Internet Standort und die Art der zu bertragenden Information identifiziert werden Der URL besteht im wesentlichen aus zwei Teilen Er wird mit der Bezeichnung des bettragungsprotokolls eingeleitet z B nEER Danach folgt mit zwei vorangestellten der Name des Internet Rechners auf dem die gew nschte Information gespeichert ist Wird eine bestimmte Datei in einem bestimmten Verzeichnis referenziert dann werden noch Verzeichnisname und Dateiname angef gt 126 Datenbanken Client Client WWW Server Proxy86 Browser WWW Server Browser Betriebessystem Betriebssystem Betriebssystem Betriebssystem LAN gt WAN z B Modem i gt LAN der Zentrale
107. enten Bsp Produktionsdaten eines Unternehmens Informationen werden gew nscht ber die gegenw rtig vorhandenen Projekte die Bauteile Teile die zur Durchf hrung dieser Projekte ben tigt werden die Lieferanten die die Bauteile bereitstellen die Angestellten die an diesen Projekten mitarbeiten Projekte Lieferanten Bauteile Angestellte sind die elementaren Einheiten ber die Daten in der Datenbank gespeichert sind Das ergibt folgenden Schemaentwurf Lieferanten Projekte ne Lager Teile Angestellte u O 2 7 Niederlassung Abteilung Abb 1 3 1 Schema f r die Produktionsdaten eines Unternehmens 22 Datenbanken Die Beschreibung eines Bereichs der realen Welt ist nur durch Abstraktion vieler konkreter Gegebenheiten und geeignete Modellbildung m glich Modellbildung in einem Datenbanksystem bedeutet Gewisse Dinge Objekte der realen Welt werden herausgestellt da sie zur Probleml sung ben tigt werden Zwischen den Objekten existieren Beziehungen Anstatt des Begiffs Objekt benutzt man hier auch h ufig den Begriff Entit t entity 2 Was ist eine Entit t Eine Entit t ist ein individuelles oder identifizierbares Exemplar von Dingen Personen oder Begriffen der realen Welt Eine Entit t kann demnach sein ein Individuum z B ein Student ein Dozent ein Mitarbeiter ein Einwohn
108. entweder im User Interface des Clients oder in der Datenbank des Servers Beispiele f r 2 Tier Client Server Architekturen sind File Server und Datenbank Server mit gespeicherten Prozessen Resource Manager GUI amp Application z B DBMS File YO Tier 1 Bei 3 Tier Systemen befindet sich die Applikationslogik in der Mittelschicht getrennt von den Daten oder dem User Interface Sie kann somit getrennt vom GUI und der Datenbank gewartet und entwickelt werden Beispiele f r 3 Tier Client Server Architekturen sind TP Monitore Object Transaction Monitore Web Application Server Browser Beans Application Resource Manager ActiveX Services z B DBMS RPC ORB SQL Data Access Tier 1 Tier 2 Tier 3 80 X Window Ans tze realisieren die Window Manager OSF Motif Open Look 122 Datenbanken Vergleich von 2 und 3 Tier Architektur Der gr te Vorteil der 2 Tier Architektur ist dass Client Server Applikationen sehr einfach und schnell erstellt werden k nnen z B mittels visuellen Programmiertoo
109. er ein reales Objekt z B eine Maschine ein Geb ude ein Produkt ein abstraktes Konzept z B eine F higkeit eine Vorlesung eine Beziehung Wird ein Individuum ein reales Objekt ein abstraktes Konzept ein Ereignis oder eine Beziehung als Entit t deklariert so wird damit ausgedr ckt Sachverhalte die den als Entit t deklarierten Begriff betreffen sollen speicherbar sein sobald ein eindeutig identifizierendes Merkmal bekannt ist Entit ten k nnen in verschiedenen Entit tstypen klassifiziert werden z B Studenten Vorlesungen Angestellte Eine Entit t wird durch ihre Attribute beschrieben Einer Entit t werden also Merkmale Eigenschaften zugeordnet die zu seiner Beschreibung wichtig sind Bsp Die Produktionsdaten eines Unternehmens Zur Beschreibung des Entit tstyp Angestellte ist notwendig NAME BERUFSBEZEICHNUNG Zur Beschreibung des Entit tstyp TEILE kann herangezogen werden BEZEICHNUNG FARBE KOSTEN GEWICHT BEZEICHNUNG FARBE GEWICHT sind Eigenschaftsnamen Attribut Namen Jedes Attribut kann Werte aus einem bestimmten Wertebereich Dom ne annehmen Eine Dom ne stellt die Menge aller m glichen Werte f r eine spezifische Eigenschaft bereit z B NAME ALTER GEWICHT BEURTEILUNGSKRITERIUM STUDIENFACH Karl 20 66 gut Mathematik Fritz 25 75 mittel Chemie Juergen 27 68 schlecht Informatik Josef 24 87 Physik Darstellung von Entit ten 7 vgl Vetter M
110. er geschachtelter Tabellen Aus dem vorliegenden hierarchischen Schema werden 2 Relationen RECH KOPF RECH NR KUNDEN NR DATUM NAME ADRESSE SUMME RECH RUMPF RECH NR ARTIKEL NR BEZ PREIS MENGE BETRAG Das Schema f r die relationale Datenbank zeigt die gew nschte Unabh ngigkeit Eine Rumpfzeile kann angesprochen werden ohne zum Kopf zugreifen zu m ssen Voraussetzung daf r ist Es existiert ein Prim rschl ssel im Rechnungskopf RECH NR 1 3 7 Das Datenbankmodell f r objektorientierte Datenbanken Grundlagen Ein objektorientiertes Datenbanksystem ist auch nichts Anderes als ein Datenbanksystem mit den blichen Leistungen Datenintegration Daten unabh ngigkeit Unterst tzung vom Mehrbenutzerbetrieb Gew hrleistung der Datensicherheit Datenschutz Datenkonsistenz Verarbeitungsintegrit t Allerdings st tzt sich ein derartiges Datenbanksystem auf ein eigenes Datenbankmodell objektorientiert OODM ab und darin liegt die Problematik Eine einheitliche allgemeing ltige Definition f r ein OODM gibt es noch nicht Ausgangspunkt ist das Ziel Umweltsachverhalte beliebiger Art und Komplexit t m glichst genau 1 1 Abbildung beim Datenbankentwurf wiederzugeben Ein Umwelt Objekt soll einem Datenbankobjekt entsprechen Auch komplex aufgebaute Objekte sollen modelliert werden k nnen denn Objekte k nnen Bestandteile besitzen die wiederum in Unterobjekten beschrieben werden k nnen Im Schema werden wie blich Objekttypen
111. ert und neu bersetz werden Packages k nnen weitere Packages enthalten Implementierungsdiagramm Implementierungsdiagramme zeigen Aspekte der Implementierung Diese umfassen die Codestruktur und die Struktur des Systems zur Ausf hrungszeit Es gibt zwei Formen 70 Datenbanken Komponentendiagramm Einsatzdiagramm Deploymentdiagramm 1 Komponentendiagramm Das Komponentendiagramm zeigt die Abh ngigkeit unter den Softwarekomponenten d h die Abh ngigkeiten zwischen Quellcode Bin rcodekomponenten und ausf hrbaren Programmen Einige dieser Komponenten existieren nur w hrend des bersetzungsvorgangs einige nur w hrend des Linkens andere zur Ausf hrungszeit und wieder andere die ganze Zeit ber Im Komponentendiagramm haben die Darstellungen Typencharakter Applikation u 10 a rn een Abb Beipiel f r ein Komponentendiagramm Die Komponenten werden als drei ineinander verschachtelte Rechtecke gezeichnet ihre Schnittstellen sind Kreise am Ende Das Diagramm enth lt ferner Abh ngigkeiten in Form von gestrichelten Pfeilen 2 Einsatzdiagramm Ein Einsatzdiagramm deployment diagram zeigt die Konfiguration der im Proze befindlichen Knoten zur Laufzeit sowie der auf ihnen existierenden Komponenten Knoten Quader stellen eine Hardware oder Verarbeitungseinheit dar Unter den Konten existieren Verbindungen Dabei handelt es sich um die physikalischen Kommunikationspfade die als Linien gezeich
112. erteilt 1 Segment Typen die intern ben tigt werden 2 Segment Typen die Benutzer Daten Dateien Tabellen aufnehmen 3 B Indexe die zum schnellen Auffinden der Daten oder Sortierfunktionen genutzt werden Zur Speicherung und Verwaltung der Indexe werden B Ba me verwandt Index Set equence Set Abb 1 2 6 Aufbau eines B Baums Die Knoten eines B Baums lassen sich in den sog Sequence Set Bereich der B tter der Schl ssel mit den Adressen der zugeh rigen Datenbl cke in sortierter Reihenfolge enth lt und den Index Set aufteilen der den schnellen gezielten Zugriff auf die Bl cke des Sequence Set erm glichen soll Ein typischer Zugriff auf einen B Baum beginnt bei der Wurzel und arbeitet sich ber die Zeiger des Index Set an die betreffenden Knoten des Sequence Set heran Dort werden die dem gesuchten Schl sselwert entsprechenden Satzadressen gelesen Databasekeys und der Zugriff auf die Bl cke der zugeordneten Tabellen Dateien durchgef hrt 16 Datenbanken 1 2 3 4 Grundfunktionen der Datenbanksoftware Betriebssysteme bieten nur Zugriffsmethoden zu einfachen Dateien an Zur Datenbank geh rt demnach Verwaltungssoftware mit den Aufgaben Verwaltung der Speicherstruktur Entfernen bzw Einordnen der gew nschten Daten Man spricht von einem Datenbankverwaltungs Programm oder Data Base Management System DBMS Die Nutzung eines DBMS kann auf 2 Arten erfolgen 1 Die Nutzung des DBMS findet
113. erver Modell Bei der entfernten Repr sentation z B Common Gateway Interface CGT findet die Verarbeitung Server seitig statt auf dem Client werden nur Repr sentationsaufgaben ausgef hrt 87 Vgl Client Server Architekturen 128 Datenbanken Bei der verteilten Datenverwaltung werden die Aufgaben zwischen Client und Server aufgeteilt Beispiele sind Entwicklungsumgebungen die sowohl auf lokale als auch entfernte Datenbanken zugreifen k nnen Die verteilte Datenverwaltung geht tief in Theorie und Konzept verteilter Datenbanken ein Bei der kooperativen Verarbeitung findet die Datenhaltung Server seitig statt Repr sentationsaufgaben werden vom Client wahrgenommen und die Applikations Funktionsschicht wird zwischen Server und Client aufgeteilt Bei der entfernten Verarbeitung wird die Datenhaltung vom Server wahrgenommen Die Verarbeitung findet Client lastig statt d h der Client bernimmt die Anwendungs und Repr sentationsaufgaben Die Anwendungslogik kann somit vollkommen auf der Seite vom Browser d h vom Client ausgef hrt werden Ein solches Programm das innerhalb vom Browser ausgef hrt wird ist ein Applet Eine besondere Rolle spielt hier die Programmiersprache Java In Java geschriebene Programme k nnen in einen maschinenunabh ngigen Zwischencode bersetzt und Server seitig abgelegt werden Wenn eine HTML Seite auf ein Java Programm ein sog Applet verweist dann wird es zum Client bertragen und
114. es sich um ein passives DD In beiden F llen ist dann die Architektur einer Datenbank um das Datenw rterbuch DD organisiert 6 vgl 1 2 4 6 20 Dantenbank Verwalter Internes Schema Datenbanken Verwalter der bergeordneten Einheit Konzeptuelles Schema Datenw rterbuch data dictionary Anwendungs Verwalter Externes Schema Umformen zur internen Speicherung Umformen zur internen Verarb des konz Schemas Ein Ausgabe Sytem Abb 1 2 9 Organisation einer DB Architektur um das DD 21 Umformer zur externen Repr sentation Anwendung Datenbanken 1 3 Datenbankmodelle f r formatierte Datenbanken DB Sie werden danach eingeteilt wie die elementaren logischen Einheiten der Datenbank die Datens tze zu Datenstrukturen Baum einfaches Netz Tabelle zusammengefa t sind 1 3 1 Beschreibung der Daten in formatierten Datenbanken 1 3 1 1 Entit tsmengen und ihre Beziehungen 1 Grundlagen Durch eine Datenbankanwendung sind die unterschiedlichen Aufgaben eines Be reichs zu koordinieren Ein derartiger Bereich ist eine umfassende Verwaltungs einheit z B ein Industrieunternehmen mit Produktionsdaten eine Bank mit Daten diverser Konten ein Krankenhaus mit Daten ber Patienten eine Hochschule mit Daten ber Studenten Doz
115. espeichert sind Der jeweilige Anwender braucht davon nur einen Teil ein vom Schema abgeleitetes Subschema Sicht view Bsp 1 Anwendungsprogrammierer A hat die Aufgabe Maschinelle Abwicklung des Bestellwesens A braucht dazu Sicht Bestell Nr Lieferant Nr Lieferant Liefertermin Bestell Preis Name datum Bestellmenge Abb 1 3 33 Sicht des Anwendungsprogrammierers A 2 Anwendungsprogrammierer B ist f r die maschinelle Abwicklung der Nachbestellungen aus dem Lagerwesen zust ndig 52 Datenbanken B braucht dazu die Sicht Bestell Nr Lieferant Name Bestellmenge Bestelldatum Abb 1 3 34 Sicht des Anwendungsprogrammiereres B Das konzeptuelle Schema soll eine vollst ndige redundanzfreie und neutrale Darstellung der logischen Datenstrukturen gew hrleisten Bei vollst ndiger Daten neutralit t ist es m glich durch unterschiedliche Benutzersichten Netze Hierarchien Relationen das Basisschema zu betrachten Eine Sicht wird dabei mit Hilfe einer Datenmanipulationssprache aus der Basis erzeugt Auf der anderen Seite soll eine Reihe von Abbildungen verschiedene Interne Schemata zur Beschreibung der physischen Strukturen erzeugen Sie enthalten mit ihren Katalogen die Details zu Zugriffspfaden und zur physischen Speicherung Eine allgemeine Beschreibung der Schnittstellen enth lt der ANSVSPARC Architekturvorschlag gt Datenneutralit t 0 Datenunabh ngigkeit Schema Bi Transformation
116. ezeichnen der gew nschten Daten eine Menge von Zeilen in einer oder mehreren Tabellen 2 Bestimmen was mit den Daten geschehen soll Die Anweisung select from where gibt dem Benutzer immer eine Resultatstabelle zur ck Tabellen werden ber die sogenannte leere Bedingung aufgelistet z B die Tabelle angestellte SELECT FROM ANGESTELLTE 8 Man kann sich auch bei der Auswahl der Ausgabespalten auf bestimmte Felder beschr nken SELECT ANG_ID NAME GEBDAT FROM ANGESTELLTE Die ausgew hlten Datens tze k nnen ber die zus tzliche optionale ORDER BY Klausel in eine sortierte Reihenfolge gebracht werden ELECT kag ROM ANGESTELLTE ORDER BY NAME H N Die Sortierreihenfolge kann auf Asc oder absteigend DESC sein Auch sekund re bzw terti re Sortierkriterien k nnen gebildet werden ELECT ROM ANGESTELLTE ORDER BY ANG_ID ASC ABT_ID DESC HN Wiederholungen von Tabellenspalten Werten in der Ausgabe werden durch Angabe von DISTINCT vor dem Feldnamen ausgeschlossen Eine andere konkrete Anfrage an die vorliegende Tabelle k nnte sein SELECT FROM ANGESTELLTE WHERE NAME Fritz SQL kennt 6 relationale Operatoren zur Angabe von Bedingungen lt gt oder lt gt lt gt Bsp Wel
117. f Jeder Datensatz jedes Tupel beschreibt i a ein bestimmtes Objekt der Anwen dung ein Konto ein Lagerbestand Die Menge der ber ein Objekt gespeicherten Daten ist i a klein wenige 100 Bytes Daten k nnen mit hoher Frequenz eingef gt modifiziert und gel scht werden Es sind i a viele Benutzer gleichzeitig auf derselben Datenbank aktiv Die Daten m sen gegen Bedienungsfehler Systemausf lle Datentr gerverluste u a wirksam gesch tzt werden und automatisch wiederherstellbar sein Expertensysteme wurden bzw werden f r Anwendungen konzipiert die sich etwa durch folgende Punkte beschreiben lassen ber einen bestimmten Wirklichkeitsausschnitt liegen eine Reihe feststehender Fakten und Regeln vor sowie Gesetzm ssigkeiten Konventionen Erfahrungen Das System soll dem Benutzer bei allgemeinen Probleml sungsaufgaben in der Anwendungsumgebung unterst tzen d h berpr fen von Entscheidungs prozessen Nachweis der G ltigkeit von Fakten Untersuchen der Korrektheit von Aussagen Die hierzu ben tigten Operationen sind Auffinden einschl giger Regeln f r eine zutreffende Entscheidung Ableitung neuer Fakten und Regeln Bewertung von Entscheidungsvarianten Dem Benutzer mu eine Schnittstelle angeboten werden an der in m glichst einheitlicher Weise die Struktur der momentanen Fakten und Regeln dargestellt und ver ndert werden kann Neben diesen anwendungsspezifischen Eigenschaften machen die meisten der heu
118. f r eine priorit tsgesteuerte Bearbeitung mit Priorit ten versehen werden 113 Datenbanken Queue Client G ngige MOM Produkte bieten ein einfaches API f r viele verschiedene OS Plattformen Au erdem bieten sie persistente und nicht persistente Nachrichten Warteschlangen Nicht persistente Warteschlangen werden im Arbeitsspeicher gehalten Persistente Schlangen werden auf den Plattenspeicher geschrieben und sind dadurch langsamer k nnen jedoch nach einem Systemausfall wieder hergestellt werden Die Warteschlangen k nnen sich lokal auf dem Rechner befinden oder entfernt ber ein Netzwerk Der Systemadministrator kann die Gr e der Warteschlange einstellen 114 Datenbanken 1 5 3 2 Client Server Architekturen 1 5 3 2 1 Architekturformen In der Praxis haben zahlreiche Realisierungen von Client Server Architekturen ergeben Sie entsprechen weitgehend den bekannten Verteilungsformen von Anwendungssystemen 1 Disk Server Anforderungen des Dateisystems werden an den Disk Server weitergeleitet und dort auf die Plattenperepherie des Servers umgesetzt Pr sentation Logik Datenbank Datei Kommunikatiossystem Disk Client Server Abb 1 5 5 Disk Server Es gibt nur einen
119. g der Arbeits abl ufe Die DDL gibt die Definition von Tabellen View und Indexdefinitionen an und benutzt dazu die Befehle CREATE DROP ALTER 51 UNIQUE steht in eckigen Klammern und ist deshalb eine optionale Angabe 52 Die Gr enangabe ist nur bei bestimmten Datentypen erforderlich 53 NULL bzw NOT NULL und UNIQUE 54 Die Angaben zu den Spalten sind auch in Verbindung mit ALTER TABLE m glich 55 Namen der Spalten die mit den von der Unterabfrage zur ckgegebenen Werten assoziiert werden sollen 56 Zul ssige select Anweisung die beim Erzeugen der neuen Tabelle verwendet wird 95 Datenbanken Die DML vollzieht das Suchen Einf gen Aktualisieren und L schen und benutzt dazu die Befehle SELECT INSERT UPDATE und DELETE Die DCL umfa t drei verschiedene Arbeitsgebiete Recovery und Concurrency Transaktionen und Regeln f r die Verfahrensweise bei Mehrfachzugriffen mit den Befehlen COMMIT ROLLBACK LOCK Sicherheit bzgl der Zugriffsrechte mit den Befehlen GRANT REVOKE Integrit t Einschr nkungen f r den Erhalt der Korrektheit von Daten In gewisser Hinsicht ist SOL gegenw rtig die standardisierte Datenbanksprache Es bestehen jedoch wie in fast jedem Standard Erweiterungen der jeweiligen SQL Hersteller die eine vollst ndige Kompatibilit t nicht m glich machen Alle sinnvollen Erweiterungen werden jedoch von den Normungsgremien ISO57 und ANSI f r eine umfangre
120. geben damit die Forderung nach einer 1 n Verbindung erf llt werden kann Das Zeigersegment ist mit der Zwischensatzart im Netzwerk Datenbankmodell vergleichbar 48 Datenbanken TITEL TODESART TODESDATUM Zeiger Segmenttyp Abb 1 3 29 Datenbankstrukturdiagramm zur Darstellung einer Herrschaftsfolge 4 Pfadabh ngigkeiten Die auf tieferen Ebenen vorkommenden Segmente sind ohne ihre Vorg nger Segmente unvollst ndig Bsp Gegeben ist folgende Datenbankstruktur ABTEILUNGS ABTEILUNGS MANAGER BUDGET NUMMER NAME ABTEILUNGEN ANGESTELLTE ANGESTELLTEN NAME GEHALT TITEL ADRESSE NUMMER STELLEN BERUFLICHE ENTWICKLUNG STELLEN STELLEN ERNENNUNGS TITEL BESCHREIBUNGS NUMMER BESCHREIBUNG DATUM KINDER NAME DES ALTER KINDES GEHALTLICHE ENTWICKLUNG GEHALTS GEHALT ERHOEHUNGSDATUM Abb 1 3 30 Datenbankstrukturdiagramm mit Pfadabh ngigkeiten Das Segment BERUFLICHE ENTWICKLUNG ist ohne Bezug auf das Segment ANGESTELLTE bedeutungslos Das Segment GEHALTLICHE ENTWICKLUNG ist nicht nur vom Vatersegment sondern sogar vom Gro vater Segment ANGESTELLTE abh ngig Eine Schl sselkombination von ANGESTELLTER und ERNENNUNGSDATUM ist zur Identifizierung des Feldes GEHALT 49 Datenbanken notwendig Die Schl sselkombination ABTEILUNGS NUMMER und STELLEN BESCHREIBUNGS NUMMER identifiziert die STELLENBESCHREIBUNG 5 Verbindungen bei hierarchischen Datenbanken IMS DL 1 Sie
121. geln als Zusicherungen engl assertions in der Programmiersprache implementiert werden k nnen Bsp Eigenschaften eines Kreises Zu den Eigenschaften eines Kreises der auf einem Bildschirm dargestellt werden soll geh ren Attribute Radius des Kreises Position des Kreises auf dem Bildschirm Operationen Anzeigen und Entfernen des Kreises Verschieben des Kreises Ver ndern des Radius des Kreises Zusicherungen Der Radius darf nicht negativ sein und nicht Null sein radius gt O Attribute werden mindestens mit ihrem Namen aufgef hrt und k nnen zus tzliche Angaben zu ihrem Typ d h ihrer Klasse einen Initialwert und evil Eigenschaftswerte und Zusicherungen enthalten Attribute bilden den Datenbestand einer Klasse Operationen Methoden werden mindestens mit ihrem Namen zus tzlich durch ihre m glichen Parameter deren Klasse und Initialwerte sowie evil Eigenschaftswerte und Zusicherungen notiert Methoden sind die aus anderen Sprachen bekannten Funktionen 63 Datenbanken Klasse attribut1 attribut2 operation1 operation2 Bsp Automatische Geldausgabe ID Geraet Geraete Nr int BOOL indentifikation int id Tressor Kartenleser Kartenleser Bestand Geld 1000000 eingabeCodel int code geldAuszahlen Geld g Userlnterface i liesPIN betragAuswahl Geldautomat Bankinterface eingabePIN int code leseKundeninfo startTransaktion Abb
122. gerweise zu quivalenzklassen zusammengefa t Damit kann eine Dokumentensuche u a a ber einen zun chst Datenbanken gegebenen Deskriptor erweitert werden Das Problem dabei ist inwieweit die zu einer Aquivalenzklasse zusammengefa ten Deskriptoren wirklich gleich sind Thesaurus Ein Thesaurus Wortschatz ist ein Verzeichnis von verschiedenen Schlagw rtern Thesauri werden verwendet als vordefinierte Deskriptorenliste als Synonymenw rterbuch zur Gruppierung Klassifizierung oder Strukturierung von Deskriptoren In verschiedenen Fachgebieten werden umfassende Thesauri angeboten Bsp Engineers Joint Council Thesaurus Ein Auszug aus diesem Thesaurus enth lt Vorzugsbenennungen und zus tzliche Begriffsbestimmungen die in Beziehung zu den Vorzugsbenennungen gesetzt sind Die Beziehungen sind gekennzeichnet durch UF used for Die vorstehende Vorzugsbenennung ist synonym mit der durch UF gekenn zeichneten Begriffsbenennung BT broader term Die mit BF gekennzeichnete Begriffsbenennung umfa t die vorstehende Vor zugsbenennung in ihrer Bedeutung NT narrower term Die mit NT gekennzeichnete Begriffsbenennung ist hins ihrer Bedeutung in der vorstehenden Begriffsbenennung enthalten USE Die mit USE gekennzeichnete Begriffsbenennung ist als synonyme Vor zugsbenennung f r die vorstehende Begriffsbenennung zu verwenden RT related term Die mit RT gekennzeichnete Begriffsbenennung ist in ihrer Bedeutung m
123. gssystem DBMS das die Daten in einheitlicher Form verwaltet F r den Benutzer eines derartigen Systems soll die physische Verteilung der Daten nicht sichtbar sein d h Das System der verteilten Datenbanken VDBS realisiert eine logisch zentrale Sicht der physisch dezentral abgespeicherten Daten Die Information ber die Datenverteilung wird im Systemkatalog gehalten Verteilte Datenbanksysteme VDBS lassen sich einteilen in homogene und heterogene Systeme Ein VDBS ist homogen falls Datenmodell und Software auf allen Rechnern einheitlich sind andernfalls heterogen Verteilte Datenbanken werden in vielen F llen der Organisationsstruktur eines Unternehmens besser gerecht als herk mmlich zentralisierte Datenspeicher da nderungen in der Datenverteilung keine Auswirkungen auf bestehende Anwendungen haben Die Verteilung auf mehrere DBMS in der Regel auf verschiedenen geographisch verteilten Rechnern unterst tzt auf der einen Seite das Lokalit tsverhalten vieler Anwendungen erm glicht andererseits auch die zentrale logische Sicht der Daten Die wichtigsten Anforderungen die Verteilte Datenbanksysteme idealerweise erf llen sollten formulierte C J Date in 12 Regeln 1 Lokale Autonomie Lokale Daten werden unabh ngig von anderen Standorten verwaltet Jeder Rechner sollte ein Maximum an Kontrolle ber die auf ihm gespeicherten Daten aus ben Der Zugriff auf diese Daten darf nicht von anderen Rechnern abh ngen
124. gstrategie Von der satzorientierten Schnittstelle aus will man die Abspeicherung von Satzmengen steuern Zur Kontrolle der Transportvorg nge von und zum Hinter grundspeicher ist ein homogener und linearer Speicher w nschenswert der Einzelheiten z B Dateiorganisation Pufferung Blockgruppenanordnung verdeckt Homogen und linear bedeutet Unterteilung in Adressierungseinheiten fester Gr e sog Seiten auf die direkt zugegriffen werden kann Der Seitenorganisation wird h ufig noch eine Segmentstruktur berlagert mit der sich die Zusammengeh rigkeit der Daten ausdr cken l t Aufgabe dieser Schicht ist die Umsetzung der Segmente und Seiten auf Dateien und physische Bl cke 60 vgl 3 1 1 61 Man spricht auch von der Segmentschnittstelle 97 Datenbanken Einbringstrategie Eine Pufferverwaltung sorgt daf r da ben tige Seiten zur Verf gung stehen ohne da der Benutzer sich um Seitentransport oder Strategien zum Seitenaustausch k mmern mu das Dateisystem Es stellt h heren Schichten Operationen zum Lesen Einf gen ndern und L schen von Bereichen in Dateien Tabellen zur Verf gung Weitere Aufgaben sind Das Sperren von Bereichen die Manipulation von Dateien und Dateiverzeichnissen Zur Realisierung dieser Aufgaben bedient sich das Dateisystem der tieferen Schicht eines Betriessystems das System der physikalischen Ein Ausgabe Diese Komponente realisiert den Zugriff auf die Speicherperepherie Diese Schic
125. hiede aufweisen Schrittweise wurden zur Behebung dieses Zustandes von verschiedenen Gremien DIN ANSI CODASYL ISO allgemeine DB Standards empfohlen und Normenvorschl ge unterbreitet Die Empfehlungen weisen teilweise bzgl Funktionsumfang und Realisierungsaufwand erhebliche Unterschiede auf sind aber dennoch bedeutende Eckpfeiler der DB Geschichte Von gro er Bedeutung sind auch die durch die Position des Marktf hreres IBM verbreiteten defacto Standards z B IMS DL 1 oder das System R 1 4 1 CODASYL Konzept Die Conference on Data Systems Languages CODASYL ist ein Ausschu von Herstellern und gro en amerikanischen Anwendern der sich um die Normung von Programmiersprachen bem ht Auch im Bereich der Datenbanken wurde die CODASYL Gruppe aktiv Gegen Ende der 60er Jahre wurde die Data Base Task Group DBTG beauftragt einen Standardisierungsvorschlag f r das bereits weit auseinanderlaufende Feld der Datenbankentwicklung auszuarbeiten Die wichtigsten Empfehlungen der Ausarbeitung waren 1 Definition der Syntax einer Datenbank Beschreibungssprache DDL 2 Definition der Syntax einer Datenbank Manipulationssprache DML Dar ber hinaus wurde in einer Feature Analysis ein Modell DBMS konzeptiert Dieses Konzept von f hrenden DB Fachleuten erarbeitet steht allen Herstellern und Anwendern zur Verf gung Seine externen Schnittstellen sind exakt beschrieben die interne Realisierung bleibt jedem Hersteller selbst berlas
126. ht greift ber die Zugriffsmethode unmittelbar auf den Speicher zu und steuert die bertragung von bzw zum Systempuffer Im Rahmen der 5 Schichten Architektur spricht man hier von der Ger teschnittstelle mit den diversen Treiberprogrammen Damit werden Daten die sich bspw dem Benutzer im Relationenmodell noch als Tupel darstellen vom Datenbankverwaltungssystem auf Seiten d s Bl cke fester L nge in der Gr enordnung von 512 Bytes bis 8 KBytes abgebildet Mengen derartiger Seiten sind jeweils zu linearen Adre r umen zusammengefa t die Segmente 2 genannt werden In den Seiten sind Records S tze fester oder variabler L nge abgelegt Solche Records k nnen Tupel oder auch Verweislisten in einem Zugriffspfad sein Recordoperationen werden demnach auf lesende und schreibende Seitenzugriffe abgebildet relationales Datenmodell Bearbeitung von Anfragen gt data dictionary Transaktions verwaltung satzorientierte Schnittstelle Satzspeicherung Zugriffspfade gt Segmentschnittstelle PaRI Pufferverwaltung Dateiverwaltungsschnittstelle Dateiverwaltung Abb 1 5 1 Architektur von Datenbanksystemen Metadaten 62 Synonyme Realm Area DB Space 98 Datenbanken 1 5 2 Transaktionsbetrieb 1 5 2 1 Transaktionen Definition und Erkl rungen Bei gr eren Datenbest nden ist es unumg nglich da sie von mehreren Benut
127. iche Sprachdefinition gesammelt 1992 wurde eine wesentlich erweiterte Fassung der SQL Norm SQL2 58 ver ffentlicht Sei l ngerer Zeit wird bei ISO parallel zu SQL2 am Projekt SQL3 gearbeitet und folgende Erweiterungen zu SQL2 diskutiert Unterst tzung komplexer Datenstrukturen Sprachmittel Ausdrucksm glichkeiten f r Datenbankprozeduren objektorientierte Konzepte z B abstrakte Datentypen Unterst tzung verteilter Datenbanken SQL ist Bestandteil zahlreicher Datenbanksysteme z B dBASE IV Oracle Database Manager bzw IBM Database 2 DB 2 57 ISO 9075 1987 Database Language SQL 1987 bzw ISO 9075 1989 Database Language SQL with Integrity Enhancement 1989 58 ISO 9075 1992 Database Language SQL 1992 59 Es handelt sich hierbei um ein Datenbanksystem das unter OS 2 l uft und wird im Rahmen von OS 2 Auslieferungen der IBM bereitgestellt 96 Datenbanken 1 5 Klassifikation der DB Anwendungen 1 5 1 Elementare Anwendungsformen Stapelverarbeitung DB Anwendungen im Stapelbetrieb werden heute noch dann priorisiert wenn ein hoher Durchsatz der DB Programme angestrebt wird Dialogverarbeitung Sie steht unter der Pr misse mit m glichst geringer Antwortzeit und ohne Programmieraufwand auf jede DB zugreifen zu k nnen Eine Tendenz zum Ausbau der Online Anwendung vom reinen Abfrage und Erfassungsbetrieb zu Online Update Abfrage Erfassen ndern L schen oder gar Realzeitverarbeitung ist unverkennb
128. ieb befinden sich in der Regel gleichzeitig mehrere Transaktionen in Bearbeitung Von einer h ufig sogar gro en Anzahl von Endger ten kommen Anforderungen requests z B Auskunftsersuchen Buchungsauftr ge Einzahlungen Bestellungen Rechnungen Jedem Auftrag ist ein Anwendungsprogramm zugeordnet Es nimmt Anforderungen vom Endger t entgegen f hrt die notwendigen Verarbeitungsschritte einschl der Datenbankzugriffe aus und meldet das Ergebnis an das Endger t zur ck Jede Instanziierung eines derartigen Anwenderprogramms wird als Transaktion ausgef hrt Das bedeutet Die Ausf hrung einer Transaktion ist bzgl der Datenbank und bzgl des Nachrichtensystems ununterbrechbar Ein Synchronisationsmechanismus sorgt daf r da alle Programme sich so verhalten als w rden sie seriell d h in Einbenutzer Umgebung ausgef hrt Transaktionsparallelit t entsteht durch time sharing Die Anwendung bestimmt lediglich welche und wieviel Arbeitsschritte zu einer Transaktion zusammengefa t werden Parallelt t zwischen Transaktionen steigert den Durchsatz durch Erh hung der Zahl der Verarbeitungsprozesse Ein berma an time sharing verl ngert die Antwortzeit der einzelnen Transaktionen Zu viele gleichzeitig aktive Transaktionen bewirken ein berma an Synchronisierungskonflikten Die Betriebssystemumgebung legt fest wie viele Transaktionen bearbeitet werden sollen Das DBS mu nur daf r sorgen da die ACID Eigenschaft der Transa
129. imierung 8 Verteilte Transaktionsverarbeitung Das DBMS hat die Transaktionseigenschaften auch bei der verteilten Bearbeitung einzuhalten Dazu sollten geeignete Recovery und Synchronisationstechniken bereitstehen 9 Hardwareunabh ngigkeit Die Verarbeitung der Datenbank sollte auf verschiedenen Hardware Plattformen m glich sein S mtliche Hardware Eigenschaften bleiben dem Benutzer verborgen 10 Betriebssystemunabh ngigkeit 11 Netzwerkunabh ngigkeit Die verwendeten Kommunikationsprotokolle und netzwerke haben keinen Einflu auf die DB Bearbeitung 12 Datenbanksystemunabh ngigkeit Es mu m glich sein unterschiedliche Datenbanksysteme auf den enzelnen Rechnern einzusetzen solange sie eine einheitliche Benutzerschnittstelle z B gemeinsame SQL Version anbieten Referenzarchitektur f r verteilte Datenbanken Sie beschreibt ein idealtypisches Modell8 f r konzeptionelle Schichten in verteilten Datenbanken Globales Schema Es beschreibt Datenobjekte ihre Integrit tsbedingungen und Berechnungs strukturen aus globaler d h nicht verteilter Sicht Fragmentierungsschema Es teilt eine globale Relation Tabelle in ein oder mehrere logische Teile Fragmente und verteilt diese auf geeignete Rechnerknoten Fragmente des Fragmetierungsschemas m ssen bzgl Auf die ihnen zugeordneten globalen Relationen drei Bedingungen erf llen 1 Alle Daten der globalen Relation m ssen in ihren Fragmenten vertreten sein 2 Jede g
130. inheiten zu den Rechnern an unterschiedlichen Orten Verteilungsstrategien zur Schemaverteilung k nnen unter dem Aspekt Zentralisierung bzw Verteilung betrachtet werden Es bestehen folgende M glichkeiten das Schema in die Verteilung mit einzubeziehen 1 Nicht redundante Strategien Zentralisierung Die vollst ndige Schemabeschreibung befindet sich in einem Knoten Jeder Verkehr mit der Datenbank impliziert einen Zugriff auf diesen ausgezeichneten Knoten Verteilung An jedem Ort des Rechnerverbunds sind neben den lokalen Daten deren Verteilung soll ebenfalls nicht redundant gespeichert sein auch die zugeh rigen Teile des Schema gespeichert Ausschlie lich lokale Verarbeitung ben tigt keinen Netzzugriff mehr Bei jeder nicht lokalen Anfrage Query mu in allen Knoten gepr ft werden ob sie die gew nschten Daten bereitstellen k nnen 2 Redundante Strategien Zentralisierung Jeder Knoten enth lt die Schemainformation f r seine Daten zus tzlich steht aber das gesamte Schema in einer Zentrale zur Verf gung Nicht lokale Zugriffe wenden sich zun chst an die Zentrale um dort den Ort der gew nschten Daten zu erfahren Verteilung Jeder Rechner kennt das vollst ndige Schema nderungen des Schemas sind an allen Rechnern gleichzeitig vorzunehmen Benutzerauftr ge k nnen am Ort ihrer Eingabe vollst ndig gestartet und verwaltet werden Kombinationsm glichkeiten Irgendeine Teilmenge des Schemas kann als Verteilungseinheit
131. it der vorstehenden Vorzugsbenennung verwandt jedoch nicht im Sinne einer BT oder NT Beziehung Vorzugsbenennungen sind unterstrichen z B Koaxialkabel UF Koaxialleitung NT Fl ssigkeitsgef llte Koaxialkabel BT bertragungskabel RT Starkstromkabel Koaxialleitung USE Koaxialkabel Koaxialfilter BT Elektr Filter RT Mikrowellenfilter Kobalt BT Metall Datenbanken Ein Thesaurus ist eine Dokumentationssprache die aus Deskriptoren zur eindeutigen Begriffsbenennung Vorzugsbenennung und zus tzlichen W rtern der nat rlichen Sprache erg nzende Begiffsbenennung Hilfsmittel zur Darstellung von Beziehungen zwischen diesen Benennungen besteht Vorzugsbenennungen sind f r die Informationswiedergewinnung die entscheidenden Gr en Unter ihnen gibt es keine Polyseme oder Synonyme Vorzugsbenennungen sind in der Regel durch zus tzliche Begriffsbestimmungen erg nzt damit eine vielschichtige Beschreibung der Dokumente m glich ist Eine weitere zentrale Aufgabe in einem Thesaurus ist neben der Bestimmung von Vorzugsbenennungen und der dar ber hinaus erlaubten Begriffsbenennungen die Festlegung von Beziehungen zwischen den Begriffsbenennungen Folgende Beziehungen findet man in Thesauri am h ufigsten bergeordneter Begriff OB untergeordneter Begriff UB verwandter Begriff VB Wenn dann A bspw Oberbegriff von B ist ist zugleich B Unterbegriff von A Wenn A mit B verwandt ist ist auch
132. jekte erben automatisch alle f r den Obertyp definierten Eigenschaften Entwicklungslinien objektorientierter Datenbanksysteme Man kann zwei Entwicklungslinien bei objektorientierten Datenbanksystemen OODBS 28 erkennen Erweiterung bzw Erg nzung objektorientierter Programmiersprachen OOPL Ausgangspunkt ist eine OOPL z B C Smalltalk Durch Erg nzung mit Datenbankkonzepten Dauerhaftigkeit Persistenz Speicherstrukturen Zugriffspfade Transaktionen Concurrency Control Recovery Mechanismen wird ein OODBS entwickelt Au erdem werden vordefinierte Klassen und Methoden mitgeliefert die fehlenden Typkonstruktoren nachahmen etwa SET OF und Abfrageoperatoren bereitstellen etwa das Ausw hlen von Objekten aus einer Menge nach 28 vgl Dittrich Klaus R Objektorientiert aktiv erweiterbar Stand und Tendenzen der nachrelationalen Datenbanktechnologie it 5 90 Seiten 343 353 57 Datenbanken bestimmten Bedingungen Beispiele sind Datenbanken die entweder auf Smalltalk29 oder C 30 Basis implementiert werden berlagerung relationaler Systeme mit Objektstrukturen Die bew hrte relationale Datenbank Technologie wird beibehalten und graduell um objektorientierte Eigenschaften erg nzt Es gibt auch Neuentwicklungen voll objektorientierter Datenbankmodelle Sie sind vollst ndig auf Erfordernisse der Datenbank und auf Objektorientierung zugeschnitten Da genaue Kriterien f r Konzepte objektorientierte
133. k Jede Entit t die nicht von einem Typ Eo ist kann nur ber eine vom Einstieg punkt ausgehende Folge von Sets erreicht und dem Benutzer zug nglich gemacht werden Dabei kann ein Set auch vom Member zum Owner durchlaufen werden Bsp Komplexe Beziehungen zwischen Angestellten und Projekten Angestellter lt APX Projekt Abb 1 3 22 ER Diagramm f r Angestellter und Projekt A_P ist hier vom Typ m n denn ein Angestellter arbeitet an mehreren Projekten bzw ein Projekt wird von mehr als einem Angestellten bearbeitet z B Es bestehen zwischen den 4 Angestellten A1 A2 A3 A4 und den Projekten P1 P2 P3 die folgenden konkreten Beziehungen C Realisierung im Netzwerk Modell 43 Datenbanken Notwendig ist die Einf hrung eines neuen der Beziehung A_P entsprechenden Entit ts Typ Es z B A P Zu jeder konkret auftretenden Beziehung wird festgelegt Eine Entit t Ai Pj vom Typ Eg 2 Set Typen b A AP und b P AP Die neue Entit t A P kann jetzt auch Attribute zugeordnet bekommen z B der Arbeitszeit Datenbankstruktur Diagramm Angestellte Abb 1 3 23 Datenbankstruktur und Occurrence Diagramm zur Beziehung Angestellter und Projekt 4 Zugriff auf eine Entit t Von einem Einstiegpunkt in die Datenbank gibt man einen genauen Weg in der Form einer Folge von Sets an ber die man die gew nschte Entit t erreichen kann Der Benutzer mu den Zugriffspfad f r jede Entit t selbst
134. ktionen Atomicity Consistency Isolation Durability erhalten bleiben Die ACID Eigenschaft Transaktionen m ssen die ACID Eigenschaften erf llen Atomarit t atomicity Konsistenz consistency Isolierte Zur cksetzbarkeit isolation Dauerhaftigkeit durability Unter Atomarit t wird verstanden dass alle zu einer Transaktion geh renden Aktionen als eine logische Einheit angesehen werden und nur komplett ausgef hrt werden d rfen Alles oder nichts Eigenschaft Schl gt eine Aktion fehl m ssen alle bereits vorgenommenen Ver nderungen r ckg ngig gemacht werden die Transaktion wird zur ckgesetzt Mit der Konsistenz Eigenschaft wird gefordert dass sich die Datenbank nach Ablauf der Transaktion in einen Zustand befindet der die Konsistenz63 bzw Integrit t6 nicht verletzt Kann dieser Zustand nicht erreicht werden so muss zum Ausgangszustand zur ckgekehrt werden Isolierte Zur cksetzbarkeit bedeutet dass durch das Zur cksetzen einer Transaktion keine andere Transaktion so beeinflusst dass diese ebenfalls zur ckgesetzt werden muss Die Transaktion muss alle Zugriffe auf gemeinsam 63 Konsistenz Der Datenbestand ist logisch wiederspruchsfrei 64 Integrit t allg bereinstimmung von realen und gespeicherten Daten 100 Datenbanken genutzte Ressourcen serialisieren und garantieren dass sich die konkurrierenden Programme nicht beeinflussen Im Mehrbenutzerbetrieb mit vielen parallelen und berlappend
135. laschen pr fen und Wechselgeld berechnen Wechselgeld gt 0 Wechselgeld 0 do Flasche ausgeben do Wechselgeld ausgeben Abb Zustandsdiagramm f r einen Getr nkeautomaten Aktivit tsdiagramm Ein Aktivit tsdiagramm ist ein Sonderfall des Zustandsdiagramms der den Flu von einer Aktivit t zu einer anderen innerhalb eines Systems zeigt Eine Aktivit t actvity ist ein andauernder nichtatomarer Ablauf innerhalb eines Automaten Aktivit tsdiagramme enthalten blicherweise Aktivit tszust nde und Aktionszust nde Zustans berg nge Transitionen Objekte 69 Datenbanken Anfangszustand Dan el EEEREN TENS gt Aktivit t Bedingung 1 Aktivit t Aktivit t Aktivit t e Aktionszustand u gt Aktivit t Endz stand er ee ne Abb Aktivit tsdiagramm Package Diagramm Package Diagramme dienen zur Strukturierung der verschiedenen Darstellungen Damit werden Gruppen von Diagrammen oder Elementen zusammengefa t m Textverarbeitung 777777777777 Rechtschreibung N I L L N L E x Datei I O Abb Beispiel f r ein Package Diagramm Ein Package Diagramm besteht im wesentlichen aus Packages dargestellt durch gro e Rechtecke mit kleinem Rechteck links oben und Abh ngigkeiten den gestrichelten Pfeilen Eine Abh ngigkeit gibt an Bei einer Anderung des Packages an der Pfeilspitze mu das Package am anderen Ende der gestrichelten Linie evtl ge nd
136. lassenbibliotheken verf gbar In einem OODM m ssen alle Objekte eigenst ndig von ihren aktuelle Werten unabh ngig identifiziert werden und zu diesem Zweck eine eindeutige unver nderliche Kennung erhalten Objektidentifikator Surrogat Dadurch ist der Anwender entlastet von der Festlegung eindeutiger unver nderlicher Schl ssel f r alle Objekte er darf dies auf Wunsch aber auch weiterhin tun Jedes Objekt ist ber seinen Identifikator ansprechbar Gleichheit und Identit t von Objekten k nnen unterschieden werden Innerhalb des objektorientierten Datenbanksystems 00DBs erfolgen alle Objektidentifizierungen ber Surrogate Das sind systemgenerierte global eindeutige Bezeichner die unabh ngig vom physischen Speicherungsort sind Ablageunabh ngigkeit Der Benutzer hat keinen Einflu auf Surrogate Benutzerschl ssel sind deshalb nicht berfl ssig und k nnen weiterhin zur Identifizierung von Objekten auf Benutzerebene interessant sein Benutzerdefinierte Schl ssel z hlen in objektorientierten Systemen zu den Eigenschaften des Objekts und haben nicht die Bedeutung wie in relationalen Systemen In einem o0DM kann ein Typ Untertyp eines anderen sein Der Untertyp ist eine Spezialisierung des Obertyps bzw der Obertyp ist eine Generalisierung des Untertyps Man spricht von der IS_A Beziehung zwischen Unter und Obertyp F r den Untertyp m ssen lediglich die gew nschten zus tzlichen Eigenschaften festgelegt sein seine Ob
137. lche Regeln und Fakten ein Ergebnis zustande kam Sie gibt dem Experten die M glichkeit zu berpr fen ob das System seine Schlu folgerungen korrekt nachbildet Der Dialogteil dialog management f hrt das Gespr ch zwischen Anwender und Rechner Die Wissensadministration erm glicht dem System zu lernen d h neues Wissen in die Wissensbasis einzuf gen oder altes Wissen zu ver ndern ohne da dies explizit programmiert werden mu Was unterscheidet ein Expertensytem von herk mmlichen Datenbanken Aus den bisher vorliegenden Angaben k nnte abgeleitet werden es handle sich bei einem Experten System um nicht viel mehr als eine Datenbank mit einem komfortablen Abfragesystem Ein Expertensystem ist aber mehr Drei Eigenschaften die ein Datenbanksystem nicht besitzt charakterisieren ein Expertensystem Es ist heuristisch lernf hig und selbsterkl rend Datenbanken enthalten Fakten ber die reale Anwendungswelt Nur eine kleine Anzahl von Regeln kann in Datenbanksystemen z B in der Form von Integrit tsbedingungen enthalten sein Generell ist keine Speicherung von Regeln vorgesehen So kann bspw die Regel Wenn ein Student Informatik studiert dann mag er Prolog in konventioneller Datenbanktechnik nicht explizit gespeichert werden Wissensbasen erlauben im Gegensatz zu Datenbanken die explizite Darstellung regelbasierter Informationen aus denen Schlu folgerungen Ableitung von Informationen gezogen werden k nnen Verfah
138. lobale Relation mu sich aus ihren Fragmenten vollst ndig rekonstuieren lassen 3 Die Fragmente sollen berschneidungsfrei seinIO Allokierungsschema Es beschreibt auf welchen Datenbankknoten des verteilten Systems ein Fragment physikalisch gespeichert wird 1 1 oder 1 n Verh ltnis Im Falle der 1 1 Verteilung spricht man von einer Dispersion andernfalls von einer Replikation der Daten Die Replikation erlaubt die permanente Abbildung des Fragments Lokales Schema Hier werden die physikalischen Abbilder in die Objekte und das Datenmodell des jeweiligen datenbanksystems umgesetzt Das lokale Schema ist abh ngig vom Typ des zugrundeliegenden Datenbanksystems Die ersten drei Schichten sind unabh ngig vom benutzten DBS 89 vgl Ceri Stefano u Pelagotti Guiseppe Distributed Databases Principles amp Systems McGraw Hill 1985 90 Ausnahme Bei vertikale Fragmentierung wird der Prim rschl ssel redundant gespeichert um die Rekonstruktion der globalen Relation zu gew hrleisten 132 Datenbanken Globales Schema Fragmentierungsschema Allokierungsschema en Lokales Schema Lokales Schema ermmemnennenennenennenn Datenbank Datenbank Abb 1 5 21 Aufbau einer verteilten Datenbank Rahmenbedingunen f r das Design Es gilt nicht nur wie bei zentralen Datenbanken das konzeptuelle Schema aufzubauen es m ssen auch Fragen der Fragmentierung All
139. ls Diese Applikationen arbeiten meist noch recht gut in Prototypen und kleineren Installationen zeigen aber schnell ihre Grenzen wenn sie in gr eren Anwendungssystemen mit einer hohen Benutzerzahl und vielen konkurrierenden Zugriffen eingesetzt werden 3 Tier Architekturen sind besser skalierbar robust und flexibel Sie k nnen Daten von mehreren verschiedenen Quellen verarbeiten sind im Netzwerk einfacher zu administrieren und zu entwickeln da der meiste Code auf dem Server l uft 3 Tier Applikationen verringern die Netzwerklast durch zusammengefasste Serviceaufrufe Anstatt mit der Datenbank direkt zu kommunizieren wird mit der Mittelschichtlogik auf dem Server kommuniziert Diese arbeitet dann eine Reihe von Datenbankzugriffen ab und reicht nur das gew nschte Ergebnis zur ck Daraus resultiert eine h here Performance durch wenige Serveraufrufe Au erdem wird eine h here Sicherheit gew hrleistet da kein direkter Zugriff auf die Datenbank durch den Klienten erfolgt 123 Datenbanken 1 5 3 3 Client Server und Internet Intranet Grundlage der Client Server Architektur ist eine Verteilung zwischen verschiedenen Systemen und Systemteilen Die Internet Technologie ist eine Hardware und Systemstruktur kombiniert mit einheitlichen Protokollen und Pr sentationsformaten Sie repr sentiert eine geschickte Art der Praktizierung von Client Server Architekturen Lokale Server
140. m logical child und zugeh rigem logical parent besteht bergang zur logisch verkn pften Datenbank Die dem logical parent Segment ber untergeordneten Segmente k nnen in der logischen Datenbank als abh ngige Segmente des logical parent definiert werden Dabei wird die physische Datenstruktur teilweise invertiert 50 Datenbanken 1 3 6 Das Koexistenz Modell Datenbankarchitekturen bieten im Rahmen des sog Koexistenzmodells drei Ebenen Plattformen f r die Beschreibung von Daten an 1 Die Ebene der logischen Gestaltung Dateikonzept des jeweiligen Programmierers externes Schema Die in Anwenderprogrammen ben tigten Daten werden hier in einem Subschema beschrieben und bereitgestellt 2 Die Ebene der funktionalen Gestaltung Beschrieben wird hier das allumfassende Konzept f r die Anwendung der Daten aus der Datenbank konzeptuelles Schema 3 Die Ebene der physischen Gestaltung Beschrieben wird hier die zweckm ige Ablage der Daten auf peripheren Speichern internes Schema Bsp Beschreibung der Zusammenh nge bei der maschinellen Abwicklung des Bestellwesens Ausgangspunkt ist die BESTELLUNG Bestell Nr Lieferanten Nr Bestell Datum Liefertermin Preis der bestellten Waren Summe Der Bestellsatz ist unvollst ndig Er ist zu erg nzen durch Angabe von Bestell positionen Wiederholungsgruppen Problem BESTELLPOSITION Weiterhin m chte man mehr ber den Lieferanten wissen LIEFERANT
141. n umgekehrten Weg ber PA TNS und SQL Net Das Multiprotocoll Interchange des Server verf gt ber eine Listener TNS der ankommende Verbindungen auf das Ziel berpr ft und ann einen Serverproze zur Abarbeitung der SQL Anweisungen startet Von der SQL Net Schicht werden Daten an das Oracle Programmatic Interface OPI weitergegeben arbeitet entgegengesetzt zum UPI F r jeden Aufruf des UPI gibt es im OPI eine Funktion die die angeforderte Aufgabe erf llt Oberhalb des OPI setzt der Server auf der die Anforderungen des Client erf llt und die Ergebnisse ber das OPI an den Client zur cksendet SQL Server SQL Server bauen auf der Client Server Architektur auf Der Datenbankserver database server l uft auf einem eigens daf r vorgesehenen Rechner und bietet die notwendigen Datenbankfunktionen f r alle Netzteilnehmer an Der Datenbankserver ist auf die Sprache SQL ausgerichtet Der Client fordert mit einer SQL Anfrage eine Ergebnistabelle an die er dann weiterverarbeitet Der Server ist in der Lage SQL Anfragen auszuwerten und ganze Tabellen zu bergeben SQL Server haben einen transaction manager zur Synchronisation von Tabellen und Indexverzeichnissen z B bei einem Absturz Dauerhaft enthalten Tabelle und Indexverzeichnisse die Resultate von ausschlie lich abgeschlossenen Transaktionen Backup Restore Utilities generieren Kopien und sorgen f r die Wiederherstellung der Datenbank z B bei Plattenausfall Die volls
142. n netzwerkspezifische Protokolle z B TCP IP IPX SPX Darauf folgt die Protocol Adapter PA Schicht Auf diese Schicht baut die zentrale Komponente Transport Network Substrate TNS auf TNS realisiert an seiner Schnittstelle elementare Kommunikationsfunktionen und gibt seine Informationen an die Protokoll Adapter weiter TNS soll eine einheitliche Schnittstelle erzeugen Applikationen die auf TNS aufsetzen k nnen v llig unabh ngig von spezifischen Protokollen implementiert werden Auf TNS setzen zur Zeit zwei Produkte auf SQL NET und das Multiprotocoll Interchange SQL NET ist die Schnittstelle auf die Clients bzw Server aufsetzen Das Multiprotocol Interchange dient zur Protokollumwandlung und erm glicht da Client und Server mit unterschiedlichen Protokollen betrieben werden k nnen Im Bereich des Kommunikationsteils auf dem Client gibt die Software Komponente SQL Net alle notwendigen Informationen an TNS das Daten an den Prokoll Adapter PA weiterleitet der f r den protokollspezifischen Transport zust ndig ist Das Netzwerk Protokoll transferiert die Daten ber das physikalische Netz zum Server Dort angekommen nehmen die Daten den 77 Der Begriff SQL Net wird f r zwei Dinge verwendet Einerseits als Oberbegriff f r alle Netzwerkprotokolle und die Middleware von Oracle andererseits als Bezeichnung f r diejenige Softwarekomponente die auf Client und Serverseite installiert ist 120 Datenbanke
143. n an der Datenbank werden r ckg ngig gemacht Fehler im Transaktionsbetrieb Fehlerursachen k nnen bspw sein a Programmfehler 65 Persistenz ist ein Synonym f r Dauerhaftigkeit 101 Datenbanken b unerlaubt hoher Verbrauch von Ressourcen c Verlust von Hauptspeicherinhalten d Betriebssystemabsturz e Zusammenbruch des Datenbanksystems f Plattenfehler im schlimmsten Fall sog Head Crash Nur die Fehlertypen a bis b sind Transaktionsprogrammen unmittelbar anzulasten und k nnen im laufenden Betrieb durch die Recovery Komponente des Datenbanksystems repariert werden Fehler vom Typ c bis e hei en Soft Crash Ma nahmen zur Wiederherstellung der Datenbank nach solchen Fehlern werden unter dem Begriff Crash Recovery zusammengefa t Sie erfordern einen Wiederanlauf des Datenbanksystems Nach einem Fehler vom Typ f ist i a die aufwendige Archiv Recovery einzuleiten Anomalien im Mehrbenutzerbetrieb Ein Reihe von Fehlern Anomalien kann im Mehrbenutzerbetrieb auftreten selbst wenn jede einzelne Transaktion f r sich allein feherfrei abl uft und das System reibungslos funktioniert Derartige Anomalien k nnen sein lost update Die Ausf hrung unterschiedlicher Transaktionen auf eine gemeinsame Datenbank kann zu Problemen f hren z B lost update out of date retrieval So bewirken die folgenden Arbeitsschritte der Transaktionen T und Tz die nebeneinander nebenl
144. n derzeitigen Stand der Entwicklung Informatik Spektrum Heft 4 S 31 39 1981 139 Datenbanken 1 7 1 Integrit tsbedingungen Sie k nnen auf verschiedene Weise klassifiziert werden Physische Integrit t Darunter versteht man neben der physischen Datenkonsistenz die Vollst ndigkeit der Zugriffspfade die Vollst ndigkeit der Speicherstrukturen die Vollst ndigkeit der Beschreibungsinformationen Semantische Integrit tsbedingungen Ganz allgemein versteht man unter semantischer Integrit t die bereinstimmung von realen und gespeicherten Daten Speziell k nnte man hier unterscheiden Bereichsintegrit t Sie umfa t den Erhalt der Attributwerte innerhalb der Relationen Jedes Attribut einer Relation hat einen bestimmten Wertebereich Intra relationale Integrit t Sie umfa t die Korrektheit der Beziehungen zwischen den Attributen in einer Relation z B funktionale Abh ngigkeiten Eine der wichtigsten Integrit tsreglen ist in diesem Zusammenhang Die Eindeutigkeit des Schl ssels Schl sseleindeutigkeit bedeutet Kein neues Tupel kann eingetragen werden falls Schl sselwerte mit Werten des bestehenden Tupels in dieser Realtion bereinstimmen Entit tsintegrit t Sie verbietet Null Werte im Feld des Prim rschl ssels und garantiert da S tze erst dann in die Datenbank aufgenommen werden wenn das wichtigste Attribut der Satzschl ssel vorhanden ist Beziehungsintegrit t referentielle Integrit t
145. n gro er Anteil der Rechenleistung des Servers nur f r das Starten und Stoppen des Service f r die Priorisierung der Anfragen Sicherheitsabfragen und Load Balancing verbraucht Wie wird bei Fehlern reagiert Ein recht umfangreicher Punkt da beide Seiten separat ausfallen k nnen Es ist daher wichtig dass die eingesetzte Software alle auftretenden Fehlerkombinationen abfangen kann Wenn der Server nicht antwortet blockiert der Client normalerweise Nach einem Timeout muss er seine Anfrage wiederholen St rzt der Client nach einer Anfrage ab muss der Server alle bis dahin vorgenommenen Ver nderungen r ckg ngig machen k nnen u s w Der Server muss garantieren dass die gleichen Anfragen nur einmal abgearbeitet werden Dies ist insbesondere bei mehreren Servern wichtig wenn die Anfrage vielleicht an den zweiten Server abgesetzt wird wenn der erste nicht reagiert Um mit RPC eine sichere und atomare Ausf hrung von Funktionen auch unter der Ber cksichtigung aller m glichen Fehler zu gew hrleisten ist ein erheblicher Entwurfs und Implementierungsaufwand erforderlich 3 Message Oriented Middleware MOM Mit Hilfe von MOM Nachrichten und Warteschlangen k nnen Clients und Server ber ein Netzwerk kommunizieren ohne dass sie ber eine spezielle Verbindung fest miteinander verbunden sind also asynchron Clients und Server k nnen so zu unterschiedlichen Zeiten laufen Man kommuniziert einfach indem man Nachrichten in eine Warteschlange
146. n und dem Speziellen in der Objekte des speziellen Typs der Subklasse durch Elemente des allgemeinen Typs der Oberklassse ersetzt werden k nnen Grafisch wird eine Generalisierung als durchgezogene Linle mit einer unausgef llten auf die Oberklasse zeigenden Pfeilspitze wiedergegeben z B Supertyp Subtyp 1 Interaktionsdiagramm Subtyp 2 Es gibt zwei Arten von Interaktionsdiagrammen Sequenzdiagramme Kollabarationsdiagramme Die beiden Diagramme beschreiben zeitliche Abl ufe d h Aufrufsequenzen Ausgangspunkt von Interaktionsdiagrammen sind Fallbeispiele Szenarios Beim Erstellen der Diagramme konzentriert man sich auf die wichtigsten F lle Anschlie end werden die Sonderf lle mit einbezogen 1 Sequenzdiagramme Ein Sequenzdiagramm ist ein Interaktionsdiagramm bei dem die zeitliche Abfolgr der Nachrichten im Vordergrund steht Sequenzdiagramme visualisieren die Lebensdauer von Objekten gestrichelte Linie die die Existenz eines Objekts w hrend eines Zeitraums darstellt Die Zeitachse verl uft von oben nach unten Objekte sind als Rechtecke am oberen Rand von gestrichelten Lebens Linien dargestellt Am linken Rand k nnen noch Kommentare stehen die Aktivit t von Objekten Der Focus of Control das langezogene Rechteck gibt an wo eine Aktivit t ausgef ht wird Ist ein Objekt ohne Aktivit t vorhanden wird dies durch eine gestrichelte Linie angezeigt Objekte werden durch einen Pfeil auf d
147. net werden Frankfurt Geldautomat Zentrale Konsole Mainframe Bildschirm M nchen Geldautomat Abb Deployment Diagramm 71 Datenbanken 1 3 8 2 Schema Modellierung Die Klassendiagramme der UML bilden eine Obermenge von Entity Relationship Diagrammen Klassendiagramme lassen auch das Modellieren von Verhaltensweisen zu In einer physischen Datenbank werden diese logische Operationen im allg in Trigger oder gespeicherte Prozeduren umgewandelt 1 Modellierung eines logischen Datenbankschemas Das Modellieren eines logischen Datenbankschemas 2 umfa t die Identifikation von Klassen deren Zustand die Lebensdauer ihrer Anwendungen berdauern mu das Erstellen eines Klassendiagramms das all diese Klassen enth lt und das Markieren dieser Klassen mit den Standardeigenschaftswert persistent Expansion der strukturellen Eigenschaften dieser Klassen Spezifikation der Details zu den Attributen Konzentration auf Assoziationen und Kardinalit ten Beachtung typischer Muster z B rekursive Assoziationen Eins zu eins Assoziationen n re Assoziationen Betrachtung der Vehaltensweisen dieser Klassen z B durch Expansion von Operationen die f r Datenzugriff und Integrit t der Daten wichtig sind berf hrung falls m glich mit Hilfe von Programmen des logischen in einen physischen Entwurf Bsp Modellierung eines Datenbankschemas f r eine Fachhochschule Fachhochschule persistent name N
148. ng eines Tupels erfolgt ber den Schl ssel Der Wert eines Attributs kommt aus einem bestimmten Wertebereich Dom ne Jede Tabellenspalte beschreibt eine bestimmte Eigenschaft Attribut des Datenobjekts Durch Kombination einzelner Spalten Attribute und Zeilen Datens tze k nnen neue Tabellen Relationen gebildet werden Im wesentlichen hei t Normalisieren Beseitigung der funktionalen Abh ngigkeiten die zwischen den einzelnen Attributen eines Relationenschemas vorliegen k nnen Eine funktionale Abh ngigkeit ist zwischen Attributmengen z B A und A dann gegeben falls in jedem Tupel der Relation der Attributwert unter A Komponeneten den Attributwert unter den A Komponenten festlegt Die funktionale Abh ngigkeit wird dann so beschrieben A gt A 9 vgl Codd E F A Relational Modell of Data for Large Shared Data Banks Communications of the ACM June 1970 Seiten 377 387 10 Datenbanksysteme die auf diese Konzepte beschr nkt sind werden als minimal relational bezeichnet 11 vgl 1 2 3 4 12 vgl 1 4 3 2 13 yg 2 1 1 27 Datenbanken Schl ssel sind Spezialf lle funktionaler Abh ngigkeiten Ein Schl ssel X beschreibt f r ein Relationenschema eine funktionale Abh ngigkeit wenn X minimal ist d h aus der kleinsten Menge Tupel identifizierender Attributwerte gebildet ist Ziel eines sich auf Abh ngigkeiten abst tzenden Datenbankentwurfs einer relationalen Datenbank ist Umformen aller funk
149. ngs First national Conference on Deductive and Object Oriented Databases Kyoto 1989 33 Die 3 Begriffe werden synonym verwendet 34 Er beruht nicht auf den aktuellen Werten des Objekts wie etwa der Prim rschl ssel bei relationalen datenbanken 35 Synonym verwendete Begriffe Strukturierte Objekte Zusammengesetzte Objekte 58 Datenbanken Abb Aggregat Adresse in erweiterter ERM Darstellungf H ufig wird der Tupelkonstruktor mit TUPLE OF notiert Mengenkonstruktor Gruppierung Dadurch wird ein neuer Typ erzeugt der aus mehreren Instanzen des in die Gruppierung eingehenden Typs eine Instanz des neuen Typs formt H ufig wird der Mengenkonstruktor mit SET OF notiert Fremdsprachen Fremdsprache Abb Gruppierungen in erweiterter ERM Diagrammdarstellung Listenkonstruktor geordnete Menge Feldkonstruktor array in dem Elemente ber einen Index Subskript ansprechbar sind 3 Klassen Typen Eine Klasse ist eine Beschreibung die einen Namen f r die Objektmenge die Struktur der Objekte der Menge ihre Werte die Methoden die die Objekte der Menge ausf hren k nnen umfa t Ein Objekt einer Klasse wird Instanz genannt Instanzen einer Klasse haben den gleichen Aufbau benutzen diesselben Namen Typen und Methoden Aus der Klasse k nnen Instanzen ins Leben gerufen werden 4 Typhierarchie Vererbung Es k nnen bergeordnete Klassen an untergeordnete Klassen Eigenschaft
150. okierung bzw Ortsverteilung gek rt werden Wichtige Prinzipien f r Verteilung und Replikation der Daten sind Lokalit tsprinzip Daten sollen so nahe wie m glich an den Ort der Verarbeitung gelegt werden Minimierung der in der Regel aufwendigen Zugriffe ber das Netz Optimierung der Verf gbarkeit und Zuverl ssigkeit Durch geeignete Replikationen lassen sich die erh hten Risiken komplexer Konfigurationen und Verwitung verteilter Datenbanken minimieren Im Falle eines Systemabsturzes oder eines Netzausfalls kann die betroffene Applikation dann auf einen anderen Knoten mit replizierten Daten ausweichen Optimierung der Lastverteilung durch Verteilung der Daten und der auf daten zugreifenden Applikationen unter Wahrung des Lokalit tsprinzips und gr tm glicher Parallelisierung der Verarbeitung Systemarchitektur Physikalisch gesehen ist eine verteilte Datenbank ein ber ein Telekommuni kationssystem verbundenes Netz aus autonomen Rechnerknoten Jeder Knoten verf gt ber ein eigenes Datenbanksystem An die Datenbanksysteme der Rechnerknoten m ssen sich sowohl lokale Abfragen ohne Ber cksichtigung anderer Knoten absetzen und bearbeiten lassen als auch globale mehrere Knoten einbeziehende Abfragen F r diese Abfragen 133 Datenbanken gelten die Forderungen nach Verteilungs Replikations und Fragmentierungestransparenz d h jeder Rechnerknoten ben tigt eine zus tzliche globale Komponete des DBMS die diese
151. ormat Das Festkommaformat kann insgesamt aus X Stellen und Y Stellen nach dem Dezimalpunkt bestehen date Die Datumsangaben sind in den Datenbanksystemen spezifisch formatiert In CREATE TABLE ist nach dem Datentyp die Angabe NULL Standardm iger Default Wert bzw NOT NULL m glich Damit wird festgelegt ob eine Spalte NULL Werte d h keine Werte enthalten darf oder nicht Prim rschl ssel sollten grunds tzlich mit der Option NOT NULL ausgestattet sein NULL Werte werden in allen alphanumerischen Datentypen durch Leer Strings der L nge 0 repr sentiert Indexe k nnen mit CREATE INDEX erstellt werden z B CREATE UNIQUE INDEX ABT_IDX ON ABTEILUNG ABT_ID CREATE UNIQUE INDEX JOB_IDX ON JOB JOB_ID CREATE UNIQUE INDEX ANGEST_IDX ON ANGESTELLTE ANG_ID CREATE UNIQUE INDEX QUAL_IDX ON QUALIFIKATION ANG_ID JOB_ID SQL verf gt ber zwei Zugriffsmethoden den sequentiellen und indexorientierten Zugriff Beim sequentiellen Zugriff beginnt das System am Anfang der Tabellen zu suchen und arbeitet Satz f r Satz durch die Tabelle bis der gew nschte Datensatz gefunden ist Bei umfangreichen Datenbest nden sollte man f r jeden Satz einen Suchbegriff Index vereinbaren der in einer Indextabelle abgespeichert wird Der Zugriff auf die tats chlich vorliegende Tabelle kann ber die Indextabelle erfolgen
152. physikalischen Plattenspeicher der von allen Clients benutzt werden kann Eine spezielle Anwendung des Disk Servers ist der Remote Boot f r Arbeitsplatzrechner ohne Diskettenlaufwerk diskless client Das Betriebssystem wird dabei vom Disk Server geladen Bei einem Disk Server k nnen zwar zahlreiche Leser aber nur ein einziger Schreiber auf die gemeinsam genutzte Ressource zugreifen Das ist f r das Laden von Programmen oder das Lesen von gemeinsamen Daten ausreichend 2 File Server Der File Server empf ngt alle Dateianforderungen die von einzelnen Clients z B PCs und Workstations an ihn gesandt wurden Pr sentation Logik Datenbank Kommunikationssystem Datei Disk Client Server Abb 1 5 6 File Server 73 Hans Joachim Petzold Hans Jochen Schmitt Verteilte Anwendungen auf der Basis von Client Server Architekturen in HMD 170 1973 S 79 91 115 Datenbanken Operationen z B das Sperren von Bereichen werden zentral im File Server verwaltet Mehrere Anwendungen k nnen konkurrierend auf gemeinsame Datenbest nde zugreifen Es gibt u U zahlreiche unabh ngige Datenbanksysteme jedoch nur ein Dateisystem Die einzelnen Workstations sind mit dezentraler Intelligenz ausgestattet so da alle Programme im lokalen Arbeitsspeicher ablaufen Zur Inanspruchnahme bestimmter Dienste werden Programmaufrufe ber die in einer Workstation eingebaute Netzwerkkarte an den Server weitergeleitet N
153. r Datenbanken erst seit 198931 vorliegen sind Implementierungen noch nicht sehr zahlreich Object Oriented Database Manifesto In diesem Bericht haben Datenbankforscher Richtlinien f r das objektorientierte Datenbankmodell zusammengefa t Merkmale von objektorientierten Datenbanksysteme wurden hier in drei Kategorien eingeteilt Pflchtmerkmale optionale Merkmale offene Merkmale Zu den aus der objektorientierten Programmierung entlehnten Pflichtmerkmalen z hlen 1 Objektbegriff Objektidentit t In objektorientierten Datenbankmodellen besteht ein Objekt aus einem Objektidentifikator einer Menge von Werten Attribute Variable einer Menge von Prozeduren Operatoren33 Der Objektidentifikator wird vom DBMS vorgegeben und werwaltet Er ist systemweit eindeutig und w hrend der Objektlebensdauer konstant 2 Komplexe Objekte3 gt Ausgangspunkt sind elementare Werte z B Zeichenketten oder Zahlen aus denen mit Hilfe sog Konstruktoren komplexe Werte gebidet werden Einfache Konstruktoren sind Tupelkonstruktor Aggregation Daten setzen sich h ufig aus anderen Daten zusammen auch die repr sentativen physischen oder logischen Gegenst nde der relen Welt sind h ufig aus anderen Gegenst nden zusammengesetzt z B das Aggregat Adresse 29 Gemstone 30 Object Store ONTOS POET 31 Atkison et al Object Oriented Database System Manifest 32 Atkison M The object oriented database manifesto Proceedi
154. ransparenz und Integration in die operativen Systeme Zug nglichkeit unterschiedlicher Datenbanken ber eine logische Gesamtsicht stabile volumenunabh ngige Antwortzeiten Client Server Architektur Mehrbenutzerunterst tzung flexibles Berichtswesen unbeschr nkt dimensions bergreifende Operatoren 1 2 2 3 Expertensysteme Ein Expertensystem ist ein Programm das sich in irgendeinem Anwendungs bereich wie ein Experte verh lt Expertensysteme m ssen f hig sein Probleme zu l sen die Expertenwissen in einem bestimmten Bereich verlangen Sie sollen in irgendeiner Form Wissen verarbeiten wissensbasierte Systeme Ein voll ausgebautes Expertensystem besteht im allg aus 5 verschiedenen Komponenten 3 Die Hersteller z B Oracle Sybase Software A G IBM Siemens etc vermarkten unter diesem Schlagwort alle m glichen Werkzeuge die mit der Verwaltung Integration und Auswertung gro er Datenbest nde zu tun haben Datenbanken Die Wissensbasis bildet die Grundlage Sie enth lt die Kenntnisse des Experten meistens in Form von Fakten und Regeln oder auch als Rahmen Beschreibung von Objekten und Skripten Beschreibung von Abl ufen Die Inferenz Maschine inference machine dient der Wissensauswertung Sie sucht und verkn pft Fakten und Regeln nach einer vorgegebenen Strategie und produziert Forderungen und Ergebnisse Die Erkl rungskomponente explanation component kann dem Anwender begr nden durch we
155. ren zur Repr sentation von Wissen k nnen eingeteilt werden in 1 Logische Vefahren Die Wissensbasis wird durch Ausdr cke der formalen Logik pr sentiert Inferenzregeln wenden dieses Wissen auf die L sung spezifischer Probleme an Das am h ufigsten verwendete Darstellungsschema ist das Pr dikatenkalk l 1 Ordnung Die Programmiersprache Prolog st tzt sich auf dieses Kalk l und ist daher f r die Implementierung von Wissensbasen mit logischen Repr sentationsverfahren besonders geeignet 2 Netzwerk Verfahren Sie pr sentieren das Wissen durch einen Graphen bei dem die Knoten die Objekte und Konzepte des Problemgebiets darstellen und die Kanten die Beziehung zwischen diesen Objekten oder Objekttypen Semantische Netze sind daf r ein Beispiel Im Gegensatz zu Datenbankmodellen Trennung von Schema und Instanz geh ren Objekte Instanzen zur Repr sentation von Wissen hinzu Netzwerkbezogene Verfahren sind demnach eine objektbezogene graphische Darstellung von Wissen 10 Datenbanken Wissenbank Arbeitsspeicher Regeln Fakten Inferenzmaschine Inferenz Steuerung Wissenserwerbs Erkl rungs Benutzer komponente komponente schnittstelle Abb 1 2 2 Aufbau eines Expertensystems Datenbanksysteme werden bzw wurden f r Anwendungen entwickelt die sich folgenderma en charakterisieren lassen Die Daten weisen eine feste vordefinierte Struktur au
156. rozessen Diese Prozesse erhalten ihre Auftr ge von Anwendungsprogrammen die auch als eigene Prozesse ablaufen Man unterscheidet Prozesse die spezielle Aufgaben ohne Zuordnung zu einezelnen Anwendern ausf hren Hintergrundprozezesse von Prozessen die direkt 1 1 den angemeldeten Benutzern zugeordnet sind Schattenprozesse Dedicated Server Prozesse All diese Prozesse sind Prozesse des Server Backend Die Versorgung des Backend mit Aufgaben bernimmt mindestens ein Frontend Proze Frontend Prozesse werden auch als Client oder Anwendung bezeichnet Anwendungs Anwendungs Client Prozesse programm programmn Fr no Kommunikations Pool A M Pa v Server Prozesse DB Proze DB Proze u v Datenbank Abb 1 2 8 Interproze Kommunikation Anwender bzw Datenbank Prozesse Zur Abarbeitung gleichzeitiger Aktionen dient eine Datenverarbeitungszentrale im Hauptspeicher Communication Pool System Clobal area Alle Daten die das Datenbanksystem f r mehrere verschiedene Aufgaben ben tigen k nnte werden hier zwischengespeichert 5 vgl 1 5 2 18 Datenbanken DB Proze e bearbeiten Transaktionen Unter Transaktion versteht man eine Folge von Datenbankzugriffen die eine Datenbank von einem g ltigen Zustand in einen neuen ebenfalls g ltigen Zustand berf hren Die Aktionen einer Transaktion sind aus Sicht des DBS die kleinsten ausf hrb
157. rver von dem auch die statischen Dokumente geladen werden 86 Proxy Server Das ist ein zus tzliches lokales Datenbeschaffungsinstrument f r einen bestimmten anwenderkreis Clients des oberen LAN Die Clients dieses Anwenderkreises gehen nicht direkt ans Netz sondern beauftragen ihren Proxy ber die schnelle lokale Verbindung eine oder mehrere Informationsseiten zu beschaffen Der Proxy holt sich die Seite speichert sie in einem lokalen Cache Speicher und liefert sie an den lokal anfordernden Client aus 127 Datenbanken Oberfl chenobjekte ED ae Fachobjekte Fachobjekte Fachobjekt WAN Fachobjekte Fachobjekte Typischerweise werden Applikationen in 3 Aufgabenbereiche unterteilt Datenhaltung Anwendung slogik und Pr sentation Diese 3 Aufgabenbereiche m ssen nicht auf einem Rechner oder von einem Proze wahrgenommen werden sondern k nnen auf mehrere Rechner bzw Prozesse verteilt sein Fachobjekte Abb 1 5 14 Aufbau und Kommunikation der Objekte im Internet Pr sentation Pr sentation Pr sentation Pr sentation Pr sentation Steuerung Steuerung Steuerung Steuerung Anwendung Anwendung Anwendung Datenverw Steuerung Anwendung Anwendung Anwendung Datenverw Datenverw Datenverw Datenverw Datenverw Verteilte entfernte kooperative entfernte verteilte Pr sentation Pr sentation Verarbeitung Verarbeitung Datenverw Abb 1 5 15 Verteilungsm glichkeiten im Client S
158. s Datenbestands und ohne Verklemmungen steuern und kontrollieren Phase 1 Sperrphase des Konsistenzbereichs der Transaktion Bevor eine Transaktion auf ein Objekt liest oder schreibt mu sie das Objekt sperren Phase 2 Bearbeitung der Daten und Freigabe auch sukzessiv des Konsistenzbereichs 103 Datenbanken Hat eine Transaktion einmal eine Sperre wieder freigegeben darf sie keine weiteren Sperren mehr anfordern bzw erhalten d h In einer Transaktion sind alle Sperren vor allen Freigaben angeordnet Der Anwendungsprogrammierer soll sich aber nicht um derartige Ma nahmen zur Vermeidung von Anomalien k mmern m ssen Dieses Ziel kann erreicht werden indem jede Transaktion automatisch so gesteuerrt wird da er scheinbar alleine auf der Datenbank arbeitet Die sog Concurreny Control Komponente der Transaktionsverwaltung mu die quivalenz der parallelen Ausf hrung einer Menge von Transaktionen zu einer seriellen d h nicht berlappenden Reihenfolge gew hrleisten Eine parallele Ausf hrung mehrerer Transaktionen mit dieser Eigenschaft hei t serialisierbar 104 Datenbanken 1 5 2 2 Das Zwei Phasen Commit Protokoll Dieses Protokoll wird verwendet um lokale Transaktionen an verschiedenen Programmen oder Maschinen die Subtransaktionen zu synchronisieren so dass entweder alle erfolgreich durchgef hrt werden oder keines Dabei nehmen die Subtransaktionen vor ihrem eigentlichen Commit einen Zwischenzustand den R
159. s Muster das Schema nach dem die Daten logisch organisiert werden Im Hinblick zu den Anwenderprogrammen ist auf Datenneutralit t und mit Blickrichtung auf die physische Datenbank auf Datenunabh ngigkeit zu achten Datenneutralit t bedeutet Neue Anwendungen und neue Benutzersichten sollen keinen Einflu auf existierende Anwendungen und Sichten aus ben Datenunabh ngigkeit bedeutet Neue Ger te verbesserte Speichertechnologien ver nderte Zugriffspfade sollen sich in Anwendungen nur durch Leistungsverbesserung nicht durch Funktions nderung bemerkbar machen Bei vollst ndiger Datenneutralit t ist es m glich durch unterschiedliche Benutzersichten Netze Hierarchien Relationen das Basis Schema zu betrachten Eine Sicht view wird mit Hilfe der Datenmanipulationssprache DML aus der Basis deren Struktur durch eine Datendefinitionssprache DDL festgelegt wurde bestimmt Auf der anderen Seite sollte eine Reihe von Abbildungen das Interne Schema zur Beschreibung physischer Strukturen erzeugen Sie enthalten mit ihren Katalogen die Details zu Zugriffspfaden und zur physischen Speicherung Eine Speicherstrukturierungssprache SSL unterst tzt die verschiedenen Alternativen zur physischen Speicherung Ein hohes Ma an Datenunabh ngigkeit und neutralit t ist mit hierarchischen und auch mit netzwerkorientierten Datenbanken nicht zu erreichen 54 Datenbanken Bsp Gegeben ist RECHNUNG RECH NR 2010 DA
160. s basiert auf dem TCP IP Netzwerkprotokoll Heterogene Netzwerke bieten in diesem Zusammenhang keine grunds tzlichen Probleme Wegen der in UNIX Betriebssystemen enthaltenen unbegrenzten TCP IP und NFS Lizens kann das Netzwerk beliebig wachsen 3 Datenbank Server Datenanforderungen werden bereits an der Schnittstelle zum DB System z B in Form von SQL Anweisungen abgefangen Das Datenbanksystem mit allen untergeordneten Schichten befindet sich auf dem Server 76 eine Entwicklung von Sun Microsystems es gibt auch ein PC NFS von Sun 117 Datenbanken Pr sentation Logik Kommunikationssystem Datenbank Datei Disk Client Server Abb 1 5 8 Datenbank Server Bei der Datenverarbeitung im Netzwerk werden Programme die lokal im Netzwerk zur Verf gung stehen in den Hauptspeicher des Client geladen und ausgef hrt Erhalten diese Programme Datenbankzugriffe dann sorgt eine spezielle Softwareschicht die Middleware daf r da alle Zugriffe auf einen Datenbankserver umgelenkt werden Im Rahmen der 3 Tier Architektur wird das Client Server Modell in drei gro e Bl cke unterteilt Client Middleware und Server Im Client Block l uft der Client Teil der Applikation auf einem Betriebssystem welches ein Graphical User Interface GUI oder ein Object Orientet User Interface OOUI bietet und Zugriff zum verteilten Service hat Das Betriebssystem arbeitet mit der Middleware zusammen und
161. s dem Protokoll zu rekonstruieren Fehlerhafte Transaktionen k nnen dann in umgekehrter Reihenfolge zur ckgesetzt werden 1 7 2 Integrit tsregeln Sie gew hrleisten die logische Korrektheit Widerspruchsfreiheit der Datenbank und sorgen damit f r die Einhaltung der Integrit tsbedingungen Sie k nnen in Datenbanksystemen z B in Oracle V 7 als Trigger oder Constraints implemen tiert werden Constraints beschreiben Integrit tsregeln im Rahmen der Datende finitionen bei der Erstellung des Datenbank Schema Trigger sind Programme die komplexe F lle die nicht mit Constraints gel st werden k nnen beschreiben In beiden F llen erfolgt die Ausf hrung einer Integrit tsregel ereignisorientiert d h Das ndern Einf gen oder L schen eines Datenelements f hrt zur Ausf hrung einer Integrit tsregel 141
162. sen CODASYL DB werden bzw wurden angeboten von Honeywell IDS Univac DMS 1100 Cullinane Corp IDMS und Siemens UDS 1 4 2 IMS IMS Integrated Mangement System ist eines der ltesten Systeme und daher eines der am weitesten entwickelten DB DC Systeme IMS wurde bereits Mitte der 60er Jahre konzipiert die 1 Version Ende 1968 freigegeben Seit 1973 ist IMS in den virtuellen Systemen OS VS1 und OS VS2 verf gbar IMS VS Dar berhinaus wurden am Markt die Varianten DL 1 DOS VS und DL 1 Entry angeboten die funktionell eine Untermenge von IMS VS darstellen 74 Datenbanken Anwendungsprogramm C Anwendungsprogramm B Anwendungsprogramm A Gastsprache Gastsprache DL 1 Gastsprache DL 1 E A Puffer e DL 1 E A Puffer p 5 E A Puffer A PSB PSB B PCB PCB PSB A PCB PCB PCB 4 o PCB IMS p Kon ge troll pro 4 gramm DBD DBD DBD DBD DBD DBD DBD E PO Physische Datenbanken Abb 1 4 1 Aufbau IMS Kurzbeschreibung der DB Struktur von IMS IMS besteht in der Regel nicht aus einer einzigen sondern aus mehreren Daten banken IMS erlaubt den Aufbau hierarchisch strukturierter Datenbest nde die f r das System in 3 verschiedenen Stufen beschrieben werden Man unterscheidet zwischen der Beschreibung des hierarchischen Dat
163. spezifisch f r Flugzeugbau Ingenieure Elektro Ingenieure MNR Attribute spezifisch f r Elektro Ingenieure Manager MNR Attribute spezisch f r Manager Entit ten die Mitglieder eines Uhntertyps sind erben die Attribute ihrer bergeordneten Typen Untertypen k nen zus tzliche spezifische Attribute und Beziehungen haben Durch Aggregation werden Beziehungen und zugeh rige Entit ten zu Entit ten auf h herer Ebene zusammengefa t So kann in dem folgenden ER Diagramm Kunde Artikel und der Beziehungstyp bestellt zusammengefa t werden Auftrag Kunde a gt Arie Lager 36 Datenbanken Auftrag a Lager Abb 1 3 12 Aggregation Schwache Entit tstypen Manchmal ist es nicht m glich eine Entit t des Typs E anhand der Auspr gungen seiner Attribute zu identifizieren In solchen F llen wird eine Entit t E ber die Beziehungsmenge E E identifiziert E ist dann ein schwacher Entit tstyp Jeder Beziehungstyp der mit einem schwachen Entit tstyp verkn pft ist ist ein schwacher Beziehungstyp Im ER Diagramm wird ein schwacher Entit tstyp durch ein doppelt umrahmtes Rechteck die Richtung der Abh ngigkeit durch einen Pfeil symbolisiert z B Rechnungskopf Rechnungsposition Abb 1 3 13 Entity Relationship Diagramm f r eine Rechnung Durch das Konzept des schwachen Entit ts Typs werden Existenzabh ngigkeiten in das E
164. spezifiziert Zus tzlich zur Festlegung der gew hnlichen Attribute sog einfache Datentypen integer real string date time und deren Wertebereiche ist hier noch anzugeben von welchem Typ evtl Unterobjekte sein k nnen F r den Aufbau komplexer Strukturen sollen au erdem nicht nur Konstruktoren f r Tupel sondern auch f r Mengen und Listen zur Verf gung stehen Zum Konzept f r komplexe Objekte z hlen auch entsprechende Operatoren Sie dienen zum Auf und Abbau Konstruktoren und Destruktoren und zum Zugriff auf 26 vgl Wedekind Hartmut Relationale Datenbanksysteme Informatik Spektrum Nr 5 978 Seiten 5 16 27 z B ein Typkonstruktor zur Mengenbildung mit SET OF 56 Datenbanken die Eigenschaften von Objekten bzw zur Bildung neuer Objekte aus existierenden Objekten sog Umsetzungsoperatoren Objekte k nnen nur ber den Aufruf der definierten Operatoren Methoden angesprochen bzw bearbeitet werden Konzept der Datenkapselung Lediglich ber die Implementierung der Operatorprogramme k nnen direkte Zugriffe auf die Wertepr sentation codiert werden Die Definition neuer Objekttypen schlie t die f r diese Typen charakterischen Operatoren Methoden mit ein Objekktypen werden in diesem Zusammenhang Klassen genannt Objektorientierte Systeme unterst tzen eine Reihe von Klassen sog Basisklassen die h ufig verwendete Datenstrukturen Listen Mengen etc bereithalten Basisklassen sind evtl in K
165. stemen Folgende Forderungen sind daher von einem System zu erf llen das diese Probleme l sen soll Datenbanken 1 Keine Programm nderung bei Erweiterung von Datens tzen 2 Zugriff nur auf solche Daten im Programm die f r die Probleml sung notwendig sind 3 Redundanzfreie Speicherung von Informationen 4 Beliebige Anzahl von Einf gungen solcher Informationen die mehrfach auftreten k nnen z B mehrere Ausbildungen der Mitarbeiter 1 2 Erl uterung von Begriffen 1 2 1 Datenbanken und Datenbanksyteme Die Grenzen herk mmlicher nicht integrierter Datenverarbeitung sog Insell sungen sind zu berwinden Das kann durch eine zentrale Datenhaltung in einem Datenbanksystem erreicht werden Datenbanken sind in der geschilderten Weise die Verwirklichung des Gedankens der integrierten Datenverarbeitung Was versteht man demnach unter einer Datenbank bzw einem Datenbank system Eine Datenbank DB ist eine Sammlung von Datenbest nden in einer hochgradig integrierten Speicherung Speicher mit Direktzugriff mit vielf ltigen Verarbeitungsm glichkeiten Ein Datenbanksystem DBS ist ein Software Paket das neutral gro e Datenmengen verwaltet die Beziehungen der m glichst redundanzfreien Daten zueinander kontrolliert unterschiedliche Verarbeitungs und Auswertungsm glichkeiten der Daten gestattet Das bedeutet Alles was oft als Datenbank z B Oracle Access dBASE angeboten wird sind Datenbanksysteme DBS
166. t ndige Wiederherstellung aller Aktualisierungen zwischen der letzten Sicherung Backup und dem Zeitpunkt des Plattenfehlers bernehmen Recovery Prozeduren SQL Server unterst tzen Entit ts und Beziehungsintegrit t 78 automatische Seiten oder Datensatzsperre und verf gen uber eine automatische Erkennung von Verklemmungen Der Server erledigt die Arbeit der Front End zeigt Benutzerfreundlichkeit Front Ends von Tabellenkalkulationen oder Multimedia Programme sollen auf verschiedene DBMS zur ckgreifen k nnen Ein genormtes SQL stellt zumindestens theoretisch sicher da die Kommunikation zwischen beiden reibungslos funktioniert In der Praxis verlangt jedoch jedes DBS eine Sonderbehandlung 7 4 Pr sentations Server Pr sentation Kommunikationssystem Logik Datenbank Datei Disk Server Client Abb 1 5 10 Pr sentationsserver 78 vgl 1 2 6 2 79 vgl ODBC Open Database Connectivity Interface von Microsoft das im wesentlichen eine Windows API ist F r jedes DBMS gibt es einen ODBC Treiber 121 Datenbanken Diese Form der Anwendung wird auf Unix Systemen mit dem X Window Ansatz verfolgt Der den Dienst der Pr sentation anbietende Arbeitsplatzrechner ist hier der Server Der Client bedient sich dieser Dienste zur Interaktion mit dem Benutzer 1 5 3 2 2 2 Tier und 3 Tier Client Server Architekturen Bei 2 Tier Client Server Systemen befindet sich die Applikationslogik
167. t werden was durch Pfeile angedeutet wird Die Pfeile haben eine Beschriftung f r das ausl sende Ereignis und stellen berg nge dar In den Zust nden werden Operationen mit einer gewissen Zeitdauer ausgef hrt die Aktivit t genannt werden Im Gegensatz dazu wird die Zeitdauer von Aktionen mit Null angenommen Aktionen sind Operationen die an berg ngen ausgef hrt werden Angezeigt werden Aktionen durch einen Schr gstrich vor dem Namen Selbstverst ndlich k nnen berg nge auch an Bedingungen die in eckigen Klammern stehen gekn pft werden KennwortEingabe Zustandsname Kennwort String Ereignis Argument Bedingung Aktion Variable Typ Initialwert entry Echo ausschalten do Zeicheneingabe exit Echo einschalten entry Aktion do Aktivit t exit Aktion Abb Symbole im Zustandsdiagramm Die W rter entry do exit sind reserviert und k nnen als Bezeichnungen f r Ereignisse nicht verwendet werden entry gibt an welche Aktion im Hintergrundausgef hrt wird exit gibt an welche Aktion beim Verlassen des Zustands ausgef hrt wird do beschreibt den Aufruf eines verschaltelten Zustandsdiagramms Allgemein bezeichnet do eine Aktivit t die unendlich lange dauern kann Start M nzenEin Betrag Guthaben setzen Bereit Geldkassierend Abbrechen M nzen zur ck M nzenEin Betrag Guthaben erh hen Datenbanken Flaschen leer w hlen Getr nk Wechselgeld lt 0 do F
168. te Linie 2 Kontrollfokus langes schmales Rechteck transient lt lt create gt gt Transaktion setAction a d o gt setValues d 3 4 setValues a CO committed lt lt destroy gt gt Abb Sequenzdiagramm Kollaborationsdiagramme haben zwei Merkmale die sie von Sequenzdiagrammen unterscheiden 1 Zur Anzeige wie ein Objekt mit einem anderen Objekt verbunden ist kann man einen Pfad Stereotyp am entferntesten Ende der Objektbeziehung angeben wie lt lt local gt gt zur Kennzeichnung dass dieses Objekt f r das zu sendende Objekt lokal ist 2 Zur Kennzeichnung der zeitlichen Anordnung schreibt man eine Nummer als Pr fix vor die Nachricht beginnend mit der Nummer 1 monoton wachsend f r jede weitere Nachricht f r den Kontrollfluss 67 Datenbanken c Client 1 lt lt create gt gt 2 setAction a d o 3 lt lt destroy gt gt lt lt local gt gt lt lt global gt gt transient 2 1 setValues d 3 4 2 2 setValues a CO Abb Kolloborationsdiagramm Zustandsdiagramm Ein Zustandsdiagramm zeigt einen Automaten der aus Zust nden Zustands berg ngen Ereignissen und Aktivit ten besteht Bei Zustandsdiagrammen steht das nach Ereignissen geordnete Verhalten eines Objekts im Vordergrund Zust nde werden symbolisch ber Rechtecke mit abgerundeten Ecken dargestellt Durch das Eintreffen von Ereignisssen kann ein anderer Zustand erreich
169. te verf gbaren Expertensysteme noch folgende Annahmen Die Menge der zu verwaltenden Fakten und Regeln ist klein klein genug um vollst ndig im Hauptspeicher gehalten zu werden Es arbeitet jeweils nur ein Benutzer auf derselben Fakten und Regelmenge Die Sicherung und Wiederherstellung der Daten wird durch die Betriebsumgebung geleistet Anderung der Fakten und Regeln sind sehr selten 11 Datenbanken 1 2 3 Klassifikation von Datenbanken 1 2 3 1 Klassifikationsmerkmale Es gibt in der Datenverarbeitung zwei Arten von Informationen die wegen ihrer grunds tzlich verschiedenen Struktur auch bei Datenbanken unterschiedliche Behandlung erfordern 1 Texte Jede Zeichenkette Wort besitzt eine Bedeutung Die Stellung der Worte im Text ergibt den logischen Zusammenhang 2 Daten Die Position der Daten innerhalb einer Zeichenkette weist dem Wert eine Bedeutung zu Dadurch ist die Reihenfoge streng festgelegt Bsp Zahlenfolge 345670076 Die Zahlenfolge sagt nichts aus solange unbekannt ist die ersten 2 Stellen 34 beinhalten den Schl ssel f r eine Automarke die n chste Stelle 5 den Fabrikationsort die n chsten 4 Stellen 6700 den Autotyp 1 2 3 2 Formatierte und unformatierte Datenbanken Formatierte Datenbest nde Die Abspeicherung der Daten erfolgt nach einem festen Schema Format Der Zugriff zu den Daten ist ber Ordnungskriterien und Feldnamen gegeben Bsp PERSAREENAVE SENORNAME E eni
170. tierung der Kontorelation Die vertikale Fragmentierung teilt die globale Relation in Abh ngigkeit von den Attributen auf Die Fragmentierung wird mit Hilfe der Projektion gebildet Die Zuordnung der verteilt gespeicherten Attributgruppen erfolgt ber den redundant abgebildeten Prim rschl ssel Bsp Aufteilung der Relation Artikel in ein bestandsbezogenes und in ein preisbezogenes Tupel 92 In relationalen Datenbanken ist die Relation Tabelle Ausgangspunkt f r die Verteilungseinheit 135 Datenbanken Vertikale Fragmente Globale Relation Artikel Nr u Preis Bestand Abb 1 5 24 Vertikale Fragmentierung der Realtion Artikel Auch Mischformen sind denkbar Dabei l t sich bspw ein vertikal gebildetes Fragment nochmals in eine Gruppe von horizontal gebildeten Fragmenten unterteilen Auf dem Fragmetierungsschema baut das Allakationsschema auf Hier ist eine Entscheidung ber Dispersion und Replikation der Fragmente zu treffen Bei der Dispersion werden das Fragment einer globalen Relation genau einmal auf einen Knoten des verteilten Systems als Tabelle abgebildet Der Zugriff auf die im Fragment gespeicherten Daten hat auf genau diesen Knoten zu erfolgen und ist damit abh ngig von der Verf gbarkeit des betreffenden Knotens und der Verf gbarkeit des Netzwerks zur Erreichung des Knotens Bei der Replikation werden Fragmente redundant gespeichert Der Verbrauch an Speicherplatz steigt auf die Daten k
171. tionalen Abh ngigkeiten in Schl ssel abh ngigkeiten Die Menge der Abh ngigkeiten ist quivalent zur Menge der Schl sselbedingungen im resultierenden Datenbankschema Abh ngigkeitstreue Bsp Gegeben sind in der folgenden Tabelle die Studiendaten von Studenten an einer Hochschule Schl ssel sind MATNR und SRNR STUDIENDATEN SRNR STUDR Informatik Physik Psychologie Br ckenweg 23 Informatik 01 10 1989 Br ckenweg 23 Physik 01 10 1989 Hochstra e Informatik 01 10 1977 Abb 1 3 3 Tabelle mit Studiendaten Grabenweg 4 Psychologie 01 03 1990 Die vorliegende Tabelle zeigt redundante Daten Informatik Physik Psychologie Die Abh ngigkeiten dieser Daten Bezeichnung der Studienrichtung vom Attribut Studienrichtungsnummer ist offensichtlich zweckm igerweise ist diese Ab h ngigkeit in einer eigenen Tabelle zu verwalten Die Attribute NAME ADRESSE sind vom Teilschl ssel MATNR abh ngig die Attribute STUDR ANFANGSDATUM vom Teilschl ssel Studienrichtungsnummer abh ngig Es ist besser solche Abh ngigkeiten in getrennten Tabellen zu verwalten So f hrt die Normalisierung der vorstehende Tabelle auf folgende Tabellen STUDENT STUDIUM 14 Abk rzungen MATNR Matrikelnummer SRNR Studienrichtungsnummer STUDR Studienrichtung ANFANGSDAT Anfangsdatum 28 Datenbanken STUDIENRICHTUNG SRNR STUDR Physik Psychologie Abb 1 3 5 Normalform der Tabelle mit Studiendaten Der vorli
172. tra e 30164 Liesel 1 2 840 1 800 8 M nchen Hahnstra e 29910 J rgen 4 4 400 2 200 8 M nchem Buschstra e 27730 Uwe 3 2970 2 100 8 M nchen Karlsplatz Pers Nr Name Steuer Brutto Netto Adresse klasse gehalt gehalt Programm Programm Gehaltsabrechnung Adressenschreiben berweisung Liesel berweisung J rgen berweisung Uwe 2 100 DM Abb 1 1 2 Datenflu zur 2 Aufgabe Aus dieser L sung ergeben sich zwei Schwierigkeiten 1 Der Datensatz vergr sset sich Das bestehende Programm Gehaltsabrechnung mu ge ndert werden denn der Eingabebereich mu entsprechend vergr ssert werden Erweiterung von Datens tzen bedeutet nderung aller bestehenden Programme die mit den Datens tzen arbeiten 2 Das Programm das die Aufkleber mit Adressen beschriftet mu den erweiterten Datensatz einlesen Damit kann man in diesem Programm auch alle anderen Personaldaten verarbeiten Die Daten sind nicht mehr vertraulich Datenschutz L sung 2 Der Datenbestand f r die Gehaltsabrechnung bleibt unver ndert Damit entfallen Programm nderungen Der Datenbestand f r die Adressenschreibung wird v llig neu aufgebaut Datenbanken 31210 Ute 8 M nchen Ebertstra e 30164 Liesel 8 M nchen Hahnstra e 29912 J rgen 8 M nchen Buschstra e
173. tstyps in dieser Beziehung als mandatory zwingend bezeichnet Andernfalls ist die Mitgliedsklasse optional freigestellt Bsp Eine Datenbank f r die Verwaltung einer Gemeinde umfa t B rger alle Einwohner und Haushaltsvorst nde zweckm igerweise sind das die Einwohner der Gemeinde von denen man Steuern erheben kann Jeder B rger ist zwingend mit dem Datum der Geburt Einwohner der Gemeinde 8 vgl Abb 1 3 1 25 Datenbanken und bleibt das bis er gel scht wird z B beim Tod oder einem Umzug Zum Steuerzahler wird er dann im bertragenene Sinne optional falls er Grundbesitz Grundsteuer hat oder ein Gewerbe betreibt Die Entscheidung ob eine Mitgliedsklasse eines Entit tstyps in einer Beziehung zwingend oder freigestellt ist liegt h ufig im Ermessen des Datenbank Model lierers 1 3 1 2 Beziehungen und Beziehungsattribute Ein Beziehungsattribut beschreibt die Verkn pfung einer Beziehungsmenge mit einer Dom ne bzw mehreren Dom nen z B Beziehungen zwischen Studenten repr sentiert durch den Entit tsschl ssel S mit den Erscheinungsformen S1 s2 S3 und Dozenten repr sentiert durch den Entit tsschl ssel D mit den Auspr gungen D1 D2 werden durch die Beziehungs menge BELEHRT beschrieben der das Beziehungsattribut BEURTEILUNG zugeordnet werden kann So kann bspw BELEHRT D1 S1 D1 S3 D2 S1 D2 S2 D2 S3 ber das Beziehungsattribut Werte aus
174. verbindung Durch die Darstellungsschicht Presentation Layer wird die sog Transfermatrix Codierung f r die zu bertragenden Daten festgelegt Die Anwendungsschicht stellt die Schnittstelle zum Anwendungsproze bereit Protokollbeispiele f r diese Schicht sind Mail FTP Telnet NFS Der langwierige ISO OSI Normungsproze hat dazu gef hrt da sich in weiten Bereichen andere Kommunikationsprotokolle durchgesetzen konnten z B IPX SPX IPX l uft auf der OSI Schicht 3 Vermittlung und regelt den Transport von Daten zwischen den einzelnen Netzknoten sowie den Austausch von Statusinformationen SPX ist auf der Schicht 4 69 Protokollsammlung von Novell Internet Package Exchange Sequential Package Exchange 110 Datenbanken Transportschicht angesiedelt und besorgt Auf und Abbau von Verbindungen zwischen Client PCs und Server Anwendungen SNA TCP IP Im Gegensatz zum OSl Referenzmodell und auch zu SNA weist diese Kommunikationsschnittstelle nur 4 Schichten auf Netzwerk Internet Transport und Anwendung TCP IP l t sich auf verschiedenen Tr germedien serielle Leitungen X 25 Ethernet usw einsetzen und ist vor allem im UNIX Bereich weit verbreitet Die Familie der TCP IP Protokolle hat sich bei Weitverkehrsnetzen WAN als Quasi Standard durchgesetzt Weltweit sind ungef hr zwei Millionen Rechner ber das Internet verbunden Die Unterst tzung der verschiedenen Netzwerkmodelle z B TCP IP
175. vice vom Server zu erhalten Middleware beginnt beim Client API ber welchen ein Serviceaufruf abgesetzt wird beinhaltet die bertragung des Aufrufes ber ein Netzwerk und die resultierende Antwort auf den Aufruf Sie beinhaltet nicht die Software die den eigentlichen Service bietet das befindet sich im Server Block oder das User Interface welches sich im Client Block befindet Der Datenbankserver berechnet das Ergebnis und das Programm auf dem Client wird automatisch mit diesen Daten versorgt Im Unterschied zum Dateiserver f hrt der Datenbankserver komplexe Operationen aus Eine Transaktionsverwaltung ist ber den Datenbank Server m glich Es k nnen auch Server eingesetzt werden die eine andere Betriebssystem oder Hardwarearchitektur haben als Client Rechner So sind spezielle Datenbankrechner als Datenbank Server einsetzbar sobald sie ber ein Kommunikationssystem von den Clients aus erreicht werden k nnen Bekannte Produkte sind Oracle Ingres IBM Database Manager sowie Server von SyBase und Gupta Technologies Das Oracle Client Server Konzept Ab Version 7 hei t das relationale Datenbanksystem der Firma Oracle Oracle7Server Dieser Begriff betont ab Version 7 ausgepr gte Serverf higkeiten der Datenbankssoftware von Oracle Auch dieser Datenbankserver mu in irgendeiner Form mit SQL Befehlen versorgt werden Dies bernimmt ein Client Proze der auf dem gleichen Rechner l uft wie der Oracle7Server lokale Anw
176. werden durch Zeiger realisiert Das Segment auf das verwiesen wird hei t logisches Kind logical child Es ist i a kein Tr ger von Daten sondern dient als Zeigersegment auf den logischen Vater logical parent Ein logical child kann nur als abh ngiges Segment auftreten das zur Vermeidung redundanter Speicherung dient Logische Elternsegmente k nnen mehrere logische Kinder besitzen Ein logisches Elternsegment kann aber nicht zugleich auch logisches Kind eines logischen parent sein Zugriff zu Zeigersegmenten Der Zugriff zu einem Zeigersegment kann ber 2 verschiedene Wege erfolgen 1 Der physische parent ist Ausgangspunkt der Abfrage 2 Der logische parent ist Ausgangspunkt der Abfrage physischer parent logischer parent A c A C phys Datenbank Nr 1 phys Datenbank Nr 2 Hierarchische Pfade Abb 1 3 31 Physischer und logischer Parent in hierarchischen Datenbanken Dem Anwender werden also nicht nur die Daten des log parent zur Verf gung gestellt wenn er das log child abfragt sondern eine Kombination concatenated segment der Daten des log Kindes und des Segments das nicht als Ausgangs punkt der Anfrage diente 6 Logische Datenbankstrukturen Ausgehend vom Root Segmenttyp einer logisch verkn pften phy sischen Datenbank kann jedes Segment unver ndert bernommen werden mit Ausnahme der logical child Segmente Statt dessen wird ein neuer Segmenttyp definiert der aus der Verkettung vo
177. ystem einem Teil der Hardware oder durch Zeitablauf in Gang gesetzt Entit ten die solche Sequenzen ansto en nennt man Akteure Das Ergebnis dieser Sequenz mu etwas sein was entweder dem Akteur der sie initiierte oder einem anderen Akteur nutzt 38 1996 begannen die Arbeiten an der UML Im Jahre 1997 wurde die Version 1 0 bei der Object Management Group OMG als Standardisierungsvorschlag eingereicht und eine Beschreibung der Version 1 0 wurde ver ffentlicht Im September 1991 wurde die Version 1 1 bei der OMG eingereicht 39 Vgl G nther Wahl UML kompakt OBJEKTspektrum 2 1998 61 Datenbanken Ein Use Case ist eine typische Handlung die ein Benutzer mit dem System ausf hrt z B Aktienkauf Im Diagramm werden Use Cases durch Ellipsen dargestellt Verbindungen zu den entsprechenden Use Cases werden durch Linien dargestellt Damit wird angezeigt welche Aktoren an dem entsprechenden Use Case beteiligt sind Bsp Geld anlegen lt lt uses gt gt xtends gt gt Ge D Bankangestellter In diesem Use Case Diagramm gibt es zwei weitere Verbindungstypen lt lt uses gt gt und lt lt extends gt gt lt lt uses gt gt wird verwendet wenn zwei oder mehrere Use Cases einen hnlichen Aufbau haben und Verhalten durch Kopieren wiederholt dargestellt werden mu Mit lt lt uses gt gt ist es m glich Verhalten von den Use Cases in einen seperaten Use Case zu verlagern Bei lt lt extends gt gt wird
178. zer sieht keine speziellen Verweisstrukturen zwischen den Tabellen 3 Es gibt Operationen zur Auswahl von Tabellenzeilen Selektion Tabellenspalten Projektion sowie zur Verbindung join von Tabelleneintr gen Keine dieser Operatoren ist jedoch auf Kontrollstrukturen angewiesen oder durch vordefinierte Zugriffsstrukturen beschr nkt Diese Operationen werden ber eine Datenmanipulationssprache DML realisiert die auf Daten zugreifen Daten einf gen l schen korrigieren und Anfragen beantworten kann Datenmanipulationssprachen im Bereich relationaler Datenbanken sind besonders leicht und einfach Ein weit verbreitetes Beispiel daf r ist SQL Die Darstellung der Daten in einer relationalen Datenbank folgt speziellen Vor schriften Diese Vorschriften Theorie des relationalen Datenbankentwurfs be zeichnet man blicherweise als Normalisierungstheorie Normalisieren bedeutet Darstellung des logischen Schemas einer relationalen Datenbank in der Form einfacher nicht geschachtelter Tabellen Das relationale Datenbankmodell ist heute die bliche Organisationsform in der Daten f r die Abbildung im Rechner beschrieben werden F r die Darstellung gelten allgemein folgende Regeln Alle Datens tze Tabellenzeilen sind gleich lang Jeder Datensatz Tupel kommt nur ein einziges Mal in einer Tabelle vor die Reihenfolge der S tze Tupel ist beliebig Jede Tabellenzeile beschreibt einen Datensatz Die eindeutige Identifizieru
179. zern gleichzeitig bearbeitet werden So k nnen h ufig wiederkehrende Gesch ftsvorg nge sofort durch Zugriff von Datenstationen ber ein Anwendungs programm auf zentrale Datenbest nde erledigt werden Eine DC Transaktion TA ist als Folge von Dialog Datenbank und Verarbeitungsanweisungen definiert die einen konsistenten Datenbestand in einen wieder konsistenten Bestand berf hren Konsistenz bedeutet Der Datenbestand ist logisch widerspruchsfrei Eine Transaktion umfa t demnach eine oder mehrere DB Operationen f r die die DB Software sog Transaktionseigenschaften gew hrleistet Dazu z hlt bspw die Alles oder nichts Eigenschaft Anderungen einer Transaktion werden vollst ndig oder berhaupt nicht in die Datenbank bernommen Erfolgreiche Transaktionen sind dauerhaft Sie gehen trotz m glicher Fehlersituationen Rechner Plattenausfall Fehler im Kommunikationsnetzwerk nicht mehr verloren Daf r sorgen spezielle Log Dateien die alle nderungen protokollieren Das DBMS sorgt bei Ausf llen f r geeignete Recovery Ma nahmen Endbenutzer TP System Anwendungs DBMS Datenstation programm gt TA Auf trag empfangen TA Auftrag DB E Transaktion R sende TA Ergebnis TA Ergebnis Abb 1 5 2 Bearbeitung eines Transaktionsauftrages 99 Datenbanken Transaktionsparallelit t Im Mehrbenutzerbetr
180. zwischen Endbenutzer und dem DBMS auf direktem Wege statt Es handelt sich dabei um ein geschlossenes System aus Datenbank und Daten bankverwaltung Die Systeme werden self contained exekutiv oder anwen dungsorientiert genannt 2 Die Kommunikation mit der Datenbank erfolgt ber Programme Die Bedienung eines solchen eingebetteten oder host language Systems erfordert Programmierkenntnisse denn Datenbankanweisungen und Datenbank beschreibung richten sich nach den Konventionen der Gastsprache der Benutzerprogramme Man spricht von programmorientierten operierenden bzw host language Systemen Weiterhin mu es eine Methode zur Strukturdefinition der Datenbank Design geben das Design in einer Struktur Definitions Sprache Data Description Language DDL als Quellcode Schema deklariert werden Es mu ein DDL bersetzer DDL Prozessor zur Verf gung stehen um Objektcode zu erzeugen es Ladebefehle Laden der Datenbank bzw allg Utilities zurAdministration geben eine Redefinition der Struktur leicht m glich sein zur Ein Ausgabe von Daten der Datenbank eine M glichkeit zur Daten manipulation vorhanden sein Diese M glichkeit kann in einer Datenmanipulations Sprache DML vorliegen die in eine gastgebende herk mmliche Programmiersprache Cobol Pascal C eingebettet ist Es kann aber auch eine eigenst ndige meistens abfrageorientierte Sprache QL vorliegen In vielen Datenbanksystemen gibt es gleichzeitig beide M

Download Pdf Manuals

image

Related Search

Related Contents

Audiovox XM-RCV User's Manual  18955 Rev A_ViewRNA ISH Tissue2-Plex Assay UM.book  Sparkle Technology GeForce GT240 1024MB NVIDIA GeForce GT 240 1GB  特 長 工場エネルギー管理システム 「SAN FEMS R ライト」  premiere sortie vocale de vocal`dille - MJC de Saint  User Manual for the 32 Bank Memory System for the Devil Fish  

Copyright © All rights reserved.
Failed to retrieve file