Object Relational Mapping Layer
|
|
- Heiko Lang
- vor 6 Jahren
- Abrufe
Transkript
1 Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS Andreas Schmidt PHP (Teil 3) 1/33
2 object relational mapping layer two concepts: descriptive query language SQL (set oriented) imperative programming language (tuple oriented) solution: build a mapping layer between the database and the application layer which functionality should the mapping layer provides? mapping of PHP objects and their relations to database tables encapsulation of SQL statements decoupling of the application logic from the database design which functionality should the mapping layer not provides? application logic Andreas Schmidt PHP (Teil 3) 2/33
3 object relational mapping layer observation: a number of operations can be derived out of the ER-Diagram (or UML-Diagram): creation/deletion of objects modification of objects modification of relations between objects search for objects this functionality is also known as CRUD-funktionality (Create, Read, Update, Delete) Andreas Schmidt PHP (Teil 3) 3/33
4 CRUD Interface - necessary methods id <0,n> plays_role <0,n> id Film <0,1> <0,n> Person birthday title year directs firstname surname Andreas Schmidt PHP (Teil 3) 4/33
5 Tabellenstruktur CREATE TABLE person ( id INT (10) AUTO_INCREMENT, name VARCHAR (40) NOT NULL, vorname VARCHAR(40) NOT NULL, geburtsjahr YEAR(4), PRIMARY KEY(id) ) TYPE=InnoDB; CREATE TABLE film ( id INT (10) AUTO_INCREMENT, titel VARCHAR (100) NOT NULL, jahr year(4), regisseur_fk INT (10), FOREIGN KEY (regisseur_fk) REFERENCES person(id) ON DELETE SET NULL, PRIMARY KEY(id) ) TYPE=InnoDB; CREATE TABLE hat_rolle ( schauspieler_fk INT(10) NOT NULL, film_fk INT(10) not null, FOREIGN KEY(film_fk) REFERENCES film(id) ON DELETE CASCADE, FOREIGN KEY(schauspieler_fk) REFERENCES person(id) ON DELETE CASCADE ) TYPE=InnoDB; Andreas Schmidt PHP (Teil 3) 5/33
6 Klassenstruktur in PHP (Variante 1) class CRUD_Film { private $id; private $title; private $year; private $regisseur; private $actors = array(); class CRUD_Person { private $id; private $firstname; private $surname; private $birthdate; private $directed_films = array(); private $films = array(); function construct(...) { } //... } function construct(...) { } //... } Andreas Schmidt PHP (Teil 3) 6/33
7 Klassenstruktur in PHP (Variante 2) class CRUD_Film { private $id; private $title; private $year; private $regisseur_fk; class CRUD_Person { private $id; private $firstname; private $surname; private $birthdate; function construct(...) { } //... } function construct(...) { } //... } Andreas Schmidt PHP (Teil 3) 7/33
8 static methods: CRUD Interface - necessary methods (Class CRUD_Person) $p = CRUD_Person::create($name,...) $p = CRUD_Person::get($id) $p_list = CRUD_Person::query($cond) instance methods: $p->delete() // Accessor/Mutatormethoden: $p->getfirstname(), $f->setfirstname($n) $p->getsurname(), $p->setsurname($n) $p->getbirthday(), $p->setbirthday($d) $p->getfilms() $p->getdirectedfilms() // Modification of Relationships $p->addfilm($film) $p->deletefilm($film) $p->adddirectedfilm($film) $p->deldirectedfilm($film) Andreas Schmidt PHP (Teil 3) 8/33
9 static methods: CRUD Interface - necessary methods (Class CRUD_Film) $f = CRUD_Film::create($title, $year) $f = CRUD_Film::get($id) $f_list = CRUD_Film::query($cond) instance methods: $f->delete() // Accessor/Mutatormethoden: f->gettitle(), $f->settitle($t) $f->getyear(), $f->setyear($y) $f->getregisseur() $f->getactors() // Modification of Relationships $f->addactor($actor) $f->deleteactor($actor) $f->setregisseur($r) $f->unsetregisseur() Andreas Schmidt PHP (Teil 3) 9/33
10 CRUD interface (1) relation between methods and SQL-statements method SQL-statement Parameter CRUD_Film::create($title, $year) CRUD_Film::get($id) CRUD_Film::query($cond) $f->delete() $f->settitle($title) INSERT INTO Film (title, year) -- mysql VALUES (?,?) INSERT INTO Film (title, year, id) -- oracle VALUES (?,?, seq.nextval) SELECT id, title, year, regisseur_fk FROM Film WHERE id =? SELECT id, title, year, regisseur_fk FROM Film WHERE $cond DELETE FROM Film WHERE id =? UPDATE Film SET title =? WHERE ID =? $title, $year $id $cond $this->id $title $this->id Andreas Schmidt PHP (Teil 3) 10/33
11 CRUD interface (2) method SQL-statement SQL-parameter $f->addactor($actor) $f->deleteactor($actor) $f->getactors() INSERT INTO plays_role (actor_fk, film_fk) VALUES (?,?) DELETE from plays_role WHERE actor_fk =? AND film_fk =? SELECT prename, surname, id, birthday FROM Person, plays_role WHERE plays_role.film_fk =? AND plays_role.actor_fk=person.id $f->setregisseur($person) UPDATE Film SET regisseur_fk =? WHERE ID =? $f->getregisseur() SELECT surname, prename, id, birthday FROM Person WHERE id =? $actor->getid(), $this->id $actor->getid(), $this->id $this->id $person->getid(), $this->id $this->regisseur_fk Andreas Schmidt PHP (Teil 3) 11/33
12 example implementation (getactors()) class CRUD_Film { // other methods in this class... function getactors() { $db = PDO_Util::getConnection(); $sql = "SELECT id, prename, surname, birthday FROM Person, plays_role WHERE plays_role.actor_fk=person.id AND plays_role.film_fk =?"; } $stmt = $db->prepare( $sql ); $stmt->execute(array($this->id)); $list = array(); while($row = $stmt->fetch()) $list[] = new CRUD_Person($row[0], $row[1], $row[2], $row[3]); return $list; } // end class Film Andreas Schmidt PHP (Teil 3) 12/33
13 First Level Cache Werden Änderungen an den Objekten nicht sofort in die Datenbank geschrieben kann es sein, dass mehrere Kopien desselben Objektes im Speicher existieren, die einen unterschiedlichen Status haben Ausweg: Cache Prinzip: jedes Objekt, das aus Datenbank gelesen wird, wird in Cache eingetragen beim Zugriff auf DB wird geschaut ob sich Objekt nicht bereits in Cache befindet, wenn ja dann wird das Objekt zurückgeliefert (zusätzlich Performancegewinn!!) bei Commit werden die geänderten Objekte des Caches zurückgeschrieben Implementierung: z.b. mit assoziativem Array (Dictionary), wobei der Schlüssel durch Objekt-ID repräsentiert wird und der Wert durch das Objekt selbst (Reference auf Objekt) Andreas Schmidt PHP (Teil 3) 13/33
14 First Level Cache $obj1 $hauptstadt $stadt3 Cache Andreas Schmidt PHP (Teil 3) 14/33
15 Second level cache Bereits angefrage Datensätze verbleiben im Cache und werden bei späteren Anfragen von dort geladen Typischerweise asynchrone Synchronisation Geeignet für folgende Typen von Daten: geringe Änderungsrate unkritische Daten (non financial) Anwendungslokale (non shared) Daten Reference data geringe Anzahl von Instanzen jede Instanz ist mit vielen Instanzen anderer Klassen verbunden seltener Update Andreas Schmidt PHP (Teil 3) 15/33
16 Synchronisation Szenario: User 1 liest Datensatz und modifiziert ihn in einer Bildschirmmaske User 2 liest anschließend denselben Datensatz und modifiziert ihn ebenfalls User 1 speichert den geänderten Datensatz zurück User 2 speichert ebenfalls den von ihm geänderten Datensatz zurück Problem: Änderungen von User 1 sind verloren gegangen Andreas Schmidt PHP (Teil 3) 16/33
17 Lösungsansätze Pessimistische Synchronistaion zu bearbeitender Datensatz wird während der Dauer der Bearbeitung gesperrt (Sperrattribut, Tabelle(n) zur Sperrenverwaltung) Optimistische Synchronisation man geht von keiner Kollision aus tritt Kollision auf, so muss diese von der Anwendung/dem Anwender gelöst werden Prinzip: Datensatz erhält zusätzliches Attribut mit Zeitstempel oder Versionsnummer Bei jeder Modifikation wird Zeitstempel neu gesetzt, bzw. Versionsnummer hochgezählt Beim Abspeichern wird der aktuelle Wert des Zeitstempels bzw. der Versionsnummer mit verglichen Andreas Schmidt PHP (Teil 3) 17/33
18 DDL (optimistische Synchronisation) create table Person ( id integer primary key, name varchar(40) not null, vorname varchar(40) not null, geburtsdatum date, version integer not null ); Andreas Schmidt PHP (Teil 3) 18/33
19 Beispiel function update() { $db = PDO_Util::getConnection(); $sql = "update person set name=?, vorname=?, version=version+1 where id=? and version=?"; $values = array($this->name, $this->vorname, $this->id, $this->version); $stmt = $db->prepare( $sql ); } $stmt->execute( $values ); $affected_rows = $stmt->rowcount(); if ($affected_rows!= 1) throw new Exception("Objekt Person ($this->id) wurde inzwischen geändert"); else { } $this->version++; return true; update des Zählers in der Instanz bei Update versionsnummer hochzählen test ob Datensatz zurückgeschrieben wurde Andreas Schmidt PHP (Teil 3) 19/33
20 Vererbung vorname name Person isa eintrittsdatum Kunde bonusmeilen Angestellte isa flugstunden sicherheitsstufe Bodenpersonal Pilot Andreas Schmidt PHP (Teil 3) 20/33
21 relationale Modellierung 1 Tabelle pro Klassenhierarchie 1 Tabelle pro Klasse 1 Tabelle pro Verebungspfad Andreas Schmidt PHP (Teil 3) 21/33
22 Eine Tabelle pro Klassenhierarchie Person Kunde Angestellter Bodenpersonal Pilot Person id typ name vorname bonusmeilen eintrittsdatum sicherheitsstufe flugstunden 001 K... Sven Vielflieg NULL NULL NULL 002 P... Maria 003 B... Sigi Albatros Sicher NULL NULL NULL E NULL 004 K... Andrea Flugangst 10 NULL NULL NULL Andreas Schmidt PHP (Teil 3) 22/33
23 zugeh. DDL/DML-Statements create table Person ( id integer primary key, name varchar(40) not null, vorname varchar(40) not null, bonusmeilen integer, eintrittsdatum date, sicherheitsstufe integer, flugstunden integer, typ enum ('Kunde', 'Bodenpersonal', 'Pilot') ); insert into person (id, typ, vorname, name, bonusmeilen) values(1,'kunde','sven','vielflieg',600000); insert into person (id, typ, vorname, name, eintrittsdatum, flugstunden) values(2,'pilot','maria','albatros', ' ', 20000); Andreas Schmidt PHP (Teil 3) 23/33
24 Fakultät IWI Eine Tabelle pro Klasse Person Kunde Angestellter Bodenpersonal Pilot Person id typ vorname name 001 Kunde Sven Vielflieg 002 Pilot Maria Albatros 003 Bodenpersonal Sigi Sicher 004 Kunde Andrea Flugangst Kunde id_fk bonusmeilen Bodenpersonal Angestellter id_fk eintrittsdatum Pilot id_fk 003 E sicherheitsstufe id_fk flugstunden Andreas Schmidt PHP (Teil 3) 24/33
25 zugeh. DDL-Statements create table Person ( id integer primary key, name varchar(40) not null, vorname varchar(40) not null, typ enum ('Kunde', 'Bodenpersonal', 'Pilot') ); create table Kunde ( id_fk integer primary key, bonusmeilen integer, foreign key(id_fk) references Person(id) on delete cascade ); create table Angestellter ( id_fk integer primary key, eintrittsdatum date, foreign key(id_fk) references Person(id) on delete cascade ); create table Bodenpersonal ( id_fk integer primary key, sicherheitsstufe integer, foreign key(id_fk) references Angestellter(id_fk) on delete cascade ); create table Pilot ( id_fk integer primary key, flugstunden integer, foreign key(id_fk) references Angestellter(id_fk) on delete cascade ); Andreas Schmidt PHP (Teil 3) 25/33
26 zugeh. DML-Statements insert into person (id, vorname, name, typ) values(1,'sven','vielflieg','kunde'); insert into kunde (id_fk, bonusmeilen) values(1, ); insert into person (id, vorname, name, typ) values(2,'maria','albatros','pilot'); insert into angestellter (id_fk, eintrittsdatum) values (2,' '); insert into pilot (id_fk, flugstunden) values (2,20000); Andreas Schmidt PHP (Teil 3) 26/33
27 Fakultät IWI Eine Tabelle pro Vererbungspfad Person Kunde Angestellter Bodenpersonal Pilot Kunde id name vorname bonusmeilen 001 Sven Vielflieg Andrea Flugangst 12 Bodenpersonal id name vorname eintrittsdatum sicherheitsstufe 003 Sigi Sicher E Pilot id name vorname eintrittsdatum flugstunden 002 Maria Albatros Andreas Schmidt PHP (Teil 3) 27/33
28 zugeh. DDL/DML-Statements create table Kunde ( id integer primary key, name varchar(40) not null, vorname varchar(40) not null, bonusmeilen integer ); create table Bodenpersonal ( id integer primary key, name varchar(40) not null, vorname varchar(40) not null, eintrittsdatum date, sicherheitsstufe integer ); insert into kunde (id, vorname, name, bonusmeilen) values(1,'sven','vielflieg',600000); insert into pilot (id, vorname, name, eintrittsdatum, flugstunden) values(2,'maria','albatros',' ',20000); create table Pilot ( id integer primary key, name varchar(40) not null, vorname varchar(40) not null, eintrittsdatum date, flugstunden integer ); Andreas Schmidt PHP (Teil 3) 28/33
29 Methoden Statische Methoden: $pe = Person::create($name, $vorname) $ku = Kunde::create(..., $bonusmeilen) $bo = Bodenpersonal::create(...) $pi = Pilot::create(...) $px = Person::get(...) $personen = Person::query($cond) $piloten = Pilot::query($cond) Instanzenmethoden $p->gettype() // liefert Typname zurück $p->hastype($type) // true, falls der Typ von p // dem von $type oder einem // davon abgeleiteten // entspricht $p->delete() // Accessor + Mutatormethoden... // Beziehungsmethoden... Andreas Schmidt PHP (Teil 3) 29/33
30 Performanceüberlegungen Instant loading vs. lazy loading lazy object generation (proxy objects) late execution von SQL-Update Statements Cache mit prepared-statements (z.b. Dictionary mit SQL-Statements als Key) Cache für Ergebnisse bei Beziehungen (Variante 2) Outer Join bei <0,1> Kardinalität Update nur auf geänderte Spalten Andreas Schmidt PHP (Teil 3) 30/33
31 Application Logic Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS Andreas Schmidt PHP (Teil 3) 31/33
32 Application Logic Applikationslogik wird in Schicht oberhalb der OR-Mapping Schicht realisiert Applikationslogik ist unabhängig von darunterliegender Datenbankschicht Frage: wie wird Applikationslogik ins System integriert? Antwort: z.b. durch Unterklassenbildung (ableiten dercrud-klassen) Prinzip: class Film extends CRUD_Film { private... function construct(...) { parent:: construct(...);... } // Methods of class Film //... Notwendige Änderungen an OR-Schicht: OR-Schicht darf nur Instanzen der abgeleiteten Klassen erzeugen Andreas Schmidt PHP (Teil 3) 32/33
33 Application Logic class Film extends CRUD_Film { // Realisierung der Applikationslogik unter Zuhilfenahme der Funktionalität // der durch die OR-Schicht bereitgestellte Funktionalität //... function numberofactors() { return count($this->getactors()); } } // weitere Methoden... Hinweis: Aus Performancegründen ist hier eventuell doch die Ausführung eines SQL-Statements sinnvoll!! Andreas Schmidt PHP (Teil 3) 33/33
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS 2015 PHP. Object Relational Mapping Layer. Dr. Christian Senger PHP & ORM 1
PHP Object Relational Mapping Layer PHP & ORM 1 Object Relational Mapping Layer PHP & ORM 2 Object Relational Mapping Layer Einige Operationen können vom ER-Diagram (or UML- Diagram) abgeleitet werden:
MehrObject Relational Mapping Layer
Object Relational Mapping Layer Dr. Christian Senger ORM & Vererbung 1 create table fortbildung( id number primary key, bezeichnung varchar2(40), datum date ); create table themenblock( id number primary
MehrAusgabe: Abteilungen Summe der Fehltage einer Abteilung. Nur für Mitarbeiter deren Fehltage < 3 Nur Abteilungen deren Fehltage-Summe > 1
mitarbeiter_fehltage abteilung_id mitarbeiter_id fehltage 3 2 2 1 1 1 2 4 5 4 5 3 2 6 10 4 3 3 1 8 1 2 7 5 3 9 1 Ausgabe: Abteilungen Summe der Fehltage einer Abteilung Nur für Mitarbeiter deren Fehltage
MehrObject Relational Mapping Layer
Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung
MehrTutorium zum Aufbau einer objektrelationalen Abbildungsschicht in PHP (Version 2.8 vom )
Tutorium zum Aufbau einer objektrelationalen Abbildungsschicht in PHP (Version 2.8 vom 18.11.2016) Einleitung Im folgenden wird die Erstellung einer Klasse zur Realisierung einer OR-Schicht erläutert.
MehrDatenbanken und Informationssysteme II
Fakultät für Informatik und Wirtschaftsinformatik WS 2011 Datenbanken und Informationssysteme II Szenario: Es soll eine Datenbank für eine Online Auktionsplattform entworfen werden. Das relationale Schema
MehrTutorium zum Aufbau einer objektrelationalen Abbildungsschicht in PHP (Version 4.4 vom )
Tutorium zum Aufbau einer objektrelationalen Abbildungsschicht in PHP (Version 4.4 vom 13.11.2018) Einleitung Im folgenden wird die Erstellung einer Klasse zur Realisierung einer OR-Schicht erläutert.
MehrHochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.
Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.
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
MehrProbeklausur Datenbanken und Informationssysteme II
Hochschule Karlsruhe Technik und Wirtschaft- 26.6.2014 Fakultät für Informatik und Wirtschaftsinformatik Probeklausur Datenbanken und Informationssysteme II Szenario: Poolräume, Softwareverteilung Aufgabe
MehrDatenbanken. Zusammenfassung. Datenbanksysteme
Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm
MehrDatenbanksysteme 2013
Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische
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
MehrDB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer
DB-Datenbanksysteme DB-13 043-SQL-DML 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache
MehrMultimedia im Netz Wintersemester 2013/14. Übung 02 (Hauptfach)
Multimedia im Netz Wintersemester 2013/14 Übung 02 (Hauptfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 2-1 PHP und MySQL Es werden mehrere APIs von PHP angeboten um
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
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
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
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/
MehrORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel
ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)
Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der
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,
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:
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,
MehrGrundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich
Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)
MehrSET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
phpmyadmin SQL Dump version 3.2.4 http://www.phpmyadmin.net Host: localhost Erstellungszeit: 13. April 2011 um 18:44 Server Version: 5.1.41 PHP-Version: 5.3.1 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101
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
Mehr5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp
5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries
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
MehrNoSQL mit Postgres 15. Juni 2015
Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste
MehrIntroduction to Data and Knowledge Engineering. 6. Übung SQL
Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB
MehrFunktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion
Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert
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
Mehr5.8 Bibliotheken für PostgreSQL
5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
Mehr3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien
CREATE TABLE SPEND_STAT ( S_STATUS VARCHAR2(1), STAT_TXT VARCHAR2(15), PRIMARY KEY (S_STATUS) ENABLE ) ; 3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien DDL:
MehrDatenbanken 1. Sommersemester Übung 1
Datenbanken 1 Sommersemester 2017 Übung 1 Übersicht Entwurf Anforderungsanalyse -> Dokumentation der Anford. Konzeptuelles Modell -> ER-Diagramm Logisches Modell -> Relationales Datenmodell Physisches
MehrVisualisierung in Informatik und Naturwissenschaften
Visualisierung in Informatik und Naturwissenschaften Datenbankvisualisierung Sven Bernhard 12.06.1999 Datenbankvisualisierung Datenbanktheorie in 5 Minuten Visualisierung vs. Datenbanken Visualisierung
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
MehrDatenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen
MehrÜbung PL/SQL Trigger Lösungen
Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
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. 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
Mehr1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)
Erstellen einer Mitarbeiter-Datenbank 1 Erstellen einer Mitarbeiter-Datenbank Arbeitsauftrag Ziel der Übung Erstellen von Datenbanken mit Hilfe von SQL-Abfragen Aufgabe (1.) Erstellen Sie eine neue Datenbank
MehrSQL und MySQL. Kristian Köhntopp
SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)
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
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
MehrACCESS SQL ACCESS SQL
ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache
MehrInstallation MySQL Replikationsserver 5.6.12
Ergänzen Konfigurationsdatei my.ini auf Master-Server:!!! softgate gmbh!!! Master und Slave binary logging format - mixed recommended binlog_format = ROW Enabling this option causes the master to write
MehrKapitel 8: Datenintegrität
Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:
MehrDATENBANKEN 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.
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrSQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.
SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit
MehrSQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP
SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP W. Spiegel Übersicht DDL & DML Relationen definieren: CREATE Primärschlüssel setzen mit primary key Tabellen löschen: DROP Daten speichern: INSERT Daten
Mehr4. Objektrelationales Typsystem Kollektionstypen. Nested Table
Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 11. Dez. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 7 Aufgabe 2 + 3: Datenbanksysteme I import java.sql.*; import oracle.jdbc.driver.*;
MehrDatenbanken SQL. Insert, Update, Delete, Drop. Krebs
Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse
MehrSQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT
Allgemeines DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT Gute Tabellen sollen nun in eine DB auf den Rechner. Verwenden dazu DBMS ite. Verwenden Datenbanksprache (structured query language).
MehrInhaltsverzeichnis. Bernd Müller, Harald Wehr. Java Persistence API 2. Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN:
Inhaltsverzeichnis Bernd Müller, Harald Wehr Java Persistence API 2 Hibernate, EclipseLink, OpenJPA und Erweiterungen ISBN: 978-3-446-42693-1 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42693-1
MehrEinführung in die Informatik II
Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen
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-
MehrGrundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking
Grundlagen von Datenbanken Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking SQL DDL: Referentielle Aktionen (1/3) Potentielle Gefährdung der referentiellen Integrität durch Änderungsoperationen
MehrDatenintegrität. Referentielle Integrität. Referentielle Integrität in SQL. Bisherige Integritätsbedingungen
Datenintegrität eferentielle Integrität Integitätsbedingungen chlüssel Fremdschlüssel verweisen auf Tupel einer elation z.b. gelesenvon in Vorlesungen verweist auf Tupel in Professoren Beziehungskardinalitäten
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....................................
Mehrdbis Praktikum DBS I SQL Teil 2
SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP
MehrPHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.
PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank
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
MehrDr. Christian Senger DB & IS II, SS15 09.05.2015
Übung MVC Dr. Christian Senger DB & IS II, SS15 09.05.2015 0) Allgemeine Hinweise: In den folgenden Lektionen soll die Realisierung einer objektrelationalen Abbildungsschicht gezeigt werden. Die Realisierung
MehrDatenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen
Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1 Andreas Heß Hochschule Furtwangen Inhalte heute Einführung ins Entity-Relationship-Modell Einführung ins relationale Modell Umsetzung vom E/R-
MehrMetadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)
Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia) Dr. Christian Senger Metadaten 1 Vorgehen bei ER Modellierung
MehrPHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.
Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP und MySQL Integration von MySQL in PHP Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (michael.kluge@tu-dresden.de) MySQL
MehrOracle 9i Einführung Performance Tuning
Kurs Oracle 9i Einführung Performance Tuning Teil 6 Locks & Latches Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 16 Seite 1 von 16 1. Einführung Locks & Latches 2. Locks (Sperren) 3. Modi & Levels
MehrEinstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!
1/40 PHP-User-Group Stuttgart 14.01.2009 Warum Datenbanken einen Hals bekommen und was sich dagegen tun lässt. Tuning und Performancesteigerung ohne zusätzliche Hardware. Ein. Loblied auf den Tabellen-Index!
MehrWillkommen. Datenbanken und Anbindung
Willkommen Datenbanken und Anbindung Welche stehen zur Wahl? MySQL Sehr weit verbreitetes DBS (YT, FB, Twitter) Open-Source und Enterprise-Version Libs in C/C++ und Java verfügbar Grundsätzlich ist ein
MehrSQL Data Manipulation Language (DML) und Query Language (QL)
Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität
MehrKapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken
Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen
MehrProbeklausur Datenbanken und Informationssysteme II
Probeklausur Datenbanken und Informationssysteme II Szenario: Bibliothek. Es gibt Autoren, Bücher, Exemplare, Kunden, Kategorien und Ausleihvorgänge. Aufgabe 1 (Trigger) [ 32 ] a) Analysiere das relationale
MehrOracle Virtual Private Database
Oracle Virtual Private Database Rolf Wesp Consultant Application Development Rolf.Wesp@trivadis.com Düsseldorf, September 2008 Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg
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
MehrIsolationsstufen für Transaktionen. Dr. Karsten Tolle
Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)
MehrFolien php/mysql Kurs der Informatikdienste
Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,
MehrKapitel 4 Dynamisches SQL
Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums
Mehr1a) SQL Stored Procedure via IDs
1a) SQL Stored Procedure via IDs Erstellen Sie analog zu Aufgabe 2d) des ersten Übungsblatts eine SQL Stored Procedure, welche den Freundschaftsgrad zweier Benutzer eines sozialen Netzwerks aktualisiert.dazu
MehrTransaktionen in Praxis. Dr. Karsten Tolle Vorl
Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Trigger. Andreas Schmidt Trigger 1/25
Trigger Andreas Schmidt Trigger 125 Trigger Konzept, um automatisch auf vordefinierte Ereignisse in der Datenbank zu reagieren Trigger sind mit Datenbanktabelle verknüpft Auslösung durch DML Befehle INSERT,
MehrOrder Ansicht Inhalt
Order Ansicht Inhalt Order Ansicht... 1 Inhalt... 1 Scope... 2 Orderansicht... 3 Orderelemente... 4 P1_CHANG_CH1... 6 Function: fc_ins_order... 7 Plug In... 8 Quelle:... 8 Anleitung:... 8 Plug In Installation:...
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)
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)
MehrFakultät IWI DB & IS II - SS PHP Teil 2. Zugriff auf Datenbanken. Objektorientierung in PHP5. Andreas Schmidt PHP - Teil 2 1/24
PHP Teil 2 Zugriff auf Datenbanken Objektorientierung in PHP5 Andreas Schmidt PHP - Teil 2 1/24 Datenbankzugriff mit PHP verschiedene Varianten native Schnittstelle (mysql_, ora_,...) ODBC Funktionen
MehrErstellen und Verwalten von Tabellen
Erstellen und Verwalten von Tabellen Als nächstes müssen die Tabellen der Datenbank Personalwesen erzeugt werden. Die Syntax dazu lautet: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(TABELLENDEFINITION,
MehrWeb Technologien Klassische Datenbanken am Beispiel von MySQL
Web Technologien Klassische Datenbanken am Beispiel von MySQL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00
MehrPostgreSQL Ein Überblick
26. August 2007 Agenda Neue Funktionen im Bereich SQL, XML und Volltextsuche Geschwindigkeitsverbesserungen Neue Erweiterungen (contrib) XML (1) Neuer Datentyp xml ( well-formedness ) Viele Funktionen
MehrDatenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012
Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus
MehrDOAG HC ApEx Workshop. OPITZ CONSULTING GmbH 2009 Seite 1
OPITZ CONSULTING GmbH 2009 Seite 1 Ein Kurzeinstieg in Oracle Application Express Enno Schulte, Werksstudent OPITZ CONSULTING Gummersbach GmbH Fachhochschule Gummersbach, 07.10.2009 OPITZ CONSULTING GmbH
Mehr