Datenbanken. Christian Silberbauer. Inhaltsverzeichnis
|
|
- Anna Linden
- vor 8 Jahren
- Abrufe
Transkript
1 Datenbanken Christian Silberbauer Inhaltsverzeichnis 1. Allgemeine Begriffsdefinitionen Datenbanken allgemein Relationale Datenbanken Transaktion Normalformen Begriffsdefinitionen Definitionen der Normalformen SQL Begriffsdefinitionen Data Definition Language (DDL) Data Manipulation Language (DML) SQL für Objektrelationale Datenbanken PHP Funktionen Beispielskripte Regeln zum Datenbankentwurf Concurrency und Recovery...17 Dieses Skript orientiert sich überwiegend an der Vorlesung Datenbanken im Studiengang Wirtschaftsinformatik an der Fachhochschule Regensburg von Prof. Dr. Schicker. Alle Rechte vorbehalten.
2 Allgemeine Begriffsdefinitionen 1. Allgemeine Begriffsdefinitionen 1.1. Datenbanken allgemein Datenbank Semantisch zusammengehörige Daten, die von einem Datenbankmanagementsystem verwaltet werden Datenbankmanagementsystem (DBMS) Ein Datenbankverwaltungssystem kapselt die Verwaltung persistenter Daten von deren Nutzung durch ein Anwendungssystem. Semantisch zusammengehörige Daten werden in so genannten Datenbanken vereint. Die derzeit wirtschaftlich erfolgreichsten Datenbankmanagementsysteme sind der Reihe nach Oracle (Oracle), DB/2 (IBM) und SQL-Server (Microsoft). Weit verbreitet sind zudem MS-Access (Microsoft) und MySQL Datenbankschnittstelle Die Datenbankschnittstelle ermöglicht dem Anwendungssystem den Zugriff die Daten der Datenbank Relationale Datenbanken Relationale Datenbank Relationale Datenbanken sind Datenbanken, deren Daten in Relationen gespeichert sind. Beziehungen zwischen diesen Relationen werden ausschließlich durch Fremdschlüsselattribute hergestellt Überblick Formale Relationale Ausdrücke Informelle Ausdrucksweise Relation Tupel Kardinalität Attribut Grad Primärschlüssel Gebiet Tabelle eine Zeile einer Tabelle Anzahl der Zeilen einer Tabelle eine Spalte einer Tabelle Anzahl der Spalten einer Tabelle eindeutiger Bezeichner Menge aller möglichen Werte Relation Eine Relation ist eine Tabelle mit folgenden Eigenschaften: - Es gibt keine doppelten Tupel - Tupel sind nicht geordnet - Attribute sind nicht geordnet - Alle Attribute sind atomar Datenbanken Christian Silberbauer
3 Allgemeine Begriffsdefinitionen Schwache Relation Eine Relation heißt schwach, wenn sie lediglich eine andere Relation referenziert und die Existenz ihrer Tupel von der Existenz der referenzierten Tupel der anderen Relation abhängig ist. Eine Subtyp-Relation (1-1-Beziehung) ist meistens schwach Beziehungsrelation Eine Beziehungsrelation ist eine Relation mit zwei oder mehreren Fremdschlüsseln, die zusammen einen Schlüsselkandidaten bilden Schlüsselkandidat Ein Schlüsselkandidat besteht aus einer minimalen Menge von Attributen einer Relation, die die Tupel der Relation eindeutig identifizieren. minimale Menge bedeutet, dass keine Teilmenge dieser Attribute auch Schlüsselkandidat sein darf Primärschlüssel Ein Primärschlüssel ist ein ausgewählter Schlüsselkandidat einer Relation. Der Wert eines Fremdschlüssels, der auf ein Tupel dieser Relation verweist, muss einem Wert des Primärschlüssels entsprechen Alternative Schlüssel Alternative Schlüssel sind Schlüsselkandidaten, die nicht Primärschlüssel sind Fremdschlüssel Als Fremdschlüssel bezeichnet man ein oder mehrere Attribute, der oder die gemeinsam einen definierten Primärschlüssel beinhalten und somit auf das zugehörige Tupel verweisen Schlüsselattribut Ein Schlüsselattribut ist ein Attribut eines Schlüsselkandidaten Nichtschlüsselattribut Ein Nichtschlüsselattribut ist ein Attribut, das keinem Schlüsselkandidaten zugehört Transaktion Eine Transaktion ist eine feste Folge von Operationen. Transaktionen besitzen die ACID- Eigenschaften: Atomarität (atomicity): Konsistenz (consistency): Isolation (isolation): Eine Transaktion wird entweder ganz oder gar nicht ausgeführt. Nach Ausführung der Transaktion ist die Datenbank wieder in widerspruchsfreiem Zustand. Jede Transaktion ist unabhängig von eventuell parallel laufenden Transaktionen. Dauerhaftigkeit/Persistenz (durability): Änderungen von Transaktionen gelten auf Dauer. Datenbanken Christian Silberbauer
4 Normalformen 2. Normalformen 2.1. Begriffsdefinitionen Funktionale Abhängigkeit Ein Attribut Y einer Relation R heißt funktional abhängig vom Attribut X derselben Relation, wenn zu jedem X-Wert höchstens ein Y-Wert möglich ist. (X -> Y) alle Attribute hängen vom Primärschlüssel und den alternativen Schlüsseln funktional ab Volle Funktionale Abhängigkeit Ein Attribut Y einer Relation R heißt voll funktional abhängig vom Attribut X derselben Relation, wenn es funktional abhängig ist von X und es nicht funktional abhängig ist von beliebigen Teilattributen von X. (X => Y) es gilt: es gilt nicht: Primärschlüssel -> alle anderen Attribute Primärschlüssel => alle anderen Attribute Determinante Eine Determinante ist ein Attribut, von dem ein anderes voll funktional abhängig ist Mehrfache Abhängigkeit (Grob-Definition) Ein Attribut Y einer Relation R heißt mehrfach abhängig vom Attribut X derselben Relation, wenn zu jedem X-Wert höchstens eine eng begrenzte Anzahl Y-Werte möglich sind Definitionen der Normalformen Normalform Eine Relation ist in der 1. Normalform, wenn alle ihr zugrunde liegenden Gebiete nur atomare Werte enthalten. Eine (normalisierte) Relation ist immer in der ersten Normalform Normalform Eine Relation ist in der 2. Normalform, wenn sie in der 1. Normalform ist und jedes Nicht- Schlüsselattribut vom Primärschlüssel voll funktional abhängig ist. Das heißt, die Attribute müssen vom ganzen Primärschlüssel abhängig sein Es gilt mit 2. NF: Primärschlüssel => Nichtschlüsselattribute Eine Relation in erster Normalform mit nicht zusammengesetztem Primärschlüssel ist immer in der zweiten Normalform Normalform (nach Boyce/Codd) Eine Relation ist in der 3. Normalform, wenn sie in der 2. Normalform ist und jede Determinante dieser Relation ein Schlüsselkandidat ist. Das heißt, ein Nichtschlüsselattribut darf von keinem anderen Nichtschlüsselattribut abhängig sein. Datenbanken Christian Silberbauer
5 Normalformen Normalform Eine Relation ist in der 4. Normalform, wenn sie in der 3. Normalform ist und jede mehrfache Abhängigkeit auch eine funktionale Abhängigkeit nach sich zieht Normalform (Projektion-Join-Normalform; Grob-Definition) Eine Relation ist in der 5. Normalform, wenn sie in der 4. Normalform ist und sie nicht-trivial nicht mehr in mindestens zwei Relationen zerlegt werden kann. Datenbanken Christian Silberbauer
6 SQL 3. SQL 3.1. Begriffsdefinitionen SQL (Structured Query Language) ist eine Abfrage- und Manipulationssprache für relationale Datenbanken. SQL ist eine deklarative, mengenorientierte Sprache. SQL-Anweisungen werden in drei Klassen: - DDL (Data Definition Lanugage): Datenbankobjekte (Tabellen, Views etc.) angelegen und manipulieren (z.b. CREATE TABLE, CREATE VIEW) - DML (Data Manipulation Language): Daten aus Tabellen selektieren und verändern (z.b. SELECT, INSERT, UPDATE, DELETE) - DCL (Data Control Language): Steuern von Transaktionen (z.b. COMMIT, ROLLBACK) 3.2. Data Definition Language (DDL) CREATE TABLE-Befehl Syntax CREATE TABLE Tabellenname ({ Spalte { Datentyp Gebietsname } [Spaltenbedingung [ ]] Tabellenbedingung } [, ] ) Spaltenbedingung := [CONSTRAINT Bedingungsname] { NOT NULL PRIMARY KEY UNIQUE CHECK (Bedingung) REFERENCES Tabellenname [(Spalte [, ])] [ ON DELETE { NO ACTION CASCADE SET NULL }] [ ON UPDATE { NO ACTION CASCADE SET NULL }] } [ ] Tabellenbedingung := [CONSTRAINT Bedingungsname] { PRIMARY KEY (Spalte [, ]) UNIQUE (Spalte [, ]) CHECK (Bedingung) FOREIGN KEY (Spalte [, ]) REFERENCES Tabellenname [(Spalte [, ])] [ ON DELETE { NO ACTION CASCADE SET NULL }] [ ON UPDATE { NO ACTION CASCADE SET NULL }] } [ ] Datenbanken Christian Silberbauer
7 SQL Die wichtigsten Datentypen INTEGER, INT SMALLINT NUMERIC(x, y) DECIMAL(x, y) FLOAT(x) CHARACTER(n), CHAR(n) VARCHAR(n) DATE Ganzzahl Ganzzahl x-stellige Dezimalzahl mit y Nachkommastellen mindestens x-stellige Dezimalzahl mit y Nachkommastellen Gleitpunktzahl mit x Nachkommstellen Zeichenkette der Länge n (ungenutzte Zeichen werden mit Leerzeichen aufgefüllt!) Variable Zeichenketten mit bis zu n Zeichen Datumsfeld Anwenden der relationalen Integritätsregel Im Falle von Manipulationen referenzierter Tupel (Primärschlüsselwerte ändern oder Tupel löschen) sind bei einem Fremdschlüssel folgende Konsequenzen zur Erhaltung der relationalen Integrität möglich: Aktion zurückweisen ON DELETE NO ACTION ON UPDATE NO ACTION Aktion kaskadierend ausführen ON DELETE CASCADE ON UPDATE CASCADE Referenzen auf NULL setzen ON DELETE SET NULL ON UPDATE SET NULL Datumsfeld Variable (String) in Datum umwandeln SQL CAST z.b. CAST( AS DATE) DATE z.b. DATE Oracle TO_DATE z.b. TO_DATE( 00-Jan-01, YY-MMM-DD ) MySQL STR_TO_DATE z.b. STR_TO_DATE( , %d.%m.%y ) MS-Access CDATE z.b. CDATE( ) Heutiges Datum SQL, Oracle, MySQL Oracle MS-Access Current_Date Sysdate Date() CHECK Im CHECK als Spaltenbedingung darf nur auf das assoziierte Attribut selbst Bezug genommen werden. Andernfalls ist eine Tabellenbedingung notwendig. Datenbanken Christian Silberbauer
8 SQL CREATE VIEW-Befehl Syntax CREATE VIEW Sichtname [(Spalte [, ] )] AS Select-Befehl [WITH CHECK OPTION] // wenn gesetzt, wird eine Änderung auf die Sicht nur dann // ausgeführt, wenn die betroffenen Tupel weiterhin Elemente // der Sicht bleiben. Mutationen auf Sichten sind nicht erlaubt, wenn der Select-Befehl - auf mehr als eine Relation zugreift, - eine GROUP-BY-Klausel enthält, - eine DISTINCT-Angabe enthält, - die Spaltenliste nicht nur aus einzelnen Spaltennamen besteht, - mindestens einen der Operatoren UNION, INTERSECT oder EXCEPT enthält oder: - der SELECT-Befehl auf einer Sicht basiert, die eine der fünf obigen Bedingungen erfüllt GRANT-Befehl Syntax GRANT { Zugriffsrecht [, ] ALL PRIVILEGES } ON { DOMAIN Gebietsname [TABLE] { Tabellenname Sichtname } } TO { Benutzer [, ] PUBLIC } [WITH GRANT OPTION] // erh. Rechte dürfen weitergegeben werden Zugriffsrecht := { SELECT INSERT [(Spalte [, ] )] UPDATE [(Spalte [, ] )] DELETE REFERENCES [(Spalte [, ] )] // Referenzieren der angegebenen Attribute USAGE // Verwenden des angegebenen Gebiets } Datenbanken Christian Silberbauer
9 SQL 3.3. Data Manipulation Language (DML) SELECT-Befehl Syntax Select-Hauptteil [ { UNION EXCEPT INTERSECT } [ALL] // Vereinigung, Differenz, Schnitt Select-Hauptteil [{ UNION EXCEPT INTERSECT } [ALL] ] ] [ORDER BY Ordnungsliste] // Sortierung Select-Hauptteil := SELECT [ALL DISTINCT] Spaltenauswahlliste // Projektion FROM Tabellenliste // Kreuzprodukt oder Join [WHERE Bedingung] // Restriktion [[GROUP BY Spaltenliste] // Gruppierung [HAVING Bedingung]] // Restriktion nach Gruppierung Aggregatsfunktionen Durchschnitt avg() Anzahl count() Maximum max() Minimum min() Summe sum() // Besonderheit: count() gibt 0 zurück, wenn keine Sätze gefunden // wurden. Alle anderen Aggregatsfunktionen geben in einem solchen // Fall NULL zurück. Funktionen, um NULL-Werte zu ersetzen coalesce() SQL-Standard nvl() Oracle nz() Access // Ermittelt eigentlich aus einer Liste den ersten Wert ungleich NULL Operatoren in der WHERE-Klausel Boolesche Operatoren AND, OR, NOT Vergleichsoperatoren <, <=, >, >=, =, <> Intervalloperator [NOT] BETWEEN AND Enthaltenoperator [NOT] IN Auswahloperatoren ALL, ANY, SOME // SOME und ANY sind Synonyme Ähnlichkeitsoperator [NOT] LIKE Existenzoperator EXISTS Eindeutigkeitsoperator UNIQUE Nulloperator IS [NOT] NULL Datenbanken Christian Silberbauer
10 SQL Wildcards (unter Verwendung des Ähnlichkeitsoperators) % ersetzt beliebig viele Zeichen (* in Access) _ ersetzt genau ein Zeichen (? in Access) JOIN Inner-Join Outer-Join Natural-Join Tabelle1 [INNER] JOIN Tabelle2 ON Tabelle1.Feld = Tabelle2.Feld Tabelle1 {LEFT RIGHT FULL} [OUTER] JOIN Tabelle2 ON Tabelle1.Feld = Tabelle2.Feld Tabelle1 NATURAL INNER JOIN Tabelle2 Logische Abarbeitungsreihenfolge des Select-Befehls 1. Relationen mittels Kreuzprodukt oder JOIN verknüpfen 2. Restriktion mit Hilfe der WHERE-Bedingung 3. Projektion durchführen 4. Gruppieren gemäß der GROUP-BY-Klausel 5. Restriktion auf Ergebnis der Gruppierung mit HAVING-Klausel 6. Alle so erstellten Hauptteile des SELECT-Befehls mittels UNION, INTERSECT oder EXCEPT miteinander verknüpfen 7. Ergebnisrelation anhand der ORDER-BY-Klausel sortieren Beispiele SELECT count(*) FROM tab SELECT count(distinct feld) FROM tab SELECT * FROM tab WHERE feld = any(1000, 2000, 3000) SELECT feld1 AS a, feld2 FROM tab ORDER BY 1 desc, a Datenbanken Christian Silberbauer
11 SQL INSERT-Befehl Syntax INSERT INTO { Tabellenname Sichtname } [(Spaltenliste)] { VALUES (Auswahlliste) Select-Befehl } Beispiel INSERT INTO Auftragsposten (Nr, Menge, Preis) VALUES (1, 10, 9.99) UPDATE-Befehl Syntax UPDATE { Tabellenname Sichtname } SET { Spalte = { Spaltenausdruck NULL }} [, ] [WHERE Bedingung] Beispiel UPDATE Auftragsposten SET Menge = Menge + 5 WHERE Nr = DELETE-Befehl Syntax DELETE FROM { Tabellenname Sichtname } [WHERE Bedingung] Beispiel DELETE FROM Auftragsposten WHERE Nr = 1 Datenbanken Christian Silberbauer
12 SQL für Objektrelationale Datenbanken 4. SQL für Objektrelationale Datenbanken 4.1. CREATE TYPE Syntax CREATE TYPE Typname AS { VARRAY VARRYING ARRAY } (Anzahl) OF Datentyp CREATE TYPE Typname AS OBJECT ( Spalte Datentyp [, ], [ { MEMBER { Prozedurname Funktionsname } } [, ]]) CREATE TYPE Typname AS MEMBER { Prozedurdeklaration Funktionsdeklaration }; [, ] CREATE TYPE Typname AS TABLE OF Datentyp 4.2. Funktionen für eingebettete Relationen the() multiset() CAST-Operator Wandelt eingebettete Relation in Ausgaberelation um Fasst eingebettete Relationen zusammen Typkonvertierung 4.3. Beispiele CREATE TYPE T_Name AS VARRAY(10) OF CHARACTER(30) // Array anlegen CREATE TYPE T_Adresse AS OBJECT ( Strasse CHARACTER(30), PLZ CHARACTER(5), ORT CHARACTER(30) ) // Objekt anlegen CREATE TYPE T_APos AS OBJECT ( Nr INTEGER, Anzahl INTEGER, Preis NUMERIC(10,2) ) // Objekt anlegen CREATE TYPE ET_APos AS TABLE OF TAPos // Eingebettete Tabelle anlegen CREATE TABLE Auftrag // Tabelle mit ( Nr INTEGER PRIMARY KEY, Bearbeiter T_Name, // Array Lieferadr T_Adresse, // Objekt APos ET_APos ) // und eingebetteter Tabelle anlegen NESTED TABLE APos STORE AS ET_APos_TAB CREATE VIEW VAuftrag(Nr, Lieferadr) AS // View mit Objekt erzeugen SELECT A.Nr, T_Adresse(A.Strasse, A.PLZ, A.Ort) FROM AuftragAlt A Datenbanken Christian Silberbauer
13 SQL für Objektrelationale Datenbanken INSERT INTO Auftrag // Satz mit Objekten einfügen ( 1, T_Name( Meier, Müller ), T_Adresse( Walhallaallee 26, 93093, Donaustauf ), ET_APos(T_APos(1023, 5, ), T_APos(3938, 1, 15.99)) ) INSERT INTO the(select APos FROM Auftrag WHERE Nr = 1) VALUES(T_APos(8020, 2, 30.11)) // Einfügen in eingebetteter Tabelle SELECT Nr, A.Lieferadr.Ort FROM Auftrag A // Objektattribut auslesen SELECT * // Eingebettete Tabelle ausgeben FROM the(select APos FROM Auftrag WHERE Nr=1) SELECT sum(p.preis) // Aggregatsf. auf eingebettete Tab. FROM the(select APos FROM Auftrag WHERE Nr=1) P SELECT A1.Nr, // Eingeb. Tabellen zusammenfassen cast(multiset( SELECT * FROM the(select APos FROM Auftrag A2 WHERE A2.Nr = A1.Nr) P WHERE P.Preis > 100 ) AS ET_APos) FROM Auftrag A1 Datenbanken Christian Silberbauer
14 PHP 5. PHP 5.1. Funktionen String-Funktionen trim(string) strlen(string) strcmp(str1, str2) strcasecmp(str1, str2) strtolower(string) strtoupper(string) entfernt Leerzeichen am Anfang und am Ende gibt die Länge einer Zeichenkette zurück vergleicht zwei Zeichenketten vergleicht zwei Zeichenketten ohne Beachtung der Groß- /Kleinschreibung wandelt in Kleinbuchstaben um wandelt in Großbuchstaben um Datenbank-Funktionen (Oracle) resource oci_connect (string username, string password, string db) array resource bool int string array object int int bool bool bool bool oci_error (resource source) oci_parse (resource connection, string query) oci_execute (resource stmt, int mode) oci_num_fields (resource statement) oci_field_name (resource statement, int field) oci_fetch_array (resource statement) // per default: numerisch und assoziativ oci_fetch_object (resource statement) oci_fetch_all (resource statement, array &output) oci_num_rows (resource stmt) // nicht bei select verwenden! oci_commit (resource connection) oci_rollback (resource connection) oci_free_statement (resource statement) oci_close (resource connection) Datenbanken Christian Silberbauer
15 PHP 5.2. Beispielskripte Beispiel Datenbankzugriff <html> <head><title>beispiel Datenbankzugriff (select und update)</title></head> <body> <?php $conn $_POST['Passwort'], rfhs8012_ora9i ) or die( Verbindung zur Datenbank gescheitert. Abbruch ); isset($_post['rabatt']) or die( Rabatt wurde nicht definiert. Abbruch ); isset($_post['limit']) or die( Limit wurde nicht definiert. Abbruch ); $sql = SELECT * FROM Auftragsposten WHERE Gesamtpreis > $_POST[Limit] ; $stmt = oci_parse($conn, OCI_DEFAULT) or die( Fehler beim Daten auslesen. Abbruch. ); ($rec = oci_fetch_array($stmt)) or die( Keine Aufträge betroffen. Abbruch. ); echo <table border=1> ; do { echo <tr> <td>$rec[anr]</td><td>$rec[teilenr]</td> </tr> ; } while ($rec = oci_fetch_array($stmt)); echo </table> ; $sql = UPDATE Auftragsposten SET Gesamtpreis = Gesamtpreis * (100 - $_POST[Rabatt]) / 100 WHERE Gesamtpreis > $_POST[Limit] ; $stmt = oci_parse($conn, OCI_DEFAULT) or die( Fehler beim Daten aktualisieren. Abbruch. );?> oci_commit($conn); oci_close($conn); </body> </html> Datenbanken Christian Silberbauer
16 PHP Beispiel Deadlocks <html> <head><title>beispiel Deadlocks (mit try-catch)</title></head> <body> <?php try { $conn $_POST['Passwort'], rfhs8012_ora9i ) if (!$conn) { $err = oci_error(); throw new Exception( Fehler beim Connect ($err[message]), $err['code']); } do { try { $sql = UPDATE Kunde SET Sperre = 0 WHERE Nr = 1 ; $stmt = oci_parse($conn, OCI_DEFAULT); $err = oci_error($stmt); if ($err['code']) throw new Exception ( Fehler beim Ausführen, $err['code']); $sql = UPDATE Kunde SET Sperre = 0 WHERE Nr = 2 ; $stmt = oci_parse($conn, OCI_DEFAULT); $err = oci_error($stmt); if ($err['code']) throw new Exception ( Fehler beim Ausführen, $err['code']); $ready = true; } catch (Exception $e) { } if ($e->getcode() == 60) { // Deadlock? echo e->getmessage(), Zeile: $e->getline(), Code: $e->getcode()<br> ; echo Deadlock! Transaktion wird abgebrochen und neu gestartet.<br><br> ; oci_rollback($conn); $ready = false; } else throw $e; } while (!$ready); oci_commit($conn); oci_close($conn); } catch (Exception $e) {?> } echo e->getmessage(), Zeile: $e->getline(), Code: $e->getcode()<br><br> ; oci_rollback($conn); oci_close($conn); </body> </html> Datenbanken Christian Silberbauer
17 Regeln zum Datenbankentwurf 6. Regeln zum Datenbankentwurf 6.1. Primärschlüssel - Kein NOT NULL und kein UNIQUE beim Primärschlüssel definieren. Das ist automatisch der Fall Alternative Schlüssel - UNIQUE explizit setzen - Bei zusammengesetztem alternativen Schlüssel jedes Attribut mit NOT NULL kennzeichnen 6.3. Pflichtfelder - NOT NULL setzen 6.4. Fremdschlüssel Allgemein - Generell ON UPDATE CASCADE verwenden Bei Beziehungsrelationen - Bei Fremdschlüsseln sind NULL-Werte nicht erlaubt - Beide Fremdschlüssel haben die Eigenschaft ON DELETE NO ACTION oder ON DELETE CASCADE Bei Schwachen Relationen - Bei dem einzigen (!) Fremdschlüssel sind NULL-Werte nicht erlaubt - Der Fremdschlüssel hat die Eigenschaft ON DELETE CASCADE Bei Subtyp-Relationen - Sie sind i.d.r. Schwache Relationen - Der Fremdschlüssel ist beim Subtyp zu setzen 6.5. Kringel setzen - bei Subtyp-Relation beim Subtyp - bei 1:n-Beziehungen immer beim n (ist technisch bedingt) - bei 1:n-Beziehungen bei der 1, wenn der Fremdschlüssel NULL sein kann. Dann und nur dann darf aber NOT NULL bei Fremdschlüsseln nicht gesetzt sein. Datenbanken Christian Silberbauer
18 Concurrency und Recovery 7. Concurrency und Recovery 7.1. Concurrency Gleichzeitiger Zugriff auf Daten einer Datenbank im Mehrbenutzerbetrieb Recovery Rekonstruktion einer Datenbank im Fehlerfall Logdatei Eine Logdatei speichert alle Datenbankänderungen zusätzlich auf einer eigenen Festplatte. Die Speicherung in dieser Datei erfolgt im Streaming-Modus (sequentiell). Durch die doppelte Datenhaltung ist das Datenbanksystem immun gegenüber Plattencrashs und gewährt dennoch hohe Performance, da durch das sequentielle Schreiben kaum Positionierzeiten auf der Platte anfallen Hot Spots Aus dem Datenbankpuffer werden geänderte Daten vom Datenbanksystem auf die Festplatte zurück geschrieben, wenn diese länger nicht benötigt werden. Auf manche Daten wird aber laufend lesend und schreibend zugegriffen, sodass die Änderungen auf Platte auf diese Art nicht stattfinden. Die entsprechenden Blöcke im Datenbankpuffer nennt man Hot Spots Checkpoints Regelmäßige Zeitpunkte, in denen der Datenbankpuffer gelehrt wird. Dadurch wird zwar der Datenbankbetrieb durch den hohen Ausgabeverkehr merklich gebremst, allerdings beseitigen sie Hot Spots und beschleunigen eine eventuelle Recovery. Das optimale regelmäßige Zeitintervall zwischen zwei Checkpoints zu finden ist Erfahrungssache. Es ist von der jeweiligen Anwendung abhängig. Zu häufige Checkpoints erhöhen den Ausgabeverkehr, zu seltene Checkpoints führen zu enormen Stoßbelastungen, da der Aufwand pro Checkpoint sehr hoch ist Transaktionssteuerung BEGIN TRANSACTION COMMIT WORK ROLLBACK WORK Startet eine Transaktion Schließt eine Transaktion ab Macht die bisherigen Änderungen einer offenen Transaktion rückgängig 7.7. Zwei-Phasen-Commit Bei datenbankübergreifenden Transaktionen, also bei Transaktionen, an denen mehr als eine Datenbank beteiligt ist, ist ein Protokoll namens Zwei-Phasen-Commit notwendig, um primär die Konsistenz der Datenbank zu gewährleisten. Datenbanken Christian Silberbauer
19 Concurrency und Recovery Dabei wird eine übergreifende Transaktion zunächst in lokalen Transaktionen abgearbeitet. Anschließend erfolgt eine Meldung über die erfolgreiche oder auch nicht erfolgreiche lokale Abarbeitung an einen sog. Koordinator (Phase 1). Wenn alle lokalen Transaktionen erfolgreich abgeschlossen werden konnten, setzt der Koordinator einen globalen Commit (Phase 2). Die datenbankübergreifende Transaktion ist damit abgeschlossen. Andernfalls wird ein Rollback initiiert und alle beteiligten lokalen Transaktionen werden rückgängig gemacht Sperrmodi Share-Lock erlaubt weitere Share-Locks, weist Exclusiv- Locks aber zurück (bei lesendem Zugriff) Exklusiv-Lock weist alle weiteren Lockanforderungen zurück (bei schreibendem Zugriff) 7.9. Deadlock Eine Verklemmung, bei der zwei oder mehrere Transaktionen gegenseitig auf die Freigabe eines oder mehrerer Locks warten, heißt Deadlock Isolation Level Level setzen SET TRANSACTION ISOLATION LEVEL Level Definierte Level Level Beliebiges Lesen möglich Lesen nicht wiederholbar Phantom möglich Read Uncommitted ja ja ja Read Committed nein ja ja Repeatable Read nein nein ja Serializable nein nein nein Beliebiges Lesen: Nicht wiederholbares Lesen: Phantom-Effekt: Hier sind Lesezugriffe jederzeit erlaubt Innerhalb einer Transaktion kann wiederholtes Lesen andere Ergebnisse liefern. Beim wiederholten Lesen können plötzlich zusätzliche Zeilen auftreten (-> Phantom) Datenbanken Christian Silberbauer
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrCreate-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }
Create-Table-Befehl CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } [, ] ) Liste der wichtigsten Datentypen in SQL INTEGER INT SMALLINT NUMERIC(x,y)
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
MehrSQL als Zugriffssprache
SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl
MehrModerne Datenbankkonzepte
Verteilte Datenbanken Moderne Datenbankkonzepte Wünschenswert, aber extrem aufwändig ( Zweiphasen Commit) Objektrelationale Datenbanken Kompromiss zwischen relational und rein objektorientiert seit 1999
MehrEinführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten
Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem
Mehr7. Übung - Datenbanken
7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
MehrDatenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
MehrSQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software
SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4
MehrSQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
MehrReferenzielle Integrität SQL
Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet
MehrSQL: statische Integrität
SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen
MehrSQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:
SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In
Mehr1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL
1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion
MehrBibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
MehrCarl-Engler-Schule Karlsruhe Datenbank 1 (5)
Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,
MehrEin Ausflug zu ACCESS
Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet
MehrAufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.
Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname
MehrTransaktionsverwaltung
Transaktionsverwaltung VU Datenbanksysteme vom 21.10. 2015 Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Transaktionsverwaltung
MehrÜbersicht über Datenbanken
Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen
MehrLabor 3 - Datenbank mit MySQL
Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrUnterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
MehrRelationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
MehrSchnellübersichten. SQL Grundlagen und Datenbankdesign
Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes
MehrReferentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
MehrDBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt
DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller
MehrIntegritätsbedingungen / Normalformen- Beispiel: Kontoführung
Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen
MehrDatenintegrität. Bisherige Integritätsbedingungen
Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge
MehrArbeiten mit einem lokalen PostgreSQL-Server
Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php
MehrÜbung Datenbanken in der Praxis. Datenmodifikation mit SQL
Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern
MehrAnwendungsentwicklung Datenbanken SQL. Stefan Goebel
Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrEinführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)
Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data
MehrReferentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrXAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL
XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrInhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung
Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,
MehrDatenbanken: Datenintegrität. www.informatikzentrale.de
Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
MehrAbfragen (Queries, Subqueries)
Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl
Mehr4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel
4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu
MehrSemantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
MehrIV. Datenbankmanagement
Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrEinführung in SQL Datenbanken bearbeiten
Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben
MehrDatenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.
Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände
MehrDatenbanken: Transaktionskonzept und Concurrency Control
Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der
MehrVielen Dank an Dennis Riehle für die Bereitstellung dieser Folien
Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS
MehrUni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr
Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale
MehrISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de
08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren
MehrDatenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
MehrDatenbanken im WI-Unterricht mit
Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
MehrDas SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik
Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrRelationale Datenbanken in der Praxis
Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5
Mehr105.3 SQL-Datenverwaltung
LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a
MehrDatenadminstrator, Datenbankdesigner, Systemanalytiker (für die logische Sicht zuständig)
1 Grundlagen Begriffe Daten bekannte zutreffende Tatsachen über die Domäne/Miniwelt DBS Einsatz eines DBMS für eine Datenbank, DBS besteht aus folgenden Komponenten: 1. DBMS 2. Datenbank DBMS Software
MehrDatenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
MehrEntwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung
Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung Prof. Dr. Alfred Holl, Georg Simon Ohm University of Applied Sciences, Nuremberg, Germany 29.03.2014/1 Entwurf einer einfachen Datenbank zur
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrSeminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.
Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu
MehrRelationenmodell. Ziel:
Relationenmodell Ziel:! geringe Redundanz,! gute Handhabbarkeit,! einfache Zugriffe über möglichst wenige Tabellen! Sicherstellung von Konsistenz und Integrität. Beispielrelation Verkaeufer-Produkt Verk.-Nr.
MehrDetails zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.
SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von
MehrViews in SQL. 2 Anlegen und Verwenden von Views 2
Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig
MehrProgrammieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname
MehrPraktische SQL-Befehle
Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/
MehrIn diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrDatenbanken für Online Untersuchungen
Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren
Mehr3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7
1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern
MehrSructred Query Language
Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen
MehrDatenbanktechnologie mit praktischen Übungen in MySQL und PHP
Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine
MehrIBM Informix SQL. Seminarunterlage. Version 11.04 vom
Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrUniversität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL
Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html
MehrRelationales Datenbanksystem Oracle
Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information
Mehr5.3 Datenänderung/-zugriff mit SQL (DML)
5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und
MehrIn die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:
1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte
MehrVorlesung Dokumentation und Datenbanken Klausur
Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises
MehrDatumsangaben, enthält mindestens Jahr, Monat, Tag
Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice
MehrDatenbanken. Ein DBS besteht aus zwei Teilen:
Datenbanken Wikipedia gibt unter http://de.wikipedia.org/wiki/datenbank einen kompakten Einblick in die Welt der Datenbanken, Datenbanksysteme, Datenbankmanagementsysteme & Co: Ein Datenbanksystem (DBS)
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrEine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.
Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen
MehrErstellen einer Datenbank. Datenbankabfragen
Erstellen einer Datenbank Datenbankabfragen Überblick Die fünf Stationen Semantisches Modell Logisches Modell Prüfung auf Redundanz Abfragen Softwaremäßige Implementierung Zur Erinnerung: Semantisches
MehrDie bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.
Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrSQL-Befehlsliste. Vereinbarung über die Schreibweise
Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile
Mehr