Datenbankoptimierung. Beispiele für die Optimierung an der Ruby-on-Rails-Schnittstelle. Karsten Meier meier-online.com

Größe: px
Ab Seite anzeigen:

Download "Datenbankoptimierung. Beispiele für die Optimierung an der Ruby-on-Rails-Schnittstelle. Karsten Meier meier-online.com"

Transkript

1 Datenbankoptimierung Beispiele für die Optimierung an der Ruby-on-Rails-Schnittstelle Karsten Meier meier-online.com

2 Mein Background 1986: SQL im Studium 1996: QuarkXpress -> HTML Converter : WebObjects, MVC, ORM 2004: Erster Kontakt mit Ruby (Pleac) Seit 2005: Handylearn Projects Seit 2009: Nutzung von Rails 2

3 Fallbeispiel Cycosmos Community Webobjects ORM Enterprise Objects 3 Appserver, 1 DB Server 3

4 Reduktion der Datenbankzugriffe Bessere Antwortzeiten Weniger Datenbanklast 300% höherer Durchsatz Höhere Stabilität

5 Die Schichten einer Anwendung

6 Fette Objekte imo id teu grt call_sign build_year name speech_of_sponsor draft machine imo_certificate company legal_country

7 Schattenobjekte ContainerVessel. select('id, name') order('name') Read-Only Nur angegebene Attribute Exception falls unbekannt ActiveRecord::ReadOnlyRecord ActiveRecord::MissingAttributeError ID wirft keine Exception

8 Rosinen picken Nur eine Spalte Objekt unwichtig pluck(column) ab Rails 3.2 ContainerVessel.pluck(:name) ['Australia', 'Brisbane', 'Busan',...]

9 Darf das Schiff ablegen?

10 Outsourcing Gewicht aller Container Berechnung kann die DB durchführen Rails sieht die einzelnen

11 Verknüpfte Objekte Eine Reederei mit Liste ihrer Schiffe und Flaggenstaaten

12 Ablaufdiagramm

13 order(:name). includes(:legal_country) SELECT "container_vessels".* FROM "container_vessels" WHERE "container_vessels"."company_id" = 2 ORDER BY name SELECT "countries".* FROM "countries" WHERE "countries"."id" IN (8, 7, 4)

14 includes() Jede Abfrage liefert einen Objekttyp Rails behält Kontrolle Schachtelung möglich Feintuning schwierig.includes(:legal_country => :tax_rates).select('country.image????')

15 Was war noch mal ein Join?

16 Inner/Left/Outer/Right

17 Rails order(:name). joins(:legal_country) Keine flaggenlose Schiffe Keine Staaten

18 Filtern mit joins() Filtern anhand von verbundenen Daten Nur Zielobjekte werden geliefert Vorsicht vor = Company.order(:name). joins(:container_vessels). where(["container_vessels.build_year >?", 2009]) SELECT "companies".* FROM "companies" INNER JOIN "container_vessels" ON "container_vessels"."company_id" = "companies"."id" WHERE (container_vessels.build_year > 2009) ORDER BY name

19 Automatischer Join in Associationen class Country < ActiveRecord::Base has_many :registering_companies, :through => :registered_vessels, :source => 'company', :class_name => 'Company', :uniq => SELECT DISTINCT "companies".* FROM "companies" INNER JOIN "container_vessels" ON "companies"."id" = "container_vessels"."company_id" WHERE "container_vessels"."legal_country_id" = 10

20 Join direkt verwenden?

21 Echte Datenbankjoins aus Rails connection = Company.connection columns = "container_vessels.id, container_vessels.name,\ container_vessels.imo, container_vessels.teu, \ countries.name as legal_country_name" sql = 'SELECT ' + columns + ' FROM "container_vessels" \ JOIN "countries" \ ON "countries"."id" = "container_vessels"."legal_country_i WHERE "container_vessels"."company_id" = ' ' ORDER BY = connection.select_all( sql, 'ContainerVessel Overview Load')

22 select_all Rückgabewerte select_all: array of hashes select_rows: array of arrays do data %> <tr> <td><%= data['name'] %></td> <td><%= data['imo'] %></td> <td><%= data['teu'] %></td> <td><%= data['legal_country_name'] %></td>... <% end %>

23 Parameter-Überprüfung SQL-Injection Methoden leider etwas versteckt Ab Rails 3.2: ActiveRecord:: Sanitization Bei IDs: to_i.to_str Company.where( 'name like '%?', input) record.sanitize_sql_array(..) replace_bind_variables() quote_bound_value() connection.quote_string()

24 Schreiben Wenn es Performanceprobleme beim Schreiben gibt, dann sind sie meistens schwerwiegend.

25 IDs ID-Vergabe kann zentraler Flaschenhals sein IDs schon existent?

26 Transaktionen gewährleisten die Konsistenz (ACID) weniger Sperren, schnelleres Schreiben Ab 2 Schreiboperationen -> nutzen!

27 Massenupdates Firma wird verkauft Alle Schiffen bekommen neuen Besitzer UPDATE container_vessels SET company_id = 7 WHERE company_id = 5 connection.update_sql(sql, "Updating vessel...")

28 Verbundene Updates Beispiel Denormalisierung Name des Landes soll auch im Schiffsdatensatz gespeichert werden UPDATE container_vessels, country SET container_vessels.country_name = country.name WHERE container_vessels.legal_country_id = country.id

29 Keine Angst for SQL "Many people treat the relational database like a crazy aunt who's shut up in an attic and whom nobody wants to talk about" Martin Fowler

30 ... end Website von Karsten Meier: meier-online.com

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

Hands-on für UI5-Anwendung auf HANA

Hands-on für UI5-Anwendung auf HANA Hands-on für UI5-Anwendung auf HANA 1. Modell anlegen 1. In Eclipse oder HANA IDE SQL-basierten Calculation View für Customer anlegen und aktivieren: SQL Code: /********* Begin Procedure Script ************/

Mehr

Transaktionen in der Praxis. Dr. Karsten Tolle

Transaktionen in der Praxis. Dr. Karsten Tolle Transaktionen in der Praxis Dr. Karsten Tolle Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch (Exception e) { e.printstacktrace(); } con.setautocommit(false);

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

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

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

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme 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

Mehr

Oracle OLAP 11g: Performance für das Oracle Data Warehouse

Oracle OLAP 11g: Performance für das Oracle Data Warehouse Oracle OLAP 11g: Performance für das Oracle Data Warehouse Marc Bastien Oracle BI Presales Agenda Performanceprobleme in Oracle DWH: gibt s das überhaupt? Mögliche Gründe und Lösungen

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

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

Mehr

Michaela Weiss 01. April 2015. Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL

Michaela Weiss 01. April 2015. Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL Michaela Weiss 01. April 2015 Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL Seite 2 Datenbanken Allgemeines: Datenbank(management)systeme ermöglichen die Speicherung großer Datenmengen Kennzeichen

Mehr

Whitepaper. Produkt: combit Relationship Manager 6. Import von Adressen nach Firmen und Kontakte. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager 6. Import von Adressen nach Firmen und Kontakte. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 6 Import von Adressen nach Firmen und Kontakte Import von Adressen nach Firmen und Kontakte - 2 - Inhalt Ausgangssituation

Mehr

Einführung in Web-Security

Einführung in Web-Security Einführung in Web-Security Alexander»alech«Klink Gulaschprogrammiernacht 2013 Agenda Cross-Site-Scripting (XSS) Authentifizierung und Sessions Cross-Site-Request-Forgery ([XC]SRF) SQL-Injections Autorisierungsprobleme

Mehr

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT

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

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

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

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

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

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

Model Klausel - Der Excel-Killer von Oracle?

Model Klausel - Der Excel-Killer von Oracle? Model Klausel - Der Excel-Killer von Oracle? Andrea Kennel Trivadis AG Glattbrugg, Schweiz Schlüsselworte: Model Klausel, SQL, Data Warehousing, OLAP Zusammenfassung Ein Data Mart kann als ein Würfel mit

Mehr

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012

Isolationsstufen für. Dr. Karsten Tolle Dienstag 31. Januar 2012 Isolationsstufen für Transaktionen / Sicherheit Dr. Karsten Tolle Dienstag 31. Januar 2012 Praxisbeispiel in Java Connection con = null; try { con = DriverManager.getConnection("jdbc:db2:sample"); } catch

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

Hibernate Das Praxisbuch für Entwickler

Hibernate Das Praxisbuch für Entwickler Sebastian Hennebrüder 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Hibernate Das Praxisbuch für Entwickler Galileo

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Ablauf Unit2. Walkthrough

Ablauf Unit2. Walkthrough Ablauf Unit2 Vertiefendes Uebungsprojekt - SQL II Gerhard Wohlgenannt Test Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Gruppeneinteilung + Themenvergabe Vorstellung der Arbeitsumgebung

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

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

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

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

Objektorientierte Datenbanken

Objektorientierte Datenbanken OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz

Mehr

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1

Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen

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

Object Relational Mapping Layer

Object 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

Mehr

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine.

In Tabelle 2.1 sehen Sie das Ergebnis beider Ausführungen auf meiner Maschine. Kapitel 2 Datenverwaltung durch SQL Server Wir wollen das obige Skript zwei Mal laufen lassen, einmal mit und einmal ohne eingeschalteten Schreibcache der Festplatte. Für eine lokale Festplatte können

Mehr

Erstellen einer Datenbank. Datenbankabfragen

Erstellen einer Datenbank. Datenbankabfragen Erstellen einer Datenbank Datenbankabfragen Überblick Die fünf Stationen Semantisches Modell Logisches Modell Prüfung auf Redundanz Abfragen Softwaremäßige Implementierung Zur Erinnerung: Semantisches

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

HaskellDB. Datenbank-Features in Haskell. 15.01.2013 Johannes Reiher

HaskellDB. Datenbank-Features in Haskell. 15.01.2013 Johannes Reiher HaskellDB Datenbank-Features in Haskell Gliederung Was ist HaskellDB? Installation ORM Funktionsweise Vor- und Nachteile Was ist HaskellDB? Datenbank-Interface-Bibliothek Ursprünglich für Hugs entwickelt

Mehr

bersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter

bersicht Datenbanken und Datawarehouses Datenbank Datenbanksysteme Niels Schršter bersicht Niels Schršter EinfŸhrung GROUP BY Roll UpÔs Kreuztabellen Cubes Datenbank Ansammlung von Tabellen, die einen ãausschnitt der WeltÒ fÿr eine Benutzergruppe beschreiben. Sie beschreiben die funktionalen

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

Whitepaper. Produkt: combit Relationship Manager 7, address manager 17. Import von Adressen nach Firmen und Kontakte

Whitepaper. Produkt: combit Relationship Manager 7, address manager 17. Import von Adressen nach Firmen und Kontakte combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 7, address manager 17 Import von Adressen nach Firmen und Kontakte Import von Adressen nach Firmen und Kontakte

Mehr

Erste Schritte, um selber ConfigMgr Reports zu erstellen

Erste Schritte, um selber ConfigMgr Reports zu erstellen Thomas Kurth CONSULTANT/ MCSE Netree AG thomas.kurth@netree.ch netecm.ch/blog @ ThomasKurth_CH Erste Schritte, um selber ConfigMgr Reports zu erstellen Configuration Manager Ziel Jeder soll nach dieser

Mehr

Schulinternes Curriculum im Fach Informatik

Schulinternes Curriculum im Fach Informatik Schulinternes Curriculum im Fach Informatik Unterricht in EF : 1. Geschichte der elektronischen Datenverarbeitung (3 Stunden) 2. Einführung in die Nutzung von Informatiksystemen und in grundlegende Begriffe

Mehr

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten: Lösung Casino 1 Zunächst das Entity-Relationship-Modell: Kundenverzeichnis wird getätigt von Bestellung führt aus enthält Personal n 1 beherrscht Speisekarte Tätigkeiten Abbildung 1: Das ERM Nun zu den

Mehr

Datenmanagement in Android-Apps. 16. Mai 2013

Datenmanagement in Android-Apps. 16. Mai 2013 Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer

Mehr

Foreign Data Wrappers

Foreign Data Wrappers -Angebot Foreign Data Wrappers Postgres ITos GmbH, CH-9642 Ebnat-Kappel Swiss Postgres Conference 26. Juni 2014 Foreign Data Wrapper Postgres -Angebot Foreign Data Wrapper? Transparente Einbindung (art-)fremder

Mehr

Datenbanksysteme 2015

Datenbanksysteme 2015 Datenbanksysteme 2015 Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access Embedded SQL JDBC Application SQLJ

Mehr

Übungsaufgabe Transaktion als Middleware

Übungsaufgabe Transaktion als Middleware Übungsaufgabe Transaktion als Middleware und Java Persistence API Client/Server Abstraktes Komponentenmodell Entscheidende Punkte Erweiterung der Invoke-Methode Context-Verwaltung Transaktionsbehandlung

Mehr

GIS mit Ruby on Rails

GIS mit Ruby on Rails FOSSGIS 2010 Pirmin Kalberer Sourcepole AG, Bad Ragaz www.sourcepole.ch ./configure && make && make install apt-get install postgis XML, SOAP Http, REST CVS git Linux? Linux! RUP Agile Software- Entwicklung

Mehr

Arbeiten mit ACCESS 2013

Arbeiten mit ACCESS 2013 Dipl.-Hdl., Dipl.-Kfm. Werner Geers Arbeiten mit ACCESS 2013 Datenbanken mit Datenmodellierung Tabellen, Abfragen, Formularen und Berichten Beziehungen Makros Datenaustausch SQL Structured Query Language

Mehr

NoSQL-Databases. Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de

NoSQL-Databases. Präsentation für Advanced Seminar Computer Engineering, Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de NoSQL-Databases Präsentation für Advanced Seminar "Computer Engineering", Matthias Hauck, matthias.hauck@stud.uni-heidelberg.de Klassische SQL-Datenbanken Anwendungsgebiet: Geschäftsanwendungen Behördenanwendungen

Mehr

Big Data Management Thema 14: Cassandra

Big Data Management Thema 14: Cassandra Thema 14: Cassandra Jan Kristof Nidzwetzki Thema 14: Cassandra 1 / 25 Übersicht 1 Grundlagen Überblick Geschichte Datenmodel 2 Architektur Der logische Ring Persistenz der Daten Tunable Consistency Read

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

PostgreSQL im praktischen Einsatz. Stefan Schumacher

PostgreSQL im praktischen Einsatz. Stefan Schumacher PostgreSQL im praktischen Einsatz 2. Brandenburger Linux Infotag 2005 Stefan Schumacher , PGP Key http:/// $Header: /home/daten/cvs/postgresql/folien.tex,v 1.11 2005/04/25

Mehr

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

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

Mehr

SQL. Abfragesprache Datenmanipulation - DML

SQL. Abfragesprache Datenmanipulation - DML SQL Abfragesprache Datenmanipulation - DML SQL DML-Operationen DML = Data Manipulation Language Sprache zur Veränderung der Daten Operationen Daten selektieren Daten einfügen Daten ändern Daten löschen

Mehr

Einführung in Ruby on Rails

Einführung in Ruby on Rails Johannes Gilger & Matthias Lederhofer der RWTH Aachen Network Operation Center 21. Juli 2010 Übersicht Ruby Rails Warum man Rails benutzen möchte Konzepte (DRY, MVC, Convention over Configuration) ActiveRecord

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine 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

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

ACCESS SQL ACCESS SQL

ACCESS 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

Mehr

6.9 Java Server Pages

6.9 Java Server Pages DocumentCollection dc = db.ftsearch(abfrage); Document d = dc.getfirstdocument(); while (d!= 0) { String Name = db.gettitle(); out.println(name + ""); d = dc.getnextdocument(); catch (NotesException

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

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken.

SQL. SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Vorlesungsteil SQL Grundlagen - 1 / 8 - SQL SQL = Structured Query Language, ist eine standardisierte Sprache zum Gebrauch im Zusammenhang mit Datenbanken. Auf einem Server (Rechner im Netz, der Dienste

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

Shopware 4.1 Kategorien

Shopware 4.1 Kategorien Shopware 4.1 Kategorien Erstellt für: Stefan Hamann Erstellt von: Oliver Denter 28. Mai 2013 Shopware AG Eggeroderstrasse 6 48624 Schöppingen Neue Kategorie Struktur Mit der Shopware 4.1 existieren nun

Mehr

creditpass Bonitätsprüfung für xt:commerce 3.0.4 SP2

creditpass Bonitätsprüfung für xt:commerce 3.0.4 SP2 creditpass Bonitätsprüfung für xt:commerce 3.0.4 SP2 1 Systemvoraussetzungen Für den Einsatz des creditpass Modules gelten folgende Voraussetzungen xt:commerce Shop Version 3.0.4 SP2.1 PHP5 (Unter PHP4

Mehr

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Protokoll 1: Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Abschnitt 2.1 (Ausführungen zum Shutdown / Startup)

Mehr

Organisatorisches. Unit1: Intro and Basics. Bewertung. About Me.. Datenorientierte Systemanalyse. Gerhard Wohlgenannt

Organisatorisches. Unit1: Intro and Basics. Bewertung. About Me.. Datenorientierte Systemanalyse. Gerhard Wohlgenannt Organisatorisches Datenorientierte Systemanalyse Unit1: Intro and Basics Gerhard Wohlgenannt Inhalt: Datenorientierte Systemanalyse Umfang: 5 units XX.10.2013 XX.11.2013 09:00-13:30 Uhr Room XXX Infos,

Mehr

Oracle: Abstrakte Datentypen:

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

Mehr

ORM & 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 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:

Mehr

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Wirtschaftsinformatik 2. Tutorium im WS 11/12 Wirtschaftsinformatik 2. Tutorium im WS 11/12 Entity/Relationship-Modell SQL Statements Tutorium Wirtschaftsinformatik WS 11/12 2.1 Datenmodellierung mit ERM (1) Datenmodellierung zur Erarbeitung des konzeptionellen

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

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen

Mehr

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)

Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)

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

ActiveRecord-Iterator

ActiveRecord-Iterator ActiveRecord-Iterator Batch-Verarbeitung mit ActiveRecord Andreas Gungl OTTO Software Partner GmbH 1 OTTO Software Partner Mainframe (ASM / Cobol) C / C++ Java SE und Java EE Seit 2005 Ruby und Rails Call

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

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

Mehr

Inheritance Strategien mit dem Entity Framework

Inheritance Strategien mit dem Entity Framework Building & Connecting Know-how 16.-17. Februar 2011, München Inheritance Strategien mit dem Entity Framework TPT, TPC, TPH mit DB First, Model First und Code First 1.0 Partner: Veranstalter: Über René

Mehr

Einführung in PHP und MySQL

Einführung in PHP und MySQL Zentral Informatik, IT Fort und Weiterbildungen Einführung in PHP und MySQL Handouts zu den Folien Autoren: Diverse Mitarbeiter der Zentralen Informatik Letzte Überarbeitung: Daniel Förderer Version 2015,2

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

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

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme

DBSP. Vorlesung. Prof. Dr. rer. nat. Nane Kratzke. Unit. Praktische Informatik und betriebliche Informationssysteme Handout zur Vorlesung Vorlesung DBSP Unit Datenbanken SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: kratzke@fh-luebeck.de

Mehr

Datenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2015/16. smichel@cs.uni-kl.de

Datenbanksysteme. Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern. Wintersemester 2015/16. smichel@cs.uni-kl.de Datenbanksysteme Wintersemester 2015/16 Prof. Dr.-Ing. Sebastian Michel TU Kaiserslautern smichel@cs.uni-kl.de Verschachtelte (Engl. Nested) Anfragen Wieso und wo gibt es verschachtelte Anfragen? ˆ Unteranfragen

Mehr

2) Nennen Sie die Namen der 3 Ebenen des 3-Ebenen-Modells, und geben Sie an, was in jeder Ebene dargestellt wird.

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

Mehr

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering Datenbanken Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea Institut für Informatik Software & Systems Engineering Agenda 1. Datenbanken 2. SQL 3. ADO.NET DataProvider (providerabhängig)

Mehr

Whitepaper. Produkt: combit Relationship Manager Import von relationalen Daten. combit GmbH Untere Laube Konstanz

Whitepaper. Produkt: combit Relationship Manager Import von relationalen Daten. combit GmbH Untere Laube Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager 2007 Import von relationalen Daten Import von relationalen Daten - 2 - Import von relationalen Daten Über Organisation

Mehr

Vorlesung Informatik II

Vorlesung 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

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale 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

Mehr

7 Datenbankabfragen. 7.1 Die Hibernate Query Language

7 Datenbankabfragen. 7.1 Die Hibernate Query Language 149 Dieses Kapitel widmet sich dem effektiven Zugriff auf Daten. Mit Datenbankabfragen können Objekte mit bestimmten Eigenschaften gesucht werden. Erst mit Abfragen ist es möglich, Objekte zu laden, deren

Mehr

Java und Datenbanksysteme Datenbankanbindung mit JDBC

Java und Datenbanksysteme Datenbankanbindung mit JDBC Java und Datenbanksysteme Datenbankanbindung mit JDBC 30.05.2001 Stefan Niederhauser sn@atelier-w.ch 1-Einführung Datenbanksysteme Java und Datenbanken: JDBC Geschichte der JDBC-Versionen Vergleich von

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

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II

Ablauf. Wichtige Termine. Vertiefendes Übungsprojekt - SQL II Ablauf Wichtige Termine Ablauf der Lehrveranstaltung Vorstellung des Projektthemas Projektgruppen Vorstellung der Arbeitsumgebung (Software, Locations) Walkthrough Datenbankentwurf Formulare PHP Security

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

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans JPA - JAVA Persistence API Problem In JAVA-programmen arbeitet man mit Hauptspeicherobjekten. Nach Beendigung des Programmes sind diese nicht mehr vorhanden.

Mehr

Microsoft SQL Server 2000 Programmierung

Microsoft SQL Server 2000 Programmierung Rebecca M. Riordan Microsoft SQL Server 2000 Programmierung Schritt für Schritt Microsoft Press Einführung Ihr Ausgangspunkt Neue Features in SQL Server 2000 Verwenden der beiliegenden CD-ROM Systemanforderungen

Mehr

DATENBANK LÖSUNGEN. mit Azure. Peter Schneider Trainer und Consultant. Lernen und Entwickeln. www.egos.co.at

DATENBANK LÖSUNGEN. mit Azure. Peter Schneider Trainer und Consultant. Lernen und Entwickeln. www.egos.co.at DATENBANK LÖSUNGEN mit Azure Peter Schneider Trainer und Consultant Agenda Cloud Services, Data Platform, Azure Portal Datenbanken in Virtuelle Maschinen Azure SQL Datenbanken und Elastic Database Pools

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

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

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012 Suchen und Finden mit Lucene und Solr Florian Hopf 04.07.2012 http://techcrunch.com/2010/08/04/schmidt-data/ Suche Go Suche Go Ergebnis 1 In Ergebnis 1 taucht der Suchbegriff auf... Ergebnis 2 In Ergebnis

Mehr

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme

Web-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische

Mehr