Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Datenbanken In 21 Minuten ;-) Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)"—  Präsentation transkript:

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

2 Web-DB-Kopplung, © Till Hänisch 2003 Datei- vs. Datenbankorganisation Programm 1 Programm 2 Datei A Datei B Datei C Programm 2 Programm 1Logische Datei A Logische Datei B Logische Datei C Datenbank- verwaltungs- system Datenbank Physika- lische Datei X Physika- lische Datei Y

3 Web-DB-Kopplung, © Till Hänisch 2003 Datenbanksysteme 2 Benutzer 1Benutzer 2 Programm A Externes Modell A Externes Modell B Konzeptionelles Modell (Schema) internes Modell (Schema) Speichermedien Transformationsregeln DSDL DML DDL

4 Web-DB-Kopplung, © Till Hänisch 2003 hierarchisches Modell Lieferant Adresse ArtikelLager

5 Web-DB-Kopplung, © Till Hänisch 2003 Netzwerk-Modell Lieferant Adresse Warengruppe Lagerposition Artikel Auftrag Lager

6 Web-DB-Kopplung, © Till Hänisch 2003 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

7 Web-DB-Kopplung, © Till Hänisch 2003 Relationale Datenbanken 2 PS Auftragskopf FS Auftragspositionen Tabelle Datensatz

8 Web-DB-Kopplung, © Till Hänisch 2003 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)

9 Web-DB-Kopplung, © Till Hänisch 2003 Normalisierung NormalformTestAbhilfe 1. NFRelation sollte keine mehrwertigen Attribute haben Neue Relation für jedes mehrwertige Attribut 2. NFBei 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. NFKein 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)

10 Web-DB-Kopplung, © Till Hänisch 2003 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)

11 Web-DB-Kopplung, © Till Hänisch 2003 ACID-Eigenschaften Atomicity 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 T i sieht das System so aus, als ob alle T j mit i<>j entweder vor oder nach T i 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

12 Web-DB-Kopplung, © Till Hänisch 2003 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,...

13 Web-DB-Kopplung, © Till Hänisch 2003 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;

14 Web-DB-Kopplung, © Till Hänisch 2003 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 '

15 Web-DB-Kopplung, © Till Hänisch 2003 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;

16 Web-DB-Kopplung, © Till Hänisch 2003 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 !

17 Web-DB-Kopplung, © Till Hänisch 2003 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;


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

Ähnliche Präsentationen


Google-Anzeigen