Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bauinformatik II Softwareanwendungen 1

Ähnliche Präsentationen


Präsentation zum Thema: "Bauinformatik II Softwareanwendungen 1"—  Präsentation transkript:

1 Bauinformatik II Softwareanwendungen 1
Relationale Datenbanken für Bauingenieurprobleme 5. Semester 2. Vorlesung Einführung, Entität, Relation Prof. Dr.-Ing. R. J. Scherer Nürnberger Str. 31a 2. OG, Raum 204 TU Dresden - Institut für Bauinformatik

2 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Datenbanken Definition: Eine Datenbank ist eine selbständige und auf Dauer ausgelegte Datenorganisation, welche einen Datenbestand sicher und flexibel verwalten kann. Dies braucht deshalb kein Datenbanksystem sein. Alle persönlichen Daten-Tabellen sollten diese Anforderungen erfüllen. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

3 Anforderungen an eine Datenbank
Sie soll dem Benutzer den Zugriff auf die gespeicherten Daten ermöglichen, ohne dass dieser wissen muss, wie die Daten im System organisiert sind. Sie muss verhindern, dass ein Benutzer Daten einsehen oder manipulieren kann, für die er keine Zugriffsberechtigung hat. Es darf nicht passieren, dass wegen Fehlmanipulationen des Benutzers Daten zerstört werden können oder gar der ganze Datenbestand unbrauchbar wird. Es muss möglich sein, die interne Datenorganisation zu ändern, ohne dass der Benutzer seine Anwenderprogramme (Applikationen) anpassen muss. Im Idealfall merkt der Benutzer von der Strukturänderung nichts. Die gespeicherten Daten müssen eine überschaubare Struktur aufweisen. Die gleiche Information soll nicht mehrfach (redundant) oder wenigstens kontrolliert redundant gespeichert werden. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

4 Bestandteile einer Datenbank
Masken-Generator Report-Generator Menü-Generator Daten-Konverter für Export/Import RDBMS Administrations- programm SQL-Interpreter SQL-Schnittstelle: - Datendefinition Datenmanipulation Datenschutz Datenabfrage Sonstige Programme: Precompiler Netzwerkanbindung . . . RDBMS = Relationales Datenbank-Management-System Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

5 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Datenbanksoftware z.B. Oracle, My-SQL, MS-SQL-Server, MS-Access, (MS-Excel) ist einem Compiler vergleichbar. Sie stellt über Befehle Grundfunktionen zur Verfügung. Spezielle Funktionen (Transaktionen) sind zu programmieren Zum Vergleich: JAVA, C++, FTN-Compiler (einschl. der Bibliotheken) stellen die mathematischen Grundfunktionen zur Verfügung, z. B. sin(x) muss nicht als Reihenentwicklung programmiert werden. Grundfunktionen sind: (s. 3. Sem.) Vereinigung Projektion Division Entität (Tabelle) erstellen Attribut einfügen Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

6 Betriebswirtschaftliche Nutzung
Große Datenbestände Viele Nutzer Viele gleichzeitige Nutzer auf verschiedenen Daten Wenige gleichzeitige Nutzer auf gleichen Daten Kurze Transaktionen Lange Lebensdauer Einfache bis mittlere Komplexität der Daten Ingenieurwirtschaftliche Nutzung Wenige Nutzer Mehrere gleichzeitige Nutzer auf gleichen Daten Lange bis sehr lange Transaktionen, viele Änderungen Mittlere Lebensdauer, evtl. sogar kurze (Versionen) Mittlere bis hohe Komplexität der Daten Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

7 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Datenbankmodelle  Hierarchische  Relationale (viele Tabellen) 1 100 Industriehalle ONr 102 105 100 Kaufhalle Kino Industriehalle Baul.Objekt Ort Neudorf Pegau Heinitz GNr 134 155 121 Dachdecker Betonbau Gerüstbau Gewerk Neudorf Gerüstbau Betonbau 2 1.1.1 1.1 1.2.1 1.2 1.2.2 102 Kaufhalle GNr Datum ONr 100 155 102 134 121 105 Heinitz Gerüstbau 2.1 2.1.1 Dachdecker 2.2 2.2.1 3 105 Kino = Erweiterung der relationalen Datenbank  Objekt-orientierte Pegau 3.1 Dachdecker 3.1.1 - Ontologien: Erweiterung der Objekte um logische Bedeutung Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

8 Relationale Datenstrukturen
Das relationale Datenmodell wurde erstmals 1971 von E. F. Codd auf einem Workshop on 'Data Description, Access and Control' formuliert. 1972 erschien ein Buch von ihm bei Prentice-Hall. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

9 Relationale Datenbankmodelle
sind Tabellen, die durch identische Attribute miteinander verknüpft sind ONr Datum GNr 100 155 102 134 121 105 Dachdecker Betonbau Gerüstbau Gewerk Kaufhalle Kino Industriehalle Baul.Objekt Ort Neudorf Pegau Heinitz 2. zwischen den Tabellen: die verbindenden Attribute Wir unterscheiden 2 Arten von Relationen 1. innerhalb einer Tabelle: 1 Zeile Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

10 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 1 Relationale Datenbanken sind auf dem Prinzip Relation (= Beziehung, Zusammengehörigkeit, Bezug) aufgebaut. So besteht zwischen den einzelnen Werten: ein gewisser Bezug. Sie charakterisieren das bauliche Objekt. Jede andere Kombination von Objekt_Nr., baul.Objekt, Ort würde ein anderes bauliches Objekt oder eine andere Erscheinungsform (Version) beschreiben. Die Werte stehen in einer gewissen Relation, die nicht mathematischer Natur ist (Zahlenraum), sondern rein beschreibender Natur. 100 – Industriehalle - Neudorf Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

11 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 1 Alle zulässigen Relationen ordnen und begrenzen den mehrdimensionalen Werteraum der aus dem kartesischen Produkt zB. aller Objekt-Nummern x aller baulichen Objekte x aller Orte x entsteht. Diese Ordnung ist eine Ordnung nach Themen (z. B. Raumbuch, Gebäudeverwaltung, Geoinformationssysteme) bzw. eine Klassifikation nach Klassen (z. B. C++ Programmierung) in Form von Tabellen ( was Ingenieure seit Tausenden von Jahren schon machen) Daraus ergibt sich die Bedeutung des Wortes Entität = Thema, Klasse, Tabelle. Da wir damit die Wirklichkeit oder eine virtuelle Wirklichkeit beschreiben, gibt es noch die Synonyme Entität = Ding, Objekt  Ein Relationstyp definiert eine Entität (Objekt) Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

12 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 1 definieren die Dinge der Welt Die Relation formt eine Einheit, die uns ermöglicht, Dinge erkennen zu lassen, z.B. ist es ein Kommunikationsmittel oder eine Kommunikationsform Arbeiter Name Beruf Baumaschinen Name Typ Leistung Alter Kommunika- Name Form Leistung tionsformen Bau- materialien Name Kommunika- tionsmittel Name Typ Leistung Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

13 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 2 Jetzt gibt es noch eine zweite Stufe von Relationen, welche die Relationen zwischen den Entitäten, die Beziehungen zwischen den Dingen der Welt darstellen. Arbeiter Bau- maschinen bedient beeinflussen verarbeitet einsetzen verarbeitet Kommu- nikations- formen Bau- material Kommu- nikations- mittel benötigen Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

14 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 2 Sie prägte den Begriff Entity-Relationship Model = ER Model Die Relationen werden nicht explizit durch „semantische“ Zeiger, sondern über Attribute, die in beiden Entititäten in identischer Form vorkommen, umgesetzt. Baumaschine Masch.-Nr. Name Arb-Nr(Fahrer) Arbeiter Arb-Nr Name Arb.Nr  Fahrer Die Entitäten können so eindeutig verknüpft werden, die Relation selber ist nicht eindeutig festgelegt. Obige Relationen könnte sowohl „besitzt“, als auch „bedient“ bedeuten. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

15 Wiederholung aus dem 3. Semester
Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

16 Operationen auf relationalen Datenstrukturen
Die 4 wesentlichen Operationen sind: Projektion Vereinigung (Verbund) Restriktion Division. Mit diesen vier Grundoperationen können alle Ausdrücke gebildet werden, die für das Arbeiten mit relationalen Datenbanken notwendig sind. Sie basieren auf den 3 klassischen Mengenoperationen: Vereinigung: r1  r2 : = x  x  r1 oder x  r2 Durchschnitt: r1  r2 : = x  x  r1 und x  r2 Differenz: r1 \ r2 : = x  x  r1 und x  r2 Die Verknüpfung dieser Operationen mit der Objektmenge wird auch als Relationenalgebra bezeichnet. Die Operationen gelten für beliebige n-stellige Relationen mit n  2. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

17 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Projektion Durch die Projektion werden aus einer n-stelligen Relation einzelne Spalten entfernt, d.h. die Relation wird auf eine neue Relation projiziert, die genau die nicht zu entfernenden Spalten enthält. Die Zeilen, die identische Werte enthalten, sind nur einmal zu erstellen, d. h. doppelte Zeilen werden gelöscht. Die Projektionsoperation wird mit  bezeichnet, Rneu =  (L) Ralt L ist eine Liste von den Attributen, die erhalten bleiben. Rneu muss natürlich eine n-stellige Relation mit n > 2 sein. Beispiel: Mitarbeiterkurzform =  (Pers.-Nr., Name, Vorname) Mitarbeiter Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

18 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Projektion Rneu =  (Mitar,Pers-Nr.,Name,Vorname) Ralt Mit- arbeiter 1 2 3 4 5 6 Pers- Nr. 1015 1055 1075 2015 2020 2090 Name Müller Klein Adler Schmidt Walther Vorname Hans Rolf Otto Fritz Anton Anna Wohnort Dresden Freiberg Radeberg Zittau Ge- schlecht m w Beruf Müller Bäcker Maler Politiker Student Lehrerin Steuer-klasse 1 3 5 Ge- schlecht m w Mit- arbeiter 1 2 3 4 5 6 Pers- Nr. 1015 1055 1075 2015 2020 2090 Name Vorname Müller Klein Adler Schmidt Walther Hans Rolf Otto Fritz Anton Anna Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

19 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Beispiel: Verbund R23 = R2 [D2, D3] R3 R2 Alex Laura Uwe Ruth B2 Max Rolf Paul Ruth Uwe Laura Alex 1 2 3 4 D3 B3 R3 Dieser Verbund ist in der dargestellten Form nur möglich, wenn für Paul, der zweimal, sowohl in D2 als auch in D3 , vorkommt, eine Rolle zugewiesen wird. Das Rollenattribut ist in diesem Fall die laufende Nummer. D2 1 2 3 4 Max Rolf Paul 1 2 3 4 R23 Max Rolf Paul D2 Alex Laura Uwe Ruth B2 Ruth Uwe Laura Alex B3 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

20 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Beispiel: Verbund R23 = R2 [D2, D3] R3 R2 Alex Laura Uwe Ruth B2 Max Rolf Paul Ruth Uwe Laura Alex 1 2 3 4 D3 B3 R3 Bei einem Verbund ohne Rollenattribut werden mehrfach vorkommende Attribute kombiniert; es wird das Kreuzprodukt gebildet D2 1 2 3 4 Max Rolf Paul R23 1 2 3 4 5 6 B5 Alex Laura Uwe Ruth B6 D4 Max Rolf Paul Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

21 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Beispiel: Verbund In der zweiten Tabelle sind alle möglichen Relationen explizit ausgedrückt. Dies führt zwar zu einer Datenredundanz bezüglich der Werte, jedoch geht keine Information verloren, wenn die Daten manipuliert werden. Wenn z. B. alle Tupel gelöscht werden, in denen das Attribut B5 den Namen Uwe annimmt, so würde bei der ersten Tabelle die Information verloren gehen, dass Paul der Vater von Laura ist. Dies bezeichnet man als Anomalie. Erst mit Zusatzbedingungen könnte man in einer Tabelle, in der Anomalien auftreten können, Daten- bzw. Informationsverluste vermeiden. Beide Tabellen repräsentieren, falls sie nicht modifiziert werden, natürlich in vollständiger Weise die Realwelt, aber eben nicht gleichwertig. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

22 Restriktion Diese Operation selektiert aus einer Relation alle Tupel r, d. h. alle Zeilen der Tabelle, die eine vorgegebene Bedingung erfüllen.  [Bedingung] R = r  R  r erfüllt B. Dies ist die klassische Suchoperation. Als Operatoren der Bedingung sind die Bool'schen Operatoren zugelassen. Die Operanden sind die Attributwerte der Relation. Beispiel: männliche Mitarbeiter aus Dresden =  [Wohnort = Dresden  Geschlecht = m] Mitarbeiter Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

23 Division Die Division durch ao ist für eine binäre Relation mit R  A x B definiert als R / ao = (ai, bj)  R  (ao, bj)  R, bj  B Da ai fest ist, kann dies auch verkürzt ausgedrückt werden: B / ao = bj  B  (ao, bj)  R Die Division kann als Sonderfall der Restriktion für die Bedingung R / ao = R [ ai = ao ] =  [ A = ao ] R gesehen werden. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

24 Sprachen für die relationale Datenstruktur
Zur Manipulation von relationalen Datenstrukturen ist eine Manipulationssprache notwendig. Hierbei kann unterschieden werden in prozedurale Sprache: = Relationenalgebra deskriptive Sprache : = Relationenkalkül graphik-orientierte Sprache:= Beispielsprache Die Relationenalgebra basiert auf den Operationen, die bereits beschrieben wurden. Es können mehrere Operationen hintereinander ausgeführt werden. Die Abarbeitung erfolgt von rechts nach links, wenn durch Klammern keine andere Reihenfolge vorgegeben ist. Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

25 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Das Relationenkalkül Das Relationenkalkül basiert im Prinzip auf der Operation "Restriktion". Es wird über eine Bedingung, die auf die Attributwerte anzuwenden ist, die Teilmenge der Tupel spezifiziert, die selektiert werden soll. Die allgemeine Form lautet x  B (x) Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

26 Beispiel: Relationenkalkül
Suche alle Mitarbeiter (Teilmenge der Mitarbeiter), die nicht in Dresden wohnen und Lohnsteuerklasse 1 haben.  x  x  Mitarbeiter, Wohnort =  Dresden  Lohnsteuerklasse = 1 Mit- arbeiter 1 2 3 4 5 6 Pers- Nr. 1015 1055 1075 2015 2020 2090 Name Müller Klein Adler Schmidt Walther Vorname Hans Rolf Otto Fritz Anton Anna Wohnort Dresden Freiberg Radeberg Zittau Ge- schlecht m w Beruf Müller Bäcker Maler Politiker Student Lehrerin Steuer-klasse 1 3 5 Ge- schlecht m w TM 1 2 Name Klein Walter Vorname Otto Anna Wohnort Radeberg Zittau Beruf Maler Lehrerin Pers- Nr. 1075 2090 Steuer-klasse Ge- schlecht m w Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung


Herunterladen ppt "Bauinformatik II Softwareanwendungen 1"

Ähnliche Präsentationen


Google-Anzeigen