9. Einführung in Datenbanken



Ähnliche Dokumente
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

1 Mathematische Grundlagen

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

3. Das Relationale Datenmodell

Im Original veränderbare Word-Dateien

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Datenbankmodelle 1. Das Entity-Relationship-Modell

Informatik 12 Datenbanken SQL-Einführung

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Professionelle Seminare im Bereich MS-Office

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

7. Übung - Datenbanken

Webalizer HOWTO. Stand:

Konzepte der Informatik

Datenbanken: Relationales Datenbankmodell RDM

Redundanz: Dieselben Informationen werden doppelt gespeichert.

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

IT-Kompaktkurs. Datenbanken Skript zur Folge 5. Prof. Dr. Georg Herde Fachhochschule Deggendorf

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

OPERATIONEN AUF EINER DATENBANK

Lehrer: Einschreibemethoden

Grundlagen der Theoretischen Informatik, SoSe 2008

Stand: Adressnummern ändern Modulbeschreibung

2.5.2 Primärschlüssel

Primzahlen und RSA-Verschlüsselung

Relationale Datenbanken Datenbankgrundlagen

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Datenbanken für Online Untersuchungen

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Datenbanken Kapitel 2

Anleitung über den Umgang mit Schildern

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Design Theorie für relationale Datenbanken

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Datenbanken Microsoft Access 2010

Inhaltsverzeichnis. 1. Fragestellung

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Lizenzierung von SharePoint Server 2013

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anleitung zum neuen Überaumbuchungssystem der Hochschule für Musik und Tanz Köln

Allgemeines zu Datenbanken

Abfragen: Grundbausteine

Wie Sie mit Mastern arbeiten

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Verkehrsteilnehmer. Beispiel: Wir betrachten die Modellierung von Handlungskomponenten wie Verkehrsteilnehmern und Straßen.

Info-Veranstaltung zur Erstellung von Zertifikaten

Objektorientierte Programmierung

Die Textvorlagen in Microsoft WORD und LibreOffice Writer

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Arbeiten mit UMLed und Delphi

Internet online Update (Mozilla Firefox)

Sonderrundschreiben. Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen

MdtTax Programm. Programm Dokumentation. Datenbank Schnittstelle. Das Hauptmenü. Die Bedienung des Programms geht über das Hauptmenü.

Einführungskurs MOODLE Themen:

Bedienung des Web-Portales der Sportbergbetriebe

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

CodeSaver. Vorwort. Seite 1 von 6

Monitore. Klicken bearbeiten

Website freiburg-bahai.de

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Wie halte ich Ordnung auf meiner Festplatte?

SMS/ MMS Multimedia Center

Hilfedatei der Oden$-Börse Stand Juni 2014

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

Das Entity-Relationship-Modell

Dokumentenverwaltung im Internet

Erstellen von x-y-diagrammen in OpenOffice.calc

MS Access 2010 Kompakt

Anforderungsanalyse: Tutor

Zahlen auf einen Blick

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Kapitel 8: Physischer Datenbankentwurf

Anleitung zum Herunterladen von DIN-Vorschriften außerhalb des internen Hochschulnetzes

Access 2000 und MS SQL Server im Teamwork

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

MS Excel 2010 Kompakt

Jederzeit Ordnung halten

Datenexport aus JS - Software

ecaros2 - Accountmanager

Skriptenverkauf Datenmodell. Lars Trebing, 4. Juli 2008

4 Grundlagen der Datenbankentwicklung

K.U.Müller November 2009

Pflegeberichtseintrag erfassen. Inhalt. Frage: Antwort: 1. Voraussetzungen. Wie können (Pflege-) Berichtseinträge mit Vivendi Mobil erfasst werden?

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Beispiele für Datenbank-Struktur-Probleme

2. Im Admin Bereich drücken Sie bitte auf den Button Mediathek unter der Rubrik Erweiterungen.

Kennen, können, beherrschen lernen was gebraucht wird

Kurze Benutzungsanleitung für Dozenten

Handreichung für die Nutzung der FWU-Mediathek für Hamburger Schulen

Dokumentation für Lehrstühle

Transkript:

9. Einführung in Datenbanken 9.1 Motivation und einführendes Beispiel 9.2 Modellierungskonzepte der realen Welt 9.3 Anfragesprachen (Query Languages) 9.1 Motivation und einführendes Beispiel Datenbanken innerhalb einer größeren Anwendung dienen nicht nur der Informationsspeicherung, sondern sollen auch das Auslesen von Information (Retrieval) ermöglichen. Eine Datenbank könnte man auffassen als eine Menge von Dateien, wobei jede Datei z.b. als Folge von Records mit fester Struktur organisiert ist. Wir betrachten dazu als einfaches Beispiel den Ausschnitt einer Firmendatenbank: Es sind Informationen über Lieferanten, die lieferbaren Produkte und deren Preis zu speichern. Eine Realisierungsmöglichkeit benutzt die Datei Lieferanten mit den Recordkomponenten Lieferantenname, Lieferantenadresse, Produkt, Preis Für das Retrieval könnten folgende Anfragen sinnvoll sein: Liefert der Lieferant X das Produkt y? Wenn ja: zu welchem Preis? Gib alle Produkte des Lieferanten X aus Gib den Preis des Produkts Y für alle Lieferanten aus Einige Begriffe bei Datenbanken Datatenbankmanagementsystem (DBMS): erlaubt Benutzern, weitere Daten einzutragen, zu ändern, und abzufragen. Das DBMS ist verantwortlich für: Sicherheit: Zugriff nur über eine Passwort-Autorisation Integrität: Einschränkungen bei der Benutzung, dass keine widersprüchlichen Daten eingetragen werden Synchronisation: wenn mehrere Benutzer gleichzeitig auf Datenbankinhalte zugreifen Benutzersichten: Ein Benutzer darf ggf. nur auf einen Teil der Daten zugreifen können Struktur eines DBMS: definiert verschiedene Ebenen der Abstraktion Sicht 1 Benutzergruppe 1 Physikalische Datenbank Konzeptuelle Datenbank Sicht 2... Benutzergruppe 2 Physikalische Datenbank: Zweck: Speicherung der Dateien. File of Lieferanten Record Format: : CHAR(29) : CHAR(30) PRODUKT: CHAR(10) PREIS: INTEGER(5) Sicht n Benutzergruppe n Insbesondere ist für jede Datei zu überlegen, wie sie zu speichern ist, z.b sequenziell, als B-Baum,... Konzeptuelle Datenbank: Hier geht es zunächst um die Frage, wie die Dateien für eine Anwendung aufzubauen sind, d.h. welche Komponenten die Records haben sollen, damit bestimmte "gute" Eigenschaften erzielt werden. Strukturbeschreibung für Lieferanten(,, PRODUKT, PREIS) Probleme, dargestellt an diesem Beispiel : Redundanz: Adresse eines Lieferanten wird bei jedem von ihm gelieferten Produkt gespeichert Potentielle Inkonsistenz (update Anomalie): Adresse eines Lieferanten ändert sich, sie wird aber nicht in allen zugehörigen Tupeln geändert. 2001 K. Ecker Angewandte und praktische Informatik, Kap. 9: Datenbanken 9-1

Lösch-Anomalie: Wenn das letzte Produkt von Lieferant gelöscht wird, gehen dessen Name und Adresse verloren Einfüge-Anomalie: Wenn bei einem (neuen) Lieferanten noch kein Produkt bekannt ist, kann er nicht eingetragen werden Eine bessere Strukturierung würde man durch die Verwendung von zwei Dateien erhalten: Lieferant(, ) Produkte(, PRODUKT, PREIS) Es geht also unter anderem um die Frage, einen Ausschnitt der realen Welt geeignet in einer physikalischen Datenbank zu modellieren, so dass die vorhin genannten Probleme (möglichst) vermieden werden. Externe (Sichten-) Ebene: Auf dieser Ebene werden Operationen für das Arbeiten auf den Dateien zur Verfügung gestellt. Typische Operationen sind: Einfügen eines Records Löschen eines Records Modifizieren eines Records Finde einen Record mit einem bestimmten Wert in einer bestimmten Komponente Diese und weitere Operationen werden in der konzeptuellen Ebene z.b. auf der Basis der Relationenalgebra realisiert. 9.2 Modellierungskonzepte der realen Welt Abbildung der realen Welt auf Konzepte eines Daten(bank)modells Modelle Daten Parallele: Algorithmen abstrakter Entity-Relationship-Modell Flussdiagramme konkreter hierarchisches Modell Netzwerkmodell Relationenmodell PASCAL- Programme C- Programe 9.2.1 Entity-Relationship-Modell (Chen, 1976) Konzepte: Entity: Gegenstände der realen Welt, die voneinander unterscheidbar sind jede Professor, jeder Student, jede Prüfung im Tabellenmodell (später): eine Zeile einer Tabelle Entity-Menge: Ähnliche Gegenstände der realen Welt zusammengefasst Attribute: Domänen: Schlüssel: alle Professoren, alle Studenten, alle Prüfungen im Tabellenmodell: alle Zeilen einer Tabelle Eigenschaften von Entity-Mengen, die allen Entities dieser Menge gemeinsam sind Note ist Eigenschaft aller Prüfungen im Tabellenmodell: Spaltenüberschrift einer Tabelle Wertebereiche von Attributen (etwa Typen in PASCAL) Note hat Domäne 1.0.. 6.0 Menge von Attributen, die ein Entity identifizieren {MATRNR} ist Schlüssel für Studenten -- " -- ist kein Schlüssel für Prüfungen isa-relationship: Beziehung zwischen verschiedenen Entity-Typen der Form Entity-Menge 1 is a (spezial kind of) Entity-Menge 2 TUC-Verwaltung Entity-Menge 1 : Entity-Menge 2 : alle Angestellten is a alle Professoren 2001 K. Ecker Angewandte und praktische Informatik, Kap. 9: Datenbanken 9-2

Relationship: Allgemeine Beziehung zwischen verschiedenen Entity-Mengen Ausleihe ist Beziehung zwischen Büchern und Studenten mit zusätzlichem Attribut Ausleihdatum Funktionale/ Nichtfunktionale Beziehungen: one-to-one: many-to-one: Klassifizierung von Beziehungen nach "Wieviele Entities einer Entity-Menge können mit wie vielen Entities einer anderen Entity-Menge in Beziehung stehen? Für jedes Entity aus jeder Mengen existiert höchstens ein zugeordnetes aus der anderen Menge Entity-Mengen Professoren, Lehrstühle Ein Entity in Entity-Menge E 2 steht in Beziehung zu einer (ev. leeren) Menge von Entities aus E 1, jedes Entity in E 1 aber mit höchstens einem aus E 2 Entity-Mengen Professoren, Vorlesungen many-to-many: keine Einschränkung an die Beziehung Entity-Mengen Studenten, Vorlesungen Darstellung im E(ntity)-R(elationship)- Diagramm: Entity-Menge Attribut Verbindungskante zwischen Entity-Mengen und Attributen Verbindungskanten bei Schlüsselattributen Relationship Vollständiges Beispiel (Schlüssel sind unterstrichen) Entities: Studenten mit Attributen MATRNR Bücher mit Attributen ISBN TITEL AUTOR Professoren mit Attributen GEB.DATUM many-to-one Relationship one-to-one Relationship isa-relationship Lehrstühle mit Attributen BEZEICHNUNG FACHBEREICH Vorlesungen mit Attributen (Schlüssel) STUNDENUMFANG INHALT Relationships: Ausleihe many-to-one Bücher, Studenten Position one-to-one Professoren, Lehrstühle Veranstalter many-to-one Vorlesungen; Professor Teilnehmer many-to-many Studenten, Vorlesungen 2001 K. Ecker Angewandte und praktische Informatik, Kap. 9: Datenbanken 9-3

ER-Diagramm: MATRNR ISBN AUTOR TITEL STUDENT AUSLEIHE BUCH AUSLEIHDATUM TEILNEHMER GEB-DATUM VORLESUNG VERANSTALTER PROFESSOR STUNDEN- UMFANG INHALT POSITION LEHRSTUHL BEZEICHNUNG FACHBEEICH 9.2.2 Relationenmodell (Codd, 1970) Anschaulich: Student MATRNR "Relationenschema" 603425 606237 617543 Willi Meyer Heribert Müller Walter Schmidt "Attribut" Clausthal Buntenbock Clausthal } } "Relation" (Instanzen) "Attibutwert aus der Domäne INTEGER" mehrere Relationenschemata ergeben ein "Datenbanksschema" mehrere Relationen ergeben eine "Datenbank " eine Zeile einer Tabelle ist "Tupel einer Relation" Operatonen: Spalten einer Tabelle auswählen ( Projektion π ) Zeilen einer Tabelle auswählen ( Selektion σ ) Tabellen verknüpfen ( Verbund )... Begriffe identifizierende Attributmenge, Schlüssel, Primärschlüssel am Im Relationenschema Student ist {MATRNR, } "identifizierende Attributmenge". {MATRNR} ist "Schlüssel" Geht man davon aus, dass auch {, } Schlüssel ist, dann muss einer der beiden als "Primärschlüssel" ausgezeichnet werden, z.b. [MATRNR} 9.2.3 Abbildung eines ER-Diagramms in ein relationales Datenbankschema (1) Entity Relationenschema mit allen Attributen des Entities im Diagramm (2) Relationship zwischen Entity-Mengen E 1,..., E k (3) one-to-one Relationship zwischen E 1 und E 2 many-to-one Relationship zwischen E 1 und E 2 many-to-many Relationship zwischen E 1 und E 2 Relationenschema mit allen Primärschlüsseln der Entity-Mengen E 1,..., E k Vorsicht: gleiche Attribute in unterschiedlichen Entities sind vorher umzubenennen (z.b. ) beide Primärschlüssel werden Schlüssel im Relationenschema, das die Relationship darstellt Primärschlüssel von E 1 wird Schlüssel des entstehenden Relationenschemas Beide Primärschlüssel vereinigt ergeben einen neuen Schlüssel im entstehenden Relationenschema 2001 K. Ecker Angewandte und praktische Informatik, Kap. 9: Datenbanken 9-4

9.2.4 Relationenalgebra Es werden mehrere Operationen auf Relationen definiert, welche die Grundlage für Abfragesprachen bilden. Es gibt 5 grundlegende Operationen. Seien R und S Relationenschemata, und r und s Relationen auf R bzw. S. (a) Vereinigung (union) r s Voraussetzung: R und S müssen gleich sein (b) Mengendifferenz r s Voraussetzung: R und S müssen gleich sein (c) Projektion Sei R' ein Teilschema (Teilmenge) von R ; π R' (r) ist die Relation, die nur aus den Spalten von R' besteht (d) Selektion enthält alle Tupel von r, die eine spezifizierte Bedingung (COND) erfüllen. σ COND (r) (e) Verbund (join) verbindet zwei Relationen r und s "über gemeinsamen Attributwerten", r s d.h.: wenn R und S keine gemeinsamen Attribute haben, dann ist r s das kartesische Produkt von r und s; andernfalls, wenn R und S gleiche Attribute besitzen, dann werden jene Tupel von r und s zu neuen Tupeln kombiniert, die bei den gemeinsamen Attributen gleiche Werte haben. Weitere Operationen sind Einfügen, Löschen, Modifizieren, Umbenennen von Attributen Fortsetzung der ausführlichen Beispiels 1. Projektion: Erzeuge eine Liste aller Studenten mit Adresse π (, ) (Student) 2. Selektion: Gib alle Bücher aus, die der Autor Baker geschrieben hat σ (AUTOR='Baker') (Buch) 3. Verbund: Gib alle Studenten (nur Matrikelnummer) mit den von ihnen ausgeliehenen Büchern (Autor, Titel) aus, wobei das Ausleihdatum vor dem 1.1.02 liegt π (MATRNR,AUTOR,TITEL) (σ (AUSLEIHDATUM < 1.1.02) (Buch Ausleihe) ) 9.3 Anfragesprachen (Query Languages) Eine der bekanntesten unter den vielen existierenden Abfragesprachen ist SQL. SQL stellt neben Operatoren für das Erzeugen und Löschen von Relationenschemata Befehle für das Einfügen von Tupeln: INSERT Modifizieren: UPDATE Löschen: DELETE und für die Projektion/Selektion: SELECT zur Verfügung. Im folgenden werden nur einige wesentliche Aspekte des SELECT Befehls besprochen. Grundlegende Syntax von SELECT: SELECT (Angabe gewünschter Spalten) FROM (Angabe von Tabellen) WHERE (Selektionsbedingung für Tupel) Über Zusätze wie "GROUP BY", "HAVING", "ORDERED BY" und weitere SQL-Konzepte wird z. B. auf http://sqlcourse2.com/ verwiesen. Beispiele: 1. Erzeuge eine Liste aller Studenten mit Adresse: SELECT, FROM Student 2. Gib alle Bücher aus, die der Autor Baker geschrieben hat: SELECT ISBN, AUTOR, TITEL FROM Buch WHERE AUTOR = 'Baker' 3. Gib alle Studenten (nur Matrikelnummer) mit den von ihnen ausgeliehenen Büchern (Autor, Titel) aus, wobei das Ausleihdatum vor dem 1.1.02 liegt: SELECT MATRNR, AUTOR, TITEL FROM Buch, Ausleihe WHERE AUSLEIHDATUM < 1.1.02 ---- Ende Kapitel 9 ---- 2001 K. Ecker Angewandte und praktische Informatik, Kap. 9: Datenbanken 9-5