Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

ER-Datenmodell und Abfragen in SQL
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Bauinformatik II Softwareanwendungen 1
Prof. Dr. Andreas Schmietendorf
Das Entity-Relationship-Modell
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SQL als Abfragesprache
SQL als Abfragesprache
Datenbankdesign und Normalisierung
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information,
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz.
Datenintegrität Referentielle Integrität create table
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation.
Einführung Dateisystem <-> Datenbanksystem
1 Kapitel 12: Transaktionsverwaltung. 2 Transaktion Bündelung mehrerer Datenbankoperationen Mehrbenutzersynchronisation Recovery.
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
© Katharina Brachmann Normalformen Oldenbourg S137, Klett S117
Datenbanken 10: Einfügen, Ändern, Löschen
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
objekt-relationale Datenbanken
Datenbankentwicklung IV-LK
Relationale Datenbanken III
Datenbank-entwicklungsprozess
Datenbank.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 Transaktionsverwaltung.
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
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
Relationales Datenmodell und DDL
verstehen planen bearbeiten
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Integritätsbedingungen (Constraints)
7 Verändern von Daten. 9-2 Ziele Beschreibe jeden DML Befehl Einfügen von Zeilen in eine Tabelle Ändern von Zeilen in einer Tabelle Löschen von Zeilen.
Einführung Dateisystem <-> Datenbanksystem
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbank für Skriptenverkauf
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
IS: Datenbanken, © Till Hänisch 2000 Entwurfstheorie Normalisierung oder "Wie man sich Ärger erspart"
IS: Datenbanken, © Till Hänisch 2000 Company: Entity types DEPARTMENT Name, Number, {Location},Manager, Mgr-Start- Date PROJECT Name, Number, Location,
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
IS: Datenbanken, © Till Hänisch 2000 Einführung Worüber reden wir hier eigentlich ?
SQL Basics Schulung –
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
Kapitel 6: Datenbanksysteme
Die erste Form der INSERT-Anweisung dient der Neueingabe von Daten:
(Structured Query Language)
 Präsentation transkript:

Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen) Datenbanken In 21 Minuten ;-) Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)

Datei- vs. Datenbankorganisation Programm 1 Datei A Datei B Programm 2 Datei C Datenbank Programm 1 Logische Datei A Physika- lische Datei X Datenbank- verwaltungs- system Logische Datei B Physika- lische Datei Y Programm 2 Logische Datei C

Datenbanksysteme 2 Benutzer 1 Benutzer 2 Programm A Externes Modell A Modell B Konzeptionelles Modell (Schema) internes Modell (Schema) Speichermedien Transformationsregeln DSDL DML DDL

hierarchisches Modell Lieferant Adresse Artikel Lager

Netzwerk-Modell Lieferant Warengruppe Adresse Artikel Lager Auftrag Lagerposition

Relationale Datenbanken 1 Für den Anwender stellen sich die Daten in Form von Tabellen dar mögliche Operationen erzeugen neue Tabellen aus bestehenden Untermenge der Zeilen einer Tabelle Untermenge der Spalten einer Tabelle Mögliche Operationen Tabellen hinzufügen Datensätze hinzufügen (insert) Datensätze holen (select) Datensätze ändern (update) Datensätze löschen (delete) Tabellen löschen

Relationale Datenbanken 2 Tabelle PS Auftragskopf FS Auftragspositionen Datensatz

Relationale Datenbanken 3 Eigenschaften der Relationen (zweidimensionalen Tabellen) Die Zeilen der Tabelle sind paarweise verschieden Die Reihenfolge der Zeilen ist irrelevant Das Tauschen der Spalten ändert die Relation (Tabelle) nicht Die Attributwerte von Relationen sind atomar Die Spalten der Tabelle sind homogen (= alle Werte einer Spalte sind vom gleichen Datentyp)

Normalisierung Normalform Test Abhilfe 1. NF Relation sollte keine mehrwertigen Attribute haben Neue Relation für jedes mehrwertige Attribut 2. NF Bei Relationen mit zusammengesetztem PK sollte kein Attribut von einem Teil des Schlüssels funktional abhängig sein Zerlegung, neue Relation für jeden Teil des Schlüssels mit den abhängigen Attributen. (Achtung: Beziehung zum PK der ursprünglichen Relation und allen abhängigen Attributen muß erhalten bleiben) 3. NF Kein Nicht-Schlüsselattribut sollte von einem anderen Nicht-Schlüsselattribut funktional abhängig sein Zerlegung, neue Relation mit den Nicht-Schlüsselattributen und ihren abhängigen Attributen "Your attributes shall depend on the key, the whole key and nothing but the key so help me Codd" (Usenet, comp.databases.oracle, Autor unbekannt)

Transaktionen Transaktionen stellen ein Bündel logisch und fachlich zusammen gehörender Buchungen dar. Besonderes Kennzeichen transaktionaler Systeme ist die konsistente Veränderung eines gemeinsamen Datenbestandes durch mehrere, parallel ablaufende Dialoganwendungen Beispiel Überweisung: Eine Überweisung besteht in aus zwei Buchungen: Der Soll-Buchung auf dem Konto des Überweisenden, und Der Haben-Buchung auf dem Konto des Empfängers Da es nur sinnvoll ist, wenn beide Buchungen gemeinsam vorgenommen werden, ist dies von einem Transaktionssystem sicherzustellen (Commit vs. Rollback)

ACID-Eigenschaften Atomicity Consistency Isolation Durability Die Änderungen an den Daten durch eine Transaktion finden entweder vollständig oder gar nicht statt Beispiel: Geld wird von Konto 1 abgehoben und Konto 2 gutgeschrieben Consistency Änderungen finden so statt, daß das System konsistent bleibt Beispiel: Der von Konto 1 angehobene Betrag ist der gleiche wie der Konto 2 gutgeschriebene Isolation Für jede Transaktion Ti sieht das System so aus, als ob alle Tj mit i<>j entweder vor oder nach Ti ablaufen Beispiel: Wenn jemand anderes gleichzeitig eine Buchung auf Konto1 oder Konto 2 macht, wird die Überweisung trotzdem korrekt ausgeführt Durability Wenn eine Transaktion abgeschlossen ist, bleiben die Daten auch bei Abstürzen,... erhalten Beispiel: Auch wenn der Geldautomat nach der Auszahlung abstürzt, taucht die Auszahlung im Konto (Auszug) auf

Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information, jede Zeile einen Datensatz Jede Spalte hat einen Datentyp CHAR, VARCHAR, NUMBER, DATE,...

Tabellen anlegen CREATE TABLE tabname (columns); z.B. Tabelle Artikel CREATE TABLE Artikel ( Nr INTEGER, Name VARCHAR2(50), Beschreibung VARCHAR2(500), Preis INTEGER ); Löschen mit DROP TABLE tabname;

Daten einfügen INSERT INTO tabname(col) values(val) z.B. Tabelle Artikel INSERT INTO Artikel(Nr,Name,Beschreibung) VALUES(1,‘Buch',‘über das Leben'); Strings in einfachen Hochkomma '

Daten abrufen SELECT cols FROM tabname; z.B. Tabelle Artikel SELECT Nr, Name FROM Artikel; Vereinfachung: * = alle Spalten SELECT * FROM Artikel; Auswahl SELECT Name, Preis FROM Artikel WHERE Nr=10;

Daten löschen DELETE FROM tabname [WHERE ...]; z.B. Tabelle Artikel DELETE FROM Artikel WHERE Nr=1; Achtung: DELETE FROM Artikel; löscht alle Datensätze der Tabelle !

Tabellen verknüpfen Informationen sind auf mehrere Tabellen verteilt und sollen zusammengefasst werden: Join z.B. Name der Angestellten in EMP, Name der Abteilung in DEPT SELECT E.ENAME,D.DNAME FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO;