Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Bauinformatik II Softwareanwendungen 1 5. Semester 2. Vorlesung Einführung, Entität, Relation Prof. Dr.-Ing. R. J. Scherer Nürnberger Str. 31a 2. OG,

Ähnliche Präsentationen


Präsentation zum Thema: "Bauinformatik II Softwareanwendungen 1 5. Semester 2. Vorlesung Einführung, Entität, Relation Prof. Dr.-Ing. R. J. Scherer Nürnberger Str. 31a 2. OG,"—  Präsentation transkript:

1

2 Bauinformatik II Softwareanwendungen 1 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 Relationale Datenbanken für Bauingenieurprobleme

3 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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.

4 TU Dresden - Institut für Bauinformatik Folie-Nr.: 3 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Sie soll dem Benutzer den Zugriff auf die gespeicherten Daten ermöglichen, ohne dass dieser wissen muss, wie die Daten im System organisiert sind. Anforderungen an eine Datenbank 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.

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

6 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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...

7 TU Dresden - Institut für Bauinformatik Folie-Nr.: 6 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung 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

8 TU Dresden - Institut für Bauinformatik Folie-Nr.: 7 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Datenbankmodelle  Hierarchische 100 Industriehalle 1  Relationale (viele Tabellen) = Erweiterung der relationalen Datenbank  Objekt-orientierte - Ontologien: Erweiterung der Objekte um logische Bedeutung - Ontologien: Erweiterung der Objekte um logische Bedeutung Gerüstbau Betonbau Kaufhalle Gerüstbau Dachdecker Neudorf Heinitz 105 Kino Pegau Dachdecker GNr Dachdecker Betonbau Gerüstbau Gewerk GNr Datum ONr ONr Kaufhalle Kino Industriehalle Baul.Objekt Ort Neudorf Pegau Heinitz

9 TU Dresden - Institut für Bauinformatik Folie-Nr.: 8 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Das relationale Datenmodell wurde erstmals 1971 von E. F. Codd auf einem Workshop on 'Data Description, Access and Control' formuliert erschien ein Buch von ihm bei Prentice-Hall. Relationale Datenstrukturen

10 TU Dresden - Institut für Bauinformatik Folie-Nr.: 9 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung ONr Datum GNr GNr Dachdecker Betonbau Gerüstbau Gewerk ONr Kaufhalle Kino Industriehalle Baul.Objekt Ort Neudorf Pegau Heinitz Relationale Datenbankmodelle sind Tabellen, Wir unterscheiden 2 Arten von Relationen 1. innerhalb einer Tabelle: 1 Zeile 2. zwischen den Tabellen: die verbindenden Attribute die durch identische Attribute miteinander verknüpft sind

11 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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

12 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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)

13 TU Dresden - Institut für Bauinformatik Folie-Nr.: 12 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung 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 Relationen 1

14 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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. Bau- maschinen Kommu- nikations- mittel Kommu- nikations- formen Arbeiter Bau- material bedient verarbeitet beeinflussen einsetzen benötigen

15 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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. Arbeiter Arb-Nr Name Baumaschine Masch.-Nr. Name Arb-Nr(Fahrer) 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.

16 TU Dresden - Institut für Bauinformatik Folie-Nr.: 15 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Wiederholung aus dem 3. Semester

17 TU Dresden - Institut für Bauinformatik Folie-Nr.: 16 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Operationen auf relationalen Datenstrukturen Die 4 wesentlichen Operationen sind: Projektion Vereinigung (Verbund) Restriktion Division. Sie basieren auf den 3 klassischen Mengenoperationen: Vereinigung:r 1  r 2 : =  x  x  r 1 oder x  r 2  Durchschnitt:r 1  r 2 : =  x  x  r 1 und x  r 2  Differenz:r 1 \ r 2 : =  x  x  r 1 und x  r 2  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. Mit diesen vier Grundoperationen können alle Ausdrücke gebildet werden, die für das Arbeiten mit relationalen Datenbanken notwendig sind.

18 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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, R neu =  (L) R alt L ist eine Liste von den Attributen, die erhalten bleiben. R neu muss natürlich eine n-stellige Relation mit n > 2 sein. Beispiel: Mitarbeiterkurzform =  (Pers.-Nr., Name, Vorname) Mitarbeiter

19 TU Dresden - Institut für Bauinformatik Folie-Nr.: 18 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Projektion Mit- arbeiter Müller Klein Adler Schmidt Walther Hans Rolf Otto Fritz Anton Anna Pers- Nr Vorname Name Ge- schlecht m w Mit- arbeiter Name Müller Klein Adler Schmidt Walther Vorname Hans Rolf Otto Fritz Anton Anna Wohnort Dresden Freiberg Radeberg Dresden Freiberg Zittau Beruf Müller Bäcker Maler Politiker Student Lehrerin Pers- Nr Steuer- klasse Ge- schlecht m w R neu =  (Mitar,Pers-Nr.,Name,Vorname) R alt

20 TU Dresden - Institut für Bauinformatik Folie-Nr.: 19 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Beispiel: Verbund R23 = R2 [D2, D3] R3 Max Rolf Paul D2D2 Alex Laura Uwe Ruth B2B R 23 Ruth Uwe Laura Alex B3B3 Dieser Verbund ist in der dargestellten Form nur möglich, wenn für Paul, der zweimal, sowohl in D 2 als auch in D 3, vorkommt, eine Rolle zugewiesen wird. Das Rollenattribut ist in diesem Fall die laufende Nummer. Max Rolf Paul Ruth Uwe Laura Alex D3D3 B3B3 R3R3 Max Rolf Paul Alex Laura Uwe Ruth B2B2 D2D2 R2R

21 TU Dresden - Institut für Bauinformatik Folie-Nr.: 20 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Beispiel: Verbund R23 = R2 [D2, D3] R3 Bei einem Verbund ohne Rollenattribut werden mehrfach vorkommende Attribute kombiniert; es wird das Kreuzprodukt gebildet Max Rolf Paul Ruth Uwe Laura Alex D3D3 B3B3 R3R3 Max Rolf Paul Alex Laura Uwe Ruth B2B2 D2D2 R2R R B 5 Alex Laura Uwe Ruth B 6 Ruth Uwe Laura Alex Laura Alex D 4 Max Rolf Paul

22 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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 B 5 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.

23 TU Dresden - Institut für Bauinformatik Folie-Nr.: 22 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung 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

24 TU Dresden - Institut für Bauinformatik Folie-Nr.: 23 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung Division Die Division durch a o ist für eine binäre Relation mit R  A x B definiert als R / a o =  (a i, b j )  R  (a o, b j )  R, b j  B  Da a i fest ist, kann dies auch verkürzt ausgedrückt werden: B / a o =  b j  B  (a o, b j )  R  Die Division kann als Sonderfall der Restriktion für die Bedingung R / a o = R [ a i = a o ] =  [ A = a o ] R gesehen werden.

25 TU Dresden - Institut für Bauinformatik Folie-Nr.: 24 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung 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.

26 TU Dresden - Institut für Bauinformatik Folie-Nr.: 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) 

27 TU Dresden - Institut für Bauinformatik Folie-Nr.: 26 Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung 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  TM 1 2 Name Klein Walter Vorname Otto Anna Wohnort Radeberg Zittau Beruf Maler Lehrerin Pers- Nr Steuer- klasse 1 Ge- schlecht m w Ge- schlecht m w Mit- arbeiter Name Müller Klein Adler Schmidt Walther Vorname Hans Rolf Otto Fritz Anton Anna Wohnort Dresden Freiberg Radeberg Dresden Freiberg Zittau Beruf Müller Bäcker Maler Politiker Student Lehrerin Pers- Nr Steuer- klasse Ge- schlecht m w


Herunterladen ppt "Bauinformatik II Softwareanwendungen 1 5. Semester 2. Vorlesung Einführung, Entität, Relation Prof. Dr.-Ing. R. J. Scherer Nürnberger Str. 31a 2. OG,"

Ähnliche Präsentationen


Google-Anzeigen