SQL, the underestimated Big Data technology
|
|
|
- Maria McDonald
- 10 years ago
- Views:
Transcription
1 SQL, the underestimated Big Data technology
2 No tation Seen at the 2013 O Reilly Strata Conf: History of NoSQL by Mark Madsen. Picture published by Edd Dumbill
3 NoSQL? NoSQL? No, SQL!
4 Our vision at Data Geekery - SQL dominates database systems - SQL is very expressive - SQL is very type safe SQL is a device whose mystery is only exceeded by its power!
5 - Head of R&D at Data Geekery GmbH - SQL Aficionado - Java Aficionado Java developers can get back in control of SQL with jooq
6 Big Data? NoSQL? - You re giving up on ACID - You re giving up on type safety - You re giving up on standards - You re giving up on tooling - You re giving up on relational algebra - You haven t asked operations - You don t actually have «Big Data»
7 Big Data? NoSQL? - You re giving up on ACID - You re giving up on type safety - You re giving up on standards - You re giving up on tooling - You re giving up on relational algebra - You haven t asked operations - You don t actually have «Big Data»
8 Also = "EVENTS") public class Event { private Long id; private String title; private = = "increment", strategy = "increment") public Long getid() { /* = "EVENT_DATE") public Date getdate() { /* */ }
9 Also Not SQL @JoinTable( name = "customer_dealer_map", joincolumns = = "customer_id", referencedcolumnname = "id") }, inversejoincolumns = = "dealer_id", referencedcolumnname = "id") } ) private Collection dealers; Found at
10 Also Not SQL JPA @FetchWithDiscriminator(name = = = "customer_id", referencedcolumnname = @ButUseHashJoinsWhenMoreThan(records private Collection employees; Might not be true
11 Shocker! You can now write SQL in Java. JDBC
12 SQL in Java 7 JDBC try (PreparedStatement stmt = c.preparestatement(sql); ResultSet rs = stmt.executequery()) { } while (rs.next()) { System.out.println( new Schema(rs.getString("SCHEMA_NAME"), rs.getboolean("is_default")) ); }
13 SQL in Java 8 jooq DSL.using(c).fetch(sql).map(rs -> new Schema( rs.getvalue("schema_name", String.class), rs.getvalue("is_default", boolean.class) )).foreach(system.out::println);
14 Typesafe SQL in Java jooq DSL.using(c).select(s.SCHEMA_NAME, s.is_default).from(information_schema.schemata.as("s")).orderby(s.schema_name).map(rs -> new Schema( rs.getvalue(s.schema_name), rs.getvalue(s.is_default) )).foreach(system.out::println);
15 SQL in Java 8 Spring JDBC new JdbcTemplate( new SingleConnectionDataSource(c, true)).query(sql, (rs, rownum) -> new Schema( rs.getstring("schema_name"), rs.getboolean("is_default") )).foreach(system.out::println);
16 SQL in Java 8 Apache DbUtils new QueryRunner().query(c, sql, new ArrayListHandler()).stream().map(array -> new Schema( (String) array[0], (Boolean) array[1] )).foreach(system.out::println);
17 SQL in Groovy sql.eachrow( 'select * from tablename' ) { } println "$it.id -- ${it.firstname} --"
18 When you should use SQL indicators - You need JOINs, UNIONs - You need functions, aggregations - You need bulk reads / writes Calculations should be done close to the data
19 Please, run that calculation in your DB
20 SQL Trivia NULL -- What does this query return? SELECT 1 AS a FROM dual WHERE 1 IN (NULL) UNION ALL SELECT 2 AS a FROM dual WHERE NOT(1 IN (NULL))
21 SQL Trivia NULL -- What does this query return? SELECT 1 AS a FROM dual WHERE 1 IN (NULL) UNION ALL SELECT 2 AS a FROM dual WHERE NOT(1 IN (NULL))
22 SQL Trivia NULL -- Nothing! It s the same as this SELECT 1 AS a FROM dual WHERE 1 = NULL UNION ALL SELECT 2 AS a FROM dual WHERE 1!= NULL
23 SQL Trivia NULL -- Nothing! It s the same as this SELECT 1 AS a FROM dual WHERE UNKNOWN UNION ALL SELECT 2 AS a FROM dual WHERE UNKNOWN
24 SQL Trivia Oracle VARCHAR2 -- What does this query return? SELECT 1 AS a FROM dual WHERE '' = '' UNION ALL SELECT 2 AS a FROM dual WHERE 'a'!= ''
25 SQL Trivia Oracle VARCHAR2 -- Nope! Nothing again (only in Oracle). SELECT 1 AS a FROM dual WHERE NULL = NULL UNION ALL SELECT 2 AS a FROM dual WHERE 'a'!= NULL
26 SQL Trivia Oracle VARCHAR2 -- Nope! Nothing again (only in Oracle). SELECT 1 AS a FROM dual WHERE NULL = NULL UNION ALL SELECT 2 AS a FROM dual WHERE 'a'!= NULL
27 Stockholm Syndrome: We love JavaScript SQL
28 Winston Churchill: SQL is the worst form of database querying, except for all the other forms.
29 Let s calculate a running total SELECT * FROM v_transactions WHERE account_id = 1 ORDER BY value_date DESC, id DESC
30 Let s calculate a running total ID VALUE_DATE AMOUNT
31 Let s calculate a running total ID VALUE_DATE AMOUNT BALANCE
32 Let s calculate a running total ID VALUE_DATE AMOUNT BALANCE =
33 Let s calculate a running total ID VALUE_DATE AMOUNT BALANCE =
34 Let s calculate a running total ID VALUE_DATE AMOUNT BALANCE = n n BALANCE(ROWn) = BALANCE(ROWn+1) AMOUNT(ROWn) BALANCE(ROWn+1) = BALANCE(ROWn) AMOUNT(ROWn)
35 How can we do it?
36 How can we do it? - In Java - Calculate on UPDATE - Nested SELECT - Recursive SQL - Window functions - MODEL clause (Oracle) - Stored procedures
37 How can we do it? With SQL! - In Java - Calculate on UPDATE - Nested SELECT - Recursive SQL - Window functions - MODEL clause (Oracle) - Stored procedures
38 Using nested SELECTs
39 SELECT t1.*, t1.current_balance - ( SELECT NVL(SUM(amount), 0) FROM v_transactions t2 WHERE t2.account_id = t1.account_id AND (t2.value_date, t2.id) > (t1.value_date, t1.id) ) AS balance FROM v_transactions t1 WHERE t1.account_id = 1 ORDER BY t1.value_date DESC, t1.id DESC
40 SELECT t1.*, t1.current_balance - ( SELECT NVL(SUM(amount), 0) FROM v_transactions t2 WHERE t2.account_id = t1.account_id AND (t2.value_date, t2.id) > (t1.value_date, t1.id) ) AS balance FROM v_transactions t1 WHERE t1.account_id = 1 ORDER BY t1.value_date DESC, t1.id DESC
41 SELECT t1.*, t1.current_balance - ( SELECT NVL(SUM(amount), 0) FROM v_transactions t2 WHERE t2.account_id = t1.account_id AND ((t2.value_date > t1.value_date) OR (t2.value_date = t1.value_date AND t2.id > t1.id)) ) AS balance FROM v_transactions t1 WHERE t1.account_id = 1 ORDER BY...
42 Using nested SELECTs ID VALUE_DATE AMOUNT BALANCE (99.17) (71.44) (-94.60) =
43 Id Operation Name A-Rows A-Time SELECT STATEMENT 50 00:00: SORT AGGREGATE :00:00.76 * 2 TABLE ACCESS BY INDEX ROWID T_TRANSACTIONS 605K 00:00:00.69 * 3 INDEX RANGE SCAN I_TRX_ACCO_ID 1212K 00:00: SORT ORDER BY 50 00:00: NESTED LOOPS :00: TABLE ACCESS BY INDEX ROWID T_ACCOUNTS 1 00:00:00.01 * 7 INDEX UNIQUE SCAN SYS_C :00: TABLE ACCESS BY INDEX ROWID T_TRANSACTIONS :00:00.01 * 9 INDEX RANGE SCAN I_TRX_ACCO_ID :00:
44 Using recursive SQL
45 We need to number transactions ID VALUE_DATE AMOUNT TRANSACTION_NR
46 CREATE OR REPLACE VIEW v_transactions_by_time AS SELECT t.*, ROW_NUMBER() OVER ( PARTITION BY account_id ORDER BY ) AS transaction_number FROM v_transactions t; t.value_date DESC, t.id DESC
47 WITH ordered_with_balance ( account_id, value_date, amount, balance, transaction_number ) AS ( SELECT t1.account_id, t1.value_date, t1.amount, t1.current_balance, t1.transaction_number FROM v_transactions_by_time t1 WHERE t1.transaction_number = 1 UNION ALL SELECT t1.account_id, t1.value_date, t1.amount, t2.balance - t2.amount, t1.transaction_number FROM ordered_with_balance t2 JOIN v_transactions_by_time t1 ON t1.transaction_number = t2.transaction_number + 1 AND t1.account_id = t2.account_id ) SELECT * FROM ordered_with_balance WHERE account_id = 1 ORDER BY transaction_number ASC
48 WITH ordered_with_balance ( account_id, value_date, amount, balance, transaction_number ) AS ( SELECT t1.account_id, t1.value_date, t1.amount, t1.current_balance, t1.transaction_number FROM v_transactions_by_time t1 WHERE t1.transaction_number = 1 UNION ALL SELECT t1.account_id, t1.value_date, t1.amount, t2.balance - t2.amount, t1.transaction_number FROM ordered_with_balance t2 JOIN v_transactions_by_time t1 ON t1.transaction_number = t2.transaction_number + 1 AND t1.account_id = t2.account_id ) SELECT * FROM ordered_with_balance WHERE account_id = 1 ORDER BY transaction_number ASC
49 WITH ordered_with_balance ( account_id, value_date, amount, balance, transaction_number ) AS ( SELECT t1.account_id, t1.value_date, t1.amount, t1.current_balance, t1.transaction_number FROM v_transactions_by_time t1 WHERE t1.transaction_number = 1 UNION ALL SELECT t1.account_id, t1.value_date, t1.amount, t2.balance - t2.amount, t1.transaction_number FROM ordered_with_balance t2 JOIN v_transactions_by_time t1 ON t1.transaction_number = t2.transaction_number + 1 AND t1.account_id = t2.account_id ) SELECT * FROM ordered_with_balance WHERE account_id = 1 ORDER BY transaction_number ASC
50 Id Operation Name A-Rows A-Time SELECT STATEMENT 50 00:00: SORT ORDER BY 50 00:00:35.29 * 2 VIEW :00: UNION ALL (RECURSIVE WITH) BREADTH FIRST :00:35.28 * 4 VIEW V_TRANSACTIONS_BY_TIME 9 00:00:00.03 * 5 WINDOW SORT PUSHED RANK 18 00:00: NESTED LOOPS :00: NESTED LOOPS :00: TABLE ACCESS FULL T_ACCOUNTS 10 00:00:00.01 * 9 INDEX RANGE SCAN I_TRX_ACCO_ID :00: TABLE ACCESS BY INDEX ROWID T_TRANSACTIONS :00:00.01 * 11 HASH JOIN :00: VIEW V_TRANSACTIONS_BY_TIME 11M 00:00: WINDOW SORT 11M 00:00: NESTED LOOPS 11M 00:00: NESTED LOOPS 11M 00:00: INDEX FAST FULL SCAN SYS_C :00:00.06 * 17 INDEX RANGE SCAN I_TRX_ACCO_ID 11M 00:00: TABLE ACCESS BY INDEX ROWID T_TRANSACTIONS 11M 00:00: RECURSIVE WITH PUMP :00:
51 Using window functions
52 SELECT t.*, t.current_balance - NVL( SUM(t.amount) OVER ( PARTITION BY t.account_id ORDER BY t.value_date DESC, t.id DESC ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ), 0) AS balance FROM v_transactions t WHERE t.account_id = 1 ORDER BY t.value_date DESC, t.id DESC
53 SELECT t.*, t.current_balance - NVL( SUM(t.amount) OVER ( PARTITION BY t.account_id ORDER BY t.value_date DESC, t.id DESC ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ), 0) AS balance FROM v_transactions t WHERE t.account_id = 1 ORDER BY t.value_date DESC, t.id DESC
54 Using window functions ID VALUE_DATE AMOUNT BALANCE (99.17) (71.44) (-94.60) =
55 Id Operation Name A-Rows A-Time SELECT STATEMENT 50 00:00: WINDOW SORT 50 00:00: NESTED LOOPS :00: TABLE ACCESS BY INDEX ROWID T_ACCOUNTS 1 00:00:00.01 * 4 INDEX UNIQUE SCAN SYS_C :00: TABLE ACCESS BY INDEX ROWID T_TRANSACTIONS :00:00.01 * 6 INDEX RANGE SCAN I_TRX_ACCO_ID :00:
56 Using the Oracle MODEL clause
57 SELECT account_id, value_date, amount, balance FROM ( SELECT id, account_id, value_date, amount, current_balance AS balance FROM v_transactions ) t WHERE account_id = 1 MODEL PARTITION BY (account_id) DIMENSION BY ( ROW_NUMBER() OVER (ORDER BY value_date DESC, id DESC) AS rn ) MEASURES (value_date, amount, balance) RULES ( balance[rn > 1] = balance[cv(rn) - 1] - amount[cv(rn) - 1] ) ORDER BY rn ASC
58 SELECT account_id, value_date, amount, balance FROM ( SELECT id, account_id, value_date, amount, current_balance AS balance FROM v_transactions ) t WHERE account_id = 1 MODEL PARTITION BY (account_id) DIMENSION BY ( ROW_NUMBER() OVER (ORDER BY value_date DESC, id DESC) AS rn ) MEASURES (value_date, amount, balance) RULES ( balance[rn > 1] = balance[cv(rn) - 1] - amount[cv(rn) - 1] ) ORDER BY rn ASC
59 RULES ( balance[rn > 1] = balance[cv(rn) - 1] - amount [cv(rn) - 1] ) -- does it look familiar?
60 Id Operation Name A-Rows A-Time SELECT STATEMENT 50 00:00: SORT ORDER BY 50 00:00: SQL MODEL ORDERED :00: WINDOW SORT :00: NESTED LOOPS :00: TABLE ACCESS BY INDEX ROWID T_ACCOUNTS 1 00:00:00.01 * 6 INDEX UNIQUE SCAN SYS_C :00:00.01 * 7 TABLE ACCESS FULL T_TRANSACTIONS :00:
61 The MODEL clause is Oracle s most powerful and underused feature
62 Our vision at Data Geekery - Revisited - SQL dominates database systems - SQL is expressive - SQL is type safe SQL is a device whose mystery is only exceeded by its power!
63 Our vision at Data Geekery - Revisited jooq is the best way to write SQL in Java
64 SELECT t.*, t.current_balance - NVL( SUM(t.amount) OVER ( PARTITION BY t.account_id ORDER BY t.value_date DESC, t.id DESC ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING ), 0) AS balance FROM v_transactions t WHERE t.account_id = 1 ORDER BY t.value_date DESC, t.id DESC
65 DSL.using(connection).select(t.VALUE_DATE, t.amount, t.current_balance.sub( sum(t.amount).over( partitionby(t.account_id).orderby (t.value_date.desc(), t.id.desc()).rowsbetweenunboundedpreceding().andpreceding(1) ) ).nvl(0).as("balance")).from (V_TRANSACTIONS.as("t")).where (t.account_id.eq(1)).orderby(t.value_date.desc(), t.id.desc())
66 Thank you More free Java / SQL knowledge on: Blog:
Chapter 9 Java and SQL. Wang Yang [email protected]
Chapter 9 Java and SQL Wang Yang [email protected] Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)
DIPLOMA IN WEBDEVELOPMENT
DIPLOMA IN WEBDEVELOPMENT Prerequisite skills Basic programming knowledge on C Language or Core Java is must. # Module 1 Basics and introduction to HTML Basic HTML training. Different HTML elements, tags
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
OLH: Oracle Loader for Hadoop OSCH: Oracle SQL Connector for Hadoop Distributed File System (HDFS)
Use Data from a Hadoop Cluster with Oracle Database Hands-On Lab Lab Structure Acronyms: OLH: Oracle Loader for Hadoop OSCH: Oracle SQL Connector for Hadoop Distributed File System (HDFS) All files are
Oracle SQL. Course Summary. Duration. Objectives
Oracle SQL Course Summary Identify the major structural components of the Oracle Database 11g Create reports of aggregated data Write SELECT statements that include queries Retrieve row and column data
SQL. Short introduction
SQL Short introduction 1 Overview SQL, which stands for Structured Query Language, is used to communicate with a database. Through SQL one can create, manipulate, query and delete tables and contents.
D B M G Data Base and Data Mining Group of Politecnico di Torino
Politecnico di Torino Database Management System Oracle Hints Data Base and Data Mining Group of Politecnico di Torino Tania Cerquitelli Computer Engineering, 2014-2015, slides by Tania Cerquitelli and
Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches
Course Objectives Database Applications Design Construction SQL/PSM Embedded SQL JDBC Applications Usage Course Objectives Interfacing When the course is through, you should Know how to connect to and
Spring Data JDBC Extensions Reference Documentation
Reference Documentation ThomasRisberg Copyright 2008-2015The original authors Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee
SQL Injection. SQL Injection. CSCI 4971 Secure Software Principles. Rensselaer Polytechnic Institute. Spring 2010 ...
SQL Injection CSCI 4971 Secure Software Principles Rensselaer Polytechnic Institute Spring 2010 A Beginner s Example A hypothetical web application $result = mysql_query(
Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff
D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led
Oracle Database 12c: Introduction to SQL Ed 1.1
Oracle University Contact Us: 1.800.529.0165 Oracle Database 12c: Introduction to SQL Ed 1.1 Duration: 5 Days What you will learn This Oracle Database: Introduction to SQL training helps you write subqueries,
Evaluation. Copy. Evaluation Copy. Chapter 7: Using JDBC with Spring. 1) A Simpler Approach... 7-2. 2) The JdbcTemplate. Class...
Chapter 7: Using JDBC with Spring 1) A Simpler Approach... 7-2 2) The JdbcTemplate Class... 7-3 3) Exception Translation... 7-7 4) Updating with the JdbcTemplate... 7-9 5) Queries Using the JdbcTemplate...
Data warehousing in Oracle. SQL extensions for data warehouse analysis. Available OLAP functions. Physical aggregation example
Data warehousing in Oracle Materialized views and SQL extensions to analyze data in Oracle data warehouses SQL extensions for data warehouse analysis Available OLAP functions Computation windows window
D B M G Data Base and Data Mining Group of Politecnico di Torino
Database Management Data Base and Data Mining Group of [email protected] A.A. 2014-2015 Optimizer objective A SQL statement can be executed in many different ways The query optimizer determines
DBMS / Business Intelligence, SQL Server
DBMS / Business Intelligence, SQL Server Orsys, with 30 years of experience, is providing high quality, independant State of the Art seminars and hands-on courses corresponding to the needs of IT professionals.
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to
LSINF1124 Projet de programmation
LSINF1124 Projet de programmation Database Programming with Java TM Sébastien Combéfis University of Louvain (UCLouvain) Louvain School of Engineering (EPL) March 1, 2011 Introduction A database is a collection
Comparing SQL and NOSQL databases
COSC 6397 Big Data Analytics Data Formats (II) HBase Edgar Gabriel Spring 2015 Comparing SQL and NOSQL databases Types Development History Data Storage Model SQL One type (SQL database) with minor variations
Integrating Big Data into the Computing Curricula
Integrating Big Data into the Computing Curricula Yasin Silva, Suzanne Dietrich, Jason Reed, Lisa Tsosie Arizona State University http://www.public.asu.edu/~ynsilva/ibigdata/ 1 Overview Motivation Big
SQL Injection in web applications
SQL Injection in web applications February 2013 Slavik Markovich VP, CTO, Database Security McAfee About Me Co-Founder & CTO of Sentrigo (now McAfee Database Security) Specialties: Databases, security,
database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia [email protected]
Lukas Smith database abstraction layers in PHP BackendMedia 1 Overview Introduction Motivation PDO extension PEAR::MDB2 Client API SQL syntax SQL concepts Result sets Error handling High level features
A Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
Bloom Filters. Christian Antognini Trivadis AG Zürich, Switzerland
Bloom Filters Christian Antognini Trivadis AG Zürich, Switzerland Oracle Database uses bloom filters in various situations. Unfortunately, no information about their usage is available in Oracle documentation.
Instant SQL Programming
Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions
Oracle Database 11g SQL
AO3 - Version: 2 19 June 2016 Oracle Database 11g SQL Oracle Database 11g SQL AO3 - Version: 2 3 days Course Description: This course provides the essential SQL skills that allow developers to write queries
Sharding with postgres_fdw
Sharding with postgres_fdw Postgres Open 2013 Chicago Stephen Frost [email protected] Resonate, Inc. Digital Media PostgreSQL Hadoop [email protected] http://www.resonateinsights.com Stephen
SQL Query Evaluation. Winter 2006-2007 Lecture 23
SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution
Introducing Microsoft SQL Server 2012 Getting Started with SQL Server Management Studio
Querying Microsoft SQL Server 2012 Microsoft Course 10774 This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server
3.GETTING STARTED WITH ORACLE8i
Oracle For Beginners Page : 1 3.GETTING STARTED WITH ORACLE8i Creating a table Datatypes Displaying table definition using DESCRIBE Inserting rows into a table Selecting rows from a table Editing SQL buffer
ICAB4136B Use structured query language to create database structures and manipulate data
ICAB4136B Use structured query language to create database structures and manipulate data Release: 1 ICAB4136B Use structured query language to create database structures and manipulate data Modification
Querying Microsoft SQL Server
Course 20461C: Querying Microsoft SQL Server Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions, versions, tools used
In this session, we use the table ZZTELE with approx. 115,000 records for the examples. The primary key is defined on the columns NAME,VORNAME,STR
1 2 2 3 In this session, we use the table ZZTELE with approx. 115,000 records for the examples. The primary key is defined on the columns NAME,VORNAME,STR The uniqueness of the primary key ensures that
The JAVA Way: JDBC and SQLJ
The JAVA Way: JDBC and SQLJ David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) JDBC/SQLJ 1 / 21 The JAVA way to Access RDBMS
The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias. 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
The Sins of SQL Programming that send the DB to Upgrade Purgatory Abel Macias 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Who is Abel Macias? 1994 - Joined Oracle Support 2000
Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata
Oracle Database 12c Enables Quad Graphics to Quickly Migrate from Sybase to Oracle Exadata Presented with Prakash Nauduri Technical Director Platform Migrations Group, Database Product Management Sep 30,
Database Access from a Programming Language: Database Access from a Programming Language
Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding
Database Access from a Programming Language:
Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding
MOC 20461 QUERYING MICROSOFT SQL SERVER
ONE STEP AHEAD. MOC 20461 QUERYING MICROSOFT SQL SERVER Length: 5 days Level: 300 Technology: Microsoft SQL Server Delivery Method: Instructor-led (classroom) COURSE OUTLINE Module 1: Introduction to Microsoft
Database Administration with MySQL
Database Administration with MySQL Suitable For: Database administrators and system administrators who need to manage MySQL based services. Prerequisites: Practical knowledge of SQL Some knowledge of relational
Why Zalando trusts in PostgreSQL
Why Zalando trusts in PostgreSQL A developer s view on using the most advanced open-source database Henning Jacobs - Technical Lead Platform/Software Zalando GmbH Valentine Gogichashvili - Technical Lead
Querying Microsoft SQL Server 2012
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Language(s): English Audience(s): IT Professionals Level: 200 Technology: Microsoft SQL Server 2012 Type: Course Delivery Method: Instructor-led
Course ID#: 1401-801-14-W 35 Hrs. Course Content
Course Content Course Description: This 5-day instructor led course provides students with the technical skills required to write basic Transact- SQL queries for Microsoft SQL Server 2014. This course
Course 10774A: Querying Microsoft SQL Server 2012
Course 10774A: Querying Microsoft SQL Server 2012 About this Course This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft
RECURSIVE COMMON TABLE EXPRESSIONS DATABASE IN ORACLE. Iggy Fernandez, Database Specialists INTRODUCTION
RECURSIVE COMMON TABLE EXPRESSIONS IN ORACLE DATABASE 11G RELEASE 2 Iggy Fernandez, Database Specialists INTRODUCTION Oracle was late to the table with recursive common table expressions which have been
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Published: May 25, 2012 Language(s): English Audience(s): IT Professionals
Course 10774A: Querying Microsoft SQL Server 2012 Length: 5 Days Published: May 25, 2012 Language(s): English Audience(s): IT Professionals Overview About this Course Level: 200 Technology: Microsoft SQL
Querying Microsoft SQL Server 20461C; 5 days
Lincoln Land Community College Capital City Training Center 130 West Mason Springfield, IL 62702 217-782-7436 www.llcc.edu/cctc Querying Microsoft SQL Server 20461C; 5 days Course Description This 5-day
ODTUG - SQL Injection Crash Course for Oracle Developers
ODTUG - SQL Injection Crash Course for Oracle Developers Alexander Kornbrust 11-Oct-2009 Agenda Introduction How (external) hackers work Tools SQL Injection Basics SQL Injection in mod_plsql SQL Injection
Porting from Oracle to PostgreSQL
by Paulo Merson February/2002 Porting from Oracle to If you are starting to use or you will migrate from Oracle database server, I hope this document helps. If you have Java applications and use JDBC,
Advanced SQL. Jim Mason. www.ebt-now.com Web solutions for iseries engineer, build, deploy, support, train 508-728-4353. jemason@ebt-now.
Advanced SQL Jim Mason [email protected] www.ebt-now.com Web solutions for iseries engineer, build, deploy, support, train 508-728-4353 What We ll Cover SQL and Database environments Managing Database
Introduction to Database. Systems HANS- PETTER HALVORSEN, 2014.03.03
Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Introduction to Database HANS- PETTER HALVORSEN, 2014.03.03 Systems Faculty of Technology, Postboks
Using Multiple Operations. Implementing Table Operations Using Structured Query Language (SQL)
Copyright 2000-2001, University of Washington Using Multiple Operations Implementing Table Operations Using Structured Query Language (SQL) The implementation of table operations in relational database
How, What, and Where of Data Warehouses for MySQL
How, What, and Where of Data Warehouses for MySQL Robert Hodges CEO, Continuent. Introducing Continuent The leading provider of clustering and replication for open source DBMS Our Product: Continuent Tungsten
Security Module: SQL Injection
Security Module: SQL Injection Description SQL injection is a security issue that involves inserting malicious code into requests made to a database. The security vulnerability occurs when user provided
SQL Performance Hero and OMG Method vs the Anti-patterns. Jeff Jacobs Jeffrey Jacobs & Associates [email protected]
SQL Performance Hero and OMG Method vs the Anti-patterns Jeff Jacobs Jeffrey Jacobs & Associates [email protected] Survey Says DBAs Developers Architects Heavily non-oracle development shop Concerned
SQL - QUICK GUIDE. Allows users to access data in relational database management systems.
http://www.tutorialspoint.com/sql/sql-quick-guide.htm SQL - QUICK GUIDE Copyright tutorialspoint.com What is SQL? SQL is Structured Query Language, which is a computer language for storing, manipulating
Generating XML from Relational Tables using ORACLE. by Selim Mimaroglu Supervisor: Betty O NeilO
Generating XML from Relational Tables using ORACLE by Selim Mimaroglu Supervisor: Betty O NeilO 1 INTRODUCTION Database: : A usually large collection of data, organized specially for rapid search and retrieval
SQL and programming languages
SQL and programming languages SET08104 Database Systems Copyright Napier University Slide 1/14 Pure SQL Pure SQL: Queries typed at an SQL prompt. SQL is a non-procedural language. SQL specifies WHAT, not
Querying Microsoft SQL Server Course M20461 5 Day(s) 30:00 Hours
Área de formação Plataforma e Tecnologias de Informação Querying Microsoft SQL Introduction This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL
Structured Query Language. Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics
Telemark University College Department of Electrical Engineering, Information Technology and Cybernetics Structured Query Language HANS- PETTER HALVORSEN, 2014.03.03 Faculty of Technology, Postboks 203,
Overview of Databases On MacOS. Karl Kuehn Automation Engineer RethinkDB
Overview of Databases On MacOS Karl Kuehn Automation Engineer RethinkDB Session Goals Introduce Database concepts Show example players Not Goals: Cover non-macos systems (Oracle) Teach you SQL Answer what
Lag Sucks! R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation
Lag Sucks! Making Online Gaming Faster with NoSQL (and without Breaking the Bank) R.J. Lorimer Director of Platform Engineering Electrotank, Inc. Robert Greene Vice President of Technology Versant Corporation
Financial Data Access with SQL, Excel & VBA
Computational Finance and Risk Management Financial Data Access with SQL, Excel & VBA Guy Yollin Instructor, Applied Mathematics University of Washington Guy Yollin (Copyright 2012) Data Access with SQL,
Question 1. Relational Data Model [17 marks] Question 2. SQL and Relational Algebra [31 marks]
EXAMINATIONS 2005 MID-YEAR COMP 302 Database Systems Time allowed: Instructions: 3 Hours Answer all questions. Make sure that your answers are clear and to the point. Write your answers in the spaces provided.
Netezza SQL Class Outline
Netezza SQL Class Outline CoffingDW education has been customized for every customer for the past 20 years. Our classes can be taught either on site or remotely via the internet. Education Contact: John
Unified access to all your data points. with Apache MetaModel
Unified access to all your data points with Apache MetaModel Who am I? Kasper Sørensen, dad, geek, guitarist @kaspersor Long-time developer and PMC member of: Founder also of another nice open source project:
Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.
& & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows
Spring,2015. Apache Hive BY NATIA MAMAIASHVILI, LASHA AMASHUKELI & ALEKO CHAKHVASHVILI SUPERVAIZOR: PROF. NODAR MOMTSELIDZE
Spring,2015 Apache Hive BY NATIA MAMAIASHVILI, LASHA AMASHUKELI & ALEKO CHAKHVASHVILI SUPERVAIZOR: PROF. NODAR MOMTSELIDZE Contents: Briefly About Big Data Management What is hive? Hive Architecture Working
Amazon Redshift & Amazon DynamoDB Michael Hanisch, Amazon Web Services Erez Hadas-Sonnenschein, clipkit GmbH Witali Stohler, clipkit GmbH 2014-05-15
Amazon Redshift & Amazon DynamoDB Michael Hanisch, Amazon Web Services Erez Hadas-Sonnenschein, clipkit GmbH Witali Stohler, clipkit GmbH 2014-05-15 2014 Amazon.com, Inc. and its affiliates. All rights
Why NoSQL? Your database options in the new non- relational world. 2015 IBM Cloudant 1
Why NoSQL? Your database options in the new non- relational world 2015 IBM Cloudant 1 Table of Contents New types of apps are generating new types of data... 3 A brief history on NoSQL... 3 NoSQL s roots
SQL Programming. CS145 Lecture Notes #10. Motivation. Oracle PL/SQL. Basics. Example schema:
CS145 Lecture Notes #10 SQL Programming Example schema: CREATE TABLE Student (SID INTEGER PRIMARY KEY, name CHAR(30), age INTEGER, GPA FLOAT); CREATE TABLE Take (SID INTEGER, CID CHAR(10), PRIMARY KEY(SID,
Object Oriented Design with UML and Java. PART XVIII: Database Technology
Object Oriented Design with UML and Java PART XVIII: Database Technology Copyright David Leberknight & Ron LeMaster. Version 2 What is a Database? Computerized record-keeping system. Collection of stored
Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC 10.1.3.4.1
Optimizing the Performance of the Oracle BI Applications using Oracle Datawarehousing Features and Oracle DAC 10.1.3.4.1 Mark Rittman, Director, Rittman Mead Consulting for Collaborate 09, Florida, USA,
Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860
Java DB Performance Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 AGENDA > Java DB introduction > Configuring Java DB for performance > Programming tips > Understanding Java DB performance
Maximizing Materialized Views
Maximizing Materialized Views John Jay King King Training Resources [email protected] Download this paper and code examples from: http://www.kingtraining.com 1 Session Objectives Learn how to create
Data storing and data access
Data storing and data access Plan Basic Java API for HBase demo Bulk data loading Hands-on Distributed storage for user files SQL on nosql Summary Basic Java API for HBase import org.apache.hadoop.hbase.*
To increase performaces SQL has been extended in order to have some new operations avaiable. They are:
OLAP To increase performaces SQL has been extended in order to have some new operations avaiable. They are:. roll up: aggregates different events to reduce details used to describe them (looking at higher
CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University
CS 377 Database Systems SQL Programming Li Xiong Department of Mathematics and Computer Science Emory University 1 A SQL Query Joke A SQL query walks into a bar and sees two tables. He walks up to them
WEBVIEW An SQL Extension for Joining Corporate Data to Data Derived from the World Wide Web
WEBVIEW An SQL Extension for Joining Corporate Data to Data Derived from the World Wide Web Charles A Wood and Terence T Ow Mendoza College of Business University of Notre Dame Notre Dame, IN 46556-5646
Going Native With Apache Cassandra. QCon London, 2014 www.datastax.com @DataStaxEMEA
Going Native With Apache Cassandra QCon London, 2014 www.datastax.com @DataStaxEMEA About Me Johnny Miller Solutions Architect www.datastax.com @DataStaxEU [email protected] @CyanMiller https://www.linkedin.com/in/johnnymiller
Mini User's Guide for SQL*Plus T. J. Teorey
Mini User's Guide for SQL*Plus T. J. Teorey Table of Contents Oracle/logging-in 1 Nested subqueries 5 SQL create table/naming rules 2 Complex functions 6 Update commands 3 Save a query/perm table 6 Select
SQL Basics for RPG Developers
SQL Basics for RPG Developers Chris Adair Manager of Application Development National Envelope Vice President/Treasurer Metro Midrange Systems Assoc. SQL HISTORY Structured English Query Language (SEQUEL)
AV-005: Administering and Implementing a Data Warehouse with SQL Server 2014
AV-005: Administering and Implementing a Data Warehouse with SQL Server 2014 Career Details Duration 105 hours Prerequisites This career requires that you meet the following prerequisites: Working knowledge
Chapter 4: SQL. Schema Used in Examples
Chapter 4: SQL Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views Modification of the Database Joined Relations Data Definition Language Embedded SQL,
Oracle BI EE Implementation on Netezza. Prepared by SureShot Strategies, Inc.
Oracle BI EE Implementation on Netezza Prepared by SureShot Strategies, Inc. The goal of this paper is to give an insight to Netezza architecture and implementation experience to strategize Oracle BI EE
MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!)
MySQL és Hadoop mint Big Data platform (SQL + NoSQL = MySQL Cluster?!) Erdélyi Ernő, Component Soft Kft. [email protected] www.component.hu 2013 (c) Component Soft Ltd Leading Hadoop Vendor Copyright 2013,
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration
COSC344 Database Theory and Applications. Java and SQL. Lecture 12
COSC344 Database Theory and Applications Lecture 12: Java and SQL COSC344 Lecture 12 1 Last Lecture Trigger Overview This Lecture Java & SQL Source: Lecture notes, Textbook: Chapter 12 JDBC documentation
Database Application Development. Overview. SQL in Application Code. Chapter 6
Database Application Development Chapter 6 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic
A table is a collection of related data entries and it consists of columns and rows.
CST 250 MySQL Notes (Source: www.w3schools.com) MySQL is the most popular open-source database system. What is MySQL? MySQL is a database. The data in MySQL is stored in database objects called tables.
Relational Databases
Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute
Oracle Database 10g: Introduction to SQL
Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.
