Oracle native json Support. Erste Schritte
|
|
- Linda Theresa Dressler
- vor 6 Jahren
- Abrufe
Transkript
1 Oracle native json Support Erste Schritte
2 1 Ausgangslage Als erster Schritt erstellen wir eine Tabelle, die wir für den weiteren Verlauf brauchen werden. Die Felder Id, Created und Username sind normale Attribute, das Feld Extended wird später die dynamischen Properties beinhalten. Aus SQL Sicht ist es prinzipiell eine normale Spalte, die einen String-Wert beinhalten kann. Die dynamische Struktur wird im Verlauf dieses Artikels komplexer, die Tabelle muss hierfür aber nicht angepasst werden. Wir haben eine Tabelle SAMPLE1 mit folgendem Inhalt: Name Type Id Created Username Extended NUMBER TIMESTAMP VARCHAR2 CLOB -- Table CREATE TABLE SAMPLE1 ( Id NUMBER(10 NOT NULL, CREATED TIMESTAMP (0, USERNAME VARCHAR2(20 BYTE, EXTENDED CLOB CONSTRAINT valid_json CHECK (Extended IS JSON, PRIMARY KEY (Id --Trigger CREATE SEQUENCE Sample1_seq START WITH 1 INCREMENT BY 1; CREATE OR REPLACE TRIGGER Sample1_seq_tr BEFORE INSERT ON Sample1 FOR EACH ROW WHEN (NEW.Id IS NULL BEGIN SELECT Sample1_seq.NEXTVAL INTO :NEW.Id FROM DUAL; END; / Die Spalte Extended nutzen wir um den JSON-String abzulegen. Hier setzen wir einen Constraint valid_json, der überprüft, ob die Eingabe einem gültigen JSON-String entspricht. Diese Überprüfung ist wichtig, andernfalls können die Felder nicht abgefragt werden. 1.1 Abfrage von Feldern mit JSON Zuerst legen wir Beispiel-Daten an: INSERT INTO Sample1 (Created, Username, Extended VALUES (TO_DATE(' :26:30', 'yyyy-mm-dd hh24:mi:ss', 'Test', '{ "name": "Nineteen Eighty-Four", "author": "George Orwell", "genre": "Political fiction", "price": 14.99, "pages": 328 }' INSERT INTO Sample1 (Created, Username, Extended VALUES (TO_DATE(' :28:27', 'yyyy-mm-dd hh24:mi:ss', 'Test', '{ "name": "The Metamorphosis", "author": "Franz Kafka", Oracle native json Support - Erste Schritte Seite 2 von 8
3 }' "genre": "Short Story", "price": 11.99, "pages": 201 Die klassischen Attribute können wie gewohnt über eine Query abgefragt werden: SELECT * FROM Sample1 WHERE Username = 'Test' Aber wie werden die zusätzlichen Felder in der Spalte Extended abgefragt? Hierfür gibt es mehrere Möglichkeiten, zwei davon werde ich hier vorstellen: Die einfachste Methode ist die Dot-Notation. Diese eignet sich für simple Aufgaben, kommt aber, bei beispielsweise Arrays, schnell an ihre Grenzen. SELECT s.extended.name FROM sample1 s Hier werden beide Buchtitel ausgegeben: SELECT s.extended.name FROM sample1 s WHERE s.extended.pages > 300 Oder nur das Buch ausgegeben, das mehr als 300 Seiten umfasst: Eine andere Vorgehensweise ist der Einsatz von JSON_TABLE: name VARCHAR2(100 PATH '$.name', author VARCHAR2(100 PATH '$.author', price NUMBER(10,2 PATH '$.price', pages NUMBER(10 PATH '$.pages' as jt Hier werden die JSON-Properties als relationale Tabellen-Spalten projiziert. Es kann natürlich auch hier gefiltert werden: name VARCHAR2(100 PATH '$.name', Oracle native json Support - Erste Schritte Seite 3 von 8
4 author VARCHAR2(100 PATH '$.author', price NUMBER(10,2 PATH '$.price', pages NUMBER(10 PATH '$.pages' as jt WHERE price > 12 AND Username = 'Test' Ein paar Erklärungen zum Syntax: $ bezieht sich auf das Root-Element, hier ist Root ganz oben also das komplette Dokument. Danach werden die Spalten aufgelistet, die ausgewertet werden sollen. Es ist wichtig den richtigen Datentyp zu wählen - oder falls dies nicht möglich ist, VARCHAR2 nehmen. Mit VARCHAR2 können dann natürlich keine Operatoren (Vergleiche, logische oder numerische Operatoren benutzt werden. Um das Beispiel etwas zu erweitern, importieren wir mehr Datensätze, die diesmal komplexer aufgebaut sind bzw. nicht mehr flach sind. Das Property address beinhaltet ebenfalls ein Unter- Objekt und phonenumber ist ein Array von mehreren Objekten. INSERT INTO Sample1 (Created, Username, Extended VALUES (TO_DATE(' :58:52', 'yyyy-mm-dd hh24:mi:ss', 'Test2', '{ "firstname" : "Robin", "lastname" : "Hood", "age" : 22, "address" : { "street" : "Wood 12", "city" : "London", "zip" : "1000" }, "phonenumber" : [{ "type" : "home", "number" : " " }, { "type" : "fax", "number" : " " } ] }' INSERT INTO Sample1 (Created, Username, Extended VALUES (TO_DATE(' :52:45', 'yyyy-mm-dd hh24:mi:ss', 'Test2', '{ "firstname" : "Bruce", "lastname" : "Lee", "age" : 31, "address" : { "street" : "Street 42", "city" : "Hong Kong", "zip" : "1234" }, "phonenumber" : [{ "type" : "home", "number" : " " }, { "type" : "fax", "number" : " " } ] }' Oracle native json Support - Erste Schritte Seite 4 von 8
5 Führen wir die Select Queries aus dem letzten Schritt aus, bekommen wir dieselben Resultate. Das ist auch zu erwarten, denn die zwei neuen Datensätze enthalten kein Feld mit dem Titel name oder price. Fragen wir aber das Feld age ab, ergibt sich ein anderes Bild: firstname VARCHAR2(100 PATH '$.firstname', lastname VARCHAR2(100 PATH '$.lastname', age NUMBER(10,2 PATH '$.age' as jt WHERE age > 18 Die Properties address und phonenumber sind komplexer: Wie bereits erwähnt, enthält die adress-property weitere Unter-Properties, die zusammen wieder ein Objekt ergeben: street, city und zip. In der folgenden Query werden wir den Wert city ausgeben. Die anderen Properties funktionieren analog dazu. firstname VARCHAR2(100 PATH '$.firstname', lastname VARCHAR2(100 PATH '$.lastname', age NUMBER(10,2 PATH '$.age', city VARCHAR2(100 PATH '$.address.city' as jt WHERE age > 18 Hier wird einfach mittels der Dot-Notation eine weitere Spalte angezeigt ($.address.city. Das ganze kann auch ohne Hilfe der JSON_TABLE Funktion verwendet werden: SELECT s.extended.address.city FROM sample1 s WHERE s.extended.age > 18 Das Property phonenumber beinhaltet einen Array, es funktioniert deshalb etwas anders als bisher. Mit der Dot-Notation kann zwar auf die Property zugegriffen werden, Oracle verbindet aber die Werte, was wahrscheinlich oft nicht das gewünschte Resultat liefert: SELECT s.extended.phonenumber."number" FROM sample1 s WHERE s.extended.age > 18 Oracle native json Support - Erste Schritte Seite 5 von 8
6 Hinweis: number ist ein reserviertes Oracle Keyword und muss escaped werden. Mit JSON_TABLE kann das Ganze detaillierter aufgelistet werden: firstname VARCHAR2(100 PATH '$.firstname', lastname VARCHAR2(100 PATH '$.lastname', age NUMBER(10,2 PATH '$.age', NESTED PATH '$.phonenumber[*]' COLUMNS ( phonetype VARCHAR2(20 PATH '$.type', phonenumber VARCHAR2(50 PATH '$.number' as jt WHERE age > 18 Spannend ist hier das Keyword NESTED im Zusammenhang mit dem Pfad $.phonenumber[*] das den nachfolgenden Array zeilenweise ausgibt. Das Stern-Symbol (* bezieht sich hier auf alle Einträge. Stünde beispielsweise stattdessen eine 0 in den Klammern, würde es nur jeweils den ersten Eintrag ausgeben. Hier sieht man aber sehr gut, dass die Datensätze doppelt ausgegeben werden, weil das phonenumber Array auch jeweils zwei Einträge besitzt. Natürlich kann auch hier gefiltert werden: [...] WHERE phonetype = 'fax' Im letzten Beispiel verschieben wir das Root-Element der Abfrage: '$.phonenumber[*]' COLUMNS ( phonetype VARCHAR2(100 PATH '$.type', phonenumber VARCHAR2(100 PATH '$.number' as jt Hier wird direkt auf die Property phonenumber verwiesen und die beiden Unter-Properties type und number werden ausgegeben. Die restlichen Properties wie firstname oder age können bei diesem Ansatz aber nicht ausgegeben werden. Je nach Aufgabenstellung ist dies eventuell auch nicht nötig. Oracle native json Support - Erste Schritte Seite 6 von 8
7 1.2 Performance Neben der reinen Abfragetechniken, möchten wir auch eine Aussage zur Performance machen. Dieser Test gibt einen kleinen Überblick, wie sich die Performance mit JSON-Date in Oracle Datenbanken auswirkt. In unserer Testdatenbank befinden sich 500'000 Datensätze mit zweifach verschachtelten JSON-Daten. Die Tests wurden auf einen Desktop-Rechner mit i CPU (3.4 Ghz, 16 GB RAM, SDD auf Windows 8.1 ausgeführt Das Feld Extended besitzt einen Index: CREATE INDEX SAMPLE_JSON_IDX ON SAMPLE1 (Extended INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('section group CTXSYS.JSON_SECTION_GROUP SYNC (ON COMMIT'; String Length Query ohne JSON-Bezug: SELECT COUNT(* FROM Sample1 WHERE length(username > 0 Antwortzeit: 0.09s String Length Query mit JSON-Bezug: firstname VARCHAR2(100 PATH '$.firstname', lastname VARCHAR2(100 PATH '$.lastname', age NUMBER(10,2 PATH '$.age' as jt WHERE length(lastname > 0 Antwortzeit: 2.4s Integer Vergleich ohne JSON-Bezug: SELECT COUNT(* FROM Sample1 WHERE Id >= 0 Antwortzeit: 0.085s Integer Vergleich mit JSON-Bezug: firstname VARCHAR2(100 PATH '$.firstname', lastname VARCHAR2(100 PATH '$.lastname', age NUMBER(10,2 PATH '$.age' as jt WHERE age >= 0 Antwortzeit: 2.25s JSON-Table Join mit normalen Tabelle: firstname VARCHAR2(100 PATH '$.firstname', lastname VARCHAR2(100 PATH '$.lastname', age NUMBER(10,2 PATH '$.age' as jt INNER JOIN person ON age = person.age Oracle native json Support - Erste Schritte Seite 7 von 8
8 Antwortzeit: 2.28s Hinweis: Hier wird eine zweite Tabelle referenziert, die nicht Teil dieses Artikels ist. 1.3 Fazit Mittels der JSON-Erweiterung für Oracle können viele Vorteile der dokumentbasierten Datenbanken auch in relationalen Oracle Datenbanken verwendet werden. Auf die gewohnte SQL Syntax muss hierbei nicht verzichtet werden. Damit wird für viele Anwender, die auf NoSQL Datenbanken wechseln (müssen ein Hindernis auf die Seite geräumt. An einigen Stellen merkt man allerdings, dass hier zwei Parteien miteinander verheiratet werden, die eigentlich gar nicht füreinander bestimmt sind. Zum Beispiel sind JSON-Properties nicht typisiert, der SQL Standard verlangt diese aber. Ein anderes Fass macht man mit OR-Mappern auf: Sie unterstützen die erweiterten Abfragen (noch nicht, der Entwickler ist also gezwungen einen eigenen Datenbank-Layer zu entwickeln. In Punkto Performance ergeben sich zwar Einbussen aber diese sind verhältnismässig gering. Wir werden den Ansatz auf jeden Fall bei der Realisierung von dynamischen Datenmodellen weiterverfolgen. Oracle native json Support - Erste Schritte Seite 8 von 8
Hochschule 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.
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
MehrViews in SQL. 2 Anlegen und Verwenden von Views 2
Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
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-
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten
Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
MehrSQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler
SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung
MehrJava Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.
1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme
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.
MehrEinführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten
Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem
MehrSQL-Anweisungen. SELECT (SQL Data Query Language)
SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE
MehrFunktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement
Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN
MehrORACLE und IBM DB2 Datentypen 14.12.2011
1/27 ORACLE und IBM DB2 Datentypen PHP-User-Group Stuttgart 14.12.2011 ORACLE Datentypen ein Überblick IBM DB2 Datentypen ein Überblick 2/27 ORACLE und IBM DB2 Datentypen Wer Wer bin bin ich ich?? Thomas
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)
MehrCassandra Query Language (CQL)
Cassandra Query Language (CQL) Seminar: NoSQL Wintersemester 2013/2014 Cassandra Zwischenpräsentation 1 Gliederung Basic facts Datentypen DDL/DML ähnlich zu SQL Besonderheiten Basic facts CQL kurz für
MehrDatenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.
Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme
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,
MehrFakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32
XMLType Christian Senger/Andreas Schmidt XMLType 1/32 XMLType von Oracle vordefinierter Typ zur Speicherung von nativen XML-Dokumenten unterstützt verschiedene Speichermodelle für XML structured storage
MehrEinführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)
Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data
MehrDatumsangaben, enthält mindestens Jahr, Monat, Tag
Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice
MehrDatenbanken für Online Untersuchungen
Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
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
MehrKapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023
Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten
MehrDB2 SQL, der Systemkatalog & Aktive Datenbanken
DB2 SQL, der Systemkatalog & Aktive Datenbanken Lehr- und Forschungseinheit Datenbanken und Informationssysteme 1 Ziele Auf DB2 Datenbanken zugreifen DB2 Datenbanken benutzen Abfragen ausführen Den Systemkatalog
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
MehrSQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )
Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 6 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 1.12.2003 SQL-DDL und SQL-Anfragen
MehrIV. Datenbankmanagement
Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.
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,
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
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)
Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,
MehrMultimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011
Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 2-1 Übungsblatt - 2 Thema: HTML, PHP und
MehrDipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht
Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung
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
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrAllgemeines. veröffentlicht unter http://www.profv.de/uni/ lizensiert unter. Creative Commons BY-SA 3.0. XQuery in MS SQL Server 2005
Volker Grabsch 14. Januar 2008 Allgemeines veröffentlicht unter http://www.profv.de/uni/ lizensiert unter Creative Commons BY-SA 3.0 Quelle Dieser Vortrag basiert auf dem Paper XQuery Implementation in
MehrOracle Forms. Aufbau und Bestandteile von Formularen. Erstellen eines neuen Blocks. Starten von Oracle Forms
Oracle Forms Oracle Forms ist eine Applikation für den Entwurf und die Erstellung Forms-basierender Anwendungen. Diese Forms umfassen Dateneingabe-Formulare Datenabfrage-Formulare Browser-Formulare Oracle
Mehr15 Bilder und Dateien im SQL Server
Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 15 Bilder und Dateien im SQL Server Eines der großen Probleme von Access-Datenbanken ist der vergleichsweise geringe Speicher platz. Sicher,
MehrXML in der Oracle Datenbank "relational and beyond"
XML in der Oracle Datenbank "relational and beyond" Ulrike Schwinn (Ulrike.Schwinn@oracle.com) Oracle Deutschland GmbH Oracle XML DB Ein Überblick 1-1 Agenda Warum XML in der Datenbank? Unterschiedliche
MehrPostgreSQL unter Debian Linux
Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...
MehrÜbungsblatt 8- Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)
MehrU8: SQL Datenbank Daniel Baron 1
U8: SQL Datenbank Daniel Baron 1 Allgemein Eine SQL Datenbank ist eine meist serverseitige Software, die Daten speichern und verwalten kann. Dabei werden diese Daten in Tabellen abgelegt und indiziert.
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
Mehr6. Datenintegrität. Integritätsbedingungen
6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können
MehrEine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.
Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen
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
MehrSructred Query Language
Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrSQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:
SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In
Mehr4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)
4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrRelationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
MehrStructuredQueryLanguage(SQL)
StructuredQueryLanguage(SQL) Themen: ErstelenundÄndernvonTabelen AbfragenvonDaten Einfügen,ÄndernundLöschenvonDaten Erstelennutzerde niertersichten(views) 2012Claßen,Kempa,Morcinek 1/23 SQL Historie System
MehrUni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr
Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale
MehrDBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt
DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller
MehrDatenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.
Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License
MehrAdvanced SQL verstehen und einsetzen 10.06.2009. SQL-Implementierungen kennen und bewerten
1/47 PHP-User-Group Stuttgart 10.06.2009 Aktuelle Datenbank-Features verstehen und nutzen SQL-Power aktivieren anstatt Arrays sortieren Valide Daten garantieren und performante DB-Zugriffe sicherstellen
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
MehrOracle 10g Einführung
Kurs Oracle 10g Einführung Teil 7 Einige interessante SQL und PL/SQL Erweiterungen für Administratoren Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 19 Seite
MehrBegleitskript. zum PHP/MySQL. Kurs
Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser
MehrBitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.
MehrObjektrelationale und erweiterbare Datenbanksysteme
Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler
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
MehrDatenbanken und XML Passt das?
IBM Software Group Datenbanken und XML Passt das? Manfred Päßler IBM Software Group Germany manfred.paessler@de.ibm.com 4 Juli 2007, Berlin 2 XML vs. Relational
MehrSQL Tipps und Tricks Part III 08.02.2012
1/40 PHP-User-Group Stuttgart 08.02.2012 Datenbank- und SQL-Performance Erkennen warum eine SQL-Abfrage langsam ist SQL Tipps und Tricks aus der Praxis 2/40 Wer Wer bin bin ich ich? Thomas Wiedmann n+1
MehrSQL: statische Integrität
SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen
Mehr2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.
Übungen und Lösungen 1. Einführung Datenbanken 1) Welche Datenbanktypen kennen Sie? Wodurch sind sie gekennzeichnet? Hierarchische Datenbanken: Zwischen den Datensätzen besteht eine untergeordnete Rangfolge.
MehrTOP 10 Monitoring SQL Befehle
TOP 10 Monitoring SQL Befehle Autor(en): Marco Patzwahl, MuniQSoft GmbH Viel Kunden haben schon mehr als 100 Datenbanken zu betreuen. Da kommt man ohne automatisierte Überwachungsskripte nicht sehr weit.
MehrLINQ. LANGUAGE INTEGREATED QUERY.net 3.5. Bernhard Grojer BernhardG@ppedv.de
LINQ LANGUAGE INTEGREATED QUERY.net 3.5 Bernhard Grojer BernhardG@ppedv.de Agenda Übersicht LINQ Basistechnologien Verschiedene Arten von LINQ LINQ (to Objects) LINQ TO SQL Übersicht LINQ Aggregationen
MehrInformatik Datenbanken SQL-Einführung
Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................
MehrRelationale Datenbanken in der Praxis
Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5
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
MehrSQL-Befehlsliste. Vereinbarung über die Schreibweise
Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile
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
MehrOracle Datenbankprogrammierung mit PL/SQL Grundlagen
Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-
MehrEinteilung von Datenbanken
Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung
MehrUnterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrProgrammieren II. Relationale Datenbanken. Vorlesung 07. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.
Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Datenbanken SQL-Grundlagen JDBC SQL-Constraints 2 / 26 Relationale Datenbanken Ein Datenbanksystem ist ein System zur
MehrFortgeschrittene SQL-Techniken für APEX-Formulare und Reports
Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express rund um Application Express Beratung Projektmanagement
MehrMini-Workshop Relationale Datenbanken und SQL
SFB441 Linguistische Datenstrukturen Mini-Workshop Relationale Datenbanken und SQL Dirk Wiebel 14.07.2003 1.1 Der Begriff Datenbank "Eine Datenbank ist eine Sammlung von nicht-redundanten Daten, die von
MehrSQLdetective - Ein günstiges Tool unter die Lupe genommen
SQLdetective - Ein günstiges Tool unter die Lupe genommen Einleitung Das Standardtool, um auf Oracle zuzugreifen ist SQL*Plus. SQL*Plus hat zwar den Vorteil, dass es auf allen Systemen läuft, auf denen
Mehr5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten
5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL
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
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!
MehrDatenbanksysteme Kapitel: SQL Data Definition Language
Datenbanksysteme Kapitel: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof.
MehrÜbung 1: Ein Website News-System mit MySQL
Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in
Mehr3 Indizes. 3.1 Indexarchitektur von SQL Server. SQL Server 2008: Datenbankentwicklung
3 Indizes 3.1 Indexarchitektur von SQL Server Die folgende Abbildung zeigt die Organisationsstruktur einer Tabelle. Eine Tabelle befindet sich in einer oder mehreren Partitionen, und jede Partition enthält
Mehr1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme
Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die
MehrIT-Symposium 2008 05.06.2008
Selftuning Database Ein Traum oder Wirklichkeit Ralf Durben Oracle Deutschland GmbH www.hp-user-society.de 1 Die Arbeitswelt des Gestern, heute und morgen Früher Ein für wenige Datenbanken
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrNeugestaltung der Datenbank des Chemnitzer Studentennetzes
12.12.2012 Neugestaltung der Datenbank des Chemnitzer Studentennetzes Verteidigung Bachelorarbeit Morris Jobke Prüfer: Dr. Frank Seifert Betreuer: Dipl.-Inf. Johannes Fliege Neugestaltung der Datenbank
MehrObjektorientierte PL/SQL- Programmierung
Objektorientierte PL/SQL- Programmierung Autoren: Andriy Terletskyy und Michael Meyer DOAGNews Q3_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung,
MehrNeed for Speed: Indexierung unter MySQL
Need for Speed: Indexierung unter MySQL CeBIT 2014, 11. März, Hannover Oli Sennhauser Senior MySQL Berater bei FromDual GmbH oli.sennhauser@fromdual.com 1 / 30 Über FromDual GmbH FromDual bietet neutral
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrGrundkonzepte von SQL
Internet Praktikum im Grundstudium: Grundlagen von SQL Nutzung von phpmyadmin Dr. Guido Rößling Dipl.-Ing. Andreas Hartl Grundkonzepte von SQL Relationale Datenbanken basieren auf Tabellen Objektorientierte
MehrDatenintegrität. Bisherige Integritätsbedingungen
Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge
Mehr