SQL, XQuery, and SPARQL:Making the Picture Prettier

Size: px
Start display at page:

Download "SQL, XQuery, and SPARQL:Making the Picture Prettier"

Transcription

1 SQL, XQuery, and SPARQL:Making the Picture Prettier Jim Melton, Oracle Corporation, Copyright 2007 Oracle, Introduction Last year, we asked what s wrong with this picture? regarding the existence of three apparently overlapping query languages: SQL, XQuery, and SPARQL. Our somewhat reluctant answer to the question was that there was essentially nothing wrong because each of the three languages (and their corresponding data models) served specific purposes better than the two alternatives. This year, our research has been aimed at making the picture prettier that is, accepting our earlier conclusions and finding practical ways to make the situation work well at minimal development costs. In early 2006, the World Wide Web Consortium (W3C ) published three Candidate Recommendation documents [SPARQL-L], [SPARQL-P], and [SPARQL-R] defining a new query language called SPARQL. That new language was described as a query language for getting information from RDF graphs (that is, SPARQL is an RDF query language), which seemed on the surface to be a new technology requirement. Comments raised during the Candidate Recommendation review period resulted in the W3C s Data Access Working Group (DAWG) reverting [SPARQL-L] to Working Draft status for additional work. Recently, the revised specification [SPARQL-L2] was advanced to Last Call Working Draft status, while the other two specifications have been held in the Candidate Recommendation stage awaiting progression of [SPARQL-L2] to Candidate Recommendation. Last year, we acknowledged that SPARQL s existence is justified, but we also identified some areas in which additional research was required before it could be said whether or not practical integration with SQL and/or XQuery was likely. The present paper addresses that subject further. In particular, we indicate how existing investment in persistence technology can be applied to the RDF data model and to implementing the SPARQL language. Data Model Integration Query languages are designed to be applied to data represented in a particular data model. SQL is used to retrieve, create, modify, and delete data represented in (a variation of) the relational model of data. XQuery is used to locate and retrieve data that is represented in the XPath data model, XDM [XDM]. (The ability to update such data is expected to be provided in early 2008.) Our vision is of a world in which applications can query data that is provided in the SQL/relational model, in the XPath Data Model, and in RDF, preferably in a single query expression. This implies that SQL statements must be able to access XML data and RDF data, that XQuery expressions be able to access SQL data and RDF data, and that SPARQL queries be able to access SQL data and XML data. Achieving that vision requires a significant amount of infrastructure. We ve long known that one language can be used to query data represented in a data model other than that for which the language was designed by mapping the data from its native data model into the query language s data model. An important example is SQL/XML [SQL/XML], which allows relational data to be published in an XML form (that is, as an XPath data model instance) that can then be queried using XQuery. SQL/XML also provides a facility (XMLTABLE) that allows XML to be treated as though it were SQL data. Such mappings naturally run into the famous impedance mismatch caused by factors such as the collections of data types differing amongst query languages and their corresponding data models. 1

2 RDF is presented in [RDF-C] as yet another data model a graph data model distinct from the XPath tree-structured data model and from the SQL flat table data model. It is tempting to reject that assertion because of the tuple nature of RDF entities. However, a close examination of [RDF-C] shows subtle but important differences between collections of RDF triples and multisets of rows in SQL tables of three columns. For example, SQL tables are defined to comprise one or more columns, each having a particular declared data type (such as INTEGER, TIMESTAMP, or some user-defined type). Every row in that table has exactly that number of columns and the value of each column in each such row must be of the column s declared type. (Values of user-defined type columns may have a most-specific type that is a subtype of that user-defined type, which is a concept that doesn t apply to columns of SQL s built-in types.) In addition, all of SQL s metadata is essentially structural metadata that is, metadata about the structure of the various tables, about the data types of columns, and so forth and not semantic metadata, information that actually describes meaning of the SQL data. In the SQL model, the data types of columns are captured in various system tables, but very little information about the relationships of those data types is derivable from the system tables. Of course, information from those system tables can be combined with the data in the tables themselves, although the criteria through which such combinations would be meaningful are far from clear. By contrast, a given RDF collection can be augmented by RDF triples expressed using RDF Schema [RDF-S] and OWL [OWL-L] constructs that specify the class to which a given RDF entity belongs. Last year, we investigated whether the use of SQL s user-defined types might offer some way to map such class information from RDF into the SQL model, but the results were discouraging and we have abandoned that line of research. Another important difference arises from the relationships between the metadata associated with each model and the data available under that model. In the SQL environment, data literally cannot exist without metadata the schema. The two are inseparable in theory and in practice. However, in both the XPath data model and in the RDF data model, data may exist independent of any schema describing that data. While the absence of a schema may limit the ways in which the data can be interpreted, it is possible to build XML documents and RDF collections without any schema that describes them. On the World Wide Web, this distinction is especially important, because, unlike in the closed world of a database system, it is impossible for there to be a central point of control at which such metadata can be created...and enforced. Persistence Models The first commercial relational database management systems began to appear about 25 years ago. At the time, data management was dominated by CODASYL and other network DBMSs. The conventional wisdom at the time said that the new low-performance, small-volume systems didn t have a chance against the established base. But the separation of data model from persistence model proved to offer incredible versatility and opportunity for tremendous performance, manageability, scalability, and amount of data. Since then, there have been a number of database system innovations that were hoped to overtake relational systems in the marketplace, such as object-oriented database systems (OODBMS) and the so-called native XML database systems. To date, none have succeeded in doing so (although many of them have found secure niche markets with unique requirements). Instead, the implementers of relational systems have co-opted the new forms of data. The advent of object-relational systems (ORDBMS) responded to the majority of the requirements that led to the development of OODBMSs, and it appears at present that those systems have been successfully extended to handle XML data (XORDBMS) for the large majority of application environments. What, then, should be done about RDF data? RDF, as stated above, defines a graph data model. An important question to consider is this: Are the persistence requirements for graph data models so unique that the persistence engines that have served so well for relational data, object-oriented data, and XML data must be avoided? Or do those engines have sufficient flexibility that they can be used successfully for persisting and managing RDF data, too? We considered the possibility of creating a native RDF storage engine to deal with the graph nature of the RDF data. Such an engine would, no doubt, have some similarities to the CODASYL and other network DBMSs of the 70s. While we realized that there might be some advantages to this approach, we are also highly aware that relational storage engines easily overcame any perceived advantages to such pointer-based systems. Furthermore, development of new database storage engines is burdened by the immense amount of infrastructure required to 2

3 provide truly industrial-strength capabilities that existing relational engines already provide. There would have to be truly overwhelming advantages to a new storage model to justify the expenditures (literally billions of dollars) that led to the dominance of relational engines today. We firmly believe that the storage technologies that underlie the successful relational systems of which we are aware including commercial implementations and open source implementations are completely adequate for RDF data management. In fact, because the nature of RDF is collections of 3-tuples, we are convinced that there is no need at all for a native RDF storage environment and that relational systems are ideally suited for the job. Having reached that conclusion, we were next faced with a somewhat higher-level decision: Should there be a new native RDF data type defined for relational systems, as was done for XML data? The choice here was not so obvious, as there are advantages to defining a new data type and advantages to eschewing a new type in favor of ordinary table/column/row representations. The advantages to defining a new RDF data type include building in the ability to guarantee that the RDF data model directed graphs is always followed, but there is a significant disadvantage to face: the enhancements to SQL required to deal with such a new data type would complicate the language considerably. By contrast, using ordinary table representations for RDF data minimizes (or eliminates) any necessary changes to SQL, but it does require some care to ensure that the requirements of the RDF graph model are not violated. Our decision was easy to make; we chose to use a table representation for RDF data to create a persistent store for that data. But that raised another question to answer! Should we depend on application developers and users to write SQL queries to interrogate their RDF data? As we demonstrated last year, the SQL syntax required is not always obvious. Worse, as we ll demonstrate in this paper, the SQL can become very complex very quickly, especially when the nature of queries depends on the relationships between data more than on actual data values. It became clear to us that SPARQL was a much preferable language for querying RDF. Consequently, we made the choice to use SPARQL for querying RDF stored in ordinary SQL tables and columns. However, to minimize development costs and complexities, we also chose not to develop a native SPARQL language layer atop our existing storage engines, but to transform SPARQL into a language already understood by those engines: SQL. The next problem we faced was deciding the details of that table representation. The RDF data model is, as we observed earlier in this paper, a directed graph of nodes connected by labeled edges. The graph is frequently, and conveniently, represented textually as a collection of 3-tuples comprising a subject, a predicate, and an object. Predicates are always represented as URIs, while objects may be represented by URIs or by literal values. In theory, subjects may also be represented by URIs or by literal values, but the current definition of RDF limits them to URIs. Both subjects and objects may also be represented by blank nodes, each of which is uniquely identified within a given RDF graph. Naturally, we thought, these collections of 3-tuples would best be handled in SQL tables of three columns. However, the differences between URIs and literal values gave us some pause, especially since URIs are, in effect, pointers (usually, but not always, to other nodes in the graph). We chose to address this issue by creating tables of four columns instead of three. One column is, of course, used as the subject of each triple and a second is used as the predicate. The other two capture the object of the triple one is used when the object is a URI and the other when the object is a literal value. Of course, in SQL tables, every value of a column must be of the same data type, while RDF literals can be of many data types. We chose to use the approach chosen by RDF for typed literals the lexical representation of the literal value accompanied by a data type specification (a URI as defined by XML Schema). We also postulated a sort of referential integrity facility on the SQL tables to help enforce the graph model of RDF: CREATE TABLE RDF_STORE ( SUBJECT VARCHAR(2000), VERB VARCHAR(2000), OBJECT_URI VARCHAR(2000), OBJECT_LIT VARCHAR(2000), CHECK ( OBJECT_URI IS NULL 3

4 ) OR OBJECT_URI IN ( SELECT SUBJECT FROM RDF_STORE ) ),... CHECK ( VERB IS NULL OR VERB IN ( SELECT SUBJECT FROM RDF_STORE ), CHECK ( ( OBJECT_URI IS NOT NULL AND OBJECT_LIT IS NULL ) OR ( OBJECT_LIT IS NOT NULL AND OBJECT_URI IS NULL ) ) However, it was pointed out to us that RDF does not require that subject, predicate, or object URIs resolve to anything represented in the graph! Because of that fact, referential integrity is not needed (and, indeed, would violate the RDF data model). SPARQL to SQL Once the conclusion was reached that a relational engine was appropriate for persisting RDF graphs, that SPARQL was the appropriate language to use for querying that RDF, and that the development costs of building a complete SPARQL stack were prohibitive, we investigated exactly how we would deal with the problem of executing SPARQL code in an SQL engine. We describe our solution as though we were literally transforming SPARQL syntax into SQL syntax, but we do not expect any practical implementation to follow that paradigm; instead, implementations will transform SPARQL syntax into the same underlying execution trees/code used for compiling and executing SQL code. We made several assumptions as we began solving this problem: RDF graphs will be stored in tables of three columns (nothing in this work conflicts with the four-column design discussed above). The primary keys of such tables comprises all three (four) columns. Blank nodes are represented by (generated) blank node identifiers. The transformation from SPARQL into SQL involves a number of prerequisites. We chose to represent SPARQL syntax as parse trees, which significantly simplified several other aspects of the design. We created a simple algorithm for producing (globally!) unique blank node identifiers. We next created an algorithm to produce an SQL subquery corresponding to each node in the parse tree for a SPARQL statement; the result of each subquery includes a path column that identifies every node of the parse tree that contributes to the solution represented by that subquery. In this design, every node in the parse tree is numbered. The root node of the parse tree is node number 1. Every descendant of node i is numbered j, j > i. We also give each node a name (in two forms: a character string, and an SQL identifier) derived from its number: 'N1', 'N2', etc., and N1, N2, etc. The SQL code that is generated for a typical SPARQL statement is quite cumbersome, verbose, and complex. As we said above, however, we do not expect that any implementation will generate literal SQL code such as that illustrated here. The code we show here is intended to be illustrative of the technique, not of specific generated SQL. Consider the following simple SPARQL statement: { {?x :v _:n } UNION {?x :v _:n } } 4

5 The parse tree for that statement is shown in Figure 1. Figure 1: Parse Tree of SPARQL Statement The parenthesized number at each node represents the node number. There are no subqueries associated with the leaf nodes of the parse tree (e.g.,?x(5) or :v(11)). The path column of the subquery associated with each of the two TRIPLE nodes return the name of that node (N4 and N9, respectively). The path column of the subqueries associated with nodes GROUP(3) and GROUP(8) return the names of those nodes concatenated to the value of the path column of the nodes descendants (N4N3 and N9N8, respectively). The path column of the subquery associated with node UNION(2) returns N4N3N2 and N9N8N2. Consider node (4), which is a TRIPLE node comprising: <?x :v _:n > The SQL subquery corresponding to that TRIPLE node is: N4 AS ( SELECT 'N4' AS "::path", Subject AS "x", Object as "_:n" FROM GraphTable WHERE Verb = ' ) The notation used here was created as part of the 1999 edition of the SQL standard. It can be read as N4 is the nickname given to the subquery. The expression is an element of an SQL WITH clause, which predeclares subqueries, giving them a query name that are used later in the overall query or in later elements of the WITH clause; in this case, N4 is the subquery name. The remainder of that expression is a table subquery, which generates a virtual table of zero or more rows. Continuing to break that expression down: 'N4' AS "::path" is the first column The name of the column is "::path" (an SQL delimited identifier) The value of the column in all rows is the character string N4 (an SQL character string literal) identifying that node Subject AS "x" is the second column The name of the column is "x" (the SPARQL variable name) 5

6 The value of the column in all rows is the value of the SUBJECT column of the corresponding row taken from the graph table after the WHERE clause has been applied Object as "_:n" is the third column The name of the column is "_:x" (an SQL delimited identifier that is generated from the blank node name ) The value of the column in all rows is the value of the OBJECT column of the corresponding row taken from the graph table after the WHERE clause has been applied FROM GraphTable causes all rows from the graph table to be identified as candidate rows to be used in the WHERE and SELECT clauses. WHERE Verb = ' causes the un-identification of all rows identified in the graph table in which the value of the Verb does not equal the URI (character string) The result is a virtual table with as many rows as there rows in the graph table whose verb is the given URI. And, finally, the result of the entire expression is generated by the SELECT clause, which returns (in rows of a virtual table) the subject and object values from each row that remains after application of the WHERE clause (there is a 1:1 relationship between those remaining rows and the rows generated by the expression), as well as (in each row) the literal value that identifies the node in the SPARQL syntax tree for which those rows are a solution. Of course, analogous SQL subqueries are generated for other SPARQL syntax elements: JOIN nodes, GROUP nodes, EMPTY nodes, OPTIONAL nodes, UNION nodes, GRAPH nodes, and the root node. Conclusions Relational database management systems provide both the industrial-strength storage capabilities needed for RDF use in an enterprise of any size and the language infrastructure needed to execute SPARQL statements to query that RDF. Specialized RDF storage engines are not required and can actually inhibit integration of multiple sorts of data. By choosing to represent RDF triples in an SQL table of three or four columns, RDF can take complete advantage of the facilities offered by modern RDBMSs, including very high scalability, extreme reliability, manageability (including backup and restore), security, and so forth. We have demonstrated that it is possible to transform arbitrary SPARQL statements into SQL code, recognizing that real product will not transform literally into SQL but into the internal execution trees that also result from SQL compilation. By using an RDBMS as the RDF persistence engine and transforming SPARQL into SQL-like execution trees, it becomes an almost trivial exercise to integrate ordinary SQL queries, XQuery queries (using SQL/XML), and RDF queries (most likely using an SQL/XML-like facility that includes an SQL function for invoking SPARQL statements). By leveraging the enormous investment already made in RDBMS engines, this approach promises to greatly increase the rate of adoption of the semantic web. Acknowledgements The author thanks Fred Zemke, Ashok Malhotra, Susie Stephens, and Eric Prud hommeaux for their help in researching and understanding topics related to the semantic web, including RDF and SPARQL. Bibliography [OWL-L] OWL Web Ontology Language Reference, Recommendation, World Wide Web Consortium, ; [RDF-C] Resource Description Framework (RDF): Concepts and Abstract Syntax, Recommendation, World Wide Web Consortium, ; [RDF-S] RDF/XML Syntax Specification (Revised), Recommendation, World Wide Web Consortium, ; 6

7 [SPARQL-L] SPARQL Query Language for RDF, Candidate Recommendation, World Wide Web Consortium, ; [SPARQL-L2] SPARQL Query Language for RDF, Last Call Working Draft, World Wide Web Consortium, ; [SPARQL-P] SPARQL Protocol for RDF, Candidate Recommendation, World Wide Web Consortium, ; [SPARQL-R] SPARQL Query Results XML Format, Candidate Recommendation, World Wide Web Consortium, ; [SQL] ISO/IEC 9075-*:2003, Information technology Database languages SQL, International Organization for Standardization, 2003 [SQL/XML] ISO/IEC :2006, Information technology Database languages SQL Part 14: XML-Related Specifications (SQL/XML), International Organization for Standardization, 2006 [XDM] XQuery 1.0 and XPath 2.0 Data Model (XDM), Recommendation, World Wide Web Consortium, ; [XQuery] XQuery 1.0: An XML Query Language, Recommendation, World Wide Web Consortium, ; 7

Flat triples approach to RDF graphs in JSON

Flat triples approach to RDF graphs in JSON Flat triples approach to RDF graphs in JSON Dominik Tomaszuk Institute of Computer Science, University of Bialystok, Poland Abstract. This paper describes a syntax that can be used to write Resource Description

More information

Using UML To Define XML Document Types

Using UML To Define XML Document Types Using UML To Define XML Document Types W. Eliot Kimber ISOGEN International, A DataChannel Company Created On: 10 Dec 1999 Last Revised: 14 Jan 2000 Defines a convention for the use of UML to define XML

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

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

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

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

5 RDF and Inferencing

5 RDF and Inferencing 5 RDF and Inferencing In Chapter 1XXX, we introduced the notion of dumb data, and how a more connected web infrastructure can result in behavior that lets smart applications perform to their potential.

More information

M359 Block5 - Lecture12 Eng/ Waleed Omar

M359 Block5 - Lecture12 Eng/ Waleed Omar Documents and markup languages The term XML stands for extensible Markup Language. Used to label the different parts of documents. Labeling helps in: Displaying the documents in a formatted way Querying

More information

Violating Independence

Violating Independence by David McGoveran (Originally published in the Data Independent, Premier Issue, Jan. 1995: Updated Sept. 2014) Introduction A key aspect of the relational model is the separation of implementation details

More information

Orchestrating Music Queries via the Semantic Web

Orchestrating Music Queries via the Semantic Web Orchestrating Music Queries via the Semantic Web Milos Vukicevic, John Galletly American University in Bulgaria Blagoevgrad 2700 Bulgaria +359 73 888 466 milossmi@gmail.com, jgalletly@aubg.bg Abstract

More information

CHAPTER 2: DATA MODELS

CHAPTER 2: DATA MODELS CHAPTER 2: DATA MODELS 1. A data model is usually graphical. PTS: 1 DIF: Difficulty: Easy REF: p.36 2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the

More information

XML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations.

XML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations. XML technology is very powerful, but also very limited. The more you are aware of the power, the keener your interest in reducing the limitations. A key problem is rooted in the very paradigm of XML, which

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2411

More information

COMP9321 Web Application Engineering

COMP9321 Web Application Engineering COMP9321 Web Application Engineering Semester 1, 2017 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 12 (Wrap-up) http://webapps.cse.unsw.edu.au/webcms2/course/index.php?cid=2457

More information

2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the integrity of the data.

2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the integrity of the data. Test bank for Database Systems Design Implementation and Management 11th Edition by Carlos Coronel,Steven Morris Link full download test bank: http://testbankcollection.com/download/test-bank-for-database-systemsdesign-implementation-and-management-11th-edition-by-coronelmorris/

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

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their products. These companies are promoting a new, extended version

More information

6. Relational Algebra (Part II)

6. Relational Algebra (Part II) 6. Relational Algebra (Part II) 6.1. Introduction In the previous chapter, we introduced relational algebra as a fundamental model of relational database manipulation. In particular, we defined and discussed

More information

ISO INTERNATIONAL STANDARD. Geographic information Filter encoding. Information géographique Codage de filtres. First edition

ISO INTERNATIONAL STANDARD. Geographic information Filter encoding. Information géographique Codage de filtres. First edition INTERNATIONAL STANDARD ISO 19143 First edition 2010-10-15 Geographic information Filter encoding Information géographique Codage de filtres Reference number ISO 19143:2010(E) ISO 2010 PDF disclaimer This

More information

SOME TYPES AND USES OF DATA MODELS

SOME TYPES AND USES OF DATA MODELS 3 SOME TYPES AND USES OF DATA MODELS CHAPTER OUTLINE 3.1 Different Types of Data Models 23 3.1.1 Physical Data Model 24 3.1.2 Logical Data Model 24 3.1.3 Conceptual Data Model 25 3.1.4 Canonical Data Model

More information

SQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3

SQL: Data De ni on. B0B36DBS, BD6B36DBS: Database Systems. h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3 B0B36DBS, BD6B36DBS: Database Systems h p://www.ksi.m.cuni.cz/~svoboda/courses/172-b0b36dbs/ Lecture 3 SQL: Data De ni on Mar n Svoboda mar n.svoboda@fel.cvut.cz 13. 3. 2018 Czech Technical University

More information

Module 9: Managing Schema Objects

Module 9: Managing Schema Objects Module 9: Managing Schema Objects Overview Naming guidelines for identifiers in schema object definitions Storage and structure of schema objects Implementing data integrity using constraints Implementing

More information

Implementation Techniques

Implementation Techniques V Implementation Techniques 34 Efficient Evaluation of the Valid-Time Natural Join 35 Efficient Differential Timeslice Computation 36 R-Tree Based Indexing of Now-Relative Bitemporal Data 37 Light-Weight

More information

SQL: Data Definition Language. csc343, Introduction to Databases Diane Horton Fall 2017

SQL: Data Definition Language. csc343, Introduction to Databases Diane Horton Fall 2017 SQL: Data Definition Language csc343, Introduction to Databases Diane Horton Fall 2017 Types Table attributes have types When creating a table, you must define the type of each attribute. Analogous to

More information

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs Object Oriented Database Chapter 13 1 Object DBMSs Underlying concepts: Freely sharing data across processing routines creates unacceptable data dependencies All software should be constructed out of standard,

More information

2.2 Syntax Definition

2.2 Syntax Definition 42 CHAPTER 2. A SIMPLE SYNTAX-DIRECTED TRANSLATOR sequence of "three-address" instructions; a more complete example appears in Fig. 2.2. This form of intermediate code takes its name from instructions

More information

CHAPTER 2: DATA MODELS

CHAPTER 2: DATA MODELS Database Systems Design Implementation and Management 12th Edition Coronel TEST BANK Full download at: https://testbankreal.com/download/database-systems-design-implementation-andmanagement-12th-edition-coronel-test-bank/

More information

FOUNDATIONS OF DATABASES AND QUERY LANGUAGES

FOUNDATIONS OF DATABASES AND QUERY LANGUAGES FOUNDATIONS OF DATABASES AND QUERY LANGUAGES Lecture 14: Database Theory in Practice Markus Krötzsch TU Dresden, 20 July 2015 Overview 1. Introduction Relational data model 2. First-order queries 3. Complexity

More information

XML Perspectives on RDF Querying: Towards integrated Access to Data and Metadata on the Web

XML Perspectives on RDF Querying: Towards integrated Access to Data and Metadata on the Web XML Perspectives on RDF Querying: Towards integrated Access to Data and Metadata on the Web Tim Furche, François Bry, Oliver Bolzer Institute for Informatics, University of Munich http://www.pms.ifi.lmu.de

More information

Oral Questions and Answers (DBMS LAB) Questions & Answers- DBMS

Oral Questions and Answers (DBMS LAB) Questions & Answers- DBMS Questions & Answers- DBMS https://career.guru99.com/top-50-database-interview-questions/ 1) Define Database. A prearranged collection of figures known as data is called database. 2) What is DBMS? Database

More information

Hyperdata: Update APIs for RDF Data Sources (Vision Paper)

Hyperdata: Update APIs for RDF Data Sources (Vision Paper) Hyperdata: Update APIs for RDF Data Sources (Vision Paper) Jacek Kopecký Knowledge Media Institute, The Open University, UK j.kopecky@open.ac.uk Abstract. The Linked Data effort has been focusing on how

More information

normalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model

normalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model Database Design Section1 - Introduction 1-1 Introduction to the Oracle Academy o Give examples of jobs, salaries, and opportunities that are possible by participating in the Academy. o Explain how your

More information

References. 1. Introduction. 2. Terminology. Title: Converting SPARQL syntax to trees. Author: Fred Zemke Date: September 28, 2006

References. 1. Introduction. 2. Terminology. Title: Converting SPARQL syntax to trees. Author: Fred Zemke Date: September 28, 2006 Title: Converting SPARQL syntax to trees Author: Fred Zemke Date: September 28, 2006 References [SPARQL CR] [rq24] [First attempt] SPARQL query language for RDF, Candidate Recommendation, http://www.w3.org/tr/2006/cr-rdf-sparql-query-20060406/

More information

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure

Introduction to Relational Databases. Introduction to Relational Databases cont: Introduction to Relational Databases cont: Relational Data structure Databases databases Terminology of relational model Properties of database relations. Relational Keys. Meaning of entity integrity and referential integrity. Purpose and advantages of views. The relational

More information

Standard Business Rules Language: why and how? ICAI 06

Standard Business Rules Language: why and how? ICAI 06 Standard Business Rules Language: why and how? ICAI 06 M. Diouf K. Musumbu S. Maabout LaBRI (UMR 5800 du CNRS), 351, cours de la Libération, F-33.405 TALENCE Cedex e-mail: {diouf, musumbu, maabout}@labri.fr

More information

Implementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations. SQL: Structured Query Language

Implementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations. SQL: Structured Query Language Implementing Table Operations Using Structured Query Language (SQL) Using Multiple Operations Show Only certain columns and rows from the join of Table A with Table B The implementation of table operations

More information

Revisiting Blank Nodes in RDF to Avoid the Semantic Mismatch with SPARQL

Revisiting Blank Nodes in RDF to Avoid the Semantic Mismatch with SPARQL Revisiting Blank Nodes in RDF to Avoid the Semantic Mismatch with SPARQL Marcelo Arenas 1, Mariano Consens 2, and Alejandro Mallea 1,3 1 Pontificia Universidad Católica de Chile 2 University of Toronto

More information

NULLs & Outer Joins. Objectives of the Lecture :

NULLs & Outer Joins. Objectives of the Lecture : Slide 1 NULLs & Outer Joins Objectives of the Lecture : To consider the use of NULLs in SQL. To consider Outer Join Operations, and their implementation in SQL. Slide 2 Missing Values : Possible Strategies

More information

LESSON 13: LANGUAGE TRANSLATION

LESSON 13: LANGUAGE TRANSLATION LESSON 13: LANGUAGE TRANSLATION Objective Interpreters and Compilers. Language Translation Phases. Interpreters and Compilers A COMPILER is a program that translates a complete source program into machine

More information

Relational Theory and Data Independence: Unfinished Business. Logical Data Independence and the CREATE VIEW Statement.

Relational Theory and Data Independence: Unfinished Business. Logical Data Independence and the CREATE VIEW Statement. Relational Theory and Data Independence: Unfinished Business. Dr. Tom Johnston Much has been made of the data independence that relational technology is said to provide. And indeed, much has been accomplished

More information

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

CPS122 Lecture: From Python to Java last revised January 4, Objectives: Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while

One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while 1 One of the main selling points of a database engine is the ability to make declarative queries---like SQL---that specify what should be done while leaving the engine to choose the best way of fulfilling

More information

Ian Kenny. November 28, 2017

Ian Kenny. November 28, 2017 Ian Kenny November 28, 2017 Introductory Databases Relational Algebra Introduction In this lecture we will cover Relational Algebra. Relational Algebra is the foundation upon which SQL is built and is

More information

Grammar. Dates and Times. Components

Grammar. Dates and Times. Components The Asserted Versioning Glossary This Glossary contains approximately three-hundred definitions, nearly all of which are specific to Asserted Versioning. Most expressions have both a Mechanics entry and

More information

Repetition Through Recursion

Repetition Through Recursion Fundamentals of Computer Science I (CS151.02 2007S) Repetition Through Recursion Summary: In many algorithms, you want to do things again and again and again. For example, you might want to do something

More information

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Querying Data on the Web Date: Wednesday 27th January 2016 Time: 09:45-11:45 Please answer ALL Questions provided This is a CLOSED book examination

More information

DDS Dynamic Search Trees

DDS Dynamic Search Trees DDS Dynamic Search Trees 1 Data structures l A data structure models some abstract object. It implements a number of operations on this object, which usually can be classified into l creation and deletion

More information

CS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output

CS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output CS112 Lecture: Variables, Expressions, Computation, Constants, Numeric Input-Output Last revised January 12, 2006 Objectives: 1. To introduce arithmetic operators and expressions 2. To introduce variables

More information

Lecture 10: Introduction to Correctness

Lecture 10: Introduction to Correctness Lecture 10: Introduction to Correctness Aims: To look at the different types of errors that programs can contain; To look at how we might detect each of these errors; To look at the difficulty of detecting

More information

Browsing the Semantic Web

Browsing the Semantic Web Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 237 245. Browsing the Semantic Web Peter Jeszenszky Faculty of Informatics, University

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe CHAPTER 6 Basic SQL Slide 6-2 Chapter 6 Outline SQL Data Definition and Data Types Specifying Constraints in SQL Basic Retrieval Queries in SQL INSERT, DELETE, and UPDATE Statements in SQL Additional Features

More information

1 Achieving IND-CPA security

1 Achieving IND-CPA security ISA 562: Information Security, Theory and Practice Lecture 2 1 Achieving IND-CPA security 1.1 Pseudorandom numbers, and stateful encryption As we saw last time, the OTP is perfectly secure, but it forces

More information

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS 1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

More information

CorreLog. SQL Table Monitor Adapter Users Manual

CorreLog. SQL Table Monitor Adapter Users Manual CorreLog SQL Table Monitor Adapter Users Manual http://www.correlog.com mailto:support@correlog.com CorreLog, SQL Table Monitor Users Manual Copyright 2008-2018, CorreLog, Inc. All rights reserved. No

More information

Multi-agent and Semantic Web Systems: Querying

Multi-agent and Semantic Web Systems: Querying Multi-agent and Semantic Web Systems: Querying Fiona McNeill School of Informatics 11th February 2013 Fiona McNeill Multi-agent Semantic Web Systems: Querying 11th February 2013 0/30 Contents This lecture

More information

New Approach to Graph Databases

New Approach to Graph Databases Paper PP05 New Approach to Graph Databases Anna Berg, Capish, Malmö, Sweden Henrik Drews, Capish, Malmö, Sweden Catharina Dahlbo, Capish, Malmö, Sweden ABSTRACT Graph databases have, during the past few

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

Object-oriented Compiler Construction

Object-oriented Compiler Construction 1 Object-oriented Compiler Construction Extended Abstract Axel-Tobias Schreiner, Bernd Kühl University of Osnabrück, Germany {axel,bekuehl}@uos.de, http://www.inf.uos.de/talks/hc2 A compiler takes a program

More information

CPS122 Lecture: From Python to Java

CPS122 Lecture: From Python to Java Objectives: CPS122 Lecture: From Python to Java last revised January 7, 2013 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

Using RDF to Model the Structure and Process of Systems

Using RDF to Model the Structure and Process of Systems Using RDF to Model the Structure and Process of Systems Marko A. Rodriguez Jennifer H. Watkins Johan Bollen Los Alamos National Laboratory {marko,jhw,jbollen}@lanl.gov Carlos Gershenson New England Complex

More information

SQL Fundamentals. Chapter 3. Class 03: SQL Fundamentals 1

SQL Fundamentals. Chapter 3. Class 03: SQL Fundamentals 1 SQL Fundamentals Chapter 3 Class 03: SQL Fundamentals 1 Class 03: SQL Fundamentals 2 SQL SQL (Structured Query Language): A language that is used in relational databases to build and query tables. Earlier

More information

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the

More information

2.3 Algorithms Using Map-Reduce

2.3 Algorithms Using Map-Reduce 28 CHAPTER 2. MAP-REDUCE AND THE NEW SOFTWARE STACK one becomes available. The Master must also inform each Reduce task that the location of its input from that Map task has changed. Dealing with a failure

More information

WEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL

WEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL WEB APPLICATION MANAGEMENT: IMPLEMENTING A DYNAMIC DATABASE UPGRADE MODEL Richard Wilson 1 & Daniel Lowes 2 1 Dept. of Computer Science and Software Engineering, University of Melbourne (Australia) 2 Dept.

More information

SQL. History. From Wikipedia, the free encyclopedia.

SQL. History. From Wikipedia, the free encyclopedia. SQL From Wikipedia, the free encyclopedia. Structured Query Language (SQL) is the most popular computer language used to create, modify and retrieve data from relational database management systems. The

More information

Domain Constraints Referential Integrity Assertions Triggers. Authorization Authorization in SQL

Domain Constraints Referential Integrity Assertions Triggers. Authorization Authorization in SQL Chapter 6: Integrity and Security Domain Constraints Referential Integrity Assertions Triggers Security Authorization Authorization in SQL 6.1 Domain Constraints Integrity constraints guard against accidental

More information

Working with DB2 Data Using SQL and XQuery Answers

Working with DB2 Data Using SQL and XQuery Answers Working with DB2 Data Using SQL and XQuery Answers 66. The correct answer is D. When a SELECT statement such as the one shown is executed, the result data set produced will contain all possible combinations

More information

The XQuery Data Model

The XQuery Data Model The XQuery Data Model 9. XQuery Data Model XQuery Type System Like for any other database query language, before we talk about the operators of the language, we have to specify exactly what it is that

More information

Efficient, Scalable, and Provenance-Aware Management of Linked Data

Efficient, Scalable, and Provenance-Aware Management of Linked Data Efficient, Scalable, and Provenance-Aware Management of Linked Data Marcin Wylot 1 Motivation and objectives of the research The proliferation of heterogeneous Linked Data on the Web requires data management

More information

A Modular modular XQuery implementation

A Modular modular XQuery implementation A Modular modular XQuery implementation Implementation Jan Vraný, Jan Jan Vraný, Jan Žák Žák Department of Computer Science and Engineering, FEE, Czech Technical University Department of Computer in Prague,

More information

STS Infrastructural considerations. Christian Chiarcos

STS Infrastructural considerations. Christian Chiarcos STS Infrastructural considerations Christian Chiarcos chiarcos@uni-potsdam.de Infrastructure Requirements Candidates standoff-based architecture (Stede et al. 2006, 2010) UiMA (Ferrucci and Lally 2004)

More information

Where Are We? Next Few Lectures. Integrity Constraints Motivation. Constraints in E/R Diagrams. Keys in E/R Diagrams

Where Are We? Next Few Lectures. Integrity Constraints Motivation. Constraints in E/R Diagrams. Keys in E/R Diagrams Where Are We? Introduction to Data Management CSE 344 Lecture 15: Constraints We know quite a bit about using a DBMS Start with real-world problem, design ER diagram From ER diagram to relations -> conceptual

More information

Grid Resources Search Engine based on Ontology

Grid Resources Search Engine based on Ontology based on Ontology 12 E-mail: emiao_beyond@163.com Yang Li 3 E-mail: miipl606@163.com Weiguang Xu E-mail: miipl606@163.com Jiabao Wang E-mail: miipl606@163.com Lei Song E-mail: songlei@nudt.edu.cn Jiang

More information

OWL DL / Full Compatability

OWL DL / Full Compatability Peter F. Patel-Schneider, Bell Labs Research Copyright 2007 Bell Labs Model-Theoretic Semantics OWL DL and OWL Full Model Theories Differences Betwen the Two Semantics Forward to OWL 1.1 Model-Theoretic

More information

CS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13

CS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13 CS121 MIDTERM REVIEW CS121: Relational Databases Fall 2017 Lecture 13 2 Before We Start Midterm Overview 3 6 hours, multiple sittings Open book, open notes, open lecture slides No collaboration Possible

More information

UNIT I. Introduction

UNIT I. Introduction UNIT I Introduction Objective To know the need for database system. To study about various data models. To understand the architecture of database system. To introduce Relational database system. Introduction

More information

Understandability and Semantic Interoperability of Diverse Rules Systems. Adrian Walker, Reengineering [1]

Understandability and Semantic Interoperability of Diverse Rules Systems. Adrian Walker, Reengineering [1] Understandability and Semantic Interoperability of Diverse Rules Systems Adrian Walker, Reengineering [1] Position Paper for the W3C Workshop on Rule Languages for Interoperability 27-28 April 2005, Washington,

More information

"Relations for Relationships"

Relations for Relationships M359 An explanation from Hugh Darwen "Relations for Relationships" This note might help those who have struggled with M359's so-called "relation for relationship" method of representing, in a relational

More information

Chapter 3: The Relational Database Model

Chapter 3: The Relational Database Model Chapter 3: The Relational Database Model Student: 1. The practical significance of taking the logical view of a database is that it serves as a reminder of the simple file concept of data storage. 2. You

More information

This book is licensed under a Creative Commons Attribution 3.0 License

This book is licensed under a Creative Commons Attribution 3.0 License 6. Syntax Learning objectives: syntax and semantics syntax diagrams and EBNF describe context-free grammars terminal and nonterminal symbols productions definition of EBNF by itself parse tree grammars

More information

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services

Contents. G52IWS: The Semantic Web. The Semantic Web. Semantic web elements. Semantic Web technologies. Semantic Web Services Contents G52IWS: The Semantic Web Chris Greenhalgh 2007-11-10 Introduction to the Semantic Web Semantic Web technologies Overview RDF OWL Semantic Web Services Concluding comments 1 See Developing Semantic

More information

ArgQL: A Declarative Language for Querying Argumentative Dialogues

ArgQL: A Declarative Language for Querying Argumentative Dialogues ArgQL: A Declarative Language for Querying Argumentative Dialogues R U L E M L + R R : I N T E R N AT I O N A L J O I N T C O N F E R E N C E O N R U L E S A N D R E A S O N I N G D I M I T R A Z O G R

More information

Inside Relational Databases with Examples in Access

Inside Relational Databases with Examples in Access Inside Relational Databases with Examples in Access Inside Relational Databases with Examples in Access Mark Whitehorn and Bill Marklyn 123 Mark Whitehorn Applied Computing Division, University of Dundee,

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

Arbori Starter Manual Eugene Perkov

Arbori Starter Manual Eugene Perkov Arbori Starter Manual Eugene Perkov What is Arbori? Arbori is a query language that takes a parse tree as an input and builds a result set 1 per specifications defined in a query. What is Parse Tree? A

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

More information

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11

DATABASE PERFORMANCE AND INDEXES. CS121: Relational Databases Fall 2017 Lecture 11 DATABASE PERFORMANCE AND INDEXES CS121: Relational Databases Fall 2017 Lecture 11 Database Performance 2 Many situations where query performance needs to be improved e.g. as data size grows, query performance

More information

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,

More information

COMPUTER AND INFORMATION SCIENCE JENA DB. Group Abhishek Kumar Harshvardhan Singh Abhisek Mohanty Suhas Tumkur Chandrashekhara

COMPUTER AND INFORMATION SCIENCE JENA DB. Group Abhishek Kumar Harshvardhan Singh Abhisek Mohanty Suhas Tumkur Chandrashekhara JENA DB Group - 10 Abhishek Kumar Harshvardhan Singh Abhisek Mohanty Suhas Tumkur Chandrashekhara OUTLINE Introduction Data Model Query Language Implementation Features Applications Introduction Open Source

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Outline The Need for Databases Data Models Relational Databases Database Design Storage Manager Query

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 164 Spring 2009 P. N. Hilfinger CS 164: Final Examination (corrected) Name: Login: You have

More information

Logical reconstruction of RDF and ontology languages

Logical reconstruction of RDF and ontology languages Logical reconstruction of RDF and ontology languages Jos de Bruijn 1, Enrico Franconi 2, and Sergio Tessaris 2 1 Digital Enterprise Research Institute, University of Innsbruck, Austria jos.debruijn@deri.org

More information

Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 2: Relations and SQL. September 5, Lecturer: Rasmus Pagh

Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 2: Relations and SQL. September 5, Lecturer: Rasmus Pagh Introduction to Databases, Fall 2005 IT University of Copenhagen Lecture 2: Relations and SQL September 5, 2005 Lecturer: Rasmus Pagh Today s lecture What, exactly, is the relational data model? What are

More information

ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION

ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION JING YANG 2010 FALL Class 3: The Relational Data Model and Relational Database Constraints Outline 2 The Relational Data Model and Relational Database Constraints

More information

11. Architecture of Database Systems

11. Architecture of Database Systems 11. Architecture of Database Systems 11.1 Introduction Software systems generally have an architecture, ie. possessing of a structure (form) and organisation (function). The former describes identifiable

More information

Finding Similarity and Comparability from Merged Hetero Data of the Semantic Web by Using Graph Pattern Matching

Finding Similarity and Comparability from Merged Hetero Data of the Semantic Web by Using Graph Pattern Matching Finding Similarity and Comparability from Merged Hetero Data of the Semantic Web by Using Graph Pattern Matching Hiroyuki Sato, Kyoji Iiduka, Takeya Mukaigaito, and Takahiko Murayama Information Sharing

More information

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Document databases Graph databases Metadata Column databases

CISC 7610 Lecture 4 Approaches to multimedia databases. Topics: Document databases Graph databases Metadata Column databases CISC 7610 Lecture 4 Approaches to multimedia databases Topics: Document databases Graph databases Metadata Column databases NoSQL architectures: different tradeoffs for different workloads Already seen:

More information

SQL Interview Questions

SQL Interview Questions SQL Interview Questions SQL stands for Structured Query Language. It is used as a programming language for querying Relational Database Management Systems. In this tutorial, we shall go through the basic

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems http://dilbert.com/strips/comic/1995-10-11/ Lecture 5 More SQL and Intro to Stored Procedures September 24, 2017 Sam Siewert SQL Theory and Standards Completion of SQL in

More information

Compiler Design 1. Introduction to Programming Language Design and to Compilation

Compiler Design 1. Introduction to Programming Language Design and to Compilation Compiler Design 1 Introduction to Programming Language Design and to Compilation Administrivia Lecturer: Kostis Sagonas (Hus 1, 352) Course home page: http://user.it.uu.se/~kostis/teaching/kt1-11 If you

More information