Einführung in Datenbanken

Ähnliche Dokumente
Theorie zur Übung 8 Datenbanken

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Rückblick: Datenbankentwurf

Konzeptueller Entwurf

Logischer Entwurf von Datenbanken

Matthias Schubert. Datenbanken. Theorie, Entwurf und Programmierung relationaler Datenbanken. 2., überarbeitete Auflage. Teubner

Kapitel DB:IV (Fortsetzung)

- Gewinnung neuer Informationen durch Berechnungen - Einsatz graphischer Mittel zur Präsentation / Visualisierung von Datenreihen

Der Tabellenname wird in Grossbuchstaben geschrieben.

3. Spezielle ER-Modelle und Tabellenableitung. Transformation von ER-Diagrammen in Relationen

Entwurf und Verarbeitung relationaler Datenbanken

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Archivierung in DBMS

Entwicklung einer DB-Anwendung vergleichbar mit gewöhnlicher Anwendungsprogrammierung:

Datenbanksysteme I, SS 2004

3. Das Relationale Datenmodell

Inhaltsverzeichnis. Inhalt. Inhaltsverzeichnis...3 Vorwort...4 Grundlagen...5. Die Datenbanksprache SQL in verschiedenen Systemen...

10 Datenbanksysteme Datenbanken und Datenbanksysteme

D1: Relationale Datenstrukturen (14)

Aufgabe 1) Übung 4: 1.2

Abstraktionsschichten. Das Relationale Datenmodell

Datenmodellierung im Zeitalter agiler Softwareentwicklung

Grundlagen von Datenbanken SS 2010

Mengen und Abbildungen

Zusammenfassung. Offene Probleme

Einführung in Datenbanken

Als logisches Datenmodell wird hier das Relationenmodell vorgestellt, das heute den Standard für relationale Datenbanken darstellt.

Informatik II Datenorganisation Datenbanken

Inhaltsverzeichnis. 1. Fragestellung

Relationales Datenmodell

10. Datenbank Design 1

Datenbanken: Relationales Datenbankmodell RDM

Handout zur Unit Datenmodellierung Web-Technologien Datenmodellierung Prof. Dr. rer. nat. Nane Kratzke

Arbeitsplan III. Schlüssel und Transformation. Name: Tenbusch Klasse: Datum: Blatt Nr.: 1 / 7 lfd. Nr.:

Einführung in die Informatik 2

Mengenlehre. Jörg Witte

Lineare Algebra I. - 1.Vorlesung - Prof. Dr. Daniel Roggenkamp & Falko Gauß. Monday 12 September 16

Inhalt. Unland, Rainer Datenbanken im Einsatz digitalisiert durch: IDS Basel Bern

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Relationale Datenbanken Datenbankgrundlagen

Kapitel 3: Datenbanksysteme

Aufbau Datenbanksysteme

Software-Engineering Einführung

Datenbanken und SQL. Springer Vieweg. Eine praxisorientierte Einführung mit Anwendungen in Oracle, SQL Server und MySQL.

Datenbanksysteme Teil 3 Indizes und Normalisierung. Stefan Maihack Dipl. Ing. (FH) Datum:

BERUFSPRAKTIKUM UND -VORBEREITUNG

Datenbanksysteme I. Lehrveranstaltungen zu Datenbanken (SS 07) DBS 2 (2+1) DBS2 IDBS2. Datenschutz und Datensicherheit. Data-Warehouse- Praktikum

Grundlagen von Datenbanksystemen

1 4. Datenmodellierung mit der Unified Modeling Language (UML)

Lehrplan. Datenbanken. Höhere Berufsfachschule für Automatisierungstechnik. Ministerium für Bildung

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Entwicklung eines E-Learning Topic-Map Rahmenwerks

Design Theorie für relationale Datenbanken

Einführung in Datenbanksysteme. H. Wünsch

Wenn man eine Datenbank erstellen will, braucht es eine genaue Analyse der Situation, damit klar wird, wie die Datenbank aufgebaut werden muss.

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Prof. Dr. A. Holl, Grundlagen Datenbanken Übungen Seite 1

Rückblick: Entity-Relationship-Modell

Datenbanken Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

mathematische Grundlagen der Modelltheorie: Mengen, Relationen, Funktionen

Entwurf von Datenbanken

Microsoft Access 2010 SQL nutzen

Mengen, Funktionen und Logik

Datenorganisation: (Daten)Datei versus Datenbank

Einteilung von Datenbanken

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

Mathematik-Vorkurs für Informatiker (Wintersemester 2012/13) Übungsblatt 8 (Relationen und Funktionen)

Mengen und Abbildungen

Objektorientierte Analyse (OOA) OOA-Pattern

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

Software-Engineering und Datenbanken

WS 2009/10. Diskrete Strukturen

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Übung zur Vorlesung im Sommersemester 2009

Datenmodelle. Einführung in das Entity-Relationship-Modell. Datenbankmodelle. Beispiel für ein ER-Schema. Kunde( Meier, , ) 41, Meier

Das Relationenmodell. Contents. Pierre Fierz. Attribute und Domänen. 1 Attribute und Domänen. Relationenschema, Relation und Tupel

Vorlesung Datenbank-Entwurf Klausur

4 Grundlagen der Datenbankentwicklung

Referenzielle Integrität SQL

Schlüssel bei temporalen Daten im relationalen Modell

Kap. 9 Datenmodellierung und verwaltung

Allgemeines zu Datenbanken

7. Übung - Datenbanken

Datenbanken in der FOR 600 Der Einsatz von Datenbanken in der empirischen Linguistik

Einleitung. Literatur. Pierre Fierz. Architektur von Datenbanksystemen. Physische Datenunabhängigkeit. Der Datenbank Administrator (DBA) 1.

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Vorbereitungskurs Mathematik zum Sommersemester 2015 Mengen und Relationen

3. Relationen Erläuterungen und Schreibweisen

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Zwischenbericht Diplomarbeit Entwicklung einer Laufzeitumgebung für Komponenten mit Ressourcenanforderungen

S(tructured)Q(uery)L(anguage)

Mathematik für Ökonomen 1

9. Einführung in Datenbanken

Grundlagen von Datenbanken SS Einführung in das Thema

Vorlesung Datenbanken I Endklausur

Datenbankentwurf. Entwicklungsprozess Anforderungsanalyse & Miniwelt

Fundamentals of Software Engineering 1

Transkript:

Einführung in Datenbanken Dipl.-Inf. Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 1 Inhalt 1. Grundlegende Begriffe der Datenbanktechnologie 2. Datenbankentwurf / Datenmodelle 3. ER-Modell / ER-Diagramm 3. Normalisierung 4. SQL-Sprache 5. SQL-Sprache, Erweiterungen 6. PL/SQL 2 1

Relationenmodell E. F.Codd (1970) Vater des relationalen Modells (A relational model of data for large shared data banks Für die Datenbanktechnologie löste dies eine sprunghafte Entwicklung aus: Nachvollziehbarkeit Einfachheit Flexibilität, leichte Modellierung Das relationale Datenmodell basiert auf mathematischen Begriff der Relation 3 Mathematische Grundlagen Definition 9 - Menge: Eine Menge als Zusammenfassung von bestimmten, wohlunterschiedenen Objekten zu einem Ganzen ist ein fundamentaler Begriff in der Mathematik: A = {a1,a2,a3,...an} und nennen die a i, die durch Komma getrennt aufgezählt werden, Elemente der Menge A. Also ist z.b. a 2 Element der Menge A, d.h. A 2 A In der Menge spielt die Reihenfolge der Elemente keine Rolle, und ebenso ist wichtig, dass es keine Elementeswiederholung gibt. 4 2

Definition 10 - Kartesisches Produkt: Seien a und b beliebige Elemente. Dann bezeichnet (a,b) ein geordnetes Paar, bestehend aus erster und zweiter Koordinate. Das kartesische Produkt zweier Mengen A und B ist die Menge aller geordneten Paare, deren erste Koordinate ein Element von A und deren zweite Koordinate Element von B ist. A B { (a,b) a A und b B Beispiel: A = {Müller, Meier, Schulze} B = {Marketing, Entwicklung} Lösung:? A B = { {Müller, Marketing} {Müller, Entwicklung} {Meier, Marketing} {Schulze, Marketing} {Schulze, Entwicklung} } 5 Definition 11 - Relation: Eine Relation zwischen zwei Mengen A und B ist eine Teilmenge R des kartesischen Produkts der beiden Mengen. R A B ist eine zweistellige Relation, da zwei Mengen bei der Bildung beteiligt sind. Eine Relation ist eine Teilmenge des kartesischen Produktes (alle sinnvollen Paare). Beispiel: (entspricht der modellierten Realität) R A B = { (Müller, Marketing), (Meier, Entwicklung), (Schulze, Entwicklung) } 6 3

Beziehungstypen: Eine zweistellige Relation ist eine Abbildung aus der Menge A in die Menge B. Durch die geordneten Paare wird dem Element a das Element b zugeordnet. Für die Abbildung sind mathematisch so genannte Zuordnungstypen, in der Datenbanktheorie als Beziehungstypen bezeichnet. Da Beziehungstypen die gegenseitige Zuordnung beschreiben, sind sie die Kombination aus zwei gegenseitigen Assoziationstypen. Es sind bei der Betrachtung der Beziehungen zwischen den einzelnen Elementen, im einfachsten Fall, zweier Mengen, die Standpunkte ausgehend von jeweils einer Menge anzugeben: Assoziationstyp Bedeutung 1 - einfache Assoziation jedem Element aus A ist ein Element aus B zugeordnet c - konditionelle jedem Element aus A ist kein, oder ein Assoziation Element aus B zugeordnet m - multiple Assoziation jedem Element aus A ist mindestens ein Element aus B zugeordnet mc - multiple konditionelle jedem Element aus A ist kein, oder mindestens ein Element aus B Assoziation zugeordnet 7 Beziehungstypen: 8 4

Werden diese Assoziationstypen, die nur eine Richtung der Abbildung beschreiben, verwendet, die Beziehungstypen zu definieren, so erhält man folgende Übersicht: Beziehungstypen Bedeutung 1 c m mc 1 1:1 c:1 m:1 mc:1 hierarchische Beziehung c 1:c c:c m:c mc:c konditionelle Beziehung m 1:m c:m m:m mc:m netzförmige mc 1:mc c:mc m:mc mc:mc Beziehung 9 Definition 12 - Funktion: Eine Funktion F ist eine spezielle Abbildung, nämlich eine eindeutige Abbildung aus der Menge a in die Menge B: F = { (a,b) a A und b B} Eindeutigkeit heißt, dass aus (a,b 1 ) F und (a,b 2 ) F b 1 = b 2 Mit folgender Schreibweise: F: A B A wird Definitionsbereich von F genannt B wird der Wertebereich von F genannt. B ist funktional abhängig von A. 10 5

Darstellungskonzepte Relation Attribut Tupel Primärschlüssel Fremdschlüssel 11 12 6

Relation mathematisch: Teilmenge eines Kartesischen Produkts (Kreuzprodukts) R ist Teilmenge von M 1 x M 2 x... x M n Kreuzprodukt zweier Mengen ist die Menge aller Paare Bsp.: A:={u,v}, B:={x,y} AxB:={(u,x), (u,y), (v,x), (v,y)} 13 Relation (2) Menge (mathematisch), nicht: Beziehung Menge von Entitäten gleiche Merkmale kontextabhängige Mengenbildung als Tabelle abgebildet Beispiele: Personen, Wetterstationen, Bücher, Straßen, Bäume,... Unterschied zum mathematischen Konzept: Elemente aus dem Wertebereich eines Attributs können in mehreren Tupeln vorkommen 14 7

Mathematische Relation R A B Bonn Seattle Rom Cambridge Madrid Spanien USA Italien Deutschland England Madrid, Spanien Cambridge, USA Seattle, USA Bonn, Deutschland Cambridge, England Rom, Italien Menge 1 Menge 2 Relation 15 DB-technische Relation R A B Bonn Seattle Rom Cambridge Madrid Spanien USA Italien Deutschland England Madrid, Spanien Cambridge, USA Seattle, USA Bonn, Deutschland Cambridge, England Rom, Italien Menge 1 Menge 2 Relation Cambridge ist zweimal vorhanden USA nur einmal 16 8

Attribut Merkmal einer Entität (Tupelkomponente) Wert ist die i-te Komponente eines Tupels Wert aus einem bestimmten Wertebereich Spalte einer Relation keine Ordnung (Reihenfolge) Beispiele: Person: Vorname (Ida, Berta, Anna), Alter (positive ganze Zahl, 0-120) Straße: Funktion (Fußgängerzone, Straßenverkehr), Breite der Fahrbahn (positive gebrochene Zahl) 17 Tupel eine bestimmte Entität (Instanz) alle Merkmalswerte (n-tupel) Zeile einer Relation keine Ordnung (Reihenfolge) Beispiele: Ida Meier: Ida, 22 A14: Straßenverkehr, 23.5 18 9

Primärschlüssel Identität eines Tupels ein oder mehrere Attribute Kombination der Attributwerte ist eindeutig aus technischer Sicht Eindeutigkeit nicht notwendig oft zusätzliche, automatisch generierte ID eingesetzt (das sichert aber nicht eine fachlich geforderte Eindeutigkeit), Eindeutigkeit einer Kombination mehrerer Attribute am einfachsten über Primärschlüssel herzustellen Beispiele: Ida, 22 und Ida, 66 A14, A7 19 Fremdschlüssel Bezüge zwischen Relationen Bezüge innerhalb einer Relation Verdopplung eines Primärschlüssels Primärschlüssel in derselben oder in einer anderen Relation noch einmal führen (keine Zeiger, keine Adressen) kein Verweis ins Leere (referenzielle Integrität) 20 10

Relationen, Attribute, Tupel, Schlüssel Tupel Attribut Name Müller Müller Schmitz Vorname Ida Maria Anton Primärschlüssel, zusammengesetzt Alter 22 71 43 Attributwert Straßenschlüssel Fremdschlüssel 102 104 102 Straßenschlüssel 101 102 103 104 Primärschlüssel, einfach Nordstraße Hauptplatz Eichenweg Inselstraße Hausnummer 3 7 5 Straßenname Relation 1 Relation 2 21 22 11

Zusammenfassung des Relationen Datenmodell Das relationale Datenmodell stellt für die Datenmodellierung genau einen Strukturtyp zur Verfügung, die Relation Entitätsmengen und Beziehungsmengen sind als Relationen darzustellen Attribute der Entitäts- und Beziehungsmengen werden Attribute der Relation für jede Relation ist ein Primärschlüssel zu definieren da Relationen Mengen im mathematischen Sinne sind, gibt es kein Mehrfachauftreten von Tupeln und keine Ordnung zwischen den Tupeln 23 Wie erstellt man Datenbanken? 24 12

Datenbanken entstehen......im Datenbankentwurfsprozess Das Ergebnis des Datenbankenwurfsprozesses ist die Datendefinition - Beschreibung der (logischen) Datenbankstruktur, der Daten und ihrer Beziehungen zueinander - die Zuordnung zu externen Speichermedien - die Definition der Nutzersichten - Beschreibung der Integritätsbedingungen - Beschreibung der Zugriffsrechte 25 Phasen und Phasenmodelle Besserer, effizienterer Datenbankentwurfsprozess durch Untergliederung in Phasen (Phasenmodell) Problemstellung analysieren und spezifizieren Nutzersichten berücksichtigen funktionelle und qualitative Anforderungen festlegen Datenbankentwurf konzeptionelles Datenmodell Implementierung/Installation (Prototyp) mit DBMS-Software Test (Prototyp) Optimierung erneuter Test Betrieb und Wartung 26 13

Prototypen ein funktionsfähiges Muster oder Vorbild des zu entwickelnden Programmes (Trautloft, Lindner, Datenbanken) können einen Teil oder alle funktionellen Leistungen des zukünftigen Programmes enthalten begleitet(n) alle Phasen des Entwicklungsprozesses 27 Prototyen Notwendigkeit: zukünftige Nutzer erhalten durch Einsicht in die Spezifikation nur unvollständige Vorstellung vom tatsächlichen Leistungsvermögen der DB zum Zeitpunkt der Spezifikation der Anforderung sind meistens nicht alle Anforderungen bekannt zu einem möglichst frühen Zeitpunkt können Fehler festgestellt und Änderungswünsche berücksichtigt werden meistens entstehen durch Erprobung eine Menge von Änderungswünschen 28 14

Anforderungen an Datenbanksysteme langfristig skalierbar verteilt sicher schnell plattformunabhängig anwendungsneutral einfach zu bedienen 29 langfristig allgemein anerkannte Form viele Produkte skalierbar für kleine Datenmengen overkill (hoher Aufwand) für größere bis sehr große Datenmengen geeignet Anpassung im laufenden Betrieb modularer Aufbau Profis - Anfänger 30 15

verteilt Datenbank Tabellen sicher Redundanzfreiheit (Datenintegration) Datenkapselung (Zugriff nur über definierte Schnittstelle) Transaktionskonzept Synchronisation konkurrierender Zugriffe Konsistenzmechanismen (Trigger, Constraints) Sicherungsmechanismen (Backup, Replikation) Wiederherstellungsmechanismen (Recovery) Nutzer- und Rechteverwaltung 31 schnell Indizierung Anfrageoptimierung plattformunabhängig auf der Basis unterschiedlicher Betriebssysteme Verteilung (?) 32 16

anwendungsneutral an keine Anwendung gebunden standardisierte Schnittstelle 3-Ebenen-Konzept (Datenunabhängigkeit) Benutzersichten einfach zu bedienen einfache Abfragesprache Benutzersichten Masken 33 Analyse des Realitätsausschnitts Methodik des DB-Entwurfs funktionelle Spezifikation Struktureller Entwurf im ERM Entwurf der Relationen, Normalisierungen DBMS unabhängig Auswahl der DBMS Implementierungsentwurf Entscheidung über Client-Server-Architektur Ggf. Verteilungsentwurf DBMS abhängig 34 17