Pragmatic XML Access Control Enforcement Mechanism via Query Filtering and its Applications. Dongwon Lee. Dec. 20, 2004 Penn State University

Size: px
Start display at page:

Download "Pragmatic XML Access Control Enforcement Mechanism via Query Filtering and its Applications. Dongwon Lee. Dec. 20, 2004 Penn State University"

Transcription

1 Pragmatic XML Access Control Enforcement Mechanism via Filtering and its Applications Dongwon Lee Dec. 20, 2004 Penn State University Credits Joint work with Padmapriya Ayyagari Wang-Chien Lee Cathy Li Peng Liu Robert Luo Prasenjit Mitra From XSym03, SDM04, CIKM04, etc Dongwon Lee,

2 XML Research (IMHO) 1 st Generation: XML Model, QL Semi-structured/XML models and QLs Eg, OEM, StrudQL, LOREL, 2 nd Generation: XML in RDBMS vs. Native XML XML-2-Relational Schema/ Conversion Relational-2-XML Schema/ Publishing XML encoding, indexing, storage, Eg, STORED, Inlining, XRel, XTRACT, TIMBER, 3 rd Generation: Advanced Features of XML Building advanced features of XML databases XML-Something: XML-Trigger, XML-Security, XML- Temporal, XML-Spatial, Dongwon Lee, XML Research (IMHO) In particular, in 3 rd Generation, Building advanced features XYZ of XML using either Vanilla XDBMS or RDBMS Vanilla XDBMS: Let middleware handle the feature XYZ so that underlying XDBMS can process the outputs RDBMS: Convert XML-XYZ to Relational-XYZ Dongwon Lee,

3 Outline Introduction Motivation Framework QFilter Details QFilter Validation QFilter Applications Conclusion Dongwon Lee, Introduction Relational Access Control ensures only authorized users can access only authorized portion of relational data Role-based security model (user << role) GRANT / REVOKE Can control table-level or column-level access Eg, GRANT SELECT ON Foo to dlee GRANT INSERT ON Bar(A, B) to admin Dongwon Lee,

4 Introduction XML Access Control ensures only authorized users can access only authorized portion of XML data Emerging techniques and standards for XML Access Control Model and semantics Enforcement Our Focus Dongwon Lee, Introduction Often, XML Access Control is represented as 5-tuple {subject, object, action, +/--, RC/LC} Object is expressed by XPath Eg, Manager can read employee s projectrelated information, but not their salaries (manager, //employee/proj, read, +, RC) (manager, //employee/@salary, read, -, LC) ACT (Access Control Table) (Access Control Rule) Dongwon Lee, 2004

5 Introduction Relational AC vs. XML AC Comparison Relational Model has table and column XML has element and attribute In conversion, a node in an XML tree can be mapped to (in RDBMS) Table Column Tuple Cell (column X, tuple Y) Table and column level security is supported in commercial RDBMS, but not the other two cases Dongwon Lee, Introduction XML Model Relational Model A <B+,C>, B <D,E> A (C, FK), B (D,E ) Control access to user john B Table: /A/B B Column: /A/C C A C B Tuple: /A/B[D>5] B with D >5 Cell: /A/B[D>5]/E B (E ) with D >5 B D >5 E D >5 Dongwon Lee,

6 Outline Introduction Motivation Framework QFilter Details QFilter Validation QFilter Applications Conclusion Dongwon Lee, Motivation Popular solution to enforce XML Access Control is to use Materialized Views (eg, [Dimiani, 2002; Bertino, 2002; Yu, 2002]) Construct a view per role/user Once view is constructed, no more security check Space cost / Maintenance issue Others rely on the support of security feature of XML database [Cho; 2002] No XML databases have such features yet Dongwon Lee,

7 Motivation Neither approach is fully satisfactory Our Approach is Framework-based: devise and compare various approaches Practical solution: can work with off-the-shelf XML database engine (ie, Vanilla XDBMS) Dongwon Lee, Outline Introduction Motivation Framework QFilter Details QFilter Validation QFilter Applications Conclusion Dongwon Lee,

8 Framework XML data (document). Stored in XML database Describes the information that users want in XPath has the same security role as the user who issues it Each describes the access control policy of a role. Objects are specified in XPath Dongwon Lee, Scenarios Scenario 1 Scenario 2 Scenario 3 Scenario 4 Scenario 5 Dongwon Lee,

9 Scenarios Conventional View-based Pre-processing Post-processing Miscellaneous Dongwon Lee, Post-Processing Intermediate answers are computed as usual Then, prunes out unsafe answers Suitable for role-based data delivery model, where the same data is delivered to different roles. Can be implemented by XML data filtering package (eg, YFilter [Diao, 2003]) Dongwon Lee,

10 Pre-Processing Q is modified to a safe one Q by Then, Q is processed by regular XML engine Modified can be implemented by many ways Primitive: Q Q QFilter: QFilter(Q, ) Q Dongwon Lee, Pre-Processing: Primitive View and as two constraints to satisfy Q and + : Q Q Q and : Q Q Then, Q is passed to regular XML engine that can handle XPath with set operator Easy to implement Performance is highly dependent on the capability of underlying XML engine (how it handles set operators, etc) Dongwon Lee,

11 Pre-Processing: Primitive Q:/dept[name= HR ]//budget Manager John wants to access HR dept s budget (for all manager/read) R1: /dept//salary, +, LC R2: /dept/south, +, RC R3: /dept[year=2003]//budget, -, LC Q Q (+ rules) (- rules) Q (R1 R2) R3 /dept[name= HR ]//budget ( /dept//salary /dept/south) - /dept[year=2003]//budget Dongwon Lee, Outline Introduction Motivation Framework QFilter Details QFilter Validation QFilter Applications Conclusion Dongwon Lee,

12 Pre-Processing: QFilter Primitive Pre-Processing satisfies our two goals Non-view based Independent on underlying XML engine But, the re-written query Q is not the most efficient form Dongwon Lee, Pre-Processing: QFilter Idea of QFilter: Improve Q further for better performance Contained Case (Q Q) /dept[year<2004]//budget /dept//* /dept[year<2004]//budget Disjoint Case (Q {}) /dept[year<2004]//budget /dept[year>2005]//budget { } Overlapping Case (Q Q ) /dept[year<2004]//budget //south/budget /dept/[year<2004]/south/budget Dongwon Lee,

13 Pre-Processing: QFilter QFilter captures as NFA (Nondeterministic Finite Automata) Given Q, quickly determine if it is contained, disjoint or overlapping by traversing NFA When it s overlapping case, Q is generated Cannot handle general case of XPath XPath containment is: /, //, [], *: P [Wood, 2001] QFilter supports this =, NOT, <: undecidable [Neven, 2003] Dongwon Lee, QFilter Example R1: /site/categories//* R2: /site/regions/*/item/location R3: /site/regions/*/item/quantity R4: /site/regions/*/item/name R5: /site/regions/*/item/description R6: /site/people/person/name R7: /site/people/person/address//* R: /site/people/person/ address Dongwon Lee,

14 State Transition Map 0 site 1 2 categories regions ε 5 3 * 4 people 14 name 12 person 13 address 15 * * item 6 address 16 7 ε * location quantity name description * 1 Dongwon Lee, NFA 0 site 1 categories regions people 2 3 / 4 7 ε location 5 6 quantity * item name description name 15 person address ε address / 1 Dongwon Lee,

15 Q: /site/categories/nw/item 0 site 1 categories regions people Q AS IS! 2 3 / 4 7 ε location 5 6 quantity * item name description name 15 person address ε address / 1 Dongwon Lee, Q: /site/top//item 0 site 1 categories regions people REJECT! 2 3 / 4 7 ε location 5 6 quantity * item name description name 15 person address ε address / 1 Dongwon Lee,

16 Q: /site/*/person/name 0 site 1 categories regions people Re-written to Q! 2 3 / 4 7 ε location 5 6 quantity * item name description name 15 person address ε address / 1 /site/categories/person/name Dongwon Lee, 2004 /site/people/person/name 31 QFilter with Predicate Handling 2 3 / ε 6-p1 location site 5 6 φ quantity 1 * item 6-p2 description categories regions people 13 description name 12 person name address address 15 ε / R9:/site/regions/*/item[description]/name Dongwon Lee,

17 Q: /site/regions/item[quantity]/name 0 site 1 categories regions people 2 3 / 4 ε 5 6 * item p1 location 9 φ quantity 10 6-p2 description description name name / 1 person address ε address 16 Q =/site/regions/item[quantity][description]/name Dongwon Lee, QFilter Discussion Theorem: Q generated by QFilter never returns unauthorized answers to unauthorized users for XPath with /, //, *, [] QFilter construction: O( ) QFilter execution No *: O( Q ) *: O( NFA ) //: O( Q * Π child for i-th //) Worst case only occurs for a query / //*//* //* Dongwon Lee,

18 Deep-Set Operator QFilter often uses set operators However, standard semantics of X/XPath set operators are too limited Eg, /dept[year<2004]//budget //south/budget /dept/[year<2004]/south/budget /dept[year<2004]//budget //south {} Dongwon Lee, Deep-Set Example 1 x /x/a[e] 2 a a 9 3 b e b 10 d 11 c 4 5 d /d/[f] //d[f] g 12 f 6 7 g Dongwon Lee,

19 /x/a[e] UNION //d[f] UNION DEEP-UNION 2 a 5 d 2 a c 3 b 4 5 d e f 6 7 g 3 b e f 6 7 g c 4 5 d /x/a[e] 2 a 1 x a 9 f 6 7 g 3 b e b 10 d 11 c 4 5 d /d/[f] g 12 f 6 Dongwon 7 g Lee, /x/a[e] INTERSECT //d[f] INTERSECT DEEP-INTERSECT null f 5 d 6 7 g 1 x /x/a[e] 2 a a 9 3 b e b 10 d 11 c 4 5 d /d/[f] g 12 Dongwon Lee, f 6 7 g

20 /x/a[e] EXCEPT //d[f] EXCEPT 2 a DEEP-EXCEPT 2 a 3 b e 3 b e c 4 5 d c 4 f 6 7 g 1 x /x/a[e] 2 a a 9 3 b e b 10 d 11 c 4 5 d /d/[f] g 12 f 6 Dongwon 7 g Lee, Eg, Deep-EXCEPT Implementation // using X s UDF declare function local:deep-except($p,$q) { for $pn in $p return if (empty($pn//* intersect $q) and empty($pn intersect $q) and not(empty($pn))) then $pn else if (not(empty($pn//* intersect $q))) then element{name($pn)}{ $pn/@*, $pn/text(), for $pnn in $pn/* return local:deep-except($pnn,$q) } else() }; Dongwon Lee,

21 Outline Introduction Motivation Framework QFilter Details QFilter Validation QFilter Applications Conclusion Dongwon Lee, Evaluation Plan No Access Control Q Galax UD Pre-Processing Scenario Primitive QFilter Q Static Analysis [Murata; 2003] QFilter Q Q (a) No security support Galax (b) Pimitive Galax (c) Pre-processing SD SD Q Galax UD AFilter SD Post-Processing Scenario (d) Post-processing Figure 1: Ways to support XML access control without using security features of DBMS Dongwon Lee,

22 Set-Up XMark / Galax / YFilter XML data (1.5 MB) 550 Synthetic rules 10 User-defined rules Q 7 categories based on /, //, *, [] 100 Synthetic queries Dongwon Lee, QFilter Performance QFilter Execution time (ms) Accepted Denied Rew ritten category Dongwon Lee,

23 QFilter Performance QFilter execution time (ms) Accepted Rejected Rwwritten Number of access control rules Dongwon Lee, Comparison among Scenarios End-to-end query process time (ms) No Access Control YFilter Approach Primitive Approach QFilter Approach 1 Accepted Denied Rewritten Dongwon Lee,

24 Two Pre-Processing Methods Initializing Time (ms) QFilter Construction Static Analysis Initialization Number of Access Control Rules Dongwon Lee, Two Pre-Processing Methods 250 Security check time (ms) QFilter Approach Static Analysis Number of Rules per Role Dongwon Lee,

25 Outline Introduction Motivation Framework QFilter Details QFilter Validation QFilter Applications Conclusion Dongwon Lee, QFilter Applications QFilter is in essence a black box that Consists of Constraints C Takes input Q Outputs filtered result Q Applications View Maintenance Secure P2P C Q Q Dongwon Lee,

26 Scenarios Again Conventional View-based Pre-processing Post-processing Miscellaneous Dongwon Lee, View-based XML Access Controls High maintenance cost when update occurs For an organization, frequent updates to are possible Rules are being added/removed For each rule change, new view must be materialized Metric Amount of data from DB to view Time/Storage Dongwon Lee,

27 View-based XML Access Controls T1: +R1, +R2, +R3 T2: +R3 is removed R1 R2 R3 +R3 F R1 F -R1, -R2, -R3 R2 Dongwon Lee, Secure P2P Overlay Network XML documents are stored on peer nodes (with possible duplication) Different peer nodes have different access controls When a node N gets a query Q, if N cannot handle Q, it has to forward Q to proper peers who have legitimate access controls. Dongwon Lee,

28 Secure P2P Overlay Network QFilter Q Neighboring Peers Profile Neighboring Peers Dongwon Lee, Conclusion Research on XML-Something in RDBMS or Vanilla XDBMS looks promising A framework and solution, QFilter, are presented in the context of XML Access Control Applications of QFilter Thanks! Dongwon Lee,

A Schema Based Approach to Valid XML Access Control *

A Schema Based Approach to Valid XML Access Control * JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 26, 79-79 (2) A Schema Based Approach to Valid XML Access Control * CHANGWOO BYUN AND SEOG PARK 2 Department of Computer Systems and Engineering Inha Technical

More information

Incremental Adaptation of XPath Access Control Views

Incremental Adaptation of XPath Access Control Views Incremental Adaptation of XPath Access Control Views Abstract Materialized XPath access-control views are commonly used for enforcing access control. When access control rules defining a materialized XML

More information

Pragmatic XML Access Control using Off-the-shelf RDBMS

Pragmatic XML Access Control using Off-the-shelf RDBMS Pragmatic XML Access Control using Off-the-shelf RDBMS Bo Luo, Dongwon Lee, and Peng Liu The Pennsylvania State University Abstract As the XML model gets more popular, new needs arise to specify access

More information

Graph Matching Based Authorization Model for Efficient Secure XML Querying

Graph Matching Based Authorization Model for Efficient Secure XML Querying Graph Matching Based Authorization Model for Efficient Secure XML Querying Seunghan Chang 1, Artem Chebotko 1, Shiyong Lu, and Farshad Fotouhi Department of Computer Science, Wayne State University, 5143

More information

An Efficient XML Index Structure with Bottom-Up Query Processing

An Efficient XML Index Structure with Bottom-Up Query Processing An Efficient XML Index Structure with Bottom-Up Query Processing Dong Min Seo, Jae Soo Yoo, and Ki Hyung Cho Department of Computer and Communication Engineering, Chungbuk National University, 48 Gaesin-dong,

More information

Relational Storage for XML Rules

Relational Storage for XML Rules Relational Storage for XML Rules A. A. Abd El-Aziz Research Scholar Dept. of Information Science & Technology Anna University Email: abdelazizahmed@auist.net A. Kannan Professor Dept. of Information Science

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

RELATIONAL STORAGE FOR XML RULES

RELATIONAL STORAGE FOR XML RULES RELATIONAL STORAGE FOR XML RULES A. A. Abd El-Aziz Research Scholar Dept. of Information Science & Technology Anna University Email: abdelazizahmed@auist.net Professor A. Kannan Dept. of Information Science

More information

Chapter 2: Intro to Relational Model

Chapter 2: Intro to Relational Model Non è possibile visualizzare l'immagine. Chapter 2: Intro to Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Example of a Relation attributes (or columns)

More information

CONSTRAINTS AND UPDATES CHAPTER 3 (6/E) CHAPTER 5 (5/E)

CONSTRAINTS AND UPDATES CHAPTER 3 (6/E) CHAPTER 5 (5/E) 1 CONSTRAINTS AND UPDATES CHAPTER 3 (6/E) CHAPTER 5 (5/E) 3 LECTURE OUTLINE Constraints in Relational Databases Update Operations 4 SATISFYING INTEGRITY CONSTRAINTS Constraints are restrictions on the

More information

XML Systems & Benchmarks

XML Systems & Benchmarks XML Systems & Benchmarks Christoph Staudt Peter Chiv Saarland University, Germany July 1st, 2003 Main Goals of our talk Part I Show up how databases and XML come together Make clear the problems that arise

More information

Real Application Security Administration

Real Application Security Administration Oracle Database Real Application Security Administration Console (RASADM) User s Guide 12c Release 2 (12.2) E85615-01 June 2017 Real Application Security Administration Oracle Database Real Application

More information

CIS 330: Applied Database Systems. ER to Relational Relational Algebra

CIS 330: Applied Database Systems. ER to Relational Relational Algebra CIS 330: Applied Database Systems ER to Relational Relational Algebra 1 Logical DB Design: ER to Relational Entity sets to tables: ssn name Employees lot CREATE TABLE Employees (ssn CHAR(11), name CHAR(20),

More information

XML Data Exchange. Marcelo Arenas P. Universidad Católica de Chile. Joint work with Leonid Libkin (U. of Toronto)

XML Data Exchange. Marcelo Arenas P. Universidad Católica de Chile. Joint work with Leonid Libkin (U. of Toronto) XML Data Exchange Marcelo Arenas P. Universidad Católica de Chile Joint work with Leonid Libkin (U. of Toronto) Data Exchange in Relational Databases Data exchange has been extensively studied in the relational

More information

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321

Part XII. Mapping XML to Databases. Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Part XII Mapping XML to Databases Torsten Grust (WSI) Database-Supported XML Processors Winter 2008/09 321 Outline of this part 1 Mapping XML to Databases Introduction 2 Relational Tree Encoding Dead Ends

More information

Designing Information-Preserving Mapping Schemes for XML

Designing Information-Preserving Mapping Schemes for XML Designing Information-Preserving Mapping Schemes for XML Denilson Barbosa Juliana Freire Alberto O. Mendelzon VLDB 2005 Motivation An XML-to-relational mapping scheme consists of a procedure for shredding

More information

XML Data Stream Processing: Extensions to YFilter

XML Data Stream Processing: Extensions to YFilter XML Data Stream Processing: Extensions to YFilter Shaolei Feng and Giridhar Kumaran January 31, 2007 Abstract Running XPath queries on XML data steams is a challenge. Current approaches that store the

More information

Database Technology Introduction. Heiko Paulheim

Database Technology Introduction. Heiko Paulheim Database Technology Introduction Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query Processing Transaction Manager Introduction to the Relational Model

More information

CONSTRAINTS AND UPDATES CHAPTER 3 (6/E) CHAPTER 5 (5/E)

CONSTRAINTS AND UPDATES CHAPTER 3 (6/E) CHAPTER 5 (5/E) 1 CONSTRAINTS AND UPDATES CHAPTER 3 (6/E) CHAPTER 5 (5/E) QUESTION Film title genre year director runtime budget gross The Company Men drama 2010 John Wells 104 15,000,000 4,439,063 Steven Lincoln biography

More information

Announcements. Relational Model & Algebra. Example. Relational data model. Example. Schema versus instance. Lecture notes

Announcements. Relational Model & Algebra. Example. Relational data model. Example. Schema versus instance. Lecture notes Announcements Relational Model & Algebra CPS 216 Advanced Database Systems Lecture notes Notes version (incomplete) available in the morning on the day of lecture Slides version (complete) available after

More information

Chapter 13 XML: Extensible Markup Language

Chapter 13 XML: Extensible Markup Language Chapter 13 XML: Extensible Markup Language - Internet applications provide Web interfaces to databases (data sources) - Three-tier architecture Client V Application Programs Webserver V Database Server

More information

Last lecture CMSC330. This lecture. Finite Automata: States. Finite Automata. Implementing Regular Expressions. Languages. Regular expressions

Last lecture CMSC330. This lecture. Finite Automata: States. Finite Automata. Implementing Regular Expressions. Languages. Regular expressions Last lecture CMSC330 Finite Automata Languages Sets of strings Operations on languages Regular expressions Constants Operators Precedence 1 2 Finite automata States Transitions Examples Types This lecture

More information

On Label Stream Partition for Efficient Holistic Twig Join

On Label Stream Partition for Efficient Holistic Twig Join On Label Stream Partition for Efficient Holistic Twig Join Bo Chen 1, Tok Wang Ling 1,M.TamerÖzsu2, and Zhenzhou Zhu 1 1 School of Computing, National University of Singapore {chenbo, lingtw, zhuzhenz}@comp.nus.edu.sg

More information

AFilter: Adaptable XML Filtering with Prefix-Caching and Suffix-Clustering

AFilter: Adaptable XML Filtering with Prefix-Caching and Suffix-Clustering AFilter: Adaptable XML Filtering with Prefix-Caching and Suffix-Clustering K. Selçuk Candan Wang-Pin Hsiung Songting Chen Junichi Tatemura Divyakant Agrawal Motivation: Efficient Message Filtering Is this

More information

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2009 Lecture 4 - Schema Normalization

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2009 Lecture 4 - Schema Normalization CSE 544 Principles of Database Management Systems Magdalena Balazinska Winter 2009 Lecture 4 - Schema Normalization References R&G Book. Chapter 19: Schema refinement and normal forms Also relevant to

More information

Chapter 3: Relational Model

Chapter 3: Relational Model Chapter 3: Relational Model Structure of Relational Databases Relational Algebra Tuple Relational Calculus Domain Relational Calculus Extended Relational-Algebra-Operations Modification of the Database

More information

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05

COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 COURSE: DATA STRUCTURES USING C & C++ CODE: 05BMCAR17161 CREDITS: 05 Unit 1 : LINEAR DATA STRUCTURES Introduction - Abstract Data Types (ADT), Arrays and its representation Structures, Stack, Queue, Circular

More information

Distributed Database Systems By Syed Bakhtawar Shah Abid Lecturer in Computer Science

Distributed Database Systems By Syed Bakhtawar Shah Abid Lecturer in Computer Science Distributed Database Systems By Syed Bakhtawar Shah Abid Lecturer in Computer Science 1 Distributed Database Systems Basic concepts and Definitions Data Collection of facts and figures concerning an object

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems http://dilbert.com/strips/comic/2010-08-24/ Lecture 8 Introduction to Normalization October 17, 2017 Sam Siewert Exam #1 Questions? Reminders Working on Grading Ex #3 -

More information

CSE 565 Computer Security Fall 2018

CSE 565 Computer Security Fall 2018 CSE 565 Computer Security Fall 2018 Lecture 12: Database Security Department of Computer Science and Engineering University at Buffalo 1 Review of Access Control Types We previously studied four types

More information

XML Filtering Technologies

XML Filtering Technologies XML Filtering Technologies Introduction Data exchange between applications: use XML Messages processed by an XML Message Broker Examples Publish/subscribe systems [Altinel 00] XML message routing [Snoeren

More information

CS 377 Database Systems

CS 377 Database Systems CS 377 Database Systems Relational Algebra and Calculus Li Xiong Department of Mathematics and Computer Science Emory University 1 ER Diagram of Company Database 2 3 4 5 Relational Algebra and Relational

More information

A Scalable Access Control Model for XML Databases

A Scalable Access Control Model for XML Databases DEWS2006 4A-i9 A Scalable Model for XML Databases Naizhen Qi Michiharu Kudo {naishin, kudo}@jp.ibm.com Tel: +81-46-215-4428, +81-46-215-4642 Fax: +81-46-273-7428 IBM Research, Tokyo Research Laboratory

More information

Outline. q Database integration & querying. q Peer-to-Peer data management q Stream data management q MapReduce-based distributed data management

Outline. q Database integration & querying. q Peer-to-Peer data management q Stream data management q MapReduce-based distributed data management Outline n Introduction & architectural issues n Data distribution n Distributed query processing n Distributed query optimization n Distributed transactions & concurrency control n Distributed reliability

More information

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9

XML databases. Jan Chomicki. University at Buffalo. Jan Chomicki (University at Buffalo) XML databases 1 / 9 XML databases Jan Chomicki University at Buffalo Jan Chomicki (University at Buffalo) XML databases 1 / 9 Outline 1 XML data model 2 XPath 3 XQuery Jan Chomicki (University at Buffalo) XML databases 2

More information

COMP9311 Week 10 Lecture. DBMS Architecture. DBMS Architecture and Implementation. Database Application Performance

COMP9311 Week 10 Lecture. DBMS Architecture. DBMS Architecture and Implementation. Database Application Performance COMP9311 Week 10 Lecture DBMS Architecture DBMS Architecture and Implementation 2/51 Aims: examine techniques used in implementation of DBMSs: query processing (QP), transaction processing (TxP) use QP

More information

XML Research for Formal Language Theorists

XML Research for Formal Language Theorists XML Research for Formal Language Theorists Wim Martens TU Dortmund Wim Martens (TU Dortmund) XML for Formal Language Theorists May 14, 2008 1 / 65 Goal of this talk XML Research vs Formal Languages Wim

More information

Leveraging the Expressivity of Grounded Conjunctive Query Languages

Leveraging the Expressivity of Grounded Conjunctive Query Languages Leveraging the Expressivity of Grounded Conjunctive Query Languages Alissa Kaplunova, Ralf Möller, Michael Wessel Hamburg University of Technology (TUHH) SSWS 07, November 27, 2007 1 Background Grounded

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 26 Enhanced Data Models: Introduction to Active, Temporal, Spatial, Multimedia, and Deductive Databases 26.1 Active Database Concepts and Triggers Database systems implement rules that specify

More information

CMPT 354: Database System I. Lecture 5. Relational Algebra

CMPT 354: Database System I. Lecture 5. Relational Algebra CMPT 354: Database System I Lecture 5. Relational Algebra 1 What have we learned Lec 1. DatabaseHistory Lec 2. Relational Model Lec 3-4. SQL 2 Why Relational Algebra matter? An essential topic to understand

More information

CS34800 Information Systems. The Relational Model Prof. Walid Aref 29 August, 2016

CS34800 Information Systems. The Relational Model Prof. Walid Aref 29 August, 2016 CS34800 Information Systems The Relational Model Prof. Walid Aref 29 August, 2016 1 Chapter: The Relational Model Structure of Relational Databases Relational Algebra Tuple Relational Calculus Domain Relational

More information

SQL: A COMMERCIAL DATABASE LANGUAGE. Data Change Statements,

SQL: A COMMERCIAL DATABASE LANGUAGE. Data Change Statements, SQL: A COMMERCIAL DATABASE LANGUAGE Data Change Statements, Outline 1. Introduction 2. Data Definition, Basic Constraints, and Schema Changes 3. Basic Queries 4. More complex Queries 5. Aggregate Functions

More information

COMP 430 Intro. to Database Systems. Encapsulating SQL code

COMP 430 Intro. to Database Systems. Encapsulating SQL code COMP 430 Intro. to Database Systems Encapsulating SQL code Want to bundle SQL into code blocks Like in every other language Encapsulation Abstraction Code reuse Maintenance DB- or application-level? DB:

More information

Chapter 2: Intro to Relational Model

Chapter 2: Intro to Relational Model Chapter 2: Intro to Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Example of a Relation attributes (or columns) tuples (or rows) 2.2 Attribute Types The

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

Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery

Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery Introduction Problems & Solutions Join Recognition Experimental Results Introduction GK Spring Workshop Waldau: Pathfinder/MonetDB: A High-Performance Relational Runtime for XQuery Database & Information

More information

Sets 1. The things in a set are called the elements of it. If x is an element of the set S, we say

Sets 1. The things in a set are called the elements of it. If x is an element of the set S, we say Sets 1 Where does mathematics start? What are the ideas which come first, in a logical sense, and form the foundation for everything else? Can we get a very small number of basic ideas? Can we reduce it

More information

Query Relaxation for XML

Query Relaxation for XML 1 Query Relaxation for XML Dongwon Lee U C L A Outline 2 Introduction XML Review Main Work XML Relaxation Framework Relaxed Query Selectivity Issue Data Conversion Issue Future Work Summary HTML vs. XML

More information

Saving Space and Time Using Index Merging

Saving Space and Time Using Index Merging Saving Space and Time Using Index Merging Lubomir Stanchev a,, Grant Weddell b a Computer Science Department, Indiana University - Purdue University Fort Wayne, USA b David R. Cheriton School of Computer

More information

CSE 544: Principles of Database Systems

CSE 544: Principles of Database Systems CSE 544: Principles of Database Systems Semijoin Reductions Theory Wrap-up CSE544 - Spring, 2012 1 Announcements Makeup lectures: Friday, May 18, 10:30-11:50, CSE 405 Friday, May 25, 10:30-11:50, CSE 405

More information

Secure Information Brokering and Sharing in Distributed Systems

Secure Information Brokering and Sharing in Distributed Systems IJCSNS International Journal of Computer Science and Network Security, VOL.15 No.11, November 2015 107 Secure Information Brokering and Sharing in Distributed Systems G. Siva Kumar and K. Mahesh Babu Department

More information

Part V. Relational XQuery-Processing. Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2007/08 297

Part V. Relational XQuery-Processing. Marc H. Scholl (DBIS, Uni KN) XML and Databases Winter 2007/08 297 Part V Relational XQuery-Processing Marc H Scholl (DBIS, Uni KN) XML and Databases Winter 2007/08 297 Outline of this part (I) 12 Mapping Relational Databases to XML Introduction Wrapping Tables into XML

More information

Relational Algebra. Procedural language Six basic operators

Relational Algebra. Procedural language Six basic operators Relational algebra Relational Algebra Procedural language Six basic operators select: σ project: union: set difference: Cartesian product: x rename: ρ The operators take one or two relations as inputs

More information

CSC 261/461 Database Systems Lecture 13. Fall 2017

CSC 261/461 Database Systems Lecture 13. Fall 2017 CSC 261/461 Database Systems Lecture 13 Fall 2017 Announcement Start learning HTML, CSS, JavaScript, PHP + SQL We will cover the basics next week https://www.w3schools.com/php/php_mysql_intro.asp Project

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

1. a) Discuss primitive recursive functions with an example? 15M Or b) Statements and applications of Euler s and Fermat s Theorems?

1. a) Discuss primitive recursive functions with an example? 15M Or b) Statements and applications of Euler s and Fermat s Theorems? MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE 1. a) Discuss primitive recursive functions with an example? 15M b) Statements and applications of Euler s and Fermat s Theorems? 15M 2. a) Define DFA and NFA

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Chapter 2: Intro. To the Relational Model Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS is Collection of

More information

Relational Data Model

Relational Data Model Relational Data Model 1. Relational data model Information models try to put the real-world information complexity in a framework that can be easily understood. Data models must capture data structure

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

Why Study the Relational Model? The Relational Model. Relational Database: Definitions. The SQL Query Language. Relational Query Languages

Why Study the Relational Model? The Relational Model. Relational Database: Definitions. The SQL Query Language. Relational Query Languages Why Study the Relational Model? The Relational Model Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. Legacy systems in older models E.G., IBM s IMS Recent competitor: object-oriented

More information

YFilter: an XML Stream Filtering Engine. Weiwei SUN University of Konstanz

YFilter: an XML Stream Filtering Engine. Weiwei SUN University of Konstanz YFilter: an XML Stream Filtering Engine Weiwei SUN University of Konstanz 1 Introduction Data exchange between applications: use XML Messages processed by an XML Message Broker Examples Publish/subscribe

More information

An Introduction to Structured Query Language

An Introduction to Structured Query Language An Introduction to Structured Query Language Grant Weddell Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Winter 2017 CS 348 (Intro to DB Mgmt) 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

Examination examples

Examination examples Examination examples Databasteknik (5 hours) 1. Relational Algebra & SQL (4 pts total; 2 pts each). Part A Consider the relations R(A, B), and S(C, D). Of the following three equivalences between expressions

More information

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites

Oracle Database. Installation and Configuration of Real Application Security Administration (RASADM) Prerequisites Oracle Database Real Application Security Administration 12c Release 1 (12.1) E61899-04 May 2015 Oracle Database Real Application Security Administration (RASADM) lets you create Real Application Security

More information

An Introduction to Structured Query Language

An Introduction to Structured Query Language An Introduction to Structured Query Language Grant Weddell Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Spring 2016 CS 348 (Intro to DB Mgmt) SQL

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

An Introduction to Structured Query Language

An Introduction to Structured Query Language An Introduction to Structured Query Language Alexandra Roatiş David R. Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Winter 2016 CS 348 SQL Winter

More information

Lecture 16. The Relational Model

Lecture 16. The Relational Model Lecture 16 The Relational Model Lecture 16 Today s Lecture 1. The Relational Model & Relational Algebra 2. Relational Algebra Pt. II [Optional: may skip] 2 Lecture 16 > Section 1 1. The Relational Model

More information

Chapter 4. Basic SQL. Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Chapter 4. Basic SQL. Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4 Basic SQL Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4 Outline SQL Data Definition and Data Types Specifying Constraints in SQL Basic Retrieval Queries

More information

CERIAS Tech Report

CERIAS Tech Report CERIAS Tech Report 2006-28 On The Correctness Criteria of Fine-Grained Access Control in Relational Databases by Qihua Wang, Ting Yu, Ninghui Li, Jorge Lobo, Elisa Bertino, Keith Irwin, Ji-Won Byun Center

More information

Multidimensional Data and Modelling

Multidimensional Data and Modelling Multidimensional Data and Modelling 1 Problems of multidimensional data structures l multidimensional (md-data or spatial) data and their implementation of operations between objects (spatial data practically

More information

Relational Algebra. Relational Query Languages

Relational Algebra. Relational Query Languages Relational Algebra Davood Rafiei 1 Relational Query Languages Languages for describing queries on a relational database Three variants Relational Algebra Relational Calculus SQL Query languages v.s. programming

More information

INSE 6160 Database Security and Privacy

INSE 6160 Database Security and Privacy INSE 6160 Database Security and Privacy Discretionary Access Control in DBMS Prof. Lingyu Wang 1 Outline Grant Revoke Model Meta-Policy and FAF Security By Views 2 Grant-Revoke Grant-Revoke Model (Griffith&Wade

More information

The Relational Model Constraints and SQL DDL

The Relational Model Constraints and SQL DDL The Relational Model Constraints and SQL DDL Week 2-3 Weeks 2-3 MIE253-Consens 1 Schedule Week Date Lecture Topic 1 Jan 9 Introduction to Data Management 2 Jan 16 The Relational Model 3 Jan. 23 Constraints

More information

Techno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601

Techno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601 Techno India Batanagar Computer Science and Engineering Model Questions Subject Name: Database Management System Subject Code: CS 601 Multiple Choice Type Questions 1. Data structure or the data stored

More information

Event Stores (I) [Source: DB-Engines.com, accessed on August 28, 2016]

Event Stores (I) [Source: DB-Engines.com, accessed on August 28, 2016] Event Stores (I) Event stores are database management systems implementing the concept of event sourcing. They keep all state changing events for an object together with a timestamp, thereby creating a

More information

Distributed KIDS Labs 1

Distributed KIDS Labs 1 Distributed Databases @ KIDS Labs 1 Distributed Database System A distributed database system consists of loosely coupled sites that share no physical component Appears to user as a single system Database

More information

Overview of Query Processing and Optimization

Overview of Query Processing and Optimization Overview of Query Processing and Optimization Source: Database System Concepts Korth and Silberschatz Lisa Ball, 2010 (spelling error corrections Dec 07, 2011) Purpose of DBMS Optimization Each relational

More information

Formal Languages and Compilers Lecture VI: Lexical Analysis

Formal Languages and Compilers Lecture VI: Lexical Analysis Formal Languages and Compilers Lecture VI: Lexical Analysis Free University of Bozen-Bolzano Faculty of Computer Science POS Building, Room: 2.03 artale@inf.unibz.it http://www.inf.unibz.it/ artale/ Formal

More information

Grammar vs. Rules. Diagnostics in XML Document Validation. Petr Nálevka

Grammar vs. Rules. Diagnostics in XML Document Validation. Petr Nálevka Grammar vs. Rules Diagnostics in XML Document Validation Petr Nálevka University of Economics, Prague Dept. of Information and Knowledge Engineering petr@nalevka.com http://nalevka.com This presentation

More information

The Benefits of Utilizing Closeness in XML. Curtis Dyreson Utah State University Shuohao Zhang Microsoft, Marvell Hao Jin Expedia.

The Benefits of Utilizing Closeness in XML. Curtis Dyreson Utah State University Shuohao Zhang Microsoft, Marvell Hao Jin Expedia. The Benefits of Utilizing Closeness in XML Curtis Dyreson Utah State University Shuohao Zhang Microsoft, Marvell Hao Jin Expedia.com Bozen-Bolzano - September 5, 2008 Outline Motivation Tools Polymorphic

More information

On Ordering and Indexing Metadata for the Semantic Web

On Ordering and Indexing Metadata for the Semantic Web On Ordering and Indexing Metadata for the Semantic Web Jeffrey Pound, Lubomir Stanchev, David Toman,, and Grant E. Weddell David R. Cheriton School of Computer Science, University of Waterloo, Canada Computer

More information

Generating String Attack Inputs Using Constrained Symbolic Execution. presented by Kinga Dobolyi

Generating String Attack Inputs Using Constrained Symbolic Execution. presented by Kinga Dobolyi Generating String Attack Inputs Using Constrained Symbolic Execution presented by Kinga Dobolyi What is a String Attack? Web applications are 3 tiered Vulnerabilities in the application layer Buffer overruns,

More information

Chapter 19 Query Optimization

Chapter 19 Query Optimization Chapter 19 Query Optimization It is an activity conducted by the query optimizer to select the best available strategy for executing the query. 1. Query Trees and Heuristics for Query Optimization - Apply

More information

Relational Model History. COSC 304 Introduction to Database Systems. Relational Model and Algebra. Relational Model Definitions.

Relational Model History. COSC 304 Introduction to Database Systems. Relational Model and Algebra. Relational Model Definitions. COSC 304 Introduction to Database Systems Relational Model and Algebra Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Relational Model History The relational model was

More information

Database Security Overview. Murat Kantarcioglu

Database Security Overview. Murat Kantarcioglu UT DALLAS Erik Jonsson School of Engineering & Computer Science Database Security Overview Murat Kantarcioglu Topics The access control model of System R Extensions to the System R model Views and content-based

More information

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and Chapter 6 The Relational Algebra and Relational Calculus Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Outline Unary Relational Operations: SELECT and PROJECT Relational

More information

Outline. Language Hierarchy

Outline. Language Hierarchy Outline Language Hierarchy Definition of Turing Machine TM Variants and Equivalence Decidability Reducibility Language Hierarchy Regular: finite memory CFG/PDA: infinite memory but in stack space TM: infinite

More information

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall The Relational Model Chapter 3 Comp 521 Files and Databases Fall 2014 1 Why the Relational Model? Most widely used model by industry. IBM, Informix, Microsoft, Oracle, Sybase, MySQL, Postgres, Sqlite,

More information

Textbook: Chapter 6! CS425 Fall 2013 Boris Glavic! Chapter 3: Formal Relational Query. Relational Algebra! Select Operation Example! Select Operation!

Textbook: Chapter 6! CS425 Fall 2013 Boris Glavic! Chapter 3: Formal Relational Query. Relational Algebra! Select Operation Example! Select Operation! Chapter 3: Formal Relational Query Languages CS425 Fall 2013 Boris Glavic Chapter 3: Formal Relational Query Languages Relational Algebra Tuple Relational Calculus Domain Relational Calculus Textbook:

More information

Database Management Systems (COP 5725) Homework 3

Database Management Systems (COP 5725) Homework 3 Database Management Systems (COP 5725) Homework 3 Instructor: Dr. Daisy Zhe Wang TAs: Yang Chen, Kun Li, Yang Peng yang, kli, ypeng@cise.uf l.edu November 26, 2013 Name: UFID: Email Address: Pledge(Must

More information

Data Modelling and Databases. Exercise Session 7: Integrity Constraints

Data Modelling and Databases. Exercise Session 7: Integrity Constraints Data Modelling and Databases Exercise Session 7: Integrity Constraints 1 Database Design Textual Description Complete Design ER Diagram Relational Schema Conceptual Modeling Logical Modeling Physical Modeling

More information

2.2.2.Relational Database concept

2.2.2.Relational Database concept Foreign key:- is a field (or collection of fields) in one table that uniquely identifies a row of another table. In simpler words, the foreign key is defined in a second table, but it refers to the primary

More information

An Introduction to Structured Query Language

An Introduction to Structured Query Language An Introduction to Structured Query Language Grant Weddell David R. Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Spring 2012 CS 348 (Intro to DB

More information

Mahathma Gandhi University

Mahathma Gandhi University Mahathma Gandhi University BSc Computer science III Semester BCS 303 OBJECTIVE TYPE QUESTIONS Choose the correct or best alternative in the following: Q.1 In the relational modes, cardinality is termed

More information

An Introduction to Structured Query Language

An Introduction to Structured Query Language An Introduction to Structured Query Language Grant Weddell David R. Cheriton School of Computer Science University of Waterloo CS 348 Introduction to Database Management Spring 2012 CS 348 (Intro to DB

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

What happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques

What happens. 376a. Database Design. Execution strategy. Query conversion. Next. Two types of techniques 376a. Database Design Dept. of Computer Science Vassar College http://www.cs.vassar.edu/~cs376 Class 16 Query optimization What happens Database is given a query Query is scanned - scanner creates a list

More information

Update Exchange with Mappings and Provenance

Update Exchange with Mappings and Provenance Update Exchange with Mappings and Provenance Todd J. Green with Grigoris Karvounarakis, Zachary G. Ives, and Val Tannen CSE 455 / CIS 555: Internet and Web Systems April 18, 2007 Challenge: data sharing

More information