Bauinformatik IISoftwareanwendungen 1
5. Semester 2. VorlesungEinführung, Entität, Relation
Prof. Dr.-Ing. R. J. Scherer
Nürnberger Str. 31a2. OG, Raum 204
TU Dresden - Institut für Bauinformatik
Relationale Datenbankenfür Bauingenieurprobleme
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 2Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
DatenbankenDefinition: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.
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 3Bauinformatik 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.
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 4Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Bestandteile einer Datenbank
RDBMS = Relationales Datenbank-Management-System
Report-GeneratorMasken-Generator
Administrations-programm
Menü-Generator
Sonstige Programme:- Precompiler- Netzwerkanbindung- . . .
SQL-Interpreter
SQL-Schnittstelle:- Datendefinition- Datenmanipulation- Datenschutz- Datenabfrage
Daten-Konverterfür Export/Import
RDBMS
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 5Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Datenbanksoftwarez.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 programmierenZum 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 . . .
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 6Bauinformatik 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
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 7Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Datenbankmodelle Hierarchische
100Industriehalle
1 Relationale (viele Tabellen)
= Erweiterung der relationalen Datenbank Objekt-orientierte
- Ontologien: - Ontologien: Erweiterung der Objekte um logische BedeutungErweiterung der Objekte um logische Bedeutung
Gerüstbau01.04.05Betonbau10.05.0514.05.05
2
1.1.11.1
1.2.11.2
1.2.2102Kaufhalle
Gerüstbau03.06.05
2.12.1.1
Dachdecker2.22.2.1 24.06.053
Neudorf
Heinitz
105KinoPegauDachdecker01.08.05
GNr
134155
121
DachdeckerBetonbauGerüstbauGewerk
GNr DatumONr
100100
100
155
102
01.08.05
134155
121
155121
24.06.0503.06.0514.05.0510.05.05
105
01.04.05
102
ONr
102105
100Kaufhalle
Kino
IndustriehalleBaul.Objekt Ort
Neudorf
PegauHeinitz
3.13.1.1
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 8Bauinformatik 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. 1972 erschien ein Buch von ihm bei Prentice-Hall.
Relationale Datenstrukturen
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 9Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
ONr DatumGNr
100100
100
155
102
01.08.05
134155
121
155121
24.06.0503.06.0514.05.0510.05.05
105
01.04.05
102
GNr
134155
121
DachdeckerBetonbauGerüstbauGewerkONr
102105
100Kaufhalle
Kino
IndustriehalleBaul.Objekt Ort
Neudorf
PegauHeinitz
Relationale Datenbankmodellesind Tabellen,
Wir unterscheiden 2 Arten von Relationen 1. innerhalb einer Tabelle: 1 Zeile2. zwischen den Tabellen: die verbindenden Attribute
die durch identische Attribute miteinander verknüpft sind
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 10Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 1Relationale Datenbanken sind auf dem PrinzipRelation (= 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
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 11Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 1Alle 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)
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 12Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
definieren die Dinge der WeltDie 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
tionsformenBau-materialien
• Name• •
Kommunika-tionsmittel
• Name• Typ• Leistung
Relationen 1
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 13Bauinformatik 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 verarbeitetbeeinflussen einsetzen
benötigen
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 14Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Relationen 2Sie 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.
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 15Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Wiederholung aus dem 3. Semester
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 16Bauinformatik 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: r1 r2 : = x x r1 oder x r2Durchschnitt: r1 r2 : = x x r1 und x r2Differenz: 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.
Mit diesen vier Grundoperationen können alle Ausdrücke gebildet werden, die für das Arbeiten mit relationalen Datenbanken notwendig sind.
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 17Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
ProjektionDurch 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
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 18Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Projektion
Mit-arbeiter 1 2 3 4 5 6
MüllerMüllerKleinAdlerSchmidtWalther
HansRolfOttoFritzAntonAnna
Pers-Nr.101510551075201520202090
VornameName
Ge-schlechtmmmmmw
Mit-arbeiter 1 2 3 4 5 6
Name
MüllerMüllerKleinAdlerSchmidtWalther
Vorname
Hans Rolf Otto Fritz Anton Anna
Wohnort
DresdenFreibergRadebergDresdenFreibergZittau
Beruf
MüllerBäckerMalerPolitikerStudentLehrerin
Pers-Nr.101510551075201520202090
Steuer-klasse 1 3 1 3 5 1
Ge-schlecht m m m m m w
Rneu = (Mitar,Pers-Nr.,Name,Vorname) Ralt
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 19Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Beispiel: Verbund R23 = R2 [D2, D3] R3
MaxRolfPaulPaul
D2
AlexLauraUweRuth
B2
1234
R23
RuthUweLauraAlex
B3
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.
MaxRolfPaulPaul
RuthUweLauraAlex
1234
D3 B3R3
MaxRolfPaulPaul
AlexLauraUweRuth
B2D2R2
1234
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 20Bauinformatik 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
MaxRolfPaulPaul
RuthUweLauraAlex
1234
D3 B3R3
MaxRolfPaulPaul
AlexLauraUweRuth
B2D2R2
1234
R23
123456
B5
AlexLauraUweUweRuthRuth
B6
RuthUweLauraAlexLauraAlex
D4
MaxRolfPaulPaulPaulPaul
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 21Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Beispiel: VerbundIn 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.
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 22Bauinformatik 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
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 23Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
DivisionDie 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.
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 24Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Sprachen für die relationale DatenstrukturZur 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.
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 25Bauinformatik 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)
TU Dresden - Institut für Bauinformatik
Folie-Nr.: 26Bauinformatik II, Softwareanwendungen 1; 1. Vorlesung
Beispiel: RelationenkalkülSuche 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
KleinWalter
Vorname
Otto Anna
Wohnort
RadebergZittau
Beruf
MalerLehrerin
Pers-Nr.10752090
Steuer-klasse 1 1
Ge-schlecht m w
Ge-schlechtmmmmmw
Mit-arbeiter 1 2 3 4 5 6
Name
MüllerMüllerKleinAdlerSchmidtWalther
Vorname
Hans Rolf Otto Fritz Anton Anna
Wohnort
DresdenFreibergRadebergDresdenFreibergZittau
Beruf
MüllerBäckerMalerPolitikerStudentLehrerin
Pers-Nr.101510551075201520202090
Steuer-klasse 1 3 1 3 5 1
Ge-schlecht m m m m m w