Vorlesung #2 Einführung

Slides:



Advertisements
Ähnliche Präsentationen
Datenbanken Einführung.
Advertisements

Vorlesung: Prof. Norbert Fuhr
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Access 2000 Datenbanken.
Einführung Dateisystem <-> Datenbanksystem
Fachbereich Mathematik/Informatik Universität Osnabrück
Einführung und Überblick
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
SS 2011 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #5 Relationale Entwurfstheorie.
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
Vorlesung #2 Datenbankentwurf
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #10 Physische Datenorganisation.
Vorlesung #1 Einführung
SS 2009 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #2 Datenbankentwurf.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #3 Relationale Anfragesprachen.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #4 Das relationale Modell.
Vorlesung #4 SQL (Teil 1).
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #2 Das relationale Modell.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #5 Relationale Anfragesprachen.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #2 Das relationale Modell (Teil 1)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #1 Einführung.
WS 2013/14 Datenbanksysteme Fr 17:00 – 18:30 R Vorlesung #3 Das relationale Modell (Teil 2)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
Vorlesung #1 Einführung
Vorlesung #1 Einführung
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)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #2 Das relationale Modell (Teil 1)
Allgemeines zu Datenbanken
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.
Vorlesung #10 Physische Datenorganisation
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
Vorlesung #2 Das relationale Modell (Teil 1)
SQL - Structured Query Language  AIFB SS (1|3) 2.1 Allgemeines zu SQL (1|3) Benennung: SQL: „structured query language" ursprünglich: SEQUEL –
Einführung Dateisystem <-> Datenbanksystem
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #1 Einführung.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #2 Datenbankentwurf.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
WS 2015/16 Datenbanksysteme Fr 17:00 – 18:30 R Vorlesung #3 Das relationale Modell (Teil 2)
IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 8: Die relationale.
Vorlesung #2 Einführung
Vorlesung #2 ER –Modellierung (Datenbankentwurf)
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #10 Physische Datenorganisation
Vorlesung #7 Fehlerbehandlung
Vorlesung #5 Überführung (Fortsetzung) / Normalformen
Vorlesung #10 Fehlerbehandlung
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #2 Datenbankentwurf
Einführung "Datenbanksysteme"
Kapitel 6: Datenbanksysteme
Datenbanken Eine Einführung Kerstin Fröhlig, HHBK.
Von Wietlisbach, Lenzin und Winter
Grundlagen Datenbanken (GDB)
Datenbanksystem Von Anna und Robin.
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Präsentation von Darleen und Michèle
Datenbanken Von Amed und Alicia.
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Vorlesung #2 Einführung

Vorlesung #2 - Einführung (Teil 2) DBMS - Definition Database Management System (DBMS) - auf Deutsch Datenbankverwaltungssystem - besteht aus Datenbasis – Menge aller gespeicherten Daten Verwaltungssystem - Gesamtheit aller Programme, die den Zugriff, die Einhaltung von Konsistenz und die Modifikation der Daten regeln Man bezeichnet oft umgangsprachlich das DBMS als „die Datenbank“ Einige DBMS Systeme / Datenbanken Oracle, IBM DB2, Microsoft SQL Server, Adabas, SAPDB, Sybase, Microsoft Access, MySQL usw. © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

DBMS Basis-Architektur Das Ziel: Datenintegration bei gleichzeitiger Datenunabhängigkeit, d.h. Daten sollen von Anwendungsprogrammen unabhängig sein und auch unabhängig von der Art und Weise der physikalischen Speicherung ANSI SPARC Architektur – 3 Abstraktionsebenen Externes Schema (auch Anwendungs-Sichten oder Views, bzw. externe Ebene genannt) Konzeptionelles Schema (auch Implementations- oder konzeptionelle Ebene) Internes Schema (auch interne Ebene oder Physische Ebene genannt) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

DBMS – 3 Abstraktionsebenen Externes Schema - Sicht 1 Externes Schema - Sicht 2 Externes Schema - Sicht n ... Logische Ebene Konzeptionelles Schema Physische Ebene Physische Speicherung – internes Schema © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) Datenunabhängigkeit Physische Datenunabhängigkeit Datenbank Schema und Datenbank-Anwendungen sind von der physischen Speicherung der Daten entkoppelt. Änderungen auf der physische Ebene beeinträchtigen nicht die logische Ebene. Sie haben i.a. schnellere Zugriffszeiten oder höhere Ausfallsicherheit als Ziel. Logische Datenunabhängigkeit Änderungen des Datenbankschema sollen nicht Änderungen in allen Anwendungen (Sichten) hervorrufen. Beispiele: Hinzufügen neuer Attribute zu einer Relation, Aufspalten oder Zusammenfügen von Relationen. In heutigen Datenbanken nur bedingt möglich. © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Architektur eines DBMS (Kemper / Eickler) „Naive“ Benutzer Fortgeschrittene Benutzer Anwendungs- Programmierer Datenbank- administratoren Anwendung Interaktive Anfrage Verwaltungs- werkzeug Präcompiler DML-Compiler DDL-Compiler Anfragebearbeitung DBMS Mehrbenutzersynchr. Fehlerbehandlung Datenbankmanager Schemaverwaltung Dateiverwaltung Logdateien Indexe Datenbasis Datenwörterbuch © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Komponenten eines DBMS (nach Kemper / Eickler) DML Compiler DDL Compiler Anfragebearbeitung Datenbankmanager Schemaverwaltung Mehrbenutzersynchronisation Fehlerbehandlung © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Speicherstrukturen und Prozesse in Oracle © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Datenbank-Administrator „DBA“ (1) Person / Gruppe von Personen, die für die Datenbank verantwortlich ist / sind DBA - Aufgaben Installation einer Datenbank (Software-Auswahl, Bestimmung technischer Parameter etc.) Durchführung von Reorganisationen auf der physischen Ebene (Indexpflege, Änderungen der Speicherparameter von Tabellen, sowie notwendige Aktionen, die sich aus Betriebsystem oder Hardware-Änderungen ergeben) Durchführung von Sicherungen (Backup & Recovery), Sicherstellung des störungsfreien Betriebes 5*8 oder 24*7 Monitoring - Überwachung von Auslastung und Laufzeitverhalten (Performance) des Systems © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Datenbank-Administrator „DBA“ (2) DBA Aufgaben (fortgesetzt) Tuning – Optimierung und Verbesserung der Performance Planung und Durchführung der Wartungsarbeiten (Online und Offline Betrieb) Einspielen von Software-Erneuerungen (Patches, Upgrades), Kontakt zum Hersteller und Vertreiber des DBMS Laden von großen Datenmengen (Daten-Export und Import) Datenbank-Migrationen (Überführung der Datenbanken von einem kommerziellen System in das andere) In der Regel keine Aufgabe des/r DBA(s) Entwurf des logischen Datenbankschemas, geht bei der meist eingesetzten Standardsoftware gar nicht, zu komplex bzw. Produkt- und Firmengeheimnisse © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) Will jemand DBA werden? Sonstige „Datenbank“-Berufe Datenbank-Consulting Datenbank-Vertrieb Datenbank-Support Datenbank-Schulung Berufe, die Datenbankkenntnisse voraussetzen (Schnittstellen, Funktionsweise) Programmierung, Software Development Software-Architects, CIOs, Senior Management Analyse und Beratung im BI, Data Warehouse, Data Mining Umfeld ... © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) Fazit Datenbanken sind wichtig! Datenbanken sind geil! Ich werde Datenbanken beherrschen und damit später einen Job finden, der interessant und gut bezahlt ist. Ich weiß in etwa, wozu ein DBMS gut ist und was es tun sollte. Ich habe einen Überblick über Berufe, die etwas mit Datenbanken zu tun haben. © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Einordnung Miniwelt UML-Klassen ER-Diagramm 1. 2. 3. Objektorientiertes Schema Relationales Schema Netzwerk- Schema 2. Index(e) Cluster partitionierte Tabelle(n) DBMS -Speicherparameter 3. © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Prerelationale Systeme (1) Netzwerk-Modell Sieht aus wie ein Netzwerk (beliebiger gerichteter Graph) bestehend aus: Satztypen (record types) entsprechen den Entitäten Sammlungstypen (set types) entsprechen den Relationen zusätzlich: Anker (owner), Glieder (member) Hilfskonstrukte: link records, dummies Verbindungen sind wie bei verketteten Listen durch Zeiger (Pointer) implementiert, die stets beim Informationszugriff benutzt und gegebenenfalls auch verändert werden (-) Keine Rekursion, keine Datenunabhängigkeit, komplizierte Abfragen UDS (Siemens), IDMS (CA) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Prerelationale Systeme (2) Hierarchisches Modell Spezialfall des Netzwerk-Modells, sieht aus wie ein Baum und nicht wie beliebiger Graph Nachfolger, die mehrere Vorgänger haben, werden durch das Kopieren dem jeweiligen Vorgänger exklusiv zugeordnet, Graph  mehrere Bäume Jeder Datensatz über einen eindeutigen Zugriffspfad erreichbar, Redundanzvermeidung durch Implementierung zusätzlicher Zeiger (-) schlecht für nicht hierarchische Zusammenhänge wegen unnötiger Redundanz, keine Datenunabhängigkeit, komplizierte Abfragen IMS (IBM) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Orientierung Postrelationale Modelle Objekt-orientiertes Modell Objekt-relationales Modell (evolutionär) Deduktives Modell (Datalog) Verteilte Datenbanken Web-Datenbanken (XML, XPath, XQuery) In-Memory Datenbanken NoSQL Datenbanken werden nach dem relationalen Modell kurz vorgestellt © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Orientierung Warum gerade relational? Sehr einfach und intuitiv Marktbeherrschend ca. 80% der bereits installierten Datenbank-Systeme sind relational (bzw. objekt-relational) ca. 90% der neu gekauften Datenbank-Systeme sind relational (bzw. objekt-relational) Relationales Model bzw. RDBMS hat aber auch Schwächen in bestimmten Anwendungsszenarios, die wir als Motivation für postrelationale DBMS vorstellen © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) Geschichte Von Edward F. Codd 1970 vorgestellt: "A Relational Model of Data for Large Shared Data Banks." Erste Prototypen System R (IBM) Ingres (University of California, Berkeley unter Leitung von M. Stonebraker) Erste Produkte Oracle (Software Development Laboratories, später Relational Systems Inc., später Oracle Corporation) SQL/DS (IBM), Ingres (Relational Technology Inc.) ... © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Mathematische Definition Gegeben sind n atomare, nicht notwendigerweise unterschiedliche Wertebereiche (Domänen) D1, D2, ... , Dn Beispiel: string, string, float, ... , integer Relation R ist die Teilmenge des kartesischen Produkts der Domänen R  D1 x ... x Dn Beispiel: Vorlesungen  integer x string x integer Ein Tupel ist ein Element aus R t  R Beispiel: t = (4052, „Logik“, 4) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) Relationenschema legt die Struktur der gespeicherten Daten fest Beispiel: Vorlesungen: {[VorlNr:integer,Titel:string,SWS:integer]} Ausprägung: der aktuelle Zustand der Datenbasis Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 3 ... © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) Relationenschema (2) Relation (Tabelle, table) Vorlesungen VorlNr Titel SWS 5001 Grundzüge 4 5041 Ethik 3 ... Tupel (Zeile, row) Attribut (Spalte, column) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) Relationenschema (3) Trennung zwischen Schema und Ausprägung sch(R) – Menge der Attribute einer Relation R – die aktuelle Ausprägung dom(A) – Domäne eines Attributs sch(R) = {A1, ... , An} R  dom(A1) x ... x dom(An) Primärschlüssel – identifiziert eindeutig die Relation, wird unterstrichen © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Relationale Abfragesprachen Man braucht neben der Strukturbeschreibung (relationales Datenbankschema) auch eine Sprache, um die Informationen aus der Datenbank gemäß vorgegeben Kriterien extrahieren zu können Relationale Algebra beinhaltet einen relational-algebraischen Ausdruck wird bei der Anfragenbearbeitung benutzt (wie werden die Daten selektiert) Relationenkalkül Rein deklarativ (was und nicht wie selektiert wird) Tupelkalkül Domänenkalkül © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Relationale Algebra Operatoren (1)  Selektion  Projektion x Kreuzprodukt A Join (Verbund)  Umbenennung  Mengendifferenz  Division  Vereinigung Mengendurchschnitt © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Relationale Algebra Operatoren (2) F Semi-Join (linker) E Semi-Join (rechter) C linker äußerer Join D rechter äußerer Join © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 - Einführung (Teil 2) © Bojan Milijaš, 13.10.2016 Vorlesung #2 - Einführung (Teil 2)

Vorlesung #2 Ende