Tag 7 Inhaltsverzeichnis

Größe: px
Ab Seite anzeigen:

Download "Tag 7 Inhaltsverzeichnis"

Transkript

1 Tag 7 Inhaltsverzeichnis Das DB-Testdaten Problem Verschiedene Werkzeuge Überblick über "benerator" Testdaten für DB GMCD2 generieren Installation und Übungen mit "benerator" SQL-Optimierungen Was macht der Optimizer? Problematik der Datenzugriff mit SQL Anwendungsfall GMCD2 und MySQL Übungen RDB 7-1

2 DB-Testdaten Das Problem Daten frisch erstellen produktive Daten anonymisieren Beispiele: - gmcd - EqualS -... RDB 7-2

3 DB-Testdaten Werkzeuge SQL-Scripte von Hand entwickeln Perl-Script / Java-Program selber entwickeln Datengenerator verwenden Zum Beispiel: benerator TurboData Jailer... Quelle: RDB 7-3

4 DB-Testdaten Das benerator Werkzeug Quelle: RDB 7-4

5 DB-Testdaten Wie funktioniert benerator? Quelle: RDB 7-5

6 DB-Testdaten benerator Komponenten Quelle: RDB 7-6

7 DB-Testdaten benerator Beispiel für GMCD2 (1) <?xml version="1.0" encoding="iso "?> <setup xmlns="http://databene.org/benerator/0.7.8" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xsi:schemalocation="http://databene.org/benerator/ Inhalt der Datei "gmcd2.benerator.xml" <comment> Subject: MySQL Benerator Populator for DB GMCD2 Author : Gilles Maitre, 2012 Links : </comment> RDB 7-7

8 DB-Testdaten benerator Beispiel für GMCD2 (2) Inhalt der Datei "gmcd2.benerator.xml"... <import defaults="true" domains="person,net,product,address,organization" platforms="db" /> <comment>setting default values</comment> <setting name="dbcatalog" value="" /> <setting name="dbschema" value="" /> <setting name="dbbatch" value="false" />... RDB 7-8

9 DB-Testdaten benerator Beispiel für GMCD2 (3) Inhalt der Datei "gmcd2.benerator.xml" <comment>import database properties' file</comment> <include uri="gmcd2.benerator.properties" /> Inhalt der Datei "gmcd2.benerator.properties" dbtype=mysql dburl=jdbc:mysql://localhost/gmcd2 dbdriver=com.mysql.jdbc.driver dbschema=gmcd2 dbcatalog=gmcd2 dbuser=gmaitre dbpassword=gilles nbrofmusikerperlandandsex=25 nbrofstueck=20 nbrofcd=10 RDB 7-9

10 DB-Testdaten benerator Beispiel für GMCD2 (4) Inhalt der Datei "gmcd2.benerator.xml" <comment>define a database, later referred by the id 'db'</comment> <database id="db" url="{dburl}" driver="{dbdriver}" catalog="{dbcatalog}" user="{dbuser}" password="{dbpassword}" batch="{dbbatch}" /> <comment>drop current tables if they exist and recreate them</comment> <execute uri="{ftl:drop${dbtype}tables.sql}" target="db" onerror="ignore" /> <execute uri="{ftl:create${dbtype}tables.sql}" target="db" /> Inhalt der Datei "dropmysqltables.sql" drop table tbl_musikerinstrument; drop table tbl_stueckmusiker; drop table tbl_cdstueck; drop table tbl_cd; drop table tbl_instrument; drop table tbl_musiker; drop table tbl_stueck; commit; RDB 7-10

11 DB-Testdaten benerator Beispiel für GMCD2 (5) Inhalt der Datei "gmcd2.benerator.xml" <comment>importing Instruments from CSV file called "Instrument.csv"</comment> <iterate source="instrument.csv" type="tbl_instrument" encoding="utf-8" consumer="db" /> Inhalt der Datei "Instrument.csv" ID,Typ,Name 1,Saiteninstrument,Gitarre 2,Saiteninstrument,Bass... Inhalt der DB mysql> select * from tbl_instrument; ID Typ Name Saiteninstrument Gitarre 2 Saiteninstrument Bass... RDB 7-11

12 DB-Testdaten benerator Beispiel für GMCD2 (6) Inhalt der Datei "gmcd2.benerator.xml" <comment>generate Musiker of different countries / MALE and FEMALE</comment> <comment>first, define a primary key generator for Musiker starting at 1000</comment> <bean id="idgenmusiker" spec="new IncrementGenerator(1000)" /> <comment>generate Brasilian MALE Musiker</comment> <generate type="tbl_musiker" count="{nbrofmusikerperlandandsex}" consumer="db"> <id name="id" generator="idgenmusiker" /> <attribute name="vorname" generator="new GivenNameGenerator('BR', Gender.MALE)" /> <attribute name="name" generator="new FamilyNameGenerator('BR')" /> </generate> Inhalt der DB mysql> select * from tbl_musiker; ID Vorname Name Danilo Ribeiro 1001 Bruno Oliveira 1002 Mateus Pinto RDB 7-12

13 DB-Testdaten benerator Beispiel für GMCD2 (7) Inhalt der Datei "gmcd2.benerator.xml" <iterate type="tbl_musiker" name="musiker" source="db"> <generate type="tbl_musikerinstrument" mincount="1" maxcount="3" consumer="db"> <!-- An Hand der Liste Musikers, vergebe jedem 1 bis 3 Instrumente --> <attribute name="musikerid" type="long" script="{musiker.id}"/> <reference name="instrumentid" source="db" distribution="random" unique="true"/> </generate> </iterate> Inhalt der DB, Instrumenteverteilung: mysql> select Name, count(*) from tbl_musikerinstrument mi, tbl_instrument i where mi.instrumentid=i.id group by InstrumentID; Name count(*) Gitarre 9 Bass 22 Gesang 14 Schlagzeug RDB 7-13

14 DB-Testdaten benerator Beispiel für GMCD2 (8) Inhalt der Datei "gmcd2.benerator.xml" <comment>generate Stueck</comment> <generate type="tbl_stueck" count="{nbrofstueck}" consumer="db"> <attribute name="aufnahmedatum" generator="new DateGenerator(' ', ' ', 1)" /> <attribute name="dauer" min="10" max="1000" distribution="new GaussianFunction(240, 120)"/> </generate> Inhalt der DB, "Dauer" Verteilung: mysql> select min(dauer), max(dauer), avg(dauer) from tbl_stueck; min(dauer) max(dauer) avg(dauer) RDB 7-14

15 DB-Testdaten benerator Installation und Test mit GMCD2 Software herunterladen ab und ins <Ihr benerator Installationsverzeichnis> dekomprimieren. Datei in ein Arbeitsverzeichnis dekomprimieren. In der Datei "gmcd2.benerator.properties", Benutzername und Passwort anpassen. Mit einem mysql-interpreter oder MySQL Workbench, als "root": create database GMCD2; grant all privileges on GMCD2.* to identified by "<your password>"; In einem DOS-Fenster (Achtung: auf Linux sieht es anders aus): cd <Ihr Arbeitsverzeichnis> set BENERATOR_HOME=<benerator Installationsverzeichnis> set Path=%BENERATOR_HOME%\bin;%Path% set BENERATOR_OPTS=-Dstage=development -Ddatabase=mysql Alles auf einer Zeile folgenden Befehl in einem DOS-Fenster ausführen: java -classpath.;%benerator_home%/bin/;%benerator_home%/lib; %BENERATOR_HOME%/lib/* org.databene.benerator.main.benerator./gmcd2.benerator.xml Schauen Sie den Inhalt der GMCD2 DB an und testen Sie die SQL-Befehle aus der Datei "gmcd2.benerator.xml" (in Bezug auf Datenverteilung). RDB 7-15

16 SQL-Optimierungen Problematik RDB Tag 6: Performance auf Betriebssystem-, DB-Index- und Applikationsebene Jetzt: Fokus auf SQL Problem 1: SQL sagt "was" aber nicht "wie"... Problem 2: RDB-spezifisch => MySQL!= Oracle RDB 7-16

17 SQL-Optimierungen Datentypen Wenn möglich, NOT NULL-Felder definieren (NULL sind schwerer zu optimieren, indexieren) MySQL-Breite für Integer-Typen (INT(1) gleich performant wie INT(20)) Für interaktive Werkzeuge (z.b. MySQL Command-Interpreter) DECIMAL: mehr Speicher und langsamer als FLOAT und DOUBLE CHAR: gut für kleine Strings VARCHAR: "richtig dimensionieren", wegen Sortieren DATETIME vs. TIMESTAMP... nicht gleichen Anwendungszweck (DATETIME braucht mehr Speicher, weniger begrenzt, siehe RDB Tag 3) Achtung: Automatisch-generierte Schemata (z.b. ORM) überprüfen Quelle: High Performance MySQL, Kapitel 3 RDB 7-17

18 Probleme SQL-Optimierungen Index- und Datenfragmentierung Tabellen können beschädigt sein (wegen Crash) B-Bäume Indexe können fragmentiert sein InnoDB Index-Benutzung basiert auf Statistiken (diese sind vielleicht nicht mehr aktuell) ==> Tabellen und Indexes (Cardinality) prüfen Befehle: analyse table <table> show index from <table> optimize table <table> oder alter table <table> engine=innodb Quelle: High Performance MySQL, Seite 148 RDB 7-18

19 SQL-Optimierungen MySQL Abfragebearbeitung Quelle: High Performance MySQL, Seite 172 RDB 7-19

20 SQL-Optimierungen MySQL Client/Server Protokoll Halb-Duplex Protokoll == Entweder Client sendet dem Server etwas, oder das Gegenteil <=> Keine Kommunikation "gleichzeitig" zwischen Client und Server ==> Keine Möglichkeit, eine Abfrage abzubrechen... Man muss warten bis alle Daten fertig übertragen werden! Quelle: High Performance MySQL, Seite 173 RDB 7-20

21 SQL-Optimierungen MySQL Abfrage Cache Hash-Tabelle (Abfrage / Resultatsdaten) (Case-sensitive) Abfrage select * from Resultatsdaten select ID, XY from Nicht determinische Abfragen werden nicht gespeichert (Abfragen mit now() oder current_user()) Problem mit Transaktionen: Cache-Lookup erst möglich wenn die Transaktion abgeschlossen ist SET SESSION query_cache_type = OFF; => Disables CACHE... (Default: ON) Parametrisierung: mit Variablen in my.cnf (my.conf/ini): query_cache_limit = 1M // Max. Grösse des Resultatspuffers query_cache_size = 16M // Gesamte Cache-Grösse select ohne Cache-Anwendung ausführen (Demo): select SQL_NO_CACHE count(*) from tbl_musiker; show status like "last_query_cost"; // Effekt... Einheit: x*4kb-seiten lesen RDB 7-21 Quelle: High Performance MySQL, Kapitel 5

22 SQL-Optimierungen Oracle / MySQL Abfrage Optimierer Oracle 10g zwei Optimierer (alt und neu): Rule Based Optimizer (RBO): Regel-basiert (alt) <=> Basiert auf fixen Eigenschaften von Tabellen (Index, Datentypen) unabhängig von der Entwicklung der Daten Cost Based Optimizer (CBO): Kosten-basiert (neu) <=> Basiert auf Tabellen-Statistiken (periodisch aktualisiert) abhängig von der Entwicklung der Daten MySQL Optimierer ist "Kosten-basiert" => Statistik müssen stimmen (siehe Slide Fragmentierung) MySQL Optimierer unabhängig vom Engine (siehe Slide Abfragebearbeitung) Quelle: SQL Tuning, Seite 86 RDB 7-22

23 SQL-Optimierungen MySQL Nested-Loop-Join's Alle JOIN's im MySQL als Nested-Loop-Join's betrachtet select... from A a join B b using(id); foreach a in A { foreach b in B { if a.id == b.id => getroffen... } } Es gibt aber andere Möglichkeiten zu "joinen" Quelle: RDB 7-23

24 SQL-Optimierungen MySQL Ausführungspläne vergleichen (1) Beispiel: Wie viele Musiker in GMCD2 spielen Gitarre? SELECT count(*) FROM tbl_musiker m, tbl_musikerinstrument mi, tbl_instrument i WHERE i.name = 'Gitarre' AND i.id = mi.instrumentid AND m.id = mi.musikerid; Antwort: 19 Last_query_cost: RDB 7-24

25 SQL-Optimierungen MySQL Ausführungspläne vergleichen (2) Gleiches Beispiel wie vorher: SELECT count(*) FROM tbl_musiker m, tbl_musikerinstrument mi, tbl_instrument i WHERE i.name = 'Gitarre' AND i.id = mi.instrumentid AND m.id = mi.musikerid; Antwort: 19 Last_query_cost: Wieso? RDB 7-25

26 SQL-Optimierungen MySQL Ausführungspläne vergleichen (3) Wir probieren noch einmal, aber ohne Cache diesmal: SELECT SQL_NO_CACHE count(*) FROM tbl_musiker m, tbl_musikerinstrument mi, tbl_instrument i WHERE i.name = 'Gitarre' AND i.id = mi.instrumentid AND m.id = mi.musikerid; Antwort: 19 Last_query_cost: RDB 7-26

27 SQL-Optimierungen MySQL Ausführungspläne vergleichen (4) Wie wird überhaupt die Abfrage ausgeführt? EXPLAIN EXTENDED SELECT count(*) FROM tbl_musiker m, tbl_musikerinstrument mi, tbl_instrument i WHERE i.name = 'Gitarre' AND i.id = mi.instrumentid AND m.id = mi.musikerid; table type key ref rows Extra i ALL NULL NULL 14 Using where mi ref FK_InstrumentID GMCD2.i.ID 7 Using index m eq_ref PRIMARY GMCD2.mi.MusikerID 1 Using index (Abgekürzte Darstellung) RDB 7-27

28 SQL-Optimierungen MySQL Ausführungspläne vergleichen (5) Wie wird überhaupt die Abfrage ausgeführt? Darstellung mit mk-visual-explain (von unten an lesen) JOIN +- Unique index lookup key m->primary possible_keys PRIMARY key_len 4 ref GMCD2.mi.MusikerID rows 1 +- JOIN +- Index lookup key mi->fk_instrumentid possible_keys PRIMARY,FK_InstrumentID,FK_MusikerID key_len 4 ref GMCD2.i.ID rows 7 +- Filter with WHERE +- Table scan rows Table table i possible_keys PRIMARY Quelle: RDB 7-28

29 SQL-Optimierungen MySQL Ausführungspläne vergleichen (6) Wir ändern die Reihenfolge der Elemente in der Abfrage EXPLAIN EXTENDED SELECT count(*) FROM tbl_musiker m, tbl_musikerinstrument mi, tbl_instrument i WHERE m.id = mi.musikerid AND i.id = mi.instrumentid AND i.name = 'Gitarre'; table type key ref rows Extra i ALL NULL NULL 14 Using where mi ref FK_InstrumentID GMCD2.i.ID 7 Using index m eq_ref PRIMARY GMCD2.mi.MusikerID 1 Using index (Abgekürzte Darstellung) Überhaupt keine Änderung im Plan... Wieso? RDB 7-29

30 SQL-Optimierungen MySQL Ausführungspläne vergleichen (7) Wir ändern die Reihenfolge der Elemente in der Abfrage und schalten den JOIN-Optimierer aus... EXPLAIN EXTENDED SELECT STRAIGHT_JOIN count(*) FROM tbl_musiker m, tbl_musikerinstrument mi, tbl_instrument i WHERE m.id = mi.musikerid AND i.id = mi.instrumentid AND i.name = 'Gitarre'; ERROR 1064 (42000): You have an error in your SQL syntax Wieso? RDB 7-30

31 SQL-Optimierungen MySQL Ausführungspläne vergleichen (8) Wir ändern die Reihenfolge der Elemente in der Abfrage, schalten den Optimierer aus und schreiben einen richtigen JOIN EXPLAIN EXTENDED SELECT STRAIGHT_JOIN count(*) FROM tbl_musiker m INNER JOIN tbl_musikerinstrument mi ON m.id = mi.musikerid INNER JOIN tbl_instrument i ON i.id = mi.instrumentid WHERE i.name = 'Gitarre'; Neue Abfrage table type key ref rows Extra i ALL NULL NULL 14 Using where mi ref FK_InstrumentID GMCD2.i.ID 7 Using index m eq_ref PRIMARY GMCD2.mi.MusikerID 1 Using index table type key ref rows Extra m index PRIMARY NULL 100 Using index mi ref PRIMARY GMCD2.m.ID 1 Using index i eq_ref PRIMARY GMCD2.mi.InstrumentID 1 Using where RDB 7-31

32 SQL-Optimierungen MySQL Ausführungspläne vergleichen (9) Wir ändern die Reihenfolge der Elemente in der Abfrage, schalten den Optimierer aus, schreiben einen richtigen JOIN und schalten den Cache aus und führen die Abfrage aus: SELECT STRAIGHT_JOIN SQL_NO_CACHE count(*) FROM tbl_musiker m INNER JOIN tbl_musikerinstrument mi ON m.id = mi.musikerid INNER JOIN tbl_instrument i ON i.id = mi.instrumentid WHERE i.name = 'Gitarre'; show status like "last_query_cost"; Faktor Variable_name Value Last_query_cost Variable_name Value Last_query_cost alte Abfrage neue (absichtlich) nicht optimierte Abfrage RDB 7-32

33 Übungen 1) Bringen Sie das Benerator-Beispiel auf Seite 15 zum Laufen 2) Probieren Sie diese SQL-Optimierungsbeispiele zu reproduzieren und vor allem sie zu verstehen. Parameter, die eine Rolle spielen: 1) Cache ein/aus 2) SQL JOIN oder nicht 3) JOIN-Reihenfolge forciert oder nicht "EXPLAIN EXTENDED SELECT" und "last_query_cost" ausprobieren 3) Probieren Sie den Ausführungsplan eine Abfrage aus Ihrer eigenen Fantasie/Erfahrung abzubilden, zu verstehen und am Schluss von Hand zu optimieren. RDB 7-33

Einstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!

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

Mehr

5.8 Bibliotheken für PostgreSQL

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

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

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

Mehr

SQL und MySQL. Kristian Köhntopp

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

Mehr

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe MySQL 4, 5 Kapitel 06: Datenbanken Gliederung 1 Datenbanken erstellen 2 3 Datenbanken erstellen CREATE DATABASE erstellt. Optional kann der Parameter IF NOT EXISTS die Datenbank bereits existiert.

Mehr

MySQL Performance Tuning für Entwickler

MySQL Performance Tuning für Entwickler MySQL Performance Tuning für Entwickler Cebit 2015, Hannover Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 18 FromDual GmbH Support Beratung remote-dba Schulung

Mehr

Tag 2 Inhaltsverzeichnis

Tag 2 Inhaltsverzeichnis Tag 2 Inhaltsverzeichnis Relationales Modell Relation und Schema Umsetzung ER-Modell --> relationales Schema DB Schema: Empfehlungen Typen von Abfragesprachen SQL Teil 1 Ziel und Geschichte Daten- und

Mehr

Tag 2 Inhaltsverzeichnis

Tag 2 Inhaltsverzeichnis Tag 2 Inhaltsverzeichnis Relationales Modell Relation und Schema Umsetzung ER-Modell --> relationales Schema DB Schema: Empfehlungen Typen von Abfragesprachen SQL Teil 1 Ziel und Geschichte Daten- und

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

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

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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

Mehr

Datenbanken für Online Untersuchungen

Datenbanken 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

Mehr

Need for Speed: Indexierung unter MySQL

Need 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

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

MySQL 5.1. Kristian Köhntopp

MySQL 5.1. Kristian Köhntopp MySQL 5.1 Kristian Köhntopp Was ist neu? Neues InnoDB Neue Replikation Neues Logging Event Scheduler Partitions INFORMATION_SCHEMA XML Functions Was ist neu? Neues InnoDB Neue Replikation Neues Logging

Mehr

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5. Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.1 im Internet: www.datenbanken-programmierung.de... 3.0 SQL nach

Mehr

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java 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

Mehr

SQL Tipps und Tricks Part II 08.12.2010

SQL Tipps und Tricks Part II 08.12.2010 1/40 PHP-User-Group Stuttgart 08.12.2010 SQL JOIN Techniken richtig einsetzen Einfluß von Datentypen auf die Abfragegeschwindigkeit Performanceanalyse mit MySQL EXPLAIN (ein Einstieg) SQL Tipps und Tricks

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 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

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

Installation MySQL Replikationsserver 5.6.12

Installation 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

Mehr

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

SET 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

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

PostgreSQL unter Debian Linux

PostgreSQL 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

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1 1 Installationsanleitung für die netzbasierte Variante Bis Version 3.5 Copyright KnoWau Software 2013 KnoWau, Allgemeine Bedienhinweise Seite 1 2 Seite absichtlich leer KnoWau, Allgemeine Bedienhinweise

Mehr

SQL Tipps und Tricks Part III 08.02.2012

SQL 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

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

MySQL Replikation Neue Features in 5.5 und 5.6

MySQL Replikation Neue Features in 5.5 und 5.6 MySQL Replikation Neue Features in 5.5 und 5.6 DOAG SIG-MySQL 2013, München Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 25 Über FromDual GmbH FromDual bietet neutral

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

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

Mehr

MySQL New Features 5.6

MySQL New Features 5.6 MySQL New Features 5.6 DOAG Konferenz 2012, Nürnberg Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 20 Über FromDual GmbH FromDual bietet neutral und unabhängig:

Mehr

MySQL Performance Tuning für Entwickler

MySQL Performance Tuning für Entwickler MySQL Performance Tuning für Entwickler Linux-Tage 2015, Chemnitz Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 29 FromDual GmbH Support Beratung remote-dba Schulung

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Datenbanksysteme Anfang von Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme Anfang von Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2011 Anfang von Kapitel 7: SQL Vorlesung vom 16.05.2011 Oliver Vornberger Institut für Informatik Universität Osnabrück SQL 1970 Edgar Codd: A relational model for large shared data banks

Mehr

SQL structured query language

SQL 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

Mehr

MySQL: Einfaches Rechnen. www.informatikzentrale.de

MySQL: Einfaches Rechnen. www.informatikzentrale.de MySQL: Einfaches Rechnen Vorweg: Der Merksatz Warum geht Herbert oft laufen? Vorweg: Der Merksatz Warum geht Herbert oft laufen?...... WHERE... GROUP BY... HAVING... ORDER BY... LIMIT Beispieldatenbank

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Grundkonzepte von SQL

Grundkonzepte 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

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

SQL Optimizer und SQL Performance

SQL Optimizer und SQL Performance SQL Optimizer und SQL Performance Schlüsselworte SQL, Optimizer, Explain Plan, SQL Trace Marco Mischke Robotron Datenbank Software GmbH Dresden Einleitung Dieser Vortrag beschäftigt sich mit grundlegenden

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

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

Mehr

Indexing und Performance Tuning

Indexing und Performance Tuning Indexing und Performance Tuning Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig PostgreSQL Indexing - Jeder hat schon einmal ein Telefonbuch Benutzt - Jeder hat schon einmal Suchen durchgeführt CREATE

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird:

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: ALTER TABLE BEFEHLE Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: Fügt die Spalte Adresse zur Tabelle Kunden hinzu: ALTER TABLE Kunden ADD COLUMN

Mehr

Prüfungsnummer: 70-461-deutsch. Prüfungsname: Querying. Version: Demo. SQL Server 2012. http://zertifizierung-portal.de/

Prüfungsnummer: 70-461-deutsch. Prüfungsname: Querying. Version: Demo. SQL Server 2012. http://zertifizierung-portal.de/ Prüfungsnummer: 70-461-deutsch Prüfungsname: Querying Microsoft SQL Server 2012 Version: Demo http://zertifizierung-portal.de/ 1.Sie sind als Datenbankadministrator für das Unternehmen it-pruefungen tätig.

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über

Mehr

Cassandra Query Language (CQL)

Cassandra 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

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

Mehr

Eine Einführung in MySQL

Eine Einführung in MySQL LUG Peine Eine Einführung in MySQL Mario Herold LINUX USER GROUP PEINE WWW.LUG- PEINE.ORG This work is licen sed u nd er the Creative Com m on s Attrib ution- - Sh arealike 2.0 Licen se. To view a cop

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction 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

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

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

Mehr

Oracle 10g Einführung

Oracle 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

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL 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

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

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

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views 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

Mehr

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation

JOB SCHEDULER. Managed User Jobs. Dokumentation Juli 2005. MySQL-Job-Automation MySQL-Job-Automation Managed User Jobs JOB SCHEDULER Dokumentation Juli 2005 Software- und Organisations-Service GmbH Giesebrechtstr. 15 D-10629 Berlin Telefon (030) 86 47 90-0 Telefax (030) 861 33 35

Mehr

Performance Tuning mit @enterprise

Performance Tuning mit @enterprise @enterprise Kunden-Forum 2005 Performance Tuning mit @enterprise Herbert Groiss Groiss Informatics GmbH, 2005 Inhalt Datenbank RMI JAVA API HTTP Konfiguration Analyse Groiss Informatics GmbH, 2005 2 Datenbank

Mehr

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück Datenbanksysteme 2013 Kapitel 7: SQL Vorlesung vom 6.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL 1970 Edgar Codd: A relational model for large shared

Mehr

NoSQL mit Postgres 15. Juni 2015

NoSQL 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

Mehr

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt

select DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt Some SQL Queries % you can use them with the project Buch/Verlag select Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf select DISTINCT Name, ort From Verkauf; selektiert Name und Ort

Mehr

SQL-Optimizer und Optimierung bei DB2

SQL-Optimizer und Optimierung bei DB2 SQL-Optimizer und Optimierung bei DB2 S.K. Consulting GmbH, München DB2_SQL_PERF - 1 - Inhaltsverzeichnis 1. Optimierung bei DB2 1.1 Einflussfaktoren auf die Entscheidung des Optimizers 1.2 Übersicht über

Mehr

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

Mehr

IT-Symposium 2008 05.06.2008

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

Mehr

MySQL: Einfache Aggrega3unk6onen. (= Funk6onen, die etwas zusammenfassen)

MySQL: Einfache Aggrega3unk6onen. (= Funk6onen, die etwas zusammenfassen) MySQL: Einfache Aggrega3unk6onen (= Funk6onen, die etwas zusammenfassen) Beispieldatenbank "Kunden" kunden (kunde_id, name, ñorte_postleitzahl, kontostand_giro, kredit) orte (postleitzahl, name, einwohnerzahl,

Mehr

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5)

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) Hinweise: Diese Installation bezieht sich auf die Version 7.5.0.5, bei Nachfolgern kann sich einiges ändern Herunter geladen

Mehr

DB2 SQL, der Systemkatalog & Aktive Datenbanken

DB2 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

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

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

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

Mehr

PostgreSQL in großen Installationen

PostgreSQL in großen Installationen PostgreSQL in großen Installationen Cybertec Schönig & Schönig GmbH Hans-Jürgen Schönig Wieso PostgreSQL? - Die fortschrittlichste Open Source Database - Lizenzpolitik: wirkliche Freiheit - Stabilität,

Mehr

Einführung in die Informatik II

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

Mehr

Gregor Raschke 2008 HIBERNATE. Eine Einführung

Gregor Raschke 2008 HIBERNATE. Eine Einführung 1 HIBERNATE Eine Einführung Inhalt 2 Einleitung Beispielkonfiguration Die hibernate.cfg.xml Eine Beispieltransaktion Abfragemöglichkeiten JPA und Hibernate Ressourcen und Quellen Einleitung (1) - Geschichtliches

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

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

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

Mehr

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt

PHP Schulung Beginner. Newthinking Store GmbH Manuel Blechschmidt PHP Schulung Beginner Newthinking Store GmbH Manuel Blechschmidt Begrüßung Es gibt keine dummen Fragen nur dumme Antworten. Übersicht Sprung ins Kalte Wasser 'Hallo Welt' Theorie Requests Grundlagen Kommentare

Mehr

IV. Datenbankmanagement

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

Mehr

Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen)

Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen) Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen) Auch in früheren Versionen als der 11.2, konnte man eine Standby Datenbank abhängen, sie

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Informatik Datenbanken SQL-Einführung

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

Mehr

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 12 Materialized Views. Universität Hannover. Praxisbeispiel. Migration.

Oracle 9i Einführung. Performance Tuning. Kurs. Teil 12 Materialized Views. Universität Hannover. Praxisbeispiel. Migration. Kurs Oracle 9i Einführung Performance Tuning Teil 12 Materialized Views Timo Meyer Wintersemester 2005 / 2006 Seite 1 von 9 Seite 1 von 9 Agenda 1. Einführung Materialized Views 2. 3. Materialized View

Mehr

Explain verstehen. Hans-Jürgen Schönig.

Explain verstehen. Hans-Jürgen Schönig. Explain verstehen Zielsetzung EXPLAIN... Was versucht uns PostgreSQL zu sagen? Wie kann diese Information genutzt werden? Wie erkenne ich Probleme? Abfragen in PostgreSQL Mehrstufige Ausführung Parser:

Mehr

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

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

Mehr

Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap

Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap Tuning von PostGIS mit Read- Only-Daten von OpenStreetMap Prof. Stefan Keller (Fach-)Hochschule für Technik Rapperswil (bei Zürich) 11.11.2011 PGConf.DE - Stefan Keller 1 Was ist OpenStreetMap? Wikipedia

Mehr

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

Mehr

Web Technologien Klassische Datenbanken am Beispiel von MySQL

Web 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

Mehr

Xampp Administration und Grundlagen. Stefan Maihack Dipl. Ing. (FH) Datum: 10.04.2015

Xampp Administration und Grundlagen. Stefan Maihack Dipl. Ing. (FH) Datum: 10.04.2015 Xampp Administration und Grundlagen Stefan Maihack Dipl. Ing. (FH) Datum: 10.04.2015 1 Die wichtigsten Befehle zur Administration Betriebssystem-Befehle cmd dir cd cd \ cd cd \

Mehr

Datenbanken 15 MySQL Tuning Karl Meier karl.meier@kasec.ch 14.12.2010 Inhalt MySQL Architektur Index Query Performance 14.12.2010 15 MySQL Tuning 2 1

Datenbanken 15 MySQL Tuning Karl Meier karl.meier@kasec.ch 14.12.2010 Inhalt MySQL Architektur Index Query Performance 14.12.2010 15 MySQL Tuning 2 1 Datenbanken 15 MySQL Tuning Karl Meier karl.meier@kasec.ch 14.12.2010 MySQL Architektur Inhalt Index Query Performance 2 1 Architektur Connection management, security SQL parsing, execution, caching, MyISAM

Mehr

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache)

Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache) Dokumentation für das Web-basierte Abkürzungsverzeichnis (Oracle mod_plsql / Apache) vom 8. August 2005 Seite 1 / 7 1.System-Voraussetzungen Um dieses System zu verwenden, muß Oracles HTTP-Server mit dem

Mehr

6. Datendefinition in SQL

6. Datendefinition in SQL 6. Datendefinition in SQL Datendefinition Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

Synchrone multi-master Replikation für MySQL

Synchrone multi-master Replikation für MySQL Synchrone multi-master Replikation für MySQL DOAG SIG-MySQL 2013, München Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 23 Über FromDual GmbH FromDual bietet neutral

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten

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

Mehr

Datenbankentwicklung mit PureBasic

Datenbankentwicklung mit PureBasic Datenbankentwicklung mit PureBasic Datenbanken stellen heutzutage wichtige Informationsquellen für viele Bereiche der Wirtschaft, Verwaltung aber auch im eigenen Haushalt dar. In Datenbanken werden Daten

Mehr

15 Bilder und Dateien im SQL Server

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

Mehr

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (michael.kluge@tu-dresden.

PHP 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

Mehr