Design flexible data models leveraging Oracle 11gR2 XML indexing capabilities

Size: px
Start display at page:

Download "Design flexible data models leveraging Oracle 11gR2 XML indexing capabilities"

Transcription

1 Design flexible data models leveraging Oracle 11gR2 XML indexing capabilities Aris Prassinos

2 Who am I Chief Engineer MorphoTrak, SAFRAN Group Oracle ACE Director Oracle Magazine Content Management Architect of the Year (2005) Oracle XML Customer Advisory Board member Slide 2 Aris Prassinos 2011

3 The problem Flexible schema application deployed to customers with different schema needs entities and relationships (e.g. Person, Incident) well defined customized attributes for each customer custom attributes may be multi-valued e.g. Aliases, Tattoos attributes may also be added by customers over time Full spectrum of queries range, arithmetic, aggregates, free-text / fuzzy several searchable attributes per entity searchable columns may change over time OLTP access with frequent inserts / updates / deletes near-relational performance needed for queries and updates indexing should not adversely affect write performance Slide 3 Aris Prassinos 2011

4 Two critical Oracle 11gR2 technologies Binary XML compact format to avoid XML text bloat reduces parsing, validation, conversion costs streaming for fast fragment extraction delta sliding updates exploits XML Schema information if available XML Index Structured Component project commonly searched elements as columns in a pivot table all leaf data having the same parent node stored in one row of pivot table transparent query rewrite using XQuery/XPath expression matching secondary indexes created on pivot table columns Slide 4 Aris Prassinos 2011

5 The solution? CREATE TABLE Person ( id NUMBER(10) NOT NULL, xml_data XMLType NOT NULL, CONSTRAINT pk_person PRIMARY KEY (id)) XMLTYPE xml_data STORE AS BINARY XML (RETENTION); CREATE TABLE Incident ( iid NUMBER(10) NOT NULL, id NUMBER(10) NOT NULL, xml_data XMLType NOT NULL, CONSTRAINT pk_incident PRIMARY KEY (iid), CONSTRAINT fk_incident FOREIGN KEY (id) REFERENCES Person(id) ON DELETE CASCADE) XMLTYPE xml_data STORE AS BINARY XML (RETENTION); Slide 5 Aris Prassinos 2011

6 Example XML schema <Person> <Height>70</Height> <Sex>Male</Sex> <SSN> </SSN> <Aliases> <Name><FirstName>Bob</FirstName></Name> <Name><FirstName>Mark</FirstName></Name> </Aliases> <Offenses> <Offense><Type>03</Type></Offense> <Offense><Type>04</Type></Offense> </Offenses> <Tattoos> <Tattoo><Description>Dragon and sword</description></tattoo> <Tattoo><Description>Dagger through rose</description></tattoo> </Tattoos> </Person> Slide 6 Aris Prassinos 2011

7 Query and Indexing requirements Some elements (e.g. Height) searchable via numeric range queries Aliases searchable via common nicknames (e.g. Robert / Bob) Free-text Tattoo description searching Some Collections are Optional (i.e. XML tags not present in the document) Note the different syntax for indexing Mandatory (e.g. Aliases) and Optional Collections (e.g. Offenses, Tattoos) Non-searchable elements (e.g. SSN) do not need to be indexed Slide 7 Aris Prassinos 2011

8 Structured XML Index creation process Register XML Index parameter Create XML domain index Create secondary indexes Gather stats on base tables Slide 8 Aris Prassinos 2011

9 Structured XML Index creation Step 1 DBMS_XMLINDEX.registerParameter('person_param', 'GROUP person_group XMLTable Person_pivot ''/Person'' passing XML_DATA Sex VARCHAR2(10) PATH ''Sex'', Height BINARY_DOUBLE PATH ''Height'', Aliases XMLType PATH ''Aliases'' VIRTUAL XMLTable Aliases_pivot ''/Aliases/Name'' PASSING Aliases FirstName VARCHAR2(30) PATH ''FirstName'' GROUP Offenses_group XMLTable Person_pivot ''/Person'' passing XML_DATA Offenses XMLType PATH ''<Offenses>{Offenses/Offense}</Offenses>'' VIRTUAL XMLTable Offenses_pivot ''for $i in /Offenses return if (empty($i/offense)) then <Type/> else $i/offense'' PASSING Offenses OffenseType VARCHAR2(20) PATH ''Type'' GROUP Tattoos_group XMLTable Person_pivot ''/Person'' passing XML_DATA Tattoos XMLType PATH ''<Tattoos>{Tattoos/Tattoo}</Tattoos>'' VIRTUAL XMLTable Tattoos_pivot ''for $i in /Tattoos return if (empty($i/tattoo)) then <Description/> else $i/tattoo'' PASSING Tattoos TattooDescription CLOB PATH ''Description'' '); Slide 9 Aris Prassinos 2011

10 Structured XML Index creation Step 2 CREATE INDEX person_index ON person(xml_data) INDEXTYPE IS XDB.XMLINDEX PARAMETERS('PARAM person_param'); Slide 10 Aris Prassinos 2011

11 Secondary Indexes Step 3 CREATE INDEX SexHeight_index ON Person_pivot(Sex, Height); CREATE INDEX OffenseType_index ON Offenses_pivot(OffenseType); CREATE INDEX TattooDescription_index ON Tattoos_pivot(TattooDescription) INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS ('transactional'); ctxload -thes -name nicknames -file nicknames.txt exec ctx_ddl.create_section_group('namegroup','basic_section_group'); exec ctx_ddl.add_ndata_section('namegroup', 'FirstName', 'FirstName'); exec ctx_ddl.create_preference('nameds', 'MULTI_COLUMN_DATASTORE'); exec ctx_ddl.set_attribute('nameds', '', 'FirstName'); exec ctx_ddl.create_preference('namewl', 'BASIC_WORDLIST'); exec ctx_ddl.set_attribute('namewl', 'NDATA_THESAURUS', 'nicknames'); CREATE INDEX AliasFirstName_index ON Aliases_pivot(FirstName) INDEXTYPE IS Ctxsys.Context PARAMETERS('datastore nameds wordlist namewl section group namegroup transactional'); Slide 11 Aris Prassinos 2011

12 XML Index pivot tables and secondary indexes Slide 12 Aris Prassinos 2011

13 Two ways to query SELECT COUNT(*) FROM Person a, XMLTable( '/Person' passing XML_DATA Sex VARCHAR2(10) PATH 'Sex' ) x WHERE x.sex = 'Male'; SELECT COUNT(DISTINCT id) FROM my_application_view WHERE Sex = 'Male'; Slide 13 Aris Prassinos 2011

14 Application View View chaining needed for Optional Collections (e.g. Offenses, Tattoos) with a purely relational schema this would be handled via outer joins XML Index query rewrite does not currently support outer joins Slide 14 Aris Prassinos 2011

15 View chaining Slide 15 Aris Prassinos 2011

16 person_view_1 CREATE OR REPLACE VIEW person_view_1 AS SELECT a.id, x.height, x.sex, XMLCast(XMLQuery('$p/Person/SSN' PASSING a.xml_data AS "p" RETURNING CONTENT) AS VARCHAR2(11)) SSN, y.firstname FROM person a, XMLTable( '/Person' passing XML_DATA Height BINARY_DOUBLE PATH 'Height', Sex VARCHAR2(10) PATH 'Sex', Aliases XMLType PATH 'Aliases' ) x, XMLTable( '/Aliases/Name' PASSING Aliases FirstName VARCHAR2(30) PATH 'FirstName' ) y; Slide 16 Aris Prassinos 2011

17 person_view_2 CREATE OR REPLACE VIEW person_view_2 AS SELECT a.id, v.height, v.sex, v.ssn, v.firstname, y.offensetype FROM person a, person_view_1 v, XMLTable( '/Person' passing XML_DATA Offenses XMLType PATH '<Offenses>{Offenses/Offense}</Offenses>' ) x, XMLTable( 'for $i in /Offenses return if (empty($i/offense)) then <Type/> else $i/offense' PASSING Offenses OffenseType VARCHAR2(20) PATH 'Type' ) y WHERE a.id = v.id; Slide 17 Aris Prassinos 2011

18 person_view CREATE OR REPLACE VIEW person_view AS SELECT a.id, v.height, v.sex, v.ssn, v.firstname, v.offensetype, y.tattoodescription FROM person a, person_view_2 v, XMLTable( '/Person' passing XML_DATA Tattoos XMLType PATH '<Tattoos>{Tattoos/Tattoo}</Tattoos>' ) x, XMLTable( 'for $i in /Tattoos return if (empty($i/tattoo)) then <Description/> else $i/tattoo' PASSING Tattoos TattooDescription VARCHAR2(255) PATH 'Description' ) y WHERE a.id = v.id; Slide 18 Aris Prassinos 2011

19 Example Application View data Male Bob 03 Dragon and sword Male Bob 03 Dagger through rose Male Bob 04 Dragon and sword Male Bob 04 Dagger through rose Male Mark 03 Dragon and sword Male Mark 03 Dagger through rose Male Mark 04 Dragon and sword Male Mark 04 Dagger through rose Slide 19 Aris Prassinos 2011

20 Example Query SELECT DISTINCT id FROM person_view WHERE Sex = 'Male' AND Height BETWEEN 65 AND 75 AND OffenseType = '03' AND CONTAINS(TattooDescription, 'fuzzy(dagger) AND fuzzy(rose)')>0 AND CONTAINS(FirstName, 'NDATA(FirstName, Robert)')>0; Slide 20 Aris Prassinos 2011

21 Example Query Execution plan 0 SELECT STATEMENT 1 HASH UNIQUE 2 NESTED LOOPS 3 HASH JOIN 4 NESTED LOOPS 5 NESTED LOOPS 6 NESTED LOOPS 7 NESTED LOOPS 8 NESTED LOOPS 9 TABLE ACCESS BY INDEX ROWID ALIASES_PIVOT 10 DOMAIN INDEX ALIASFIRSTNAME_INDEX 11 TABLE ACCESS BY INDEX ROWID PERSON_PIVOT 12 INDEX RANGE SCAN SEXHEIGHT_INDEX 13 TABLE ACCESS BY USER ROWID PERSON 14 TABLE ACCESS BY INDEX ROWID PERSON_PIVOT 15 INDEX RANGE SCAN SYS78236_78237_RID_IDX 16 INDEX RANGE SCAN SYS78236_78237_RID_IDX 17 TABLE ACCESS BY INDEX ROWID PERSON_PIVOT 18 TABLE ACCESS BY INDEX ROWID TATTOOS_PIVOT 19 DOMAIN INDEX TATTOODESCRIPTION_INDEX 20 TABLE ACCESS BY INDEX ROWID OFFENSES_PIVOT 21 INDEX RANGE SCAN OFFENSETYPE_INDEX Slide 21 Aris Prassinos 2011

22 Piecewise updates UPDATE Person SET xml_data = updatexml(xml_data, '/Person/Height/text()', '71') WHERE id = 76; UPDATE Person SET xml_data = insertchildxml(xml_data, '/Person/Offenses', 'Offense', XMLType('<Offense><Type>05</Type></Offense>')) WHERE id = 76; UPDATE Person SET xml_data = deletexml(xml_data, '/Person/Offenses/Offense[Type="03"]') WHERE id = 76; With Binary XML / SecureFiles only the relevant portions of the data get updated on disk with the exception of appendchildxml() - use insertchildxml() instead Slide 22 Aris Prassinos 2011

23 Caveats (as of ) No online index creation Hash partitioning of base table not supported ALTER INDEX is a slow operation Not possible to use hints for secondary indexes Slide 23 Aris Prassinos 2011

24 Conclusion Bridges XML flexibility and relational design benefits simplified application design relational indexing of structured islands of data master-detail relationships via multilevel chaining of XMLTable optional strong typing by combining Binary XML with XML schema Handles full spectrum of use cases without sacrificing performance relational query performance relational insert performance near-relational fragment extraction performance using Binary XML streaming efficient piecewise updates with the use of Binary XML and SecureFiles Slide 24 Aris Prassinos 2011

25 Questions - Answers Slide 25 Aris Prassinos 2011

Customer Experiences with Oracle XML DB. Aris Prassinos MorphoTrak, SAFRAN Group Asha Tarachandani & Thomas Baby Oracle XML DB Development

Customer Experiences with Oracle XML DB. Aris Prassinos MorphoTrak, SAFRAN Group Asha Tarachandani & Thomas Baby Oracle XML DB Development Customer Experiences with Oracle XML DB Aris Prassinos MorphoTrak, SAFRAN Group Asha Tarachandani & Thomas Baby Oracle XML DB Development The following is intended to outline our general product direction.

More information

Course Outline and Objectives: Database Programming with SQL

Course Outline and Objectives: Database Programming with SQL Introduction to Computer Science and Business Course Outline and Objectives: Database Programming with SQL This is the second portion of the Database Design and Programming with SQL course. In this portion,

More information

Find All Tables Containing Column With Specified Name Oracle

Find All Tables Containing Column With Specified Name Oracle Find All Tables Containing Column With Specified Name Oracle I'M TRYING to find a column called author_last_name in oracle-apex I want to find a possible duplicate of I want to show all tables that have

More information

Oracle Database 10g Extensibility Framework:

Oracle Database 10g Extensibility Framework: Oracle Database 10g Extensibility Framework: Building, Deploying, and Managing Data Cartridges Geoff Lee Principal Product Manager, Oracle Corporation Geoff.Lee@oracle.com Agenda Overview Oracle Database

More information

Introduction to Computer Science and Business

Introduction to Computer Science and Business Introduction to Computer Science and Business This is the second portion of the Database Design and Programming with SQL course. In this portion, students implement their database design by creating a

More information

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time

A Unit of SequelGate Innovative Technologies Pvt. Ltd. All Training Sessions are Completely Practical & Real-time SQL Basics & PL-SQL Complete Practical & Real-time Training Sessions A Unit of SequelGate Innovative Technologies Pvt. Ltd. ISO Certified Training Institute Microsoft Certified Partner Training Highlights

More information

Let Your (APEX) Application Find Everything "Fuzzy Search" with Oracle Text

Let Your (APEX) Application Find Everything Fuzzy Search with Oracle Text Let Your (APEX) Application Find Everything "Fuzzy Search" with Oracle Text Carsten Czarski Consulting Member of technical Staff Oracle Application Express Oracle Deutschland B.V. & Co KG Search challenges

More information

Constraints. Primary Key Foreign Key General table constraints Domain constraints Assertions Triggers. John Edgar 2

Constraints. Primary Key Foreign Key General table constraints Domain constraints Assertions Triggers. John Edgar 2 CMPT 354 Constraints Primary Key Foreign Key General table constraints Domain constraints Assertions Triggers John Edgar 2 firstname type balance city customerid lastname accnumber rate branchname phone

More information

7. Query Processing and Optimization

7. Query Processing and Optimization 7. Query Processing and Optimization Processing a Query 103 Indexing for Performance Simple (individual) index B + -tree index Matching index scan vs nonmatching index scan Unique index one entry and one

More information

Table of Contents Chapter 1 - Introduction Chapter 2 - Designing XML Data and Applications Chapter 3 - Designing and Managing XML Storage Objects

Table of Contents Chapter 1 - Introduction Chapter 2 - Designing XML Data and Applications Chapter 3 - Designing and Managing XML Storage Objects Table of Contents Chapter 1 - Introduction 1.1 Anatomy of an XML Document 1.2 Differences Between XML and Relational Data 1.3 Overview of DB2 purexml 1.4 Benefits of DB2 purexml over Alternative Storage

More information

Using SQL with SQL Developer 18.2

Using SQL with SQL Developer 18.2 One Introduction to SQL 2 - Definition 3 - Usage of SQL 4 - What is SQL used for? 5 - Who uses SQL? 6 - Definition of a Database 7 - What is SQL Developer? 8 Two The SQL Developer Interface 9 - Introduction

More information

Sql Server Syllabus. Overview

Sql Server Syllabus. Overview Sql Server Syllabus Overview This SQL Server training teaches developers all the Transact-SQL skills they need to create database objects like Tables, Views, Stored procedures & Functions and triggers

More information

6232B: Implementing a Microsoft SQL Server 2008 R2 Database

6232B: Implementing a Microsoft SQL Server 2008 R2 Database 6232B: Implementing a Microsoft SQL Server 2008 R2 Database Course Overview This instructor-led course is intended for Microsoft SQL Server database developers who are responsible for implementing a database

More information

Data Warehouse Tuning. Without SQL Modification

Data Warehouse Tuning. Without SQL Modification Data Warehouse Tuning Without SQL Modification Agenda About Me Tuning Objectives Data Access Profile Data Access Analysis Performance Baseline Potential Model Changes Model Change Testing Testing Results

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 19 Query Optimization Introduction Query optimization Conducted by a query optimizer in a DBMS Goal: select best available strategy for executing query Based on information available Most RDBMSs

More information

MTA Database Administrator Fundamentals Course

MTA Database Administrator Fundamentals Course MTA Database Administrator Fundamentals Course Session 1 Section A: Database Tables Tables Representing Data with Tables SQL Server Management Studio Section B: Database Relationships Flat File Databases

More information

.. Spring 2008 CSC 468: DBMS Implementation Alexander Dekhtyar..

.. Spring 2008 CSC 468: DBMS Implementation Alexander Dekhtyar.. .. Spring 2008 CSC 468: DBMS Implementation Alexander Dekhtyar.. Tuning Oracle Query Execution Performance The performance of SQL queries in Oracle can be modified in a number of ways: By selecting a specific

More information

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10 Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10 RAJIV GANDHI COLLEGE OF ENGINEERING & TECHNOLOGY, KIRUMAMPAKKAM-607 402 DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

More information

Oracle XML DB Design Guidelines

Oracle XML DB Design Guidelines Oracle XML DB Design Guidelines Zhen Hua Liu, Consulting Member of Technical Staff Sivasankaran Chandrasekar, Consulting Member of Technical Staff Mark Drake, XMLDB Product Manager

More information

CMSC 461 Final Exam Study Guide

CMSC 461 Final Exam Study Guide CMSC 461 Final Exam Study Guide Study Guide Key Symbol Significance * High likelihood it will be on the final + Expected to have deep knowledge of can convey knowledge by working through an example problem

More information

Using SQL with SQL Developer Part II

Using SQL with SQL Developer Part II One Data Manipulation in SQL Developer 2 Introduction 3 Updating a record in Data 4 Updating a Primary Key in Data 6 Reverting Changes using Refresh 7 Updating a table with a trigger in Data 8 Deleting

More information

T-SQL Training: T-SQL for SQL Server for Developers

T-SQL Training: T-SQL for SQL Server for Developers Duration: 3 days T-SQL Training Overview T-SQL for SQL Server for Developers training teaches developers all the Transact-SQL skills they need to develop queries and views, and manipulate data in a SQL

More information

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe

Introduction to Query Processing and Query Optimization Techniques. Copyright 2011 Ramez Elmasri and Shamkant Navathe Introduction to Query Processing and Query Optimization Techniques Outline Translating SQL Queries into Relational Algebra Algorithms for External Sorting Algorithms for SELECT and JOIN Operations Algorithms

More information

Oracle Database 11gR2 Optimizer Insights

Oracle Database 11gR2 Optimizer Insights Oracle Database 11gR2 Optimizer Insights Marcus Bender Distinguished Sales Consultant Presales Fellow Strategic Technical Support (STU) ORACLE Deutschland GmbH, Geschäftsstelle Hamburg Parallel Execution

More information

Language. f SQL. Larry Rockoff COURSE TECHNOLOGY. Kingdom United States. Course Technology PTR. A part ofcenqaqe Learninq

Language. f SQL. Larry Rockoff COURSE TECHNOLOGY. Kingdom United States. Course Technology PTR. A part ofcenqaqe Learninq Language f SQL Larry Rockoff Course Technology PTR A part ofcenqaqe Learninq *, COURSE TECHNOLOGY!» CENGAGE Learning- Australia Brazil Japan Korea Mexico Singapore Spain United Kingdom United States '

More information

20761 Querying Data with Transact SQL

20761 Querying Data with Transact SQL Course Overview The main purpose of this course is to give students a good understanding of the Transact-SQL language which is used by all SQL Server-related disciplines; namely, Database Administration,

More information

Chapter 7. Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel

Chapter 7. Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel Chapter 7 Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel 1 In this chapter, you will learn: The basic commands

More information

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course:

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: 20762C Developing SQL 2016 Databases Module 1: An Introduction to Database Development Introduction to the

More information

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015 MySQL Database Administrator Training Day 1: AGENDA Introduction to MySQL MySQL Overview MySQL Database Server Editions MySQL Products MySQL Services and Support MySQL Resources Example Databases MySQL

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Overview Catalog Information for Cost Estimation $ Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Transformation

More information

DRAFT SOLUTION. Query 1(a) DATABASE MANAGEMENT SYSTEMS PRACTICE 1

DRAFT SOLUTION. Query 1(a) DATABASE MANAGEMENT SYSTEMS PRACTICE 1 DATABASE MANAGEMENT SYSTEMS PRACTICE 1 DRAFT SOLUTION Remark: Solutions in Algebra reflects the choices and the values returned by the Oracle Optimizer. Query 1(a) The Oracle optimizer prefers to use the

More information

Google-like search within Advanced Item Search (EBS)

Google-like search within Advanced Item Search (EBS) Google-like search within Advanced Item Search (EBS) Gagandeep Pahwa Senior Developer HD Supply Challenge in Business Application Oracle EBS Item Search function took 30-90 seconds per search becoming

More information

Using SQL with SQL Developer 18.1 Part II

Using SQL with SQL Developer 18.1 Part II One Data Manipulation in SQL Developer 2 - Introduction 3 - Updating a record in Data 4 - Updating a Primary Key in Data 6 - Reverting Changes using Refresh 7 - Updating a table with a trigger in Data

More information

Query Processing & Optimization

Query Processing & Optimization Query Processing & Optimization 1 Roadmap of This Lecture Overview of query processing Measures of Query Cost Selection Operation Sorting Join Operation Other Operations Evaluation of Expressions Introduction

More information

Sql Cannot Create Index On View Not Schema Bound

Sql Cannot Create Index On View Not Schema Bound Sql Cannot Create Index On View Not Schema Bound to a Table. Issues with schema binding, view indexing So I go to index the view, but I can't because it's not schemabound. Cannot schema bind view 'dbo.

More information

Oracle SQL & PL SQL Course

Oracle SQL & PL SQL Course Oracle SQL & PL SQL Course Complete Practical & Real-time Training Job Support Complete Practical Real-Time Scenarios Resume Preparation Lab Access Training Highlights Placement Support Support Certification

More information

Oracle Database: Introduction to SQL Ed 2

Oracle Database: Introduction to SQL Ed 2 Oracle University Contact Us: +40 21 3678820 Oracle Database: Introduction to SQL Ed 2 Duration: 5 Days What you will learn This Oracle Database 12c: Introduction to SQL training helps you write subqueries,

More information

Chapter 3. Algorithms for Query Processing and Optimization

Chapter 3. Algorithms for Query Processing and Optimization Chapter 3 Algorithms for Query Processing and Optimization Chapter Outline 1. Introduction to Query Processing 2. Translating SQL Queries into Relational Algebra 3. Algorithms for External Sorting 4. Algorithms

More information

CMPUT 391 Database Management Systems. Query Processing: The Basics. Textbook: Chapter 10. (first edition: Chapter 13) University of Alberta 1

CMPUT 391 Database Management Systems. Query Processing: The Basics. Textbook: Chapter 10. (first edition: Chapter 13) University of Alberta 1 CMPUT 391 Database Management Systems Query Processing: The Basics Textbook: Chapter 10 (first edition: Chapter 13) Based on slides by Lewis, Bernstein and Kifer University of Alberta 1 External Sorting

More information

MySQL for Beginners Ed 3

MySQL for Beginners Ed 3 MySQL for Beginners Ed 3 Duration: 4 Days What you will learn The MySQL for Beginners course helps you learn about the world's most popular open source database. Expert Oracle University instructors will

More information

Data about data is database Select correct option: True False Partially True None of the Above

Data about data is database Select correct option: True False Partially True None of the Above Within a table, each primary key value. is a minimal super key is always the first field in each table must be numeric must be unique Foreign Key is A field in a table that matches a key field in another

More information

Query Optimizer MySQL vs. PostgreSQL

Query Optimizer MySQL vs. PostgreSQL Percona Live, Frankfurt (DE), 7 November 2018 Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1 Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1 Chapter 25 Distributed Databases and Client-Server Architectures Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 25 Outline

More information

Case Study: Active-Active Solutions using Oracle Data Guard. Aris Prassinos Chief Engineer MorphoTrak

Case Study: Active-Active Solutions using Oracle Data Guard. Aris Prassinos Chief Engineer MorphoTrak Case Study: Active-Active Solutions using Oracle Data Guard Aris Prassinos Chief Engineer MorphoTrak 1 Introduction This case study discusses MorphoTrak s experiences using Oracle Active Data Guard as

More information

Oracle Database 11g: SQL and PL/SQL Fundamentals

Oracle Database 11g: SQL and PL/SQL Fundamentals Oracle University Contact Us: +33 (0) 1 57 60 20 81 Oracle Database 11g: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn In this course, students learn the fundamentals of SQL and PL/SQL

More information

Database System Concepts

Database System Concepts Chapter 13: Query Processing s Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth

More information

Adaptive

Adaptive Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH @ChrisAntognini Senior

More information

20461: Querying Microsoft SQL Server 2014 Databases

20461: Querying Microsoft SQL Server 2014 Databases Course Outline 20461: Querying Microsoft SQL Server 2014 Databases Module 1: Introduction to Microsoft SQL Server 2014 This module introduces the SQL Server platform and major tools. It discusses editions,

More information

ORACLE DATABASE 12C INTRODUCTION

ORACLE DATABASE 12C INTRODUCTION SECTOR / IT NON-TECHNICAL & CERTIFIED TRAINING COURSE In this training course, you gain the skills to unleash the power and flexibility of Oracle Database 12c, while gaining a solid foundation of database

More information

CMSC424: Database Design. Instructor: Amol Deshpande

CMSC424: Database Design. Instructor: Amol Deshpande CMSC424: Database Design Instructor: Amol Deshpande amol@cs.umd.edu Databases Data Models Conceptual representa1on of the data Data Retrieval How to ask ques1ons of the database How to answer those ques1ons

More information

20762B: DEVELOPING SQL DATABASES

20762B: DEVELOPING SQL DATABASES ABOUT THIS COURSE This five day instructor-led course provides students with the knowledge and skills to develop a Microsoft SQL Server 2016 database. The course focuses on teaching individuals how to

More information

Query Optimizer MySQL vs. PostgreSQL

Query Optimizer MySQL vs. PostgreSQL Percona Live, Santa Clara (USA), 24 April 2018 Christian Antognini @ChrisAntognini antognini.ch/blog BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH

More information

Oracle 11g Invisible Indexes Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc.

Oracle 11g Invisible Indexes   Inderpal S. Johal. Inderpal S. Johal, Data Softech Inc. ORACLE 11G INVISIBLE INDEXES Inderpal S. Johal, Data Softech Inc. INTRODUCTION In this document we will work on another Oracle 11g interesting feature called Invisible Indexes. This will be very helpful

More information

IBM DB2 UDB V7.1 Family Fundamentals.

IBM DB2 UDB V7.1 Family Fundamentals. IBM 000-512 DB2 UDB V7.1 Family Fundamentals http://killexams.com/exam-detail/000-512 Answer: E QUESTION: 98 Given the following: A table containing a list of all seats on an airplane. A seat consists

More information

JSON Home Improvement. Christophe Pettus PostgreSQL Experts, Inc. SCALE 14x, January 2016

JSON Home Improvement. Christophe Pettus PostgreSQL Experts, Inc. SCALE 14x, January 2016 JSON Home Improvement Christophe Pettus PostgreSQL Experts, Inc. SCALE 14x, January 2016 Greetings! Christophe Pettus CEO, PostgreSQL Experts, Inc. thebuild.com personal blog. pgexperts.com company website.

More information

Oracle Syllabus Course code-r10605 SQL

Oracle Syllabus Course code-r10605 SQL Oracle Syllabus Course code-r10605 SQL Writing Basic SQL SELECT Statements Basic SELECT Statement Selecting All Columns Selecting Specific Columns Writing SQL Statements Column Heading Defaults Arithmetic

More information

Chapter 17 Indexing Structures for Files and Physical Database Design

Chapter 17 Indexing Structures for Files and Physical Database Design Chapter 17 Indexing Structures for Files and Physical Database Design We assume that a file already exists with some primary organization unordered, ordered or hash. The index provides alternate ways to

More information

Microsoft. [MS20762]: Developing SQL Databases

Microsoft. [MS20762]: Developing SQL Databases [MS20762]: Developing SQL Databases Length : 5 Days Audience(s) : IT Professionals Level : 300 Technology : Microsoft SQL Server Delivery Method : Instructor-led (Classroom) Course Overview This five-day

More information

Chapter 1 SQL and Data

Chapter 1 SQL and Data Chapter 1 SQL and Data What is SQL? Structured Query Language An industry-standard language used to access & manipulate data stored in a relational database E. F. Codd, 1970 s IBM 2 What is Oracle? A relational

More information

Oracle Compare Two Database Tables Sql Query List All

Oracle Compare Two Database Tables Sql Query List All Oracle Compare Two Database Tables Sql Query List All We won't show you that ad again. I need to implement comparing 2 tables by set of keys (columns of compared tables). This pl/sql stored procedure works

More information

Table of Contents. PDF created with FinePrint pdffactory Pro trial version

Table of Contents. PDF created with FinePrint pdffactory Pro trial version Table of Contents Course Description The SQL Course covers relational database principles and Oracle concepts, writing basic SQL statements, restricting and sorting data, and using single-row functions.

More information

Creating Tables, Defining Constraints. Rose-Hulman Institute of Technology Curt Clifton

Creating Tables, Defining Constraints. Rose-Hulman Institute of Technology Curt Clifton Creating Tables, Defining Constraints Rose-Hulman Institute of Technology Curt Clifton Outline Data Types Creating and Altering Tables Constraints Primary and Foreign Key Constraints Row and Tuple Checks

More information

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH

Private Institute of Aga NETWORK DATABASE LECTURER NIYAZ M. SALIH Private Institute of Aga 2018 NETWORK DATABASE LECTURER NIYAZ M. SALIH Data Definition Language (DDL): String data Types: Data Types CHAR(size) NCHAR(size) VARCHAR2(size) Description A fixed-length character

More information

Developing SQL Databases

Developing SQL Databases Course 20762B: Developing SQL Databases Page 1 of 9 Developing SQL Databases Course 20762B: 4 days; Instructor-Led Introduction This four-day instructor-led course provides students with the knowledge

More information

Storage hierarchy. Textbook: chapters 11, 12, and 13

Storage hierarchy. Textbook: chapters 11, 12, and 13 Storage hierarchy Cache Main memory Disk Tape Very fast Fast Slower Slow Very small Small Bigger Very big (KB) (MB) (GB) (TB) Built-in Expensive Cheap Dirt cheap Disks: data is stored on concentric circular

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW 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 fundamentals of SQL and PL/SQL along with the

More information

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9)

MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 6 Professional Program: Data Administration and Management MANAGING DATA(BASES) USING SQL (NON-PROCEDURAL SQL, X401.9) AGENDA

More information

Seminar: Presenter: Oracle Database Objects Internals. Oren Nakdimon.

Seminar: Presenter: Oracle Database Objects Internals. Oren Nakdimon. Seminar: Oracle Database Objects Internals Presenter: Oren Nakdimon www.db-oriented.com oren@db-oriented.com 054-4393763 @DBoriented 1 Oren Nakdimon Who Am I? Chronology by Oracle years When What Where

More information

Chapter 12: Indexing and Hashing. Basic Concepts

Chapter 12: Indexing and Hashing. Basic Concepts Chapter 12: Indexing and Hashing! Basic Concepts! Ordered Indices! B+-Tree Index Files! B-Tree Index Files! Static Hashing! Dynamic Hashing! Comparison of Ordered Indexing and Hashing! Index Definition

More information

Oracle Database: SQL and PL/SQL Fundamentals Ed 2

Oracle Database: SQL and PL/SQL Fundamentals Ed 2 Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Oracle Database: SQL and PL/SQL Fundamentals Ed 2 Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals

More information

DB2 SQL Class Outline

DB2 SQL Class Outline DB2 SQL Class Outline The Basics of SQL Introduction Finding Your Current Schema Setting Your Default SCHEMA SELECT * (All Columns) in a Table SELECT Specific Columns in a Table Commas in the Front or

More information

Venezuela: Teléfonos: / Colombia: Teléfonos:

Venezuela: Teléfonos: / Colombia: Teléfonos: CONTENIDO PROGRAMÁTICO Moc 20761: Querying Data with Transact SQL Module 1: Introduction to Microsoft SQL Server This module introduces SQL Server, the versions of SQL Server, including cloud versions,

More information

3ISY402 DATABASE SYSTEMS

3ISY402 DATABASE SYSTEMS 3ISY402 DATABASE SYSTEMS - SQL: Data Definition 1 Leena Gulabivala Material from essential text: T CONNOLLY & C BEGG. Database Systems A Practical Approach to Design, Implementation and Management, 4th

More information

Top 7 Plan Stability Pitfalls & How to Avoid Them. Neil Chandler Chandler Systems Ltd UK

Top 7 Plan Stability Pitfalls & How to Avoid Them. Neil Chandler Chandler Systems Ltd UK Top 7 Plan Stability Pitfalls & How to Avoid Them Neil Chandler Chandler Systems Ltd UK Keywords: SQL Optimizer Plan Change Stability Outlines Baselines Plan Directives Introduction When you write some

More information

Outline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012

Outline. Database Management and Tuning. Outline. Join Strategies Running Example. Index Tuning. Johann Gamper. Unit 6 April 12, 2012 Outline Database Management and Tuning Johann Gamper Free University of Bozen-Bolzano Faculty of Computer Science IDSE Unit 6 April 12, 2012 1 Acknowledgements: The slides are provided by Nikolaus Augsten

More information

Chapter 12: Indexing and Hashing

Chapter 12: Indexing and Hashing Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree Index Files Static Hashing Dynamic Hashing Comparison of Ordered Indexing and Hashing Index Definition in SQL

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including

More information

Motivation and basic concepts Storage Principle Query Principle Index Principle Implementation and Results Conclusion

Motivation and basic concepts Storage Principle Query Principle Index Principle Implementation and Results Conclusion JSON Schema-less into RDBMS Most of the material was taken from the Internet and the paper JSON data management: sup- porting schema-less development in RDBMS, Liu, Z.H., B. Hammerschmidt, and D. McMahon,

More information

Data Storage and Query Answering. Data Storage and Disk Structure (4)

Data Storage and Query Answering. Data Storage and Disk Structure (4) Data Storage and Query Answering Data Storage and Disk Structure (4) Introduction We have introduced secondary storage devices, in particular disks. Disks use blocks as basic units of transfer and storage.

More information

Query optimization. Elena Baralis, Silvia Chiusano Politecnico di Torino. DBMS Architecture D B M G. Database Management Systems. Pag.

Query optimization. Elena Baralis, Silvia Chiusano Politecnico di Torino. DBMS Architecture D B M G. Database Management Systems. Pag. Database Management Systems DBMS Architecture SQL INSTRUCTION OPTIMIZER MANAGEMENT OF ACCESS METHODS CONCURRENCY CONTROL BUFFER MANAGER RELIABILITY MANAGEMENT Index Files Data Files System Catalog DATABASE

More information

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1)

Algorithms for Query Processing and Optimization. 0. Introduction to Query Processing (1) Chapter 19 Algorithms for Query Processing and Optimization 0. Introduction to Query Processing (1) Query optimization: The process of choosing a suitable execution strategy for processing a query. Two

More information

CS 186 Midterm, Spring 2003 Page 1

CS 186 Midterm, Spring 2003 Page 1 UNIVERSITY OF CALIFORNIA College of Engineering Department of EECS, Computer Science Division CS 186 Spring 2003 J. Hellerstein Midterm Midterm Exam: Introduction to Database Systems This exam has five

More information

Oracle In-Memory & Data Warehouse: The Perfect Combination?

Oracle In-Memory & Data Warehouse: The Perfect Combination? : The Perfect Combination? UKOUG Tech17, 6 December 2017 Dani Schnider, Trivadis AG @dani_schnider danischnider.wordpress.com BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN

More information

1Z0-526

1Z0-526 1Z0-526 Passing Score: 800 Time Limit: 4 min Exam A QUESTION 1 ABC's Database administrator has divided its region table into several tables so that the west region is in one table and all the other regions

More information

Querying Microsoft SQL Server (461)

Querying Microsoft SQL Server (461) Querying Microsoft SQL Server 2012-2014 (461) Create database objects Create and alter tables using T-SQL syntax (simple statements) Create tables without using the built in tools; ALTER; DROP; ALTER COLUMN;

More information

Oracle BI 11g R1: Build Repositories

Oracle BI 11g R1: Build Repositories Oracle BI 11g R1: Build Repositories Volume I - Student Guide D63514GC11 Edition 1.1 June 2011 D73309 Author Jim Sarokin Technical Contributors and Reviewers Marla Azriel Roger Bolsius Bob Ertl Alan Lee

More information

Sepand Gojgini. ColumnStore Index Primer

Sepand Gojgini. ColumnStore Index Primer Sepand Gojgini ColumnStore Index Primer SQLSaturday Sponsors! Titanium & Global Partner Gold Silver Bronze Without the generosity of these sponsors, this event would not be possible! Please, stop by the

More information

Chapter 13: Query Processing

Chapter 13: Query Processing Chapter 13: Query Processing! Overview! Measures of Query Cost! Selection Operation! Sorting! Join Operation! Other Operations! Evaluation of Expressions 13.1 Basic Steps in Query Processing 1. Parsing

More information

Real-World Performance Training Star Query Prescription

Real-World Performance Training Star Query Prescription Real-World Performance Training Star Query Prescription Real-World Performance Team Dimensional Queries 1 2 3 4 The Dimensional Model and Star Queries Star Query Execution Star Query Prescription Edge

More information

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Dr. S. Srinath Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 5 Structured Query Language Hello and greetings. In the ongoing

More information

Query Processing & Optimization. CS 377: Database Systems

Query Processing & Optimization. CS 377: Database Systems Query Processing & Optimization CS 377: Database Systems Recap: File Organization & Indexing Physical level support for data retrieval File organization: ordered or sequential file to find items using

More information

Unit Assessment Guide

Unit Assessment Guide Unit Assessment Guide Unit Details Unit code Unit name Unit purpose/application ICTWEB425 Apply structured query language to extract and manipulate data This unit describes the skills and knowledge required

More information

Review. Support for data retrieval at the physical level:

Review. Support for data retrieval at the physical level: Query Processing Review Support for data retrieval at the physical level: Indices: data structures to help with some query evaluation: SELECTION queries (ssn = 123) RANGE queries (100

More information

SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server Upcoming Dates. Course Description.

SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server Upcoming Dates. Course Description. SQL Server Development 20762: Developing SQL Databases in Microsoft SQL Server 2016 Learn how to design and Implement advanced SQL Server 2016 databases including working with tables, create optimized

More information

2 PL/SQL - fundamentals Variables and Constants Operators SQL in PL/SQL Control structures... 7

2 PL/SQL - fundamentals Variables and Constants Operators SQL in PL/SQL Control structures... 7 Table of Contents Spis treści 1 Introduction 1 2 PLSQL - fundamentals 1 2.1 Variables and Constants............................ 2 2.2 Operators.................................... 5 2.3 SQL in PLSQL.................................

More information

Physical Design. Elena Baralis, Silvia Chiusano Politecnico di Torino. Phases of database design D B M G. Database Management Systems. Pag.

Physical Design. Elena Baralis, Silvia Chiusano Politecnico di Torino. Phases of database design D B M G. Database Management Systems. Pag. Physical Design D B M G 1 Phases of database design Application requirements Conceptual design Conceptual schema Logical design ER or UML Relational tables Logical schema Physical design Physical schema

More information

T-SQL Performance Issues What you should know to avoid, find and resolve them. Claire Mora

T-SQL Performance Issues What you should know to avoid, find and resolve them. Claire Mora T-SQL Performance Issues What you should know to avoid, find and resolve them Claire Mora T-SQL Performance Issues What you should know to avoid, find and resolve them Preparing your environment Assessing

More information

Chapter 12: Query Processing

Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Overview Chapter 12: Query Processing Measures of Query Cost Selection Operation Sorting Join

More information

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 49 Plan of the course 1 Relational databases 2 Relational database design 3 Conceptual database design 4

More information

Chapter 12: Query Processing. Chapter 12: Query Processing

Chapter 12: Query Processing. Chapter 12: Query Processing Chapter 12: Query Processing Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Chapter 12: Query Processing Overview Measures of Query Cost Selection Operation Sorting Join

More information