R-SQL: An SQL Database System with Extended Recursion
|
|
|
- Marshall Carson
- 10 years ago
- Views:
Transcription
1 R-SQL: An SQL Database System with Extended Recursion Gabriel Aranda-López, Susana Nieva, Fernando Saénz-Pérez and Jaime Sánchez-Hernández Universidad Complutense, Madrid XVIII Jornadas de Programación y Lenguajes Madrid, 20 de Septiembre, 2013
2 The Structured Query Language (SQL) SQL is a programming language designed for managing data in relational database management systems (DBMS) and it became an ANSI standard in 1986, and an ISO standard in It is widely considered a declarative language, but most of the DBMS include 4th generation languages. Since then, the standard has been enhanced several times with added features.
3 Limited Expression of Recursion of SQL Recursion was included in SQL-99 standard, but: Only linear recursion is allowed. Mutual recursion is not supported. Cycles in graphs makes SQL systems go into an infinite loop. In this work, we present R-SQL system to solve these limitations.
4 Plan of the talk Introduction. System Overview. Database definition. Syntax. Some examples. Fixpoint computation. Dependency Graph and Stratification. Python Code Generation An algorithm to compute the fixpoint. Integration into a DBMS. System Demostration
5 System Structure
6 Database Definition
7 R-SQL Syntax (I) Main Idea To define recursive relations as: R Sch := SELECT... FROM R1... R... Rn...
8 R-SQL Syntax (II) sql db ::= R sch := sel stm;... R sch := sel stm; sel stm ::= select exp,..,exp [from R,..,R [where c]] sel stm union sel stm sel stm except R sch ::= (A T,...,A T) exp ::= C R.A exp opm exp - exp c ::= true false exp opc exp not (c) c [ and or ] c
9 Example 1: Mutual Recursion Even/Odd Numbers in even(x float) := SELECT 0 UNION SELECT odd.x+1 FROM odd WHERE odd.x<100; odd(x float) := SELECT even.x+1 FROM even WHERE even.x<100;
10 Example 2: Non-Linear Recursion Fibonacci Numbers fib1(n float, f float) := SELECT fib.n, fib.f FROM fib; fib2(n float, f float) := SELECT fib.n, fib.f FROM fib; fib(n float, f float) := SELECT 0,1 UNION SELECT 1,1 UNION SELECT fib1.n+1,fib1.f+fib2.f FROM fib1,fib2 WHERE fib1.n=fib2.n+1 AND fib1.n<10;
11 Example 3: Cycle in Graph arc(ori varchar(1), des varchar(1)) := SELECT a, b UNION SELECT b, c UNION SELECT c, a ; path(ori varchar(1), des varchar(1)) := SELECT arc.ori, arc.des FROM arc UNION SELECT arc.ori, path.des FROM arc,path WHERE arc.des=path.ori;
12 Fixpoint Computation
13 Stratified Fixpoint Semantics for R-SQL Analogously to Datalog: A depencency graph is defined using relation definitions. An except clause plays the role of negation. A stratification of the database relations is obtained from the dependency graph. The stratification is used to compute the least fixpoint interpretation, stratum by stratum.
14 System Structure
15 Example 3: Extended Graph arc(ori varchar(1), des varchar(1)) := SELECT a, b UNION SELECT b, c UNION SELECT c, a ; path(ori varchar(1), des varchar(1)) := SELECT arc.ori, arc.des FROM arc UNION SELECT arc.ori, path.des FROM arc,path WHERE arc.des=path.ori; bpath(ori varchar(10), des varchar(10)) := SELECT path.ori, path.des FROM path WHERE (path.ori = b OR path.des = b ); avoid_b(ori varchar(10), des varchar(10)) := SELECT path.ori, path.des FROM path EXCEPT bpath;
16 Dependency Graph and Stratification arc := select a, b union select b, c union select c, a ; path := select * from arc union select... from arc, path...; bpath := select path.ori, path.des from path where...; avoid b := select path.ori, path.des from path except bpath; Stratification [(arc, 1), (path, 1), (bpath, 1), (avoid_b, 2)]
17 System Structure
18 Interpretation of Select Statements Given an interpretation I: {R1,..., Rn} P(T ), we define the semantics of a sel stm in the context of I as: [[select exp 1,..., exp k ]] I = {(exp 1,..., exp k )}. [[select exp 1,..., exp k from R 1,..., R m where c]] I = {(exp 1 [a/a],..., exp k [a/a]) a I(R 1 )... I(R m ) and c[a/a] is satisfied}. [[sel stm 1 union sel stm 2 ]] I = [[sel stm 1 ]] I [[sel stm 2 ]] I. [[sel stm except R]] I = [[sel stm]] I \ I(R).
19 Example 1: Even/Odd Numbers Given I(even) = {(0), (2)} and I(odd)=. Semantics of odd in the context of I [[SELECT even.x+1 FROM even WHERE even.x<100]] I = {(even.x+1)[a/even.x] (a) I(even) and (even.x<100) [a/even.x]is satisfied} = {(1), (3)}.
20 Example 1: Even/Odd Numbers, Intended Semantics I(even) = {(0), (2),..., (100)} = [[SELECT 0 UNION SELECT odd.x+1 FROM odd WHERE x<100]] I I(odd) = {(1), (3),..., (99)} = [[SELECT even.x+1 FROM even WHERE even.x<100]] I
21 Fixpoint Interpretation We define an operator over the set of interpretations of stratum i. T i is successively applied to minimal interpretations to obtain the interpretation fixpoint. For a definition of the form R sch := sel stm, in stratum i: T i (I)(R) = [[sel stm]] I The database semantics is a fixpoint fix i = n 0 T n i (fix i 1 ) where i is the number of strata.
22 Example of the Computation of the Fixpoint T1 n( )(path) Added tuples at each iteration T1 1 ( )(path) {( a, b ), ( b, c ), ( c, a ) }, T1 2 ( )(path) {( a, c ), ( b, a ), ( c, b ) }, ( )(path) {( a, a ), ( b, b ), ( c, c ) }, T 3 1
23 Example of the Computation of the Fixpoint T1 n( )(path) Added tuples at each iteration T1 1 ( )(path) {( a, b ), ( b, c ), ( c, a ) }, T1 2 ( )(path) {( a, c ), ( b, a ), ( c, b ) }, ( )(path) {( a, a ), ( b, b ), ( c, c ) }, T 3 1 All these tuples are fix 1 ( )(path).
24 Example of the Computation of the Fixpoint T1 n( )(path) Added tuples at each iteration T1 1 ( )(path) {( a, b ), ( b, c ), ( c, a ) }, T1 2 ( )(path) {( a, c ), ( b, a ), ( c, b ) }, ( )(path) {( a, a ), ( b, b ), ( c, c ) }, T 3 1 All these tuples are fix 1 ( )(path). Similarly, we obtain tuples for arc y bpath to complete fix 1.
25 Example of the Computation of the Fixpoint T1 n( )(path) Added tuples at each iteration T1 1 ( )(path) {( a, b ), ( b, c ), ( c, a ) }, T1 2 ( )(path) {( a, c ), ( b, a ), ( c, b ) }, ( )(path) {( a, a ), ( b, b ), ( c, c ) }, T 3 1 All these tuples are fix 1 ( )(path). Similarly, we obtain tuples for arc y bpath to complete fix 1. Then, fix 2 (fix 1 )(avoid b) is computed to obtain fix 2, which is the database fixpoint.
26 Algorithm for Computing the Fixpoint str:=1 while str numstr do for each R i R str do create table R i sch i change := true while change do size := rel size sum(r str) for each R i R str do insert into R i select * from sel stm i except select * from R i ; change = (size rel size sum(r str)) end while str:=str+1 end while
27 System Structure
28 Example of Code Generation (I) 1 st stratum arc(ori varchar(1), des varchar(1)) := SELECT a, b UNION SELECT b, c UNION SELECT c, a ; path(ori varchar(1), des varchar(1)) := SELECT arc.ori, arc.des FROM arc UNION SELECT arc.ori, path.des FROM arc,path WHERE arc.des=path.ori; bpath(ori varchar(10), des varchar(10)) := SELECT path.ori, path.des FROM path WHERE (path.ori = b OR path.des = b ); 2 nd stratum avoid_b(ori varchar(1), des varchar(1)) := SELECT path.ori, path.des FROM path EXCEPT bpath;
29 Example of Code Generation (I) Python code produced by R-SQL for Stratum 2 cursor.execute("create table avoid_b (...);") ch = True while ch: size1=0 size2=0 ch=false cursor.execute("select * from avoid_b;") res=cursor.fetchall() size1= size1 + len(res) cursor.execute("insert into avoid_b (((select * from path) except (select * from bpath)) except (select * from avoid_b));") cursor.execute("select * from avoid_b;") res=cursor.fetchall() size2= size2 + len(res) ch = (size1!= size2)
30 System Structure
31 Integrating R-SQL into a DBMS Once a R-SQL database definition has been processed, the tables obtained are stored as a database instance of PostgreSQL and the user can: Formulate queries that will be solved using those tables. Define views that can be used in conjunction with other regular views that can either computed on demand or can be materialized.
32 Integrating R-SQL into a DBMS Once a R-SQL database definition has been processed, the tables obtained are stored as a database instance of PostgreSQL and the user can: Formulate queries that will be solved using those tables. Define views that can be used in conjunction with other regular views that can either computed on demand or can be materialized. But, the main goal of the proposal is to allow less-restricted recursive relation definitions in existing SQL engines.
33 System Demostration The implementation is available at:
34 Thanks!
CSE 880. Advanced Database Systems. Active Database Design Issues
CSE 880 Advanced Database Systems Active Database Design Issues S. Pramanik 1 Design Principles for Active Databases 1. Problems: Complex interactions due to cascading of triggers. Unknown side effects
SQL Tables, Keys, Views, Indexes
CS145 Lecture Notes #8 SQL Tables, Keys, Views, Indexes Creating & Dropping Tables Basic syntax: CREATE TABLE ( DROP TABLE ;,,..., ); Types available: INT or INTEGER REAL or FLOAT CHAR( ), VARCHAR( ) DATE,
Databases 2011 The Relational Model and SQL
Databases 2011 Christian S. Jensen Computer Science, Aarhus University What is a Database? Main Entry: da ta base Pronunciation: \ˈdā-tə-ˌbās, ˈda- also ˈdä-\ Function: noun Date: circa 1962 : a usually
Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems.
Active database systems Database Management Systems Traditional DBMS operation is passive Queries and updates are explicitly requested by users The knowledge of processes operating on data is typically
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
What Is Recursion? Recursion. Binary search example postponed to end of lecture
Recursion Binary search example postponed to end of lecture What Is Recursion? Recursive call A method call in which the method being called is the same as the one making the call Direct recursion Recursion
14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:
14 Databases 14.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define a database and a database management system (DBMS)
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
Transaction Management Overview
Transaction Management Overview Chapter 16 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Transactions Concurrent execution of user programs is essential for good DBMS performance. Because
SQL is capable in manipulating relational data SQL is not good for many other tasks
Embedded SQL SQL Is Not for All SQL is capable in manipulating relational data SQL is not good for many other tasks Control structures: loops, conditional branches, Advanced data structures: trees, arrays,
How To Create A Table In Sql 2.5.2.2 (Ahem)
Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or
Oracle 10g PL/SQL Training
Oracle 10g PL/SQL Training Course Number: ORCL PS01 Length: 3 Day(s) Certification Exam This course will help you prepare for the following exams: 1Z0 042 1Z0 043 Course Overview PL/SQL is Oracle's Procedural
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification
Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries
EECS 647: Introduction to Database Systems
EECS 647: Introduction to Database Systems Instructor: Luke Huan Spring 2013 Administrative Take home background survey is due this coming Friday The grader of this course is Ms. Xiaoli Li and her email
CSI 2132 Lab 3. Outline 09/02/2012. More on SQL. Destroying and Altering Relations. Exercise: DROP TABLE ALTER TABLE SELECT
CSI 2132 Lab 3 More on SQL 1 Outline Destroying and Altering Relations DROP TABLE ALTER TABLE SELECT Exercise: Inserting more data into previous tables Single-table queries Multiple-table queries 2 1 Destroying
IT2304: Database Systems 1 (DBS 1)
: Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation
William E. Hart Carl Laird Jean-Paul Watson David L. Woodruff. Pyomo Optimization. Modeling in Python. ^ Springer
William E Hart Carl Laird Jean-Paul Watson David L Woodruff Pyomo Optimization Modeling in Python ^ Springer Contents 1 Introduction 1 11 Mathematical Modeling 1 12 Modeling Languages for Optimization
In This Lecture. SQL Data Definition SQL SQL. Notes. Non-Procedural Programming. Database Systems Lecture 5 Natasha Alechina
This Lecture Database Systems Lecture 5 Natasha Alechina The language, the relational model, and E/R diagrams CREATE TABLE Columns Primary Keys Foreign Keys For more information Connolly and Begg chapter
Maintaining Stored Procedures in Database Application
Maintaining Stored Procedures in Database Application Santosh Kakade 1, Rohan Thakare 2, Bhushan Sapare 3, Dr. B.B. Meshram 4 Computer Department VJTI, Mumbai 1,2,3. Head of Computer Department VJTI, Mumbai
Data exchange. L. Libkin 1 Data Integration and Exchange
Data exchange Source schema, target schema; need to transfer data between them. A typical scenario: Two organizations have their legacy databases, schemas cannot be changed. Data from one organization
CS 564: DATABASE MANAGEMENT SYSTEMS
Fall 2013 CS 564: DATABASE MANAGEMENT SYSTEMS 9/4/13 CS 564: Database Management Systems, Jignesh M. Patel 1 Teaching Staff Instructor: Jignesh Patel, [email protected] Office Hours: Mon, Wed 1:30-2:30
Introduction to Programming (in C++) Loops. Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer Science, UPC
Introduction to Programming (in C++) Loops Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer Science, UPC Example Assume the following specification: Input: read a number N > 0 Output:
Example. Introduction to Programming (in C++) Loops. The while statement. Write the numbers 1 N. Assume the following specification:
Example Introduction to Programming (in C++) Loops Assume the following specification: Input: read a number N > 0 Output: write the sequence 1 2 3 N (one number per line) Jordi Cortadella, Ricard Gavaldà,
SQL NULL s, Constraints, Triggers
CS145 Lecture Notes #9 SQL NULL s, Constraints, Triggers Example schema: CREATE TABLE Student (SID INTEGER PRIMARY KEY, name CHAR(30), age INTEGER, GPA FLOAT); CREATE TABLE Take (SID INTEGER, CID CHAR(10),
SQL: Programming. Introduction to Databases CompSci 316 Fall 2014
SQL: Programming Introduction to Databases CompSci 316 Fall 2014 2 Announcements (Tue., Oct. 7) Homework #2 due today midnight Sample solution to be posted by tomorrow evening Midterm in class this Thursday
Outline. SAS-seminar Proc SQL, the pass-through facility. What is SQL? What is a database? What is Proc SQL? What is SQL and what is a database
Outline SAS-seminar Proc SQL, the pass-through facility How to make your data processing someone else s problem What is SQL and what is a database Quick introduction to Proc SQL The pass-through facility
Data Structure [Question Bank]
Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:
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,
Database Systems. Lecture Handout 1. Dr Paolo Guagliardo. University of Edinburgh. 21 September 2015
Database Systems Lecture Handout 1 Dr Paolo Guagliardo University of Edinburgh 21 September 2015 What is a database? A collection of data items, related to a specific enterprise, which is structured and
IT2305 Database Systems I (Compulsory)
Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this
Programming in Python V: Accessing a Database
Programming in Python V: Accessing a Database Computer Science 105 Boston University David G. Sullivan, Ph.D. Accessing a Database from Python Import the necessary Python module: import sqlite3 Connect
µz An Efficient Engine for Fixed points with Constraints
µz An Efficient Engine for Fixed points with Constraints Kryštof Hoder, Nikolaj Bjørner, and Leonardo de Moura Manchester University and Microsoft Research Abstract. The µz tool is a scalable, efficient
types, but key declarations and constraints Similar CREATE X commands for other schema ëdrop X name" deletes the created element of beer VARCHARè20è,
Dening a Database Schema CREATE TABLE name èlist of elementsè. Principal elements are attributes and their types, but key declarations and constraints also appear. Similar CREATE X commands for other schema
3. Relational Model and Relational Algebra
ECS-165A WQ 11 36 3. Relational Model and Relational Algebra Contents Fundamental Concepts of the Relational Model Integrity Constraints Translation ER schema Relational Database Schema Relational Algebra
The Import & Export of Data from a Database
The Import & Export of Data from a Database Introduction The aim of these notes is to investigate a conceptually simple model for importing and exporting data into and out of an object-relational database,
Chapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications
Chapter 13 SQL Programming Introduction to SQL Programming Techniques Database applications Host language Java, C/C++/C#, COBOL, or some other programming language Data sublanguage SQL SQL standards Continually
SQL injection: Not only AND 1=1. The OWASP Foundation. Bernardo Damele A. G. Penetration Tester Portcullis Computer Security Ltd
SQL injection: Not only AND 1=1 Bernardo Damele A. G. Penetration Tester Portcullis Computer Security Ltd [email protected] +44 7788962949 Copyright Bernardo Damele Assumpcao Guimaraes Permission
PostgreSQL Business Intelligence & Performance Simon Riggs CTO, 2ndQuadrant PostgreSQL Major Contributor
PostgreSQL Business Intelligence & Performance Simon Riggs CTO, 2ndQuadrant PostgreSQL Major Contributor The research leading to these results has received funding from the European Union's Seventh Framework
Programming Using Python
Introduction to Computation and Programming Using Python Revised and Expanded Edition John V. Guttag The MIT Press Cambridge, Massachusetts London, England CONTENTS PREFACE xiii ACKNOWLEDGMENTS xv 1 GETTING
On a Hadoop-based Analytics Service System
Int. J. Advance Soft Compu. Appl, Vol. 7, No. 1, March 2015 ISSN 2074-8523 On a Hadoop-based Analytics Service System Mikyoung Lee, Hanmin Jung, and Minhee Cho Korea Institute of Science and Technology
Programming Database lectures for mathema
Programming Database lectures for mathematics students April 25, 2015 Functions Functions are defined in Postgres with CREATE FUNCTION name(parameter type,...) RETURNS result-type AS $$ function-body $$
Advance DBMS. Structured Query Language (SQL)
Structured Query Language (SQL) Introduction Commercial database systems use more user friendly language to specify the queries. SQL is the most influential commercially marketed product language. Other
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
In-Memory Database: Query Optimisation. S S Kausik (110050003) Aamod Kore (110050004) Mehul Goyal (110050017) Nisheeth Lahoti (110050027)
In-Memory Database: Query Optimisation S S Kausik (110050003) Aamod Kore (110050004) Mehul Goyal (110050017) Nisheeth Lahoti (110050027) Introduction Basic Idea Database Design Data Types Indexing Query
SUBQUERIES AND VIEWS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6
SUBQUERIES AND VIEWS CS121: Introduction to Relational Database Systems Fall 2015 Lecture 6 String Comparisons and GROUP BY 2! Last time, introduced many advanced features of SQL, including GROUP BY! Recall:
CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS
66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one
Programming Exercises
s CMPS 5P (Professor Theresa Migler-VonDollen ): Assignment #8 Problem 6 Problem 1 Programming Exercises Modify the recursive Fibonacci program given in the chapter so that it prints tracing information.
Schema Mappings and Data Exchange
Schema Mappings and Data Exchange Phokion G. Kolaitis University of California, Santa Cruz & IBM Research-Almaden EASSLC 2012 Southwest University August 2012 1 Logic and Databases Extensive interaction
Database Systems. Lecture 1: Introduction
Database Systems Lecture 1: Introduction General Information Professor: Leonid Libkin Contact: [email protected] Lectures: Tuesday, 11:10am 1 pm, AT LT4 Website: http://homepages.inf.ed.ac.uk/libkin/teach/dbs09/index.html
Databases. DSIC. Academic Year 2010-2011
Databases DSIC. Academic Year 2010-2011 1 Lecturer José Hernández-Orallo Office 236, 2nd floor DSIC. Email: [email protected] http://www.dsic.upv.es/~jorallo/docent/bda/bdaeng.html Attention hours On
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1
Guide to SQL Programming: SQL:1999 and Oracle Rdb V7.1 A feature of Oracle Rdb By Ian Smith Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal SQL:1999 and Oracle Rdb V7.1 The
The Guru's Guide to Transact-SQL
The Guru's Guide to Transact-SQL Ken Henderson HLuHB Darmstadt TT 15169877 ADDISON-WESLEY Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney Tokyo Singapore Mexico
Course: Programming II - Abstract Data Types. The ADT Stack. A stack. The ADT Stack and Recursion Slide Number 1
Definition Course: Programming II - Abstract Data Types The ADT Stack The ADT Stack is a linear sequence of an arbitrary number of items, together with access procedures. The access procedures permit insertions
Big Data and Big Analytics
Big Data and Big Analytics Introducing SciDB Open source, massively parallel DBMS and analytic platform Array data model (rather than SQL, Unstructured, XML, or triple-store) Extensible micro-kernel architecture
Logic in general. Inference rules and theorem proving
Logical Agents Knowledge-based agents Logic in general Propositional logic Inference rules and theorem proving First order logic Knowledge-based agents Inference engine Knowledge base Domain-independent
CSE 233. Database System Overview
CSE 233 Database System Overview 1 Data Management An evolving, expanding field: Classical stand-alone databases (Oracle, DB2, SQL Server) Computer science is becoming data-centric: web knowledge harvesting,
ML for the Working Programmer
ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming
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
N3458: Simple Database Integration in C++11
N3458: Simple Database Integration in C++11 Thomas Neumann Technische Univeristät München [email protected] 2012-10-22 Many applications make use of relational database to store and query their data. However,
Shroudbase Technical Overview
Shroudbase Technical Overview Differential Privacy Differential privacy is a rigorous mathematical definition of database privacy developed for the problem of privacy preserving data analysis. Specifically,
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
Cassandra. References:
Cassandra References: Becker, Moritz; Sewell, Peter. Cassandra: Flexible Trust Management, Applied to Electronic Health Records. 2004. Li, Ninghui; Mitchell, John. Datalog with Constraints: A Foundation
5.1 Database Schema. 5.1.1 Schema Generation in SQL
5.1 Database Schema The database schema is the complete model of the structure of the application domain (here: relational schema): relations names of attributes domains of attributes keys additional constraints
Execution Strategies for SQL Subqueries
Execution Strategies for SQL Subqueries Mostafa Elhemali, César Galindo- Legaria, Torsten Grabs, Milind Joshi Microsoft Corp With additional slides from material in paper, added by S. Sudarshan 1 Motivation
Cobol. By: Steven Conner. COBOL, COmmon Business Oriented Language, one of the. oldest programming languages, was designed in the last six
Cobol By: Steven Conner History: COBOL, COmmon Business Oriented Language, one of the oldest programming languages, was designed in the last six months of 1959 by the CODASYL Committee, COnference on DAta
Database Design and Programming
Database Design and Programming Peter Schneider-Kamp DM 505, Spring 2012, 3 rd Quarter 1 Course Organisation Literature Database Systems: The Complete Book Evaluation Project and 1-day take-home exam,
DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?
DBMS Questions 1.) Which type of file is part of the Oracle database? A.) B.) C.) D.) Control file Password file Parameter files Archived log files 2.) Which statements are use to UNLOCK the user? A.)
CS346: Database Programming. http://warwick.ac.uk/cs346
CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)
Knowledge Engineering for Business Rules in PROLOG
Knowledge Engineering for Business Rules in PROLOG Ludwig Ostermayer, Dietmar Seipel University of Würzburg, Department of Computer Science Am Hubland, D 97074 Würzburg, Germany {ludwig.ostermayer,dietmar.seipel}@uni-wuerzburg.de
T Tutorial D - A Short Summary
A n d N o w f o r S o m e t h i n g C o m p l e t e l y C o m p u t a t i o n a l by C. J. Date July 17th, 2006 Myself when young did eagerly frequent Doctor and Saint, and heard great Argument About it
In This Lecture. Security and Integrity. Database Security. DBMS Security Support. Privileges in SQL. Permissions and Privilege.
In This Lecture Database Systems Lecture 14 Natasha Alechina Database Security Aspects of security Access to databases Privileges and views Database Integrity View updating, Integrity constraints For more
Normal Form vs. Non-First Normal Form
Normal Form vs. Non-First Normal Form Kristian Torp Department of Computer Science Aalborg Univeristy www.cs.aau.dk/ torp [email protected] September 1, 2009 daisy.aau.dk Kristian Torp (Aalborg University)
adaptive loading adaptive indexing dbtouch 3 Ideas for Big Data Exploration
adaptive loading adaptive indexing dbtouch Ideas for Big Data Exploration Stratos Idreos CWI, INS-, Amsterdam data is everywhere daily data years daily data years Eric Schmidt: Every two days we create
History of SQL. Relational Database Languages. Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG)
Relational Database Languages Tuple relational calculus ALPHA (Codd, 1970s) QUEL (based on ALPHA) Datalog (rule-based, like PROLOG) Domain relational calculus QBE (used in Access) History of SQL Standards:
Extending Data Processing Capabilities of Relational Database Management Systems.
Extending Data Processing Capabilities of Relational Database Management Systems. Igor Wojnicki University of Missouri St. Louis Department of Mathematics and Computer Science 8001 Natural Bridge Road
How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management)
How to Improve Database Connectivity With the Data Tools Platform John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management) 1 Agenda DTP Overview Creating a Driver Template Creating a
Triggers & Packages. {INSERT [OR] UPDATE [OR] DELETE}: This specifies the DML operation.
Triggers & Packages An SQL trigger is a mechanism that automatically executes a specified PL/SQL block (referred to as the triggered action) when a triggering event occurs on the table. The triggering
Translating WFS Query to SQL/XML Query
Translating WFS Query to SQL/XML Query Vânia Vidal, Fernando Lemos, Fábio Feitosa Departamento de Computação Universidade Federal do Ceará (UFC) Fortaleza CE Brazil {vvidal, fernandocl, fabiofbf}@lia.ufc.br
Databases in Engineering / Lab-1 (MS-Access/SQL)
COVER PAGE Databases in Engineering / Lab-1 (MS-Access/SQL) ITU - Geomatics 2014 2015 Fall 1 Table of Contents COVER PAGE... 0 1. INTRODUCTION... 3 1.1 Fundamentals... 3 1.2 How To Create a Database File
Database Query 1: SQL Basics
Database Query 1: SQL Basics CIS 3730 Designing and Managing Data J.G. Zheng Fall 2010 1 Overview Using Structured Query Language (SQL) to get the data you want from relational databases Learning basic
CSE 530A Database Management Systems. Introduction. Washington University Fall 2013
CSE 530A Database Management Systems Introduction Washington University Fall 2013 Overview Time: Mon/Wed 7:00-8:30 PM Location: Crow 206 Instructor: Michael Plezbert TA: Gene Lee Websites: http://classes.engineering.wustl.edu/cse530/
Data Structures and Algorithms Written Examination
Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where
Introduction to IR Systems: Supporting Boolean Text Search. Information Retrieval. IR vs. DBMS. Chapter 27, Part A
Introduction to IR Systems: Supporting Boolean Text Search Chapter 27, Part A Database Management Systems, R. Ramakrishnan 1 Information Retrieval A research field traditionally separate from Databases
Programming the SQL Way with Common Table Expressions
Programming the SQL Way with Common Table Expressions BRUCE MOMJIAN Common Table Expressions (CTEs allow queries to be more imperative, allowing looping and processing hierarchical structures that are
Part VI. Object-relational Data Models
Part VI Overview Object-relational Database Models Concepts of Object-relational Database Models Object-relational Features in Oracle10g Object-relational Database Models Object-relational Database Models
Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
Darshan Institute of Engineering & Technology PL_SQL
Explain the advantages of PL/SQL. Advantages of PL/SQL Block structure: PL/SQL consist of block of code, which can be nested within each other. Each block forms a unit of a task or a logical module. PL/SQL
Inside the PostgreSQL Query Optimizer
Inside the PostgreSQL Query Optimizer Neil Conway [email protected] Fujitsu Australia Software Technology PostgreSQL Query Optimizer Internals p. 1 Outline Introduction to query optimization Outline of
A Comparison of Database Query Languages: SQL, SPARQL, CQL, DMX
ISSN: 2393-8528 Contents lists available at www.ijicse.in International Journal of Innovative Computer Science & Engineering Volume 3 Issue 2; March-April-2016; Page No. 09-13 A Comparison of Database
Geodatabase Programming with SQL
DevSummit DC February 11, 2015 Washington, DC Geodatabase Programming with SQL Craig Gillgrass Assumptions Basic knowledge of SQL and relational databases Basic knowledge of the Geodatabase We ll hold
Query Processing C H A P T E R12. Practice Exercises
C H A P T E R12 Query Processing Practice Exercises 12.1 Assume (for simplicity in this exercise) that only one tuple fits in a block and memory holds at most 3 blocks. Show the runs created on each pass
Python for Rookies. Example Examination Paper
Python for Rookies Example Examination Paper Instructions to Students: Time Allowed: 2 hours. This is Open Book Examination. All questions carry 25 marks. There are 5 questions in this exam. You should
MySQL Command Syntax
Get It Done With MySQL 5&6, Chapter 6. Copyright Peter Brawley and Arthur Fuller 2015. All rights reserved. TOC Previous Next MySQL Command Syntax Structured Query Language MySQL and SQL MySQL Identifiers
The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,
The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints
