Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein

Slides:



Advertisements
Ähnliche Präsentationen
Datenbankdesign mit ACCESS.
Advertisements

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
Entity-Relationship-Ansatz
Bauinformatik II Softwareanwendungen 1
Kapitel 4 Datenstrukturen
der Universität Oldenburg
MS Office-Paket: Access
Das Entity-Relationship-Modell
Kapitel 3: Das Relationenmodell
Franziska Schmidt Sarah Ahlheit
Konzeption und Realisierung eines Software Configuration Management Systems Autor: Alex Rempel Referent: Prof. Dr. Elke Hergenröther Korreferent: Prof.
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
AGXIS – Ein Konzept für eine generische Schnittstellenbeschreibung Dr.-Ing. Ulrich Hussels, RISA GmbH 07. Juni 2005 Workshop Umweltdatenbanken 2005.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Datenbankdesign und Normalisierung
Daten bank St. Wiedemann.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Datenbanken Christof Rumpf
Das Relationenmodell 1.
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Einführung Dateisystem <-> Datenbanksystem
Datenmodellierung - Aufbau einer Datenbank -
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.
EXCEL PROFESSIONAL KURS
Die Grundterminologie
Datenbanken?.
Datenbank.
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Semantisches Datenmodell Entity-Relationship-Modell Normalformen
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
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
Das relationale Modell
verstehen planen bearbeiten
Normalisierungsprozess
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Relationale Datenbanken
MS Office Access 2007 UM für INI. Sie haben viele Daten? Entscheiden Sie sich für Access. Access verarbeitet Daten, und zwar alle Arten von Daten: Kundenkontakte,
Erste Einführung in SQL
Einführung Dateisystem <-> Datenbanksystem
Datenbanken im Web 1.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbank System (DBS) - Warum?
Gerhard Röhner September 2012
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Vom Konzept zur Datenbank
BHAK/BHAS 1 Salzburg KIDM 2ASBS Schuljahr 2004/05
SQL Basics Schulung –
Kapitel 6: Datenbanksysteme
Von Wietlisbach, Lenzin und Winter
ER-Modell und Relationales Schema
Präsentation von Darleen und Michèle
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenbank- Management- Systeme (DBMS) Lehrbuch, Kapitel 1

 Seminar-Inhalt Grundlagen Einfache Abfragen Komplexe Abfragen Datenmanipulation Grundlagen T-SQL Programm-Module in der DB Administration

 Modul-Inhalt Beispieldatenbank AdventureWorks Das relationale Modell Das relationale Datenbank-System SQL – Structured Query Language

Beispiel-Datenbank AdventureWorks Das Thema der Datenbank ist die fiktive Firma AdventureWorks, welche Fahrräder produziert und weltweit per Internet oder lokale Läden vertreibt. Die Datenbank erhalten Sie in verschiedenen Versionen unter http://msftdbprodsamples.codeplex.com/.

Beispiel-Datenbank AdventureWorks Innerhalb der Personaldaten werden die Angestellten in der Employee-Tabelle gespeichert. Sie arbeiten in einer Abteilung, die in einer Department-Tabelle dargestellt ist. Da ein Angestellter nicht notwendigerweise permanent in der gleichen Abteilung arbeitet, gibt es eine Beziehungstabelle EmployeeDepartmentHistory. Darüber hinaus arbeiten die Mitarbeiter in Schichten, wobei die Schichteinteilung in der Shift-Tabelle angegeben ist.

Beispiel-Datenbank AdventureWorks Die Contact-Tabelle enthält die allgemeinen persönlichen Daten wie Vorname, Nachname etc. Die Address-Tabelle enthält Adressinformationen mit Straße, Stadt und PLZ. Für beide Tabellen existieren jeweils zwei Type-Tabelle, d.h. eine Tabelle namens ContactType und eine AddressType-Tabelle, durch die die jeweiligen Datensätze kategorisiert werden können. Länder und allgemeine geografische Bereiche sind in verschiedenen weiteren Tabellen wie CountryRegion oder StateProvince gespeichert.

Beispiel-Datenbank AdventureWorks Die zentrale Tabelle ist Product, in der die Informationen Nummer, Bezeichnung, Farbe, Sicherheitsbestand im Lager, Standardkosten und Listenpreis enthalten sind. Für die beiden Attribute Größe und Verkaufseinheit gibt es Tabellen mit Wertelisten. Man unterscheidet zwei Kategorieebenen: ProductSubcategory und ProductCategory, wobei die Product-Tabelle zunächst die Unterkategorie verknüpft und diese Unterkategorie wiederum die Oberkategorien.

Beispiel-Datenbank AdventureWorks Die SalesOrderHeader-Tabelle enthält die zusammenfassenden Informationen für einen Verkauf (Bestell-, Auslieferungs-, Fälligkeitsdatum, Preise (Netto, Steuer, Total, Fracht) und Referenzen wie Adressen, Kunden- und Kontaktinformationen sowie Verkaufsgebiet). Jede Bestellung enthält einzelne Positionen, die in SalesOrderDetail gespeichert werden, welche insbesondere eine Referenz zur Product-Tabelle enthält.

 Fragen...

 Modul-Inhalt Beispieldatenbank AdventureWorks Das relationale Modell Das relationale Datenbank-System SQL – Structured Query Language

Das relationale Modell: Grundbegriffe Beim relationalen Modell handelt sich um ein mathematisches Modell, dessen grundlegende Einheit die so genannte Relation ist, welche in einer Datenbank schließlich zu einer Tabelle wird. Eine solche Relation wiederum wird als eine Menge von n-Tupeln bezeichnet. Ein Tupel ist in einer Datenbanktabelle eine einzelne Zeile bzw. ein Datensatz. Die Menge aller Zeilen bildet dann die gesamte Tabelle, während die Menge aller Tupel die Relation bildet.

Das relationale Modell: Grundbegriffe Operationen, die man auf einer solchen Relation ausführen kann, werden als relationale Algebra bezeichnet. Sie baut auf der Mengenlehre auf. Ihre Ausprägung in einer Datenbank ist dann die SQL-Sprache, mit der diese Operationen formuliert werden können. Grundlegende Züge der Mengen-Theorie und ihrer Operationen sind auch in SQL gut zu erkennen und bereits ein grundlegendes und allgemeines Verständnis dieser Operationen bzw. der Mengenlehre hilft sehr beim Erlenen von SQL und Formulieren von komplexen Abfragen.

Das relationale Modell: Grundbegriffe Die nachfolgende Tabelle enthält einen Vergleich zwischen Begriffen des relationalen Modells und einer relationalen Datenbank: Relationales Modell Relationale Datenbank Relation Tabelle n-Tupel mit n Attributen Datensatz mit n-Feldern Attribut Feld, Spalte, Attribut Relationale Algebra SQL (Structured Query Language)

Das relationale Modell: Semantisches Modell Ein semantisches Modell versucht, die Objekte der Realität möglichst genau zu erfassen und so eine Basis für die endgültig zu erstellende Datenbank zu liefern. Im Idealfall entsteht ein Text, der bereits alle Objekte, Beziehungen und Attribute nennt. Die Entwicklung des semantischen Modells stellt die erste analytische Phase dar. Dieses Thema berührt sehr viele verschiedene angrenzende Bereiche der Analyse und beschreibenden Darstellung zum Zwecke der Anwendungsentwicklung.

Das relationale Modell: Semantisches Modell Zur Analyse zählen die folgenden groben Themen: Beschreibung von Abläufen und Prozessen Identifikation und Beschreibung von Objekten und Entitäten mit ihren Eigenschaften, die an verschiedenen Stationen wertmäßig erfasst werden, und den Einschränkungen und Bedingungen, die für Abläufe und die Auswahl von bedingten Prozessschritten notwendig sind. mit ihren Eigenschaften sowie den Beziehungen zwischen ihnen und Einschränkungen und Validierungsregeln für Eigenschaftswerte.

Das relationale Modell: Semantisches Modell Nahezu alle Mittel zur Analyse und Präsentation ihrer Ergebnisse lassen sich denken: Texte und schriftliche Beschreibungen von Abläufen und Objekten mit den üblichen Techniken wie Fließtext, Listen Tabellen. Zeichnungen und Abbildungen von Abläufen sowie den Objekten und ihren jeweiligen Beziehungen. Einsatz von Darstellungs- und Analysetechniken für die Abbildung von Strukturen sowie Abläufen: Entity-Relationship-Diagramm (ER-Diagramm) UML (Unified Modeling Language) Ältere Techniken sind alle Arten von Flussdiagrammen. Sehr moderne Techniken sind Ontologien und ontologische Datenmodelle.

Das relationale Modell: Semantisches Modell Es empfiehlt sich hier, Techniken des strukturierten Schreibens zu verwenden. Bspw. gehören dazu: einfache und klar gegliederte Aussagen klare Hauptwörter, Sinn tragende Verben nur die notwendigsten Adjektive. Es ist auch empfehlenswert, Aussagen durch Formelsprache zur Abbildung von Einschränkungen und Bedingungen zu verkürzen.

Das relationale Modell: Eigenschaften von Daten Die kleinsten Einheiten in einem Datenbanksystem (DBS) sind die Daten, die in einem sinnvollen Zusammenhang stehen und von Programmen unterschiedlicher Art für Zwecke der Kontrolle (Finanzsituation), des Marketing (personalisierte Kundenprofile) der Verwaltung (Stammdaten) verarbeitet werden.

Das relationale Modell: Eigenschaften von Daten

Das relationale Modell: Klassifikation von Datentypen

Das relationale Modell: Beziehungen zwischen Daten Eine wichtige Eigenschaft von Daten innerhalb eines Datenmodells ist die Beziehungsstruktur. Sie ist zunächst in der Realität vorhanden und wird durch die Abbildung im Datenmodell für die DB ersichtlich. In der Datenbank werden sie vor allen Dingen durch die so genannte Primärschlüssel-Fremdschlüssel-Beziehung abgebildet. Zwei hierarchische Ebenen müssen unterschieden werden: Beziehungen innerhalb eines Objekts Beziehungen zwischen Objekten

Das relationale Modell: Beziehungen zwischen Daten Beziehungstyp Definition Eineindeutig 1:1 Jedem Objekt vom Typ A ist genau ein Objekt vom Typ B zugeordnet. Funktional 1:n Jedes Objekt vom Typ A steht mit beliebig vielen Objekten vom Typ B in Beziehung. Dagegen steht ein Objekt vom Typ B höchstens mit einem Objekt vom Typ A in Beziehung. Komplex n:m Beliebig viele Objekte vom Typ A stehen mit beliebigen Objekten vom Typ B in Beziehung und umgekehrt.

Das relationale Modell: Beziehungen zwischen Daten In einer eineindeutigen Beziehung zwischen zwei Wertebereichen gehört zu jedem Wert des einen Wertebereichs ein Wert des anderen Wertebereichs. In einem Ehepaarkreis mit vier Ehepaaren kann man die beiden Objekte Ehemänner und Ehefrauen unterscheiden. Ralf ist mit Susanne, Reinhard mit Birte, Tom mit Tina und Nils mit Anja verheiratet.

Das relationale Modell: Beziehungen zwischen Daten Eine funktionale Beziehung zeichnet sich dadurch aus, dass zu den Werten des einen Wertebereichs null, einer oder mehrere Werte des anderen Wertebereichs gehören. Susanne und Tina sind bereits Mütter, während Birte und Anja noch keine Kinder haben. Jeweils ein Kind hat genau eine Mutter. Umgekehrt kann aber eine Mutter mehrere Kinder haben. So kann also Susanne zwei Kinder haben, Tina eines und die anderen Mütter keine

Das relationale Modell: Beziehungen zwischen Daten Eine komplexe Beziehung liegt vor, wenn es zu jedem Wert eines Wertebereichs null, einen oder mehrere Werte eines anderen Wertebereichs gibt und umgekehrt. Eine Tante kann sowohl einen als auch mehrere Neffen oder Nichten haben. Umgekehrt ist es auch möglich, dass ein Kind mehrere Tanten besitzt. So ist Birte sowohl von Stefan als auch von Kristina die Tante, während Holger als Tanten Tina und Anja nennen kann.

Das relationale Modell: Beziehungen zwischen Daten

Das relationale Modell: Entity-Relationship-Modell Bevor man sich daranmacht, für ein Datenbankprojekt sofort Tabellen und Feldnamen zu erstellen, kann man mit Hilfe eines grafischen Modells versuchen, die zu modellierenden Objekte zu finden und sich einen Überblick über die Beziehungen zu verschaffen. Seit 1976 wird das von P.P. Chen vorgeschlagene Entity-Relationship-Modell (ER-Modell oder ERM) für eine erste Annäherung verwendet, dessen Vorteile in der grafischen Darstellung und der mathematischen Verständlichkeit liegen. Es besteht aus den Elementen Entity, Entity-Typ, Relationship und Attribut.

Das relationale Modell: Entity-Relationship-Modell Element Bedeutung Zeichen Entity zu modellierendes Objekt Rechteck Entity-Typ Objekte mit ähnlichen Eigenschaften Relationship Beziehung zwischen Objekten Raute Attribut Eigenschaft eines Objekts Oval

Das relationale Modell: Entity-Relationship-Modell

Das relationale Modell: Entity-Relationship-Modell Das RDM (relationale Datenmodell) beruht auf der Überführung der einzelnen Objekte im ER-Modell in Tabellen, die über die Primärschlüssel, die in der anderen Tabelle Sekundärschlüssel sind, in Beziehung stehen. Dieses Datenmodell wurde von E.F.Codd 1970 entwickelt und bildet die Grundlage für relationale Datenbanksysteme. In diesem Zusammenhang wird ein Datenmodell mit nur einer einzigen Tabelle und sämtlichen Informationen als Universal Relation bezeichnet.

Das relationale Modell: Entity-Relationship-Modell Folgende Schritte sind dabei zu berücksichtigen: Entwickeln Sie ein semantisches Modell. Leiten Sie aus dem semantischen Modell die benötigten Objekte ab. Erstellen Sie das Entity-Relationship-Diagramm. Transformieren Sie das ER-Modell in das relationale Daten-Modell. Spalten Sie die Beziehungen in Primärschlüssel-Fremdschlüssel (1:1 und 1:n) oder Beziehungstabellen (n:m) auf. Verhindern Sie Dateninkonsistenzen. Testen Sie das Datenmodell durch beispielhafte Einträge.

Das relationale Modell: Entity-Relationship-Modell Leiten Sie aus dem semantischen Modell die benötigten Objekte ab. Es ist leicht, sich mehr und mehr Attribute auszudenken, sodass man sich zunächst auf die wichtigsten beschränken sollte. Normalerweise findet man die benötigten Attribute über eine Tätigkeitsanalyse oder eine Objektanalyse. In einer Tätigkeits- oder Prozessanalyse durchläuft man die gesamten Tätigkeiten, die ein Objekt ausführt. Sie verlaufen teilweise auch parallel zu den Tätigkeiten anderer Objekte, die entweder schon von Anfang an bestehen oder sich erst im Prozessverlauf herausbilden. Die Objektanalyse fokussiert mehr die Beschreibung von Objekten, die real vorhanden sind.

Das relationale Modell: Entity-Relationship-Modell Transformieren Sie das ER-Modell in das relationale Daten-Modell. Ein Objekt bildet eine eigene Tabelle. Die Datensätze sind die einzelnen Zeilen einer solchen Tabelle. Die Attribute stellen die Spalten (Feldnamen) dar. Ein Schlüssel ist ein spezielles Attribut, das einen Datensatz eindeutig identifiziert. Oft können die übrig bleibenden Attribute bei Entfernung eines Attributes einen Datensatz nicht mehr korrekt oder eindeutig identifizieren. Der Wertebereich einer Spalte entspricht der Domäne, die dem Attribut zugeordnet wurde. Eine Beziehung wird entweder über Fremdschlüssel oder über eine eigene Beziehungstabelle ausgedrückt.

Das relationale Modell: Entity-Relationship-Modell Verhindern Sie Dateninkonsistenzen. Hierbei müssen entsprechende Konventionen aus realen Gegebenheiten abgeleitet werden, um die Daten konsistent zu machen. Nur so können Sie garantieren, dass Abfragen auch tatsächlich korrekt ablaufen. Zwei typische Konzepte helfen bei diesem Ziel: Wertebereiche oder Domänen und Namensdefinitionen.

Das relationale Modell: Normalisierung Ein in einer Universal-Relation (nicht normalisierte Struktur/Tabelle) vorliegendes Datenmodell kann über Normalisierung in ein korrektes relationales Schema überführt werden. Dabei werden für die 1NF (erste Normalform) alle Attribute atomisiert, für die 2NF die funktionalen Abhängigkeiten zwischen Primärschlüssel und anderen Attributen elementar gemacht und für die 3NF die funktionalen Abhängigkeiten der Attribute untereinander direkt gemacht.

Das relationale Modell: Normalisierung Definitionen der ersten drei Normalformen: Eine Tabelle ist in der 1. Normalform, wenn sie einen Schlüssel besitzt und alle Attribute atomisiert sind. Atomisiert sind Attribute genau dann, wenn sie nicht weiter aufgeteilt werden können. ´ Eine Tabelle ist in 2. Normalform, wenn sie in der 1. Normalform ist und die funktionalen Abhängigkeiten zwischen Schlüssel und den anderen Attributen elementar ist. Eine Tabelle ist in der 3. Normalform, wenn sie in der 2. Normalform ist und die Eigenschaft und die funktionalen Abhängigkeiten zwischen dem Schlüssel und den anderen Attributen direkt sind.

Das relationale Modell: Normalisierung PersNr ProjNr LeitNr Zeit Name Jahr AbtNr AbtName MaZahl AbtLeit 1020 C13 15% Ralf Tauzieh 1995 2 Medien 4 B12 1042 30% 1992 1035 50% Jana Grün 2001 3 FiBu 25% Tom Schnell 1993 1 Seminare D10 1049 1990 1048 Fritz Bachler 1999 Programmierung 5 40% Tanja Sieben 1996

Das relationale Modell: Normalisierung PersNr Name Jahr 1020 Ralf Tauzieh 1995 1035 Jana Grün 2001 1042 Tom Schnell 1990 1048 Fritz Bachler 1999 1049 Tanja Sieben 1996 Für die 1. Normalform gilt, dass sie einen Schlüssel besitzt und alle Attribute atomisiert sind. PersNr Vorname Name Jahr 1020 Ralf Tauzieh 1995 1035 Jana Grün 2001 1042 Tom Schnell 1990 1048 Fritz Bachler 1999 1049 Tanja Sieben 1996

Das relationale Modell: Normalisierung PersNr ProjNr LeitNr Zeit AbtNr AbtName MaZahl AbtLeit 1020 C13 15% 2 Medien 4 B12 1042 30% 1035 50% 3 FiBu 25% 1 Seminare D10 1049 1048 Program- mierung 5 40%

Das relationale Modell: Normalisierung Tabelle Spalten PROJEKTE PersNr, Name, Jahr, AbtNr, AbtName, MaZahl, AbtLeit ZEITEN PersNr, ProjNr, Zeit PROJEKTLEITER ProjNr, LeitNr Gemäß Definition ist ein Objekt in der 2. Normalform, wenn es in der 1. Normalform ist und die funktionalen Abhängigkeiten zwischen Schlüssel und den anderen Attributen elementar sind.

Das relationale Modell: Normalisierung ProjNr LeitNr C13 1020 B12 1042 D10 1049 PersNr ProjNr Zeit 1020 C13 15% B12 30% 1035 50% 1042 25% D10 1048 1049 40%

Das relationale Modell: Normalisierung Tabelle Spalten MITARBEITER PersNr, Vorname, Name, Jahr, AbtNr ABTEILUNGEN AbtNr, AbtName, AbtLeiter, MaZahl PROJEKTE ProjNr, LeitNr ZEITEN PersNr, ProjNr, Zeit Damit ein Datenmodell in der 3. Normalform ist, muss es zunächst in der 2. Normalform sein und die Eigenschaft besitzen, dass die funktionalen Abhängigkeiten zwischen dem Schlüssel und den anderen Attributen direkt ist.

Das relationale Modell: Normalisierung ProjNr LeitNr C13 1020 B12 1042 D10 1049 AbtNr AbtName MaZahl AbtLeit 2 Medien 4 1020 3 FiBu 1035 1 Seminare 1042 Program- mierung 5 1048 PersNr ProjNr Zeit 1020 C13 15% B12 30% 1035 50% 1042 25% D10 1048 1049 40% PersNr Vorname Name Jahr AbtNr 1020 Ralf Tauzieh 1995 2 1035 Jana Grün 2001 3 1042 Tom Schnell 1990 1 1048 Fritz Bachler 1999 4 1049 Tanja Sieben 1996

 Fragen...

 Modul-Inhalt Beispieldatenbank AdventureWorks Das relationale Modell Das relationale Datenbank-System SQL – Structured Query Language

Das relationale DB-System: Begriffe Datenbanksystem heißt eine Struktur, die aus Datenbank und Datenbankmanagementsystem besteht. Datenbank heißt der Speicherort strukturierter Daten. Die Datenbank als solche stellt den Speicherort sämtlicher Daten auf einem physikalischen Datenträger dar. Datenbankmanagementsystem heißt die Komponente eines DBS, das Datenverwaltung und Datensicherheit bereitstellt.

Das relationale DB-System: Sichten Mit dem Begriff Sicht (engl. View) sollen unterschiedliche Betrachtungsweisen einer Datenbankkonzeption bezeichnet werden. Es entspricht einem Drei-Ebenen-Modell, das von ANSI/SPARC (engl. American National Standards Institute/Standards Planning and Requirements Committee) in den 70er Jahren empfohlen wurde.

Das relationale DB-System: Anforderungen Gute Repräsentation der realen Welt: Die Datenbank muss ein getreues Abbild der Realität mit aktuellen Daten liefern. Keine Datenredundanz: Die Informationen einer Datenbank sollen in ihrer Beschreibung und Speicherung einzigartig sein. Unabhängigkeit der Daten mit Blick auf Benutzung: Die Programme zur Benutzung der Datenbank sollen auf Hard- und Software-Seite (physische Unabhängigkeit) wie auf organisatorischer Seite (logische Unabhängigkeit) unabhängig sein. Leichter Datenzugriff: Auch mit Datenbanken nicht vertrauten Benutzern muss ein einfacher Informationszugriff möglich sein. Sicherheit und Vertraulichkeit: Sowohl auf physischer (Datenverlust durch Hardwarebeschädigung oder Mutwillen) wie auch auf logischer Seite (inhaltliche Zugriffskontrolle) müssen Sicherheitsstandards bestehen. Leistung der Abfragen und Anwendungsprogramme: Auch bei gleichzeitigem Zugriff auf die Daten muss eine akzeptable Antwortzeit gegeben sein.

Das relationale DB-System: Bestandteile einer Tabelle Die gesamte Tabelle heißt Relation. Ein Datensatz der Relation / Tabelle nennt sich Tupel. Die Breite der Tabelle / die Anzahl der Spalten oder Felder heißt Grad der Relation. Ein einzelnes Feld oder eine einzelne Spalte heißt Attribut der Tabelle. Mit Domänen werden die Wertebereiche bezeichnet, die für ein Attribut bzw. ein Feld der Relation vorgegeben wurden. Kardinalität bedeutet die Höhe / Länge der Relation / Tabelle.

Das relationale DB-System: Inhalte Tabelle: Eine Tabelle stellt den Speicherort der Daten eine relationalen Datenbank dar. Die Daten liegen in für den schnellen Zugriff optimierten Datei- und Datenstrukturen auf der Festplatte. Elemente: Spalten oder Felder, in welchem unter einem Namen und unter Berücksichtigung der Einschränkungen durch einen Datentyp einzelnen Daten einer Zeile getrennt voneinander verfügbar gemacht werden. Schlüssel: Der Primärschlüssel identifiziert einen Datensatz eindeutig, während der Fremdschlüssel einen Datensatz in einer anderen Tabelle referenziert. Einschränkungen: Spalten können Prüfmechanismen und Validierungsregeln aufweisen. Index: Ein Index oder auch mehrere Indizes, die sich jeweils auf eine oder mehrere Spalten beziehen, ermöglichen eine beschleunigte Abfrage von großen Tabellen.

Das relationale DB-System: Inhalte Tabelle: Eine Tabelle stellt den Speicherort der Daten eine relationalen Datenbank dar. Sicht: Eine Sicht kann man sich als gespeicherte Abfrage vorstellen. Durch die Art der Abfrage sind die Spalten und ihre Datentypen gegeben und kann man auf eine Sicht wie auf eine Tabelle mit Abfragen zugreifen. Die Daten werden dynamisch gemäß der Abfrage geladen und nicht in der Sicht gespeichert.

Das relationale DB-System: Inhalte Tabelle: Eine Tabelle stellt den Speicherort der Daten eine relationalen Datenbank dar. Sicht: Eine Sicht kann man sich als gespeicherte Abfrage vorstellen. Programm-Module: Prozedur: Eine Prozedur erlaubt, häufig wiederkehrende Operationen für Datenmanipulation oder auch Administration in der Datenbank zu automatisieren. Funktion: Eine Funktion ermöglicht die Definition von häufig durchgeführten Berechnungen oder Datenumwandlungen. Trigger: Ein Trigger ist ein automatisch durch vorab definierte Ereignisse aufgerufenes Programm (ähnlich einer Prozedur), mit dem anspruchsvolle Validierungs- und Gültigkeitsregeln sowie hoch automatisierte Datenänderungen durchgeführt werden.

 Das relationale DB-System: Architektur Für die Architektur-Muster werden die folgenden Systemkomponenten eingesetzt. Server (Datenbank-Server oder Anwendungsserver) Rechner mit Klient-Software Relationale Datenbank Server-Software Datenbank-Management-System

Das relationale DB-System: Architektur Relationale Datenbanken sind aus geschäftlichen Anwendungen und auch Internet-Anwendungen kaum wegzudenken. Da ein Datenbanksystem normalerweise auf einem eigenen Server betrieben wird, lassen sich verschiedene Architekturvarianten unterscheiden, die verschieden komplex sind.

 Das relationale DB-System: Architektur Das DBMS und die Klient-Software sind auf dem selben Rechner (Benutzer-Rechner) installiert. Klient-Software ist bspw. eine Java / .NET-Desktop-Anwendung DBMS ist bspw. Oracle, MS SQL Server oder MySQL (usw.) Kommunikation innerhalb des Rechners

 Das relationale DB-System: Architektur Das DBMS ist auf einem Datenbank-Server installiert. Die Klient-Software ist auf einem eigenen Rechner (Benutzer-Rechner) installiert und greift auf die Datenbank zu. Klient-Software ist bspw. eine Java / .NET-Desktop-Anwendung Kommunikation über das Netzwerk/Internet

 Das relationale DB-System: Architektur Das DBMS ist auf einem Datenbank-Server installiert. Auf einem eigenen Anwendungsserver ist eine Server-Software mit DB-Zugriff und Geschäftslogik installiert. Die Klient-Software ist auf einem eigenen Rechner (Benutzer-Rechner) installiert und greift auf die Datenbank zu. Klient-Software ist bspw. ein Internet Browser Server-Software ist bspw. eine Web-Anwendung in Java / .NET / PHP Kommunikation über das Netzwerk/Internet

 Fragen...

 Modul-Inhalt Beispieldatenbank AdventureWorks Das relationale Modell Das relationale Datenbank-System SQL – Structured Query Language

 SQL: Sprachbestandteile SQL bedeutet „Structured Query Language“ (Strukturierte Abfragesprache) und wird von so unterschiedlichen DBS wie Oracle, MySQL oder MS SQL unterstützt. Zusätzlich finden Sie Implementierungen in MS Access oder auch in MS Excel über die MS Query Schnittstelle.

 SQL: Sprachbestandteile Datendefinitionssprache (DDL - Data Definition Language): Bei der Entwicklung eines neuen DB-Projekts stellen diese Sprachelemente die ersten Befehle dar, die die DB mit ihren Tabellen und den zugehörigen Datentypen erzeugen. Datenmanipulationssprache (DML - Data Manipulation Language): Mit Hilfe von einfachen Befehlen können Datensätze in eine Tabelle eingetragen, gelöscht oder inhaltlich geändert werden. Zusätzlich stellt dieses Sprachsegment von SQL sämtliche Abfragewerkzeuge zur Verfügung. Datenkontrollsprache (DCL - Data Control Language): In diesem Bereich stellt SQL Befehle zur Verfügung, mit denen man die in der Datenbank enthaltenen Daten schützen kann. Die am häufigsten benutzten DCL-Befehle sind GRANT und DENY.

 SQL: Relationale Algebra Die relationale Algebra basiert auf der Mengenlehre und definiert Operationen auf Relationen, aus denen das relationale Modell besteht. Sie ist damit die theoretische Basis für die Abfragesprache SQL. Insbesondere beim SELECT-Befehl, mit dem man Daten aus der Datenbank abrufen kann, sind sehr leicht die Parallelen zur Relationenalgebra zu sehen.

 SQL: Relationale Algebra SQL basiert auf einem mathematischen Modell, das wiederum an die Mengenlehre angelehnt ist. Es heißt „relationale Algebra“. Die Selektion stellt eine der beiden Grundformen für die häufigste Abfrage bereit, nämlich die horizontale Auswahl von Zeilen einer Tabelle. Die Auswahl erfolgt dabei über eine Bedingung. Eine Projektion stellt eine Auswahl der Spalten aus einer Tabelle dar. Die Ergebnis- oder die Abfragetabelle wird mindestens eine Spalte weniger als die Ursprungstabelle enthalten.

 SQL: Relationale Algebra SQL basiert auf einem mathematischen Modell, das wiederum an die Mengenlehre angelehnt ist. Es heißt „relationale Algebra“. Der Union stellt eine Vereinigungsmenge aus zwei Tabellen her. Dabei gilt, dass die beiden eingehenden Tabellen das gleiche Schema, also die gleiche Spaltenstruktur, haben müssen. Die Differenz stellt das logische Gegenstück zur Vereinigung dar. Wiederum müssen die eingehenden Tabellen das gleiche Schema besitzen. Die Differenzbildung verläuft so, dass nur die Datensätze in der Ergebnistabelle übrig bleiben, die zur Tabelle T1, aber nicht zur Tabelle T2 gehören. Die Schnittmenge erzeugt eine Ergebnistabelle, die in beiden Tabellen vorhanden sind.

 SQL: Relationale Algebra SQL basiert auf einem mathematischen Modell, das wiederum an die Mengenlehre angelehnt ist. Es heißt „relationale Algebra“. Der Join (Verbund) aus zwei eingehenden Tabellen ergibt eine Verknüpfung beider Wertemengen, wobei die Datensätze übernommen und miteinander kombiniert werden, die einen gleichen Wert in zwei angegebenen Spalten besitzen. Das kartesische Produkt aus zwei eingehenden Tabellen ergibt eine Verknüpfung beider Wertemengen, wobei sämtliche Kombinationsmöglichkeiten gebildet werden.

 Fragen...

Architektur: Übungen Fragen zur Diskussion in der Gruppe: Wie lässt sich die Architektur von MS Access beschreiben? Beschreiben Sie die Architekturkomponenten und erläutern Sie deren Funktionen. Gehen Sie die verschiedenen Architekturmuster noch einmal durch und diskutieren Sie gemeinsam deren Anwendbarkeit für Ihren Arbeitsplatz Überlegen Sie sich die Vor- und Nachteile von dateibasierten Datenbanksystemen wie z.B. MS Access. Überlegen Sie sich einige Vor- und Nachteile von serverbasierten Datenbanksystemen wie SQL Server, Oracle etc.

Architektur: Übungen Aufgaben zur Erstellung in Gruppen zu zweit: Die Stadtverwaltung von SQL-Stadt möchte eine DB-gestützte Webseite betreiben. Welche Architektur ist hier möglich, wenn die Kontrolle über Webseite und DB komplett beim IT-Referat liegen soll? Das Museum zur Heimatgeschichte benötigt für den Kartenverkauf für drei Mitarbeiter(innen) eine Software-Lösung mit Abrechnungssystem. Welche Architektur wird die Lösung voraussichtlich haben? Wie könnte eine Lösung aussehen, wenn nur ein(e) Mitarbeiter(in) beschäftigt werden soll/kann? Wie sieht eine Lösung aus, die SAP einsetzt?

 Fragen...