SÄTZE MIT VARIABLER LÄNGE

Größe: px
Ab Seite anzeigen:

Download "SÄTZE MIT VARIABLER LÄNGE"

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

Mehr

INDEXDATEIEN ( INDEXED FILES )

INDEXDATEIEN ( 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.

Mehr

Literatur: Jeffrey D. Ullman: Principles of Database Systems, 2 nd Edition 1982, Kapitel 2.2

Literatur: 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

Mehr

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Prakt. 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

Mehr

Erzeugen von Constraints

Erzeugen 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

Mehr

B*-BÄUME. Ein Index ist seinerseits wieder nichts anderes als eine Datei mit unpinned Records.

B*-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

Mehr

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. 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

Mehr

Prakt. Datenbankprogrammierung. Sommersemester 2005

Prakt. 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

Mehr

Indizes B+Bäume in Oracle. Jörg Winkler

Indizes 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

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung 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

Mehr

Dateiorganisation und Zugriffsstrukturen. Prof. Dr. T. Kudraß 1

Dateiorganisation 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

Mehr

Datenbanksysteme SS 2013

Datenbanksysteme 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

Mehr

Entspricht dem kartesischen Produkt von zwei oder mehr selektierten Tabellen ohne Join-Bedingung.

Entspricht 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

Mehr

Die Datenmanipulationssprache SQL

Die 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

Mehr

Mengen- oder SET-Operatoren fassen das Ergebnis von zwei oder mehreren Teilabfragen zu einem Ergebnis zusammen.

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

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN 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:

Mehr

Datenbanken Vertiefung Wintersemester 2013/ Matrikelnummer: Hinweise. Unterschrift

Datenbanken 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

Mehr

Skripte schreiben. Überblick SQL*Plus. Einloggen in SQL*Plus. Tabellenstrukturen anzeigen

Skripte 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

Mehr

GRUNDLAGEN VON INFORMATIONSSYSTEMEN INDEXSTRUKTUREN I: B-BÄUME UND IHRE VARIANTEN

GRUNDLAGEN 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

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die 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

Mehr

Views erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View?

Views 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

Mehr

Physikalische Datenorganisation

Physikalische 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

Mehr

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement

Prakt. 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

Mehr

SQL-Einführung Teil 2

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

Mehr

Physische Datenorganisation

Physische Datenorganisation Datenmodellierung Physische Datenorganisation 1 Physische Datenorganisation Datenmodellierung Physische Datenorganisation 2 Zielvorstellung Speichern von Dateien, die aus einzelnen Sätzen bestehen. Datenmodellierung

Mehr

1. Sätze und Blöcke INHALT. Abt. f. Datenbanken und Artificial Intelligence Institut für Informationssysteme TU Wien

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

Mehr

Arbeit mit zusammengesetzten Datentypen

Arbeit 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

Mehr

Variable. Interaktive Skripte

Variable. 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

Mehr

Dateiorganisation und Zugriffsstrukturen

Dateiorganisation 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

Mehr

SQL Intensivpraktikum SS 2008

SQL 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

Mehr

Datenbanken Vertiefung Wintersemester 2014/ Matrikelnummer: Hinweise. Unterschrift

Datenbanken 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

Mehr

Wintersemester 2016/ Matrikelnummer: Hinweise. Unterschrift

Wintersemester 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

Mehr

2000, 2001 Institut für Informatik III, Universität Bonn Grundlagen von Informationssystemen, Seite 1-1

2000, 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

Mehr

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski

Datenbanken 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

Mehr

Zusatzskript Datenmanagement: physische Strukturen B+- und B*-Baum B+-Baum

Zusatzskript 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

Mehr

technische universität dortmund Fakultät für Informatik LS 8 Speichern von Daten Prof. Dr. Katharina Morik

technische 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

Mehr

Die relationale Abfragesprache SQL Structured Query Language

Die 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

Mehr

Teil VII. Hashverfahren

Teil 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:

Mehr

Datenschutz: Zugriffsrechte in SQL

Datenschutz: 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

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. 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:

Mehr

Die Anweisung create table

Die 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

Mehr

12. Datenschutz: Zugriffsrechte in SQL Datenschutz: Zugriffsrechte in SQL

12. 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

Mehr

Grundlagen der Informatik III ERM-Modell Thema: Grundlagen der Datenbanken

Grundlagen 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.

Mehr

Performance in der Oracle Datenbank von Anfang an

Performance 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

Mehr

Cluster-Bildung. VL Datenbanken II 4 107

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

Mehr

Physischer DB-Entwurf

Physischer 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

Mehr

Warum wird mein Index nicht benutzt?

Warum 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

Mehr

Rückblick: Pufferverwaltung

Rü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

Mehr

Seminar 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. 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

Mehr

Relationales Datenbanksystem Oracle

Relationales 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

Mehr

Oracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH

Oracle 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

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In 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?

Mehr

Es geht also um die sogenannte SQL- Data Definition Language.

Es 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

Mehr

Inhalt. 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. 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ß

Mehr

Datenbanken: Indexe. Motivation und Konzepte

Datenbanken: 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

Mehr

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

Oracle 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

Mehr

Datenstrukturen und Algorithmen. Vorlesung 5

Datenstrukturen 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

Mehr

Domänen: Grundtypen, alle vordefiniert, z.b. INTEGER ~ integer NUMERIC (p,s) p: precision, s: scale (nach,) etc.

Domä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,

Mehr

Dynamische Datenstrukturen

Dynamische 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

Mehr

SQL-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 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.

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 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

Mehr

Grundlagen der Datenbanksysteme 2 (M-DB2) Dr. Karsten Tolle

Grundlagen 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;

Mehr

Access Path Selection in a Relational Database Management System. Access Path Selection Edgar Näther

Access 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

Mehr

Abfragen (Queries, Subqueries)

Abfragen (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

Mehr

Aufbau Datenbanksysteme

Aufbau 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

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 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

Ü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

Mehr

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Datenbanken. 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....................................

Mehr

Konzeptueller Entwurf

Konzeptueller Entwurf Konzeptueller Entwurf UML Klassendiagrame UML Assoziationen Entspricht Beziehungen Optional: Assoziationsnamen Leserichtung ( oder ), sonst bidirektional Rollennamen Kardinalitätsrestriktionen UML Kardinalitätsrestriktionen

Mehr

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)

Klausur 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 Ü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

Mehr

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

5 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:

Mehr

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanken 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:

Ü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

Mehr

Kapitel 7: Referentielle Integrität

Kapitel 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

Mehr

Loader. Oracle SQL*Loader. Einsatzmöglichkeit für den Import von Massendaten. 2. Datenbankworkshop der Ag Bioinformatik BIC-GH / PDW IPK

Loader. 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

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Prakt. Datenbankprogrammierung. Sommersemester I,5: Aggregieren von Daten mit Gruppen-Funktionen

Prakt. 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?

Mehr

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language)

SQL. 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

Mehr

Datenbanksysteme II Physische Repräsentation von Daten Felix Naumann

Datenbanksysteme 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

Mehr

Gleichheitsanfrage vs. Bereichsanfrage

Gleichheitsanfrage 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

Mehr

Oracle 10g Einführung

Oracle 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

Mehr

Datenbanksysteme II Multidimensionale Indizes (Kapitel 14) Felix Naumann

Datenbanksysteme 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

Mehr

Fokus bisher lag bisher auf sinnvoller Abbildung eines Ausschnitts der realen Welt in einer relationalen Datenbank

Fokus 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

Mehr

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen 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

Mehr

Zusammengesetzte Datentypen

Zusammengesetzte 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

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Informatik II, SS 2014

Informatik 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

Mehr

Daten-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) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured

Mehr

Hash-Verfahren. Einführung

Hash-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.

Mehr

Trigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers

Trigger 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

Mehr

Hash-Verfahren. Prof. Dr. T. Kudraß 1

Hash-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.

Mehr

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

Explizite 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

Ü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