SÄTZE MIT VARIABLER LÄNGE
|
|
- Roland Haupt
- vor 7 Jahren
- Abrufe
Transkript
1 Sätze variabler Länge 1 SÄTZE MIT VARIABLER LÄNGE Generellere Struktur von Datensätzen: Ersetzen von Felder durch Gruppen von Feldern. Beispiel: n m E 1 E 2 e 1 e 2 e 11 e 12 e 21 e 22 e 23 e 24 variable Länge Logische Datei mit Sätzen variabler Länge
2 Sätze variabler Länge 2 Definition von Sätzen mit variabler Länge 1. Ein Satz mit variabler Länge ist eine Liste von Elementen. 2. Ein Element ist entweder ein einfaches Feld oder eine variable Gruppe mit Null oder mehr Sätzen variabler Länge. Notation: Wie bei regulären Ausdrücken, ( α ) * ist eine Gruppe mit mehreren Elementen α α α α K n
3 Sätze variabler Länge 3 Beispiel: Datei mit (amerikanischen Bundes-) Staaten und der Interstate- Highways innerhalb der Staaten. Struktur: STATE (HIGHWAY)* r 1 r 2 r 3 New Jersey Alaska North California Erweitertes Beispiel: STATE POPULATION (HIGHWAY)* r 1 New Jersey r 2 Alaska
4 Sätze variabler Länge 4 Beispiel: (Fortsetzung) STATE POPULATION (HIGHWAY LENGTH (TERMINAL)* )* r 1 Hessen A Wiesbaden Frankfurt A3 120 Kassel Darmstadt r 2 Bayern
5 Sätze variabler Länge 5 Wie kann dies in einem Block gespeichert werden? 1. Die Information über den Datentyp jedes Elements muß vorhanden sein. Diese Information kann entweder im Blockheader abgelegt oder mit jedem Feld mitgeführt werden. 2. Jeder Satz mit variabler Länge kann durch einen oder mehrere Sätze fester Länge repräsentiert werden, dafür gibt es drei verschiedene Ansätze: a) Reserved Space Method. b) Pointer Method. c) Combined Method (a + b).
6 Sätze variabler Länge 6 RESERVED SPACE METHOD Annahme: Es gibt eine obere Grenze c von auftretenden Wiederholungen in einer Gruppe. max=c ( B) WERT_ A WERT_ * Dann kann die sich wiederholende Gruppe durch c Gruppen von Feldern ersetzt werden. WERT_ A WERT_ B K WERT_ B c Falls weniger als c Wiederholungen auftreten, dann Werden die fehlenden Wiederholungen durch Null- Werte ersetzt, oder ein Zähler, der die tatsächlich auftretenden Wiederholungen zählt, wird geführt.
7 Sätze variabler Länge 7 Beispiel: STATE POPULATION ( max = 2 HIGHWAY LENGTH TERMINAL * ) * ( ) STATE POPULATION ( max = 10 HIGHWAY LENGTH TERMINAL1 TERMINAL2 ) * STATE POPULATION COUNT HIGHWAY1 LENGTH1 TERMINAL1.1 TERMINAL1.2 M HIGHWAY10 LENGTH10 TERMINAL10.1 TERMINAL10.2
8 Sätze variabler Länge 8 POINTER METHOD Wenn eine obere Grenze für die Anzahl der Wiederholungen nicht angegeben werden kann, dann kann eine Gruppe durch einen Zeiger auf den ersten Block einer Kette von Blöcken mit den Sätzen der Gruppe ersetzt werden: WERT_A ( WERT_B )* Zeiger Block WERT_A, P
9 Sätze variabler Länge 9 Beispiel: Wir nehmen an, unser Highway-Beispiel wird mittels der Pointer-Methode so dargestellt: STATE POPULATION HPTR HIGHWAY LENGTH TPTR TERMINAL Gespeichert in Blocks sieht das dann so aus: block of file... N.J. 7,168, full/empty bits 11 I I Phillipsburg Newark 11 Hainesburg Ft. Lee 11 W. Trenton Ft. Lee
10 Sätze variabler Länge 10 COMBINED METHOD Es können auch die beiden vorangegangenen Methoden miteinander kombiniert werden. Es kann z.b. eine Gruppe durch einen Zeiger und eine andere Gruppe durch eine feste Anzahl von Wiederholungen abgebildet werden. Eine feste Anzahl von Wiederholungen ist dann vorzuziehen, wenn es eine obere Grenze von Wiederholungen gibt und die durchschnittliche Anzahl von Vorkommen nahe am Maximum liegt. Wenn das durchschnittliche und das maximale Vorkommen zu sehr voneinander abweichen, ist die Pointer Methode wegen Speicherersparnis vorzuziehen. Die Pointer Methode spart Platz, verbraucht aber mehr Blockzugriffe um ein bestimmtes Feld zu finden.
11 Sätze variabler Länge Variante der Combined Method: Eine Gruppe mit fester Anzahl, eine andere Gruppe durch die Pointer Methode: WERT_A ( WERT_B )* ( WERT_C )* max = c Zeiger WERT_A c P
12 Sätze variabler Länge Alternative Variante: Ein Teil Gruppe wird durch eine kleine Anzahl von festen Wiederholungen repräsentiert, dazu kommt ein Zeiger, der auf eventuelle zusätzliche Vorkommen verweist. * A, x 1, x 2,, x n A, x 1, x 2, P A, count, x 1, x 2, P
13 Sätze variabler Länge 13 Beispiel: Als Beispiel dienen wieder die Staaten mit ihren Highways. Annahme: Es wird Platz für einen Staat und 3 Highways in einem Satz reserviert, weitere Highways sollen per Zeiger adressiert werden. STATE ( HIGHWAY )* STATE COUNT HIGHW1 HIGHW2 HIGHW3 Pointer HIGHW4 HIGHW5 HIGHW6 : :
14 Sätze variabler Länge 14 Operationen auf Sätzen mit variabler Länge Gegeben ist eine logische Datei mit Sätzen variabler Länge, die durch eine Hauptdatei mit Sätzen fester Länge repräsentiert wird (evtl. mit Zeigern auf Blocks, die nicht Teil der Hauptdatei sind). Einige Felder in dem Teil mit fester Länge formen den Schlüssel für die Sätze der logischen Datei. Zur Erinnerung: Die Motivation für Sätze variabler Länge war es, many-to-many- oder many-to-one-beziehungen abbilden zu können. n m E 1 E 2 e 1 e 2 e 2
15 Sätze variabler Länge 15 Die Operationen Suchen (Lookup) Einfügen (Insertion) Löschen (Deletion) Ändern (Modification) funktionieren hier genauso wie bei Sätzen mit fester Länge.
16 Sätze variabler Länge 16 Neue Operationen sind aber die Einfüge, und Löschoperation auf Vorkommen von Feldern innerhalb einer Gruppe. Man kann jede Gruppe als eine eigene kleine Datei ansehen. Auf diese Weise können auch hier wieder die bekannten Verfahren angewendet werden. Im Falle von pinned-down Sätzen innerhalb der Gruppe gelten für das Einfügen und Löschen besondere Regeln, die bereits bei den Hash-Dateien besprochen wurden (Bucket mit pinned Records).
17 Sätze variabler Länge 17 DATENSTRUKTUREN FÜR SUCHE IN FELDERN AUSSERHALB DES SCHLÜSSELS. Eine Datenbank erlaubt meist auch Anfragen (Queries) in denen in Feldern gesucht wird, die nicht dem Schlüssel angehören. z.b.: 1. Suche alle Dinosaurier aus dem Jura. 2. Suche nach den Habitaten der fleischfressenden Saurier. 3. Finde alle Dinosaurier die an Land gelebt haben und mindestens 50 Fuß lang waren.
18 Sätze variabler Länge 18 Sekundärindex F (Field, Feld) Domäne von F = D r (Record, Satz) Ein Sekundärindex für das Feld F ist eine Beziehung zwischen der Domäne D und der Menge von Sätzen der Datei.
19 Sätze variabler Länge 19 Ein Sekundärindex stellt sich als eine logische Datei mit Sätzen variabler Länge dar und wird auch als invertierte Datei bezeichnet: WERT ( SATZ )* Eine Instanz von WERT ist ein Wert aus der Domäne D. Eine Instanz von SATZ ist entweder 1. Ein Zeiger auf einen Satz mit dem entsprechenden Wert in Feld F, oder 2. Ein Schlüsselwert für einen Satz mit dem entsprechen Wert in Feld F. 1: ( 55, p1, p2, p3 ) 2: ( 55, Schmidt, Otto, Müller )
20 Sätze variabler Länge Falls die erste Option gewählt wird, kann der Zeiger auf einen Block einen Subblock ein Bucket zeigen. Die Sätze der Hauptdatei sind dann pinned-down (!!). 2. Falls die zweite Option gewählt wird, dann sind die Sätze nicht pinned-down, aber es werden weitere Blockzugriffe benötigt, um den entsprechenden Satz zu finden.
21 Sätze variabler Länge 21 Schlüssel NAME: Char(10) PERIOD: HABIT: DIET: LENGTH: WEIGHT: Char(10) Char(5) Char(5) Int(4) Int(4)
22 Sätze variabler Länge 22 Primärer Index auf dem Schlüssel-Feld NAME Sekundärer Index auf dem Feld PERIOD Drei Records variabler Länge (Implementiert mit der Pointer Methode) Triassic Jurassic Cretaceous 1 Plateosaurus 6 Allosaurus Brachiosaurus Brontosaurus Compsognathus Diplodocus Stegosaurus 4 Elasmosaurus Pterodactyl Triceratops Tyrannosaurus Namen Schlüssel
23 Sätze variabler Länge 23 Anfrage: Suche die Länge aller Dinosaurier der Jurassic Zeitperiode Triassic Jurassic Cretaceous 1 Plateosaurus 6 Allosaurus Brachiosaurus Brontosaurus Compsognathus Diplodocus Stegosaurus 4 Elasmosaurus Pterodactyl Triceratops Tyrannosaurus Look up Hauptdatei Primärer Index auf dem Feld NAME
24 Sätze variabler Länge 24 Sekundärer Index auf dem Feld WEIGHT Mit Hilfe der Reserved Space Method Zeiger auf die Records der Hauptdatei Sortiert nach WEIGHT: VALUE(RECORD)*
25 Sätze variabler Länge 25 Anfrage: Finde die Namen aller Dinosaurier mit einem Gewicht zwischen 5 und 10 Tonnen. Primär Index auf dem Sekundär Index Schlüssel auf Namen (Primär Index)
26 Sätze variabler Länge 26
27 Sätze variabler Länge 27 Datenstrukturen für Range-Queries KEY: 10 <= F 1 < 50 F 2 < 5 F 3 = 14 eine B-Baum basiert Organisation
28 28 Sätze variabler Länge Eine Datei mit zehn Records, jeder Record: Paar (A,B) Primärer Index auf A, K=2 (min 2, max 3) Sekundärer Index auf B A B Sortiert nach A
29 Sätze variabler Länge 29 Speicherstrukturen für Relationen Darstellung einer Relation: Datei, deren Sätze den Tupeln der Relation entsprechen. HEAP: Einfachste Struktur: Datei ungeordnet. Vorteilhaft nur bei sehr kleinen Relationen. INDEX: Der Index muß sich nicht unbedingt auf Schlüsselattribute beziehen (Sekundärindex). Damit wird eine Verwendung mehrerer Indizes auf eine Datei möglich (Achtung!! pinned Records!).
30 Sätze variabler Länge 30 Mögliche Indexarten: Index mit pinned Records (INGRES). Hashorganisation (INGRES, UNIFY) B*-Baum auf Dense Index (SystemR, Oracle, Adabas D) CLUSTERING INDEX: Index über ein oder mehrere Attribute, so daß Tupel mit demselben Attributwert für diese Attribute beieinander gespeichert sind.
31 Sätze variabler Länge 31 Speicherung von Relationen in INGRES: Relationen werden als UNIX Dateien gespeichert. Datei = Folge von Blöcken mit jeweils 512 Bytes. Tupel Satz Block
32 Sätze variabler Länge 32 In INGRES bestehen drei Möglichkeiten die Relationen zu organisieren: 1. Heap, unsortiert, keine Zugriffsstruktur, Voreinstellung für alle Relationen. 2. Hash. Eine Relation kann in Hash-Organisation gebracht werden, indem man folgendes DDL-Statement ausführt: modify R to hash on A 1,,A k Die Attribute A 1 bis A k formen hierbei den Schlüssel. 3. Index. Eine Organisationsform mit Sparse-Index kann mit dieser DDL-Anweisung erreicht werden:. modify R to isam on A 1,,A k
33 Sätze variabler Länge Eine vierte Option, die in INGRES möglich ist, ist das Anlegen eines Sekundärindex: index on R is S(A 1,,A k ) Die Relation S wird damit zum Sekundärindex über den Attributen A 1,,A k. Die Datei für S wird automatisch als ISAM Datei mit Sparse-Index angelegt, dies kann aber durch ein modify Kommando geändert werden.
34 Sätze variabler Länge 34 Speicherung von Relationen in Oracle und ADABAS D Relationen werden als Dateien des Dateisystems oder als sogenannte Raw-Partition gespeichert. Letzteres ist ein unformatierter nicht vom Dateisystem verwalteter Abschnitt einer Platte. Datei = Folge von Blöcken mit fester Länge, in Oracle abhängig vom Betriebssystem, in ADABAS D 4 kbyte. Tupel Satz Block
35 Sätze variabler Länge 35 Die Relationen sind grundsätzlich als B*-Baum über einem Dense-Index organisiert. B*-Baum Dense Index Hauptdatei
36 Sätze variabler Länge 36 Sekundärindizes werden ebenfalls über B*-Bäume realisiert. Achtung!: Dies ist nur durch Verwendung eines Dense-Index möglich, da die Sätze der Hauptdatei durch das verwenden mehrere Indizes pinned-down sind. Datei mit primär- und sekundär-index: B*-Baum Primärindex Dense Index Hauptdatei Sekundärindex Dense Index Index über Sekundärindex
37 Sätze variabler Länge 37 In ADABAS D werden die Blätter des B*-Baumes miteinander verkettet, um das Durchlaufen der Datei in sequentieller Reihenfolge zu ermöglichen (evtl. auch in Oracle).
38 Sätze variabler Länge 38 CLUSTERING Abspeichern von Tupeln verschiedener Relationen mit gleichen Werten bestimmter Attribute im gleichen Block (Prejoin). Immer ein Satz der einen Relation befindet sich in einem Block mit mehreren Sätzen der anderen Relation. (Vergleiche: Hierarchisches Datenmodell)
39 Sätze variabler Länge 39 Beispiel: Cluster aus logischer Sicht Nicht geclusterte Tabellen DEPT & EMP DEPT DMPTNO DNAME LOC 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON EMP EMPNO ENAME JOB MGR SAL COMM DEPTNO 7369 SMITH CLERK ALLEN SALESMAN WARD SALESMAN JONES MANAGER MARTIN SALESMAN CLARK MANAGER KING PRESIDENT
40 Sätze variabler Länge 40 Erzeugen eines DEPT zu EMP Clusters: CREATE CLUSTER DEPT_EMP(DEPTNO NMBER); DEPT Tabelle zum Cluster hinzufügen: ALTER CLUSTER DEPT_EMP ADD TABLE DEPT WHERE DEPT.DEPTNO = DEPT_EMP.DEPTNO; EMP Tabelle zum Cluster hinzufügen: ALTER CLUSTER DEPT_EMP ADD TABLE EMP WHERE EMP.DEPTNO = DEPT_EMP.DEPTNO;
41 Sätze variabler Länge 41 Geclusterte EMP und DEPT Tabelle: CLUSTER 10 ACCOUNTING NEWYORK 7782 CLARK MANAGER KING PRESIDENT 5000 CLUSTER 20 RESEARCH DALLAS 7369 SMITH CLERK JONES MANAGER CLUSTER 30 SALES CHICAGO 7499 ALLEN SALESMAN WARD SALESMAN MARTIN SALESMAN
42 Sätze variabler Länge 42 Typischerweise wendet man Clustering an, wenn folgendes gegeben ist: Zwei Relationen R und S und eine Menge von Attributen X, mit 1. X ist in R und in S 2. X ist Schlüssel von R 3. Wenn t S, dann gilt t R mit: t [x] = t [x]. Clustering ist aus dem Netzwerkmodell entliehen, es wird durch das Set-Konstrukt verwirklicht.
43 Sätze variabler Länge 43 Alternative: Ring Struktur R S Vergleich zwischen : Cluster R, S und Ring Struktur R, S
SÄTZE MIT VARIABLER LÄNGE
Sätze variabler Länge 1 SÄTZE MIT VARIABLER LÄNGE Generellere Struktur von Datensätzen: Ersetzen von Felder durch Gruppen von Feldern. Beispiel: n m E 1 E 2 e 1 e 2 e 11 e 12 e 21 e 22 e 23 e 24 variable
MehrINDEXDATEIEN ( INDEXED FILES )
Indexdateien 1 INDEXDATEIEN ( INDEXED FILES ) ISAM (Indexed Sequential Access Method) Sätze werden nach ihren Schlüsselwerten sortiert. Schlüsselwerte sind immer vergleichbar und daher auch sortierbar.
MehrLiteratur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2
Hashorganisation HASHORGANISATION Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 982, Kapitel 2.2 Die Sätze der Datei werden auf eine Menge von Buckets aufgeteilt. Jedes Bucket
MehrPrakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints
Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer
MehrErzeugen von Constraints
Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key
MehrB*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.
B*-Bäume 1 B*-BÄUME Beobachtung: Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records. Es gibt keinen Grund, warum man nicht einen Index über einem Index haben sollte, und
MehrSQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement
SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden
MehrPrakt. Datenbankprogrammierung. Sommersemester 2005
Prakt. Datenbankprogrammierung Sommersemester 2005 A,2: Hierarchische Anfragen Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg Wann ist eine hierarchische Anfrage
MehrIndizes B+Bäume in Oracle. Jörg Winkler
Indizes B+Bäume in Oracle Vortragende: Conrad Kobsch Jörg Winkler Inhalt Allgemeines Aufbau / Eigenschaften von B+Bäumen Vorteile / Nachteile B+Baum-Indexe Kriterien für Indizes Anlegen eines Indizes Anfrageoptimierung
MehrErzeugung und Veränderung von Tabellen
Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen
MehrDateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
MehrDatenbanksysteme SS 2013
Datenbanksysteme SS 2013 Kapitel 4: Physikalische Datenorganisation Vorlesung vom 16.04.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Speicherhierarchie GB 10 GHertz TB 100 10 ms
MehrEntspricht dem kartesischen Produkt von zwei oder mehr selektierten Tabellen ohne Join-Bedingung.
Tipps & Tricks: Neuerungen Joins Bereich: SQL Erstellung: 07/2004 HA Versionsinfo: 10.1, 10.2, 11.1, 11.2 Letzte Überarbeitung: 06/2009 MA Neuerungen zu Joins Ab Version 9i sind alle dem SQL:1999-Standard
MehrDie Datenmanipulationssprache SQL
Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify
MehrMengen- oder SET-Operatoren fassen das Ergebnis von zwei oder mehreren Teilabfragen zu einem Ergebnis zusammen.
Tipps & Tricks: Mengenoperatoren Bereich: DBA, SQL Erstellung: 06/2004 MP Versionsinfo: 10.1, 10.2, 11.1, 11.2 Letzte Überarbeitung: 06/2009 MA Mengenoperatoren Mengen- oder SET-Operatoren fassen das Ergebnis
MehrOPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
MehrDatenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift
Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken Vertiefung Prüfung
MehrSkripte schreiben. Überblick SQL*Plus. Einloggen in SQL*Plus. Tabellenstrukturen anzeigen
Skripte schreiben Überblick Login in. Beschreiben der Tabellenstrukturen. Editieren der SQL-Anweisung Ausführen von SQL aus. SQL-Anweisungen in Dateien speichern bzw. SQL-Anweisungen anhängen. Ausführen
MehrGRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN
Informationssysteme - Indexstrukturen I: B-Bäume und ihre Varianten Seite 1 GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN Leiter des Proseminars: Dr.Thomas Bode Verfasser
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
MehrViews erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View?
Datenbank - Objekte Views erzeugen Objekt Tabelle View Sequence Index Synonym Objekt Beschreibung Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen von
MehrPhysikalische Datenorganisation
Kapitel 4 Physikalische Datenorganisation 4.1 Grundlagen TID TID 4711 4711 1 3 1 3 5001 Grundzüge... 5001 Grundzüge... 405 Logik... 5041 Ethik... 5041 Ethik... 405 Mathematische Logik... Seite 4711 Seite
MehrPrakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement
Prakt. Datenbankprogrammierung Sommersemester 2005 I,9: Datenmanipulation Daten-Manipulations-Sprache DML-Statements werden ausgeführt bei: Hinzufügen von Datensätzen Modifizieren von Datensätzen Löschen
MehrSQL-Einführung Teil 2
SQL-Einführung Teil 2 Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 19.10.2006 1 Datenmanipulationssprache (DML) Select DML ermöglicht es Daten mit SELECT abzurufen UPDATE zu verändern Delete DML Update
MehrPhysische Datenorganisation
Datenmodellierung Physische Datenorganisation 1 Physische Datenorganisation Datenmodellierung Physische Datenorganisation 2 Zielvorstellung Speichern von Dateien, die aus einzelnen Sätzen bestehen. Datenmodellierung
Mehr1. Sätze und Blöcke INHALT. Abt. f. Datenbanken und Artificial Intelligence Institut für Informationssysteme TU Wien
Datenmodellierung Physische Datenorganisation Physische Datenorganisation Datenmodellierung Physische Datenorganisation INHALT. Sätze und Blöcke 2. Arten der Primärorganisation. Arten der Sekundärorganisation
MehrArbeit mit zusammengesetzten Datentypen
Arbeit mit zusammengesetzten Datentypen Zusammengesetzte Datentypen Typen: PL/SQL RECORDS PL/SQL TABELLEN Enthalten interne Komponenten Sind wiederverwendbar Copyright Oracle Corporation, 1998. All rights
MehrVariable. Interaktive Skripte
Interaktive Skripte Variable...sal =? deptno=?.. ename =?... Werte eingeben während der Laufzeit. Nutzer SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved SQL2 basierend
MehrDateiorganisation und Zugriffsstrukturen
Dateiorganisation und Zugriffsstrukturen Prof. Dr. T. Kudraß 1 Mögliche Dateiorganisationen Viele Alternativen existieren, jede geeignet für bestimmte Situation (oder auch nicht) Heap-Dateien: Geeignet
MehrSQL Intensivpraktikum SS 2008
SQL Intensivpraktikum SS 2008 Aggregation von Daten Arbeit mit Gruppen SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved. Gruppenfunktionen Gruppenfunktionen verarbeiten
MehrDatenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift
Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Datenbanken
MehrWintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift
Fachbereich für Computerwissenschaften Prof. Dr. Nikolaus Augsten Jakob-Haringer-Str. 2 5020 Salzburg, Austria Telefon: +43 662 8044 6347 E-Mail: nikolaus.augsten@sbg.ac.at Datenbanken II Prüfung Wintersemester
Mehr2000, 2001 Institut für Informatik III, Universität Bonn Grundlagen von Informationssystemen, Seite 1-1
Wintersemester 2000/2001 Proseminar: Grundlagen von Informationssystemen - Indexstrukturen I : B-Bäume und ihre Varianten - --- Christoph Tornau --- --- ctornau@yahoo.de ---- 2000, 2001 Institut für Informatik
MehrDatenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski
Aufgabe 1 Erstellen Sie eine Abfrage, die aus der EMP/DEPT-Tabelle die Felder Empno, Ename, Deptno und dname aller Mitarbeiter mit einem Gehalt von > 2500 ausgibt. select EMPNO, ENAME from EMP where SAL
MehrZusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum
Seite 1 Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum Bild-1 Dargestellt ist die Speicherung der Personentabelle als B+-Baum anhand der Personen-Nummer (PersNr). Die Blattebene
Mehrtechnische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik
Speichern von Daten Prof. Dr. Katharina Morik Unterschiede von DBMS und files! DBMS unterstützt viele Benutzer, die gleichzeitig auf dieselben Daten zugreifen concurrency control.! DBMS speichert mehr
MehrDie relationale Abfragesprache SQL Structured Query Language
Die relationale Abfragesprache SQL Structured Query Language Übersicht Einfache Abfragen SQL*Plus Auswahlbedingungen (where-klausel) Ein-Zeilen-Funktionen, Gruppenfunktionen Gruppierung von Daten Unter-Abfragen
MehrTeil VII. Hashverfahren
Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:
MehrDatenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
MehrSQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
Mehr12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL
12. Datenschutz: Zugriffsrechte in SQL 12-1 Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten
MehrGrundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken
Hochschule Harz FB Automatisierung und Informatik Versuch: Grundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken Versuchsziele Vertiefung in der ERM-Modellierung. Benutzen eines Designers.
MehrPerformance in der Oracle Datenbank von Anfang an
Performance in der Oracle Datenbank von Anfang an Marco Mischke, 26.04.2018 DOAG Regional Agenda Tabellen Indizes Ausführungspläne SQL vs PL/SQL Tabellen Zu 99% werden Standard Strukturen zur Speicherung
MehrCluster-Bildung. VL Datenbanken II 4 107
Cluster-Bildung gemeinsame Speicherung von Datensätzen auf Seiten wichtige Spezialfälle: Ballung nach Schlüsselattributen. Bereichsanfragen und Gruppierungen unterstützen: Datensätze in der Sortierreihenfolge
MehrPhysischer DB-Entwurf
Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer
MehrWarum wird mein Index nicht benutzt?
Warum wird mein Index nicht benutzt? Index Nutzung-1 Tätigkeitsbereiche: Oracle Support Hotline: Mo-Fr 8.00 18.00 Uhr Erweiterung um eine Rufbereitschaft auch am Wochenende möglich Oracle IT-Consulting
MehrRückblick: Pufferverwaltung
Rückblick: Pufferverwaltung Datenbankpuffer zum Schließen der Zugriffslücke zwischen Primär- und Sekundärspeicher Ersetzungsstrategien berücksichtigen Zeitpunkte und/oder Anzahl der Zugriffe auf bestimmte
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
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
MehrOracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH
Oracle 8i und 9i New Features DOAG November 200 Peter Jensch, Trivadis GmbH Facts & Figures Über 300 Mitarbeiter (D und CH) Über 200 Oracle Consultant Über 300 Kunden (ohne Schulung) Über 000 Projekte
MehrIn diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.
1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?
MehrEs geht also um die sogenannte SQL- Data Definition Language.
In diesem Abschnitt werden wir uns die SQL Befehle ansehen, mit denen ein sogenanntes Datenbankschema angelegt, gepflegt und auch wieder gelöscht werden kann. Es geht also um die sogenannte SQL- Data Definition
MehrInhalt. Behandlung von Views durch den CBO View Merging Predicate Pushing Complex View Merging Hints in Views Globale Hints. Dr.
Inhalt Behandlung von Views durch den CBO View Merging Predicate Pushing Complex View Merging Hints in Views Globale Hints Dr.Frank Haney 1 Behandlung von Views durch den CBO View Merging bedeutet, daß
MehrDatenbanken: Indexe. Motivation und Konzepte
Datenbanken: Indexe Motivation und Konzepte Motivation Warum sind Indexstrukturen überhaupt wünschenswert? Bei Anfrageverarbeitung werden Tupel aller beteiligter Relationen nacheinander in den Hauptspeicher
MehrOracle Database 12c Was Sie immer schon über Indexe wissen wollten
Oracle Database 12c Was Sie immer schon über Indexe wissen wollten Marco Mischke, 08.09.2015 DOAG Regionaltreffen B* Indexe - Aufbau 0-Level Index A-F G-Z 1-Level Index A-F G-Z 2-Level Index A-F G-M N-Z
MehrDatenstrukturen und Algorithmen. Vorlesung 5
Datenstrukturen und Algorithmen Vorlesung 5 Inhaltsverzeichnis Vorige Woche: Sortierte Listen Zyrkuläre Listen Verkettete Listen auf Arrays Heute betrachten wir: Skip Listen ADT Set ADT Map Iterator ADT
MehrDomänen: Grundtypen, alle vordefiniert, z.b. INTEGER ~ integer NUMERIC (p,s) p: precision, s: scale (nach,) etc.
Kapitel 6 Relationale DB-Sprache SQL SEQUEL: Structured English Query Language, 70er Jahre SQL: System R, SQL/DS, TransBase, Oracle... ANSI Standards 1, 2, 3 6.1 Daten-Definitionssprache DDL Domänen: Grundtypen,
MehrDynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
MehrSQL-Loader. Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1
SQL-Loader Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 05.05.2006 1 Beschreibung Definition transferiert Daten aus einer oder mehreren externen Dateien in eine oder mehrere Tabellen einer Oracle-Datenbank.
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
MehrGrundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle
Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle Vorwissen und so SQL Umgang mit MySQL (Workbench) Beispieldaten zum Spielen: http://download.geonames.org/export/dump/ 2 Tuningpotential DB-Interna;
MehrAccess Path Selection in a Relational Database Management System. Access Path Selection Edgar Näther
Access Path Selection in a Relational Database Management System Gliederung 2 Einführung Zugriffswege für eine Relation Einsatz von Statistiken / Selektivitätsfaktoren Kostenformeln für eine Relation Auswahl
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
MehrAufbau Datenbanksysteme
Aufbau Datenbanksysteme Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Speichersystem c Ingo Claßen, Martin Kempa Softwarearchitektur
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrÜbungen zu Datenbanksysteme
Institut für Informatik Universität Osnabrück, 1.04.015 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~dbs Nils Haldenwang, M.Sc. Testat bis 9.04.015, 14:00 Uhr Übungen zu Datenbanksysteme Sommersemester
MehrDatenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten
Seminararbeit vorgelegt von: Gutachter: Studienbereich: Christian Lechner Dr. Georg Moser Informatik Datum: 6. Juni 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung in Datenbanken 1 1.1 Motivation....................................
MehrKonzeptueller Entwurf
Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen
MehrKlausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)
Versehen Sie jedes Aufgabenblatt/-blätter mit Ihrem Namen und geben es mit ab! Seite 1 Aufgabe 1: ( 30 Punkte) 1) Ein Entity-Set E1 wird in die Subklassen S1 und S2 spezialisiert. Was bedeutet die Aussage:
MehrÜbersicht der wichtigsten MySQL-Befehle
Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit
Mehr5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)
5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:
MehrDatenbanken Unit 4: Das Relationale Modell & Datenintegrität
Datenbanken Unit 4: Das Relationale Modell & Datenintegrität 15. III. 2016 Outline 1 Organisatorisches 2 SQL 3 Relationale Algebra Notation 4 Datenintegrität Organisatorisches Erster Zwischentest: nach
MehrÜben von DDL und DML. Ergebnis:
SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen
MehrKapitel 7: Referentielle Integrität
Kapitel 7: Referentielle Integrität Im Allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen (IB) erfüllen. Integritätsbedingungen
MehrLoader. Oracle SQL*Loader. Einsatzmöglichkeit für den Import von Massendaten. 2. Datenbankworkshop der Ag Bioinformatik BIC-GH / PDW IPK
2. Datenbankworkshop der Ag Bioinformatik Oracle SQL*Loader Loader Einsatzmöglichkeit für den Import von Massendaten Christian Künne IPK Überblick Oracle SQL*Loader - Hintergrund - Anmerkungen - Funktionsweise
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrPrakt. Datenbankprogrammierung. Sommersemester I,5: Aggregieren von Daten mit Gruppen-Funktionen
Prakt. Datenbankprogrammierung Sommersemester 2005 I,5: Aggregieren von Daten mit Gruppen-Funktionen Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg Was sind Gruppen-Funktionen?
MehrSQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)
SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro
MehrDatenbanksysteme II Physische Repräsentation von Daten Felix Naumann
Datenbanksysteme II Physische Repräsentation von Daten (Kapitel 12) 27.4.2008 Felix Naumann Architektur 2 Mengenorientierter Zugriff Satzorientierter Zugriff Interne Satzschnittstelle Systempufferschnittstelle
MehrGleichheitsanfrage vs. Bereichsanfrage
Datenbank Indexe Gleichheitsanfrage vs. Bereichsanfrage Gleichheitsanfrage (single key-value) : Abfragen, die eine Bedingung mit = haben Finde den Namen des Studenten mit Alter = 20 Bereichsanfrage (range
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes
MehrDatenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann
Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) 14.5.2007 Felix Naumann Motivation 2 Annahme bisher: Eine Dimension Ein einziger Suchschlüssel Suchschlüssel kann auch Kombination von Attributen
MehrFokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank
8. Datenbanktuning Motivation Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank Beliebige SQL-Anfragen können auf den Daten ausgewertet
MehrThemen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.
2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen
MehrZusammengesetzte Datentypen
Zusammengesetzte Datentypen.1 Records... -4.1.1 Implizite Typdeklaration mit %ROWTYPE... -6.1.2 Referenzierung eines Records... -6.2 PL/SQL Tables... -8.2.1 Deklaration einer PL/SQL Table... -8.3 Referenzierung
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrDaten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
MehrHash-Verfahren. Einführung
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
MehrTrigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers
Überblick über Trigger Trigger schreiben Ein Trigger ist ein PL/SQL Block, der implizit aufgerufen wird, wenn ein bestimmtes Ereignis eintritt. Ein Trigger kann ein Datenbanktrigger oder ein Anwendungstrigger
MehrHash-Verfahren. Prof. Dr. T. Kudraß 1
Hash-Verfahren Prof. Dr. T. Kudraß 1 Einführung Drei Alternativen, wie Dateneinträge k* im Index aussehen können: 1. Datensatz mit Schlüsselwert k.
MehrExplizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen
Explizite Jedes SQL Statement, das der Oracle Server ausführt, hat einen individuellen, der verbunden ist mit: Implizitem : Declariert für alle DML-Statements und PL/SQL SELECT Statements. Explizitem :
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
Mehr