Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


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

1 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)

2 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

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

4 hierarchisches Modell
Lieferant Adresse Artikel Lager

5 Netzwerk-Modell Lieferant Warengruppe Adresse Artikel Lager Auftrag
Lagerposition

6 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 Relationale Datenbanken 2
Tabelle PS Auftragskopf FS Auftragspositionen Datensatz

8 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 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)

10 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 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

12 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 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 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 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 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 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 "Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)"

Ähnliche Präsentationen


Google-Anzeigen