Bauinformatik II Softwareanwendungen 1

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Datenbankdesign mit ACCESS.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Datenbanken Einführung.
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Datenmodellierung Externe Phase Informationsstruktur
Objekt – Relationales – Modell Tomasz Makowski IN
Bauinformatik II Softwareanwendungen 1
Bauinformatik II Softwareanwendungen 1
MS Office-Paket: Access
Ein Entity Relationship Diagramm zur ADB/NDB
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Kapitel 3: Das Relationenmodell
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Schritte zu Datenmodellierung
AGXIS – Ein Konzept für eine generische Schnittstellenbeschreibung Dr.-Ing. Ulrich Hussels, RISA GmbH 07. Juni 2005 Workshop Umweltdatenbanken 2005.
SQL als Abfragesprache
Daten bank St. Wiedemann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Datenbanken Christof Rumpf
Das Relationenmodell 1.
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Einführung Dateisystem <-> Datenbanksystem
Was ist eine Datenbank? ermöglicht die Eingabe von Daten
1 Polymorphe Operatoren Zunächst: Beschränkung auf Operatoren zum Abfragen der in Relationen enthaltenen Information. Forderung nach mathematischer Exaktheit.
Einführung und Überblick
Relationale Datenbankmodelle
... und alles was dazugehört
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Die Grundterminologie
Datenbank.
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
Entwicklung der Programmiersprachen
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Semantisches Datenmodell Entity-Relationship-Modell Normalformen
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2013/14 Datenbanksysteme Fr 17:00 – 18:30 R Vorlesung #3 Das relationale Modell (Teil 2)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
Allgemeines zu Datenbanken
(D.h. „Hallo MausFans!“ auf Japanisch).
DI (FH) DI Roland J. Graf MSc (GIS) U N I V E R S I T Ä T S L E H R G A N G Geographical Information Science & Systems UNIGIS.
Freiwillige Feuerwehr der Stadt Perg
Relationale Algebra Vortrag am © 2007 Daniel Birkholz.
Das relationale Modell
verstehen planen bearbeiten
Normalisierungsprozess
Relationale Datenbanken
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Structured Query Language
Grundlagen des Relationenmodells
1 Polymorphe Operatoren Zunächst: Beschränkung auf Operatoren zum Abfragen der in Relationen enthaltenen Information. Forderung nach mathematischer Exaktheit.
Bauinformatik II Softwareanwendungen 1
Einführung Dateisystem <-> Datenbanksystem
Verknüpfung von Tabellen
Datenbank System (DBS) - Warum?
Was ist eine Datenbank „MS Access“
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Vom Konzept zur Datenbank
BHAK/BHAS 1 Salzburg KIDM 2ASBS Schuljahr 2004/05
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Präsentation von Darleen und Michèle
 Präsentation transkript:

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

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

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

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

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

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

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 01.04.05 Betonbau 10.05.05 14.05.05 2 1.1.1 1.1 1.2.1 1.2 1.2.2 102 Kaufhalle GNr Datum ONr 100 155 102 01.08.05 134 121 24.06.05 03.06.05 14.05.05 10.05.05 105 01.04.05 Heinitz Gerüstbau 03.06.05 2.1 2.1.1 Dachdecker 2.2 2.2.1 24.06.05 3 105 Kino = Erweiterung der relationalen Datenbank  Objekt-orientierte Pegau 3.1 Dachdecker 3.1.1 01.08.05 - Ontologien: Erweiterung der Objekte um logische Bedeutung Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung

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

Relationale Datenbankmodelle sind Tabellen, die durch identische Attribute miteinander verknüpft sind ONr Datum GNr 100 155 102 01.08.05 134 121 24.06.05 03.06.05 14.05.05 10.05.05 105 01.04.05 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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