The Nested Relational Data Model is Not a Good Idea

Size: px
Start display at page:

Download "The Nested Relational Data Model is Not a Good Idea"

Transcription

1 The Nested Relational Data Model is Not a Good Idea Robert M. Colomb School of Information Technology and Electrical Engineering The University of Queensland Queensland 4072 Australia colomb@itee.uq.edu.au Work performed partly while visiting LADSEB-CNR; Corso Stati Uniti, 4; Padova, Italy Introduction Abstract The nested relational data model is a natural generalisation of the relational data model, but it often leads to designs which hide the data structures needed to specify queries and updates in the information system. The relational data model on the other hand exposes the specifications of the data structures and permits the minimal specification of queries and updates using SQL. The deficiencies in relational systems leading to a demand for object-oriented nested relational solutions are seen to be deficiencies in the implementations of relational database systems, not in the data model itself. The nested relational data model is a natural generalisation of the relational data model, but it often leads to designs which hide the data structures needed to specify queries and updates in the information system. The relational data model on the other hand exposes the specifications of the data structures and permits the minimal specification of queries and updates using SQL. However, there are deficiencies in relational systems, which lead to a demand for object-oriented nested relational solutions. This paper argues that these deficiencies are not inherent in the relational data model, but are deficiencies in the implementations of relational database systems. The paper first sketches how the nested-relational model is a natural extension of the object-relational data model, then shows how the nested relational model, while sound, is expensive to use. It then examines the object-oriented paradigm for software engineering, and shows that it gives very little benefit in database applications. Rather, the relational model as represented in conceptual modelling languages is argued to provide an ideal view of the data. The ultimate thesis is that a better strategy is to employ a main-memory relational database optimised for queries on complex objects, with a query interface based on a conceptual model query language. Object-relational data model leads to nested relations The object-relational data model (Stonebraker, Brown and Moore 1999) arises out of the realisation that the relational data model abstracts away from the value sets of attribute functions. If we think in terms of tuple identifiers in relations (keys), then a relation is simply a collection of attribute functions mapping the key into value sets.

2 The pure relational data model is based on set theory, and operates in terms of projections, cartesian products and selection predicates. Cartesian product simply creates new sets from existing sets, while projection requires the notion of identity, since the projection operation can produce duplicates, which must be identified. Selection requires the concept of a predicate, but the relational model abstracts away from the content of the predicate, requiring only a function from a tuple of value sets into {true, false}. The relational system requires only the ability to combine predicates using the propositional calculus. Particular value sets have properties which are used in predicates and in other operations. The only operator used in the pure relational model is identity. The presence of this operator is guaranteed by the requirement that the value sets be sets, although in practice some value sets do not for practical purposes support identity (eg real number represented as floating point). This realisation that the relational data model abstracts away from the types of value sets and from the operators which are available to types has allowed the design of database systems where the value sets can be of any type. Besides integers, strings, reals, and booleans, object-relational databases can support text, images, video, animation, programs and many other types. Each type supports a set of operations and predicates which can be integrated with the relational operations into practical solutions (each type is an abstract data type). If a value set can be of any type, why not a set of elements of some type? Why not a tuple? If we allow sets and tuples, then why not sets of tuples? Sets of tuples are relations and the corresponding abstract data type is the relational algebra. Thus the objectrelational data model leads to the possibility of relation-valued attributes in relations. Having relation-valued attributes in relations looks as if it might violate first normal form. However, the outer relational operations can only result in tuples whose attribute values are either copies of attribute values from the original relations or are functions of those values, in the same way as if the value sets were integers, the results are either the integers present in the original tables or functions like square root of those integers. In other words, the outer relational system can only see inside a relation-valued attribute to the extent that a function is supplied to do so. These functions are particular to the schema of the relation-valued attribute, and have no knowledge of the outer schema. Since the outer relational model and the abstract data type of a relation-valued attribute are the same abstract data type, it makes sense to introduce a relationship among the two. The standard relationships are unnest and nest. Unnest is an operator which modifies the scheme of the outer data model, replacing the relation-valued attribute function by a collection of attribute functions corresponding to the scheme of the inner relation. Nest is the reverse operation, which modifies the outer scheme by packaging a collection of attributes into a single relation-valued attribute. Having relation-valued attributes together with nest and unnest operations between the outer and inner relational systems is called the nested relational data model. We see that the nested relational data model is a natural extension of the object-relational data model. 2

3 Use of the nested relational data model for object-oriented development In recent years the object-oriented model has become the dominant programming model and is becoming more common in systems design, including information systems. The data in an object-oriented system consists typically of complex data structures built from tuple and collector types. The tuple type is the same as the tuple type in the objectrelational model. A collector type is either a set, list or multiset. The latter two can be seen as sets with an additional attribute: a list is a set with a sequence attribute, while a multiset is a set with an additional identifying attribute. So a nested-relational data model can represent data from an object-oriented design. Accordingly, object-relational databases with object-relational nested SQL can be used to implement object-oriented databases. How this is done is described for example by Stonebraker, Brown and Moore (1999) (henceforth SBM). We should note that both the relational and object-oriented data models are implementations of more abstract conceptual data models expressed in conceptual data modelling languages such as the Entity-Relationship-Attribute (ERA) method. Wellestablished information systems design methods begin the analysis of data with a conceptual model, moving to a particular database implementation at a later stage. An example adapted from SBM will clarify some issues. Consider the data model in Figure 1. Since the relationship between department and vehicle is one-to-many, associated with each department is a set of vehicles. Figure 1 A conceptual model A nested-relational implementation of this conceptual data model is Dept(ID:int, other: various, (1) car: set of (vehid: string, make:string, year:int)) and a typical population might be Figure 2 Sample NR population Dept ID Car VehID Make Year 1 006BKL Laser CDR Holden TTR Falcon SQL Honda 1998 Note that the object-relational table is Dept, with two attributes, ID and Car. Car is a relation-valued attribute with scheme (VehID, Make, Year). 3

4 OR SQL on nested relations SQL has been extended by SBM among others to handle object-relational databases, mainly by permitting in SQL statements the predicates and operators particular to the abstract data types supporting the value sets. In particular, nested relational systems are supported by extending and overloading the dot notation for disambiguating attribute names. For example, in Select ID from dept where car.year = 1999 (2) Dot year identifies the year attribute of the car tuple, and also designates the membership of a tuple where year = 1999 in the set of tuples which is the value set of dept.car. The result of this query on the table of Figure 2 is ID = 1. As a consequence of this overloading, the and boolean operator in the WHERE clause becomes if not ambiguous, at least counterintuitive to someone used to standard SQL. The query Select ID from dept where car.make = Laser (3) Has the same result, ID = 1. Since the outermost interpretation of dot is set membership, in the query Select ID from dept where car.year = 1999 and car.make = Laser (4) The and operator is interpreted as set intersection, and the result is also ID = 1. This result, although correct, is probably not what the maker of the query intended. They would more likely have been looking for a department which has a 1999 Laser, and the response they would be looking for would be none. There are two ways to fix this problem. One is to import a new and operator from the relational ADT, so that (4) becomes Select ID from dept where car.year = 1999 and2 car.make = Laser (5) In this solution, both arguments of and2 must be the same relation-valued attribute of the outer system. The other solution is to unnest the table so that the standard relational operator works in the way it does in standard SQL Select ID from dept, dept.car where (6) car.year = 1999 and2 car.make = Laser Where the addition of dept.car to the FROM clause signifies unnesting. The former method is problematic since nesting can occur to any level, and the second is problematic since it requires the user to introduce navigation information into the query. The same sort of problem occurs when we try to correlate the SELECT clause with the WHERE clause Select ID, car.year from dept where car.make = Laser (7) Returns the table 4

5 ID = 1, Year = {1991, 1999} (8) when applied to the table of Figure 2, as a consequence of first normal form. We need again to use unnest to convert the nested structure to a flat relational structure in order to make the query mean what we want to say. Although OR SQL is a sound and complete query language, the simple-looking queries tend to be not very useful, and in order to make useful queries additional syntax and a good understanding of the possibly complex and possibly multiple nesting structure is essential. The author s experience is that it is very hard to teach, even to very advanced students. Representation of many to many relationships If we are going to use the nested relational model to represent complex data structures, then we must take account of many to many relationships, as in Figure 3. N M N M Student Course Lecturer Figure 3 A many to many relationship There are several different ways to implement this application in the nested relational model, taking each of the entities as the outermost relation. If implemented as a single table, two of the entities would be stored redundantly because of the many-to-many relationships. So the normalised way is to store the relationships as sets of reference types (attributes whose value sets are object identifiers). If the query follows the nesting structure used in the implementation, then we have only the problems of correlation of various clauses in the SQL query described in the last section. However, if the query does not follow the nesting structure, it can get very complex. For example, if the table has a set of courses associated with each student and a set of lecturers associated with each course, then in order to find the students associated with a given lecturer, the whole structure needs to be unnested, and done so across reference types. The query is hard to specify, and would be very complex to implement. One might argue that one should not use the nested relational model for many to many relationships. But nested systems can interact, as in Figure 4. 5

6 Event Team 1 1 N N Race N M Competitor Figure 4 A many-to-many with nesting In this case, an event has a set of races, and a team has a set of competitors, and we have to decide whether a race has a set of references to competitor or vice versa. What if we want to find what events a team participates in? The whole structure must be unnested. The point is that representing these commonly occurring complex data structures using a nested relational model is very much more complex then representing them in the standard relational model. Reconsideration of using NR model for OO concepts We have seen that the nested relational model arises naturally from the object-relational model, and that it has a sound and complete query language based on first normal form. However, we have seen several practical problems: Using the NR model forces the designer to make more choices at the database schema level than if the standard relational model is used. A query on a NR model must include navigation paths. A query must often unnest complex structures, often very deeply for even semantically simple queries. So even though the nested relational model is sound, it is very much more difficult to use than the standard relational model, so may be thought of as much more expensive to use. In order for a more expensive tool to be a sound engineering choice, there must be a corresponding benefit. Let us therefore look at the benefits of the object-oriented programming model. OO programming and design originated in the software engineering domain. In this domain, it is considered beneficial to hide the details of the implementation of a program specification. This information hiding makes use of objects more transparent, and ensures that modifications made to objects which do not affect functionality may be made without side effects. The principles of information hiding were a major advance in software engineering. The benefits of using an OO approach in a database therefore would come from information hiding, that is hiding implementation details not required for understanding the specification of an object. 6

7 Let us see how this applies to the specification of data in an information system. As we have seen, it is common to use a conceptual modelling technique to specify such data, as in Figures 1, 3 and 4. The implementation of this data is ultimately in terms of disk addresses, file organisations and access methods, but is generally done in several stages. The first stage of implementation is normally the specification of schemas in a database data description language, very often in a relational database system. This stage of implementation is almost a transliteration, frequently introducing no additional design decisions. Algorithms for the purpose are given for example by Elmasri and Navathe (2000). Further stages of implementation are performed almost entirely within the database manager software (DBMS), sometimes with the guidance of a database administrator who will identify attributes of tables which need rapid access, or give the DBMS some parameters which it will use to choose among pre-programmed design options. In effect, the implementation of the data model is almost entirely automated, and generally not the concern of the applications programmer. So the conceptual data model is a specification, the almost equivalent DBMS table schemas are in effect also specifications, and the programmer does not generally proceed further with refinement. On the programming side, an information system generally has a large number of modules which update or query the tables. In a relational system, these programs are generally written using the SQL data manipulation language. The SQL statement is at a very high level, and is generally also refined in several stages: The order of execution of the various relational operators must be chosen. Various secondary and primary indexes can be created or employed Decisions need to be made as to the size of blocks retrieved from disk, what is to be cached in main memory, whether intermediate results need to be sorted, and what sort algorithms to use. But, again, these refinement decisions are made by the DBMS using pre-programmed design decisions depending on statistics of the tables held in the system catalog and to a degree on parameters supplied by the database administrator. The programmer is generally not concerned with them. So it makes sense to think of an SQL statement not as a program but as a specification for a program. It is hard to see what might be removed from an SQL statement while retaining the same specified result. The SELECT clause determines which columns are to appear in the result, the FROM clause determines which tables to retrieve data from (in effect which entities and relationships the data is to come from), and the WHERE clause determines which rows to retrieve data from. We have that the benefits of information hiding in object-oriented design is that the programmer can work with the specifications of the data and methods of a system without having to worry about how the specifications are implemented. However, in information systems, the programmer works only with specifications of data structures and access/ update methods. The implementation is hidden already in the DBMS. So in a 7

8 DBMS environment the programmer never has to worry how the specifications are implemented. Information hiding is already employed no matter what design method the programmer uses. What the nested relational data model does is hide aspects of the structure of the specified data, whereas the standard relational model exposes the specified structure of the data. Using the NR data model, the data designer must make what amount to packaging design decisions in the implementation of a conceptual model. In this sense, a NR model is more refined than a standard relational model, and is therefore more expensive to build. On the other hand, when a query is planned, in the NR model the programmer, besides specifying the data that is to appear in the query, must also specify how to unpackage the data to expose sufficient structure to specify the result. So as we have seen, the query is also more expensive. Both the data representation and the query are unnecessarily more expensive than the standard relational representation, since the information being hidden is part of the specification, not how the specifications are implemented. So why don t people use RDBs for OO applications? One might ask why people don t already use relational databases for problems calling for object-oriented approaches. The usual reason given is that RDBs are too slow. The paradigmatic object-oriented application is system design, say a VLSI design or the design of a large software system. There is often only one (very complex) object in the system. This object has many parts, which are themselves complex. A relational implementation therefore calls for many subordinate tables with limited context; and processing data in the application generally requires large numbers of joins. Database managers tend to be designed to support transactional applications, where there are a large number of objects of limited complexity. The space of pre-programmed design options for the implementation of data structures and queries does not generally extend to the situation where there are a small number of very complex objects. Rejection of the standard relational data model for these applications is therefore not a rejection of the model per se, but a recognition that current implementations of the standard relational data model do not perform well enough for these problems. What can be done? Two problems have been identified which make the standard relational model difficult to use for OO applications: the slowness of the implementation and the necessity for the definition of a large number of tables with limited context. The former problem is technical. A large amount of investment has been made in the design of implementations for transaction-oriented applications. Given sufficient effective demand, there is no reason why a sufficient investment can not be made for applications of the OO type. In particular, there are already relational database systems optimised around storage of data primarily in main memory rather than on disk. For example, a research project of National Research Institute for Mathematics and Computer Science in the Netherlands together with the Free University of Amsterdam, called 8

9 Monet 1, has published a number of papers on the various design issues in this area. A search on the Web identifies many such products. The problem of slowness of standard relational implementations for OO applications can be taken to be on the way to solution. The latter problem, that the data definition for an OO application requires a large number of tables with limited context, is a problem with the expressiveness of the standard relational data model. In an OO application one frequently wants to navigate the complex data structures specified. For example, from the model in Figure 4 one might want the set of teams participating in a particular race in a particular event, or the set of events in which a particular competitor from a particular team is competing, or the association between teams and events defined by the many-to-many relationship between Race and Competitor. From the point of view of each of those queries, there is a nested-relational packaging of the conceptual model which makes the query simple, simpler than the standard relational representation. The unsuitablity of the NR model is that these NR packagings are all different, and that a query not following the chosen packaging structure is very complex. However, we have already seen that the primary representation of the data can be in a conceptual model. The relational representation can be, and generally is, constructed algorithmically. If the DBMS creates the relational representation of the conceptual model, then the conceptual model should be the basis for the query language. A query expressed on the conceptual model can be translated into SQL DML in the same sort of way that the model itself is translated into SQL DDL. In fact, there are a number of conceptual query languages which permit the programmer to construct a query by specifying a navigation through the conceptual model, for example ConQuer (Bloesch and Halpin, 1996, 1997). Using a language like ConQuer, the programmer can specify a navigation path through the conceptual model, which when it traverses a one-to-many relationship opens the set of instances on the target side. When it traverses a many-to-many relationship, the view from the source of the path looks like a one-to-many. Any of the views of Figure 4 described above can be used. Such a traversal of the conceptual model provides a sort of virtual nested-relational data packaging, which can be translated into standard SQL without the programmer being aware of exactly how the data is packaged. This approach therefore is more true to the spirit of object-oriented software development since the implementation of the specification is completely hidden. Conclusion The thesis of this paper is therefore that a standard relational data model where the DDL and DML are both hidden beneath a conceptual data modelling language and the DBMS is a main-memory implementation optimised for OO-style applications, presents a much superior approach to the problem of OO applications than does the nested relational data model

10 References Bloesch, A. and Halpin, T. (1996) ConQuer: a Conceptual Query Language Proc. ER 96: 15th International Conference on Conceptual Modeling, Springer LNCS, no. 1157, pp Bloesch, A. and Halpin, T. (1997) Conceptual Queries Using ConQuer-II in. David W. Embley, Robert C. Goldstein (Eds.): Conceptual Modeling - ER '97, 16th International Conference on Conceptual Modeling, Los Angeles, California, USA, November 3-5, 1997, Proceedings. Lecture Notes in Computer Science 1331 Springer 1997 Elmasri, R. & Navathe, S. B. (2000). Fundamentals of Database Systems. (3rd ed.). Addison Wesley, Reading, Mass. Stonebraker, M., Brown, P. and Moore, D. (1999) Object-relational DBMSs : tracking the next great wave San Francisco, Calif. : Morgan Kaufmann Publishers. 10

Databases What the Specification Says

Databases What the Specification Says Databases What the Specification Says Describe flat files and relational databases, explaining the differences between them; Design a simple relational database to the third normal form (3NF), using entityrelationship

More information

Relational Databases

Relational Databases Relational Databases Jan Chomicki University at Buffalo Jan Chomicki () Relational databases 1 / 18 Relational data model Domain domain: predefined set of atomic values: integers, strings,... every attribute

More information

www.gr8ambitionz.com

www.gr8ambitionz.com Data Base Management Systems (DBMS) Study Material (Objective Type questions with Answers) Shared by Akhil Arora Powered by www. your A to Z competitive exam guide Database Objective type questions Q.1

More information

Section of DBMS Selection & Evaluation Questionnaire

Section of DBMS Selection & Evaluation Questionnaire Section of DBMS Selection & Evaluation Questionnaire Whitemarsh Information Systems Corporation 2008 Althea Lane Bowie, Maryland 20716 Tele: 301-249-1142 Email: mmgorman@wiscorp.com Web: www.wiscorp.com

More information

ICAB4136B Use structured query language to create database structures and manipulate data

ICAB4136B Use structured query language to create database structures and manipulate data ICAB4136B Use structured query language to create database structures and manipulate data Release: 1 ICAB4136B Use structured query language to create database structures and manipulate data Modification

More information

Database Systems. Lecture 1: Introduction

Database Systems. Lecture 1: Introduction Database Systems Lecture 1: Introduction General Information Professor: Leonid Libkin Contact: libkin@ed.ac.uk Lectures: Tuesday, 11:10am 1 pm, AT LT4 Website: http://homepages.inf.ed.ac.uk/libkin/teach/dbs09/index.html

More information

DATABASE MANAGEMENT SYSTEMS. Question Bank:

DATABASE MANAGEMENT SYSTEMS. Question Bank: DATABASE MANAGEMENT SYSTEMS Question Bank: UNIT 1 1. Define Database? 2. What is a DBMS? 3. What is the need for database systems? 4. Define tupule? 5. What are the responsibilities of DBA? 6. Define schema?

More information

Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file?

Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file? Files What s it all about? Information being stored about anything important to the business/individual keeping the files. The simple concepts used in the operation of manual files are often a good guide

More information

Regular Expressions and Automata using Haskell

Regular Expressions and Automata using Haskell Regular Expressions and Automata using Haskell Simon Thompson Computing Laboratory University of Kent at Canterbury January 2000 Contents 1 Introduction 2 2 Regular Expressions 2 3 Matching regular expressions

More information

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

Chapter 1: Introduction. Database Management System (DBMS) University Database Example This image cannot currently be displayed. Chapter 1: Introduction Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Database Management System (DBMS) DBMS contains information

More information

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs

More information

Chapter 2. Data Model. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Chapter 2. Data Model. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: Why data models are important About the basic data-modeling

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model 221 After completing this chapter, you should be able to explain the three phases of database design, Why are multiple phases useful? evaluate the significance of the Entity-Relationship

More information

Databases and BigData

Databases and BigData Eduardo Cunha de Almeida eduardo.almeida@uni.lu Outline of the course Introduction Database Systems (E. Almeida) Distributed Hash Tables and P2P (C. Cassagnes) NewSQL (D. Kim and J. Meira) NoSQL (D. Kim)

More information

The Relational Data Model: Structure

The Relational Data Model: Structure The Relational Data Model: Structure 1 Overview By far the most likely data model in which you ll implement a database application today. Of historical interest: the relational model is not the first implementation

More information

SQL Query Evaluation. Winter 2006-2007 Lecture 23

SQL Query Evaluation. Winter 2006-2007 Lecture 23 SQL Query Evaluation Winter 2006-2007 Lecture 23 SQL Query Processing Databases go through three steps: Parse SQL into an execution plan Optimize the execution plan Evaluate the optimized plan Execution

More information

Database Systems. National Chiao Tung University Chun-Jen Tsai 05/30/2012

Database Systems. National Chiao Tung University Chun-Jen Tsai 05/30/2012 Database Systems National Chiao Tung University Chun-Jen Tsai 05/30/2012 Definition of a Database Database System A multidimensional data collection, internal links between its entries make the information

More information

Database Programming with PL/SQL: Learning Objectives

Database Programming with PL/SQL: Learning Objectives Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs

More information

IT2305 Database Systems I (Compulsory)

IT2305 Database Systems I (Compulsory) Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this

More information

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations 1 Topics for this week: 1. Good Design 2. Functional Dependencies 3. Normalization Readings for this week: 1. E&N, Ch. 10.1-10.6; 12.2 2. Quickstart, Ch. 3 3. Complete the tutorial at http://sqlcourse2.com/

More information

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

The Relational Model. Why Study the Relational Model? Relational Database: Definitions The Relational Model Database Management Systems, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Microsoft, Oracle, Sybase, etc. Legacy systems in

More information

AVOIDANCE OF CYCLICAL REFERENCE OF FOREIGN KEYS IN DATA MODELING USING THE ENTITY-RELATIONSHIP MODEL

AVOIDANCE OF CYCLICAL REFERENCE OF FOREIGN KEYS IN DATA MODELING USING THE ENTITY-RELATIONSHIP MODEL AVOIDANCE OF CYCLICAL REFERENCE OF FOREIGN KEYS IN DATA MODELING USING THE ENTITY-RELATIONSHIP MODEL Ben B. Kim, Seattle University, bkim@seattleu.edu ABSTRACT The entity-relationship (ER model is clearly

More information

1. INTRODUCTION TO RDBMS

1. INTRODUCTION TO RDBMS Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one

More information

COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries

COMP 5138 Relational Database Management Systems. Week 5 : Basic SQL. Today s Agenda. Overview. Basic SQL Queries. Joins Queries COMP 5138 Relational Database Management Systems Week 5 : Basic COMP5138 "Relational Database Managment Systems" J. Davis 2006 5-1 Today s Agenda Overview Basic Queries Joins Queries Aggregate Functions

More information

Lesson 8: Introduction to Databases E-R Data Modeling

Lesson 8: Introduction to Databases E-R Data Modeling Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data

More information

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. The Relational Model. The relational model CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 The Relational Model CS2 Spring 2005 (LN6) 1 The relational model Proposed by Codd in 1970. It is the dominant data

More information

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added?

DBMS Questions. 3.) For which two constraints are indexes created when the constraint is added? DBMS Questions 1.) Which type of file is part of the Oracle database? A.) B.) C.) D.) Control file Password file Parameter files Archived log files 2.) Which statements are use to UNLOCK the user? A.)

More information

IT2304: Database Systems 1 (DBS 1)

IT2304: Database Systems 1 (DBS 1) : Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation

More information

Chapter 9: Object-Based Databases

Chapter 9: Object-Based Databases Chapter 9: Object-Based Databases Database System Concepts See www.db-book.com for conditions on re-use Database System Concepts Chapter 9: Object-Based Databases Complex Data Types and Object Orientation

More information

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML? CS2Bh: Current Technologies Introduction to XML and Relational Databases Spring 2005 Introduction to Databases CS2 Spring 2005 (LN5) 1 Why databases? Why not use XML? What is missing from XML: Consistency

More information

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè. CMPT-354-Han-95.3 Lecture Notes September 10, 1995 Chapter 1 Introduction 1.0 Database Management Systems 1. A database management system èdbmsè, or simply a database system èdbsè, consists of æ A collection

More information

Fragmentation and Data Allocation in the Distributed Environments

Fragmentation and Data Allocation in the Distributed Environments Annals of the University of Craiova, Mathematics and Computer Science Series Volume 38(3), 2011, Pages 76 83 ISSN: 1223-6934, Online 2246-9958 Fragmentation and Data Allocation in the Distributed Environments

More information

SQL Database queries and their equivalence to predicate calculus

SQL Database queries and their equivalence to predicate calculus SQL Database queries and their equivalence to predicate calculus Russell Impagliazzo, with assistence from Cameron Helm November 3, 2013 1 Warning This lecture goes somewhat beyond Russell s expertise,

More information

Introduction to Databases

Introduction to Databases Page 1 of 5 Introduction to Databases An introductory example What is a database? Why do we need Database Management Systems? The three levels of data abstraction What is a Database Management System?

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases

More information

ECS 165A: Introduction to Database Systems

ECS 165A: Introduction to Database Systems ECS 165A: Introduction to Database Systems Todd J. Green based on material and slides by Michael Gertz and Bertram Ludäscher Winter 2011 Dept. of Computer Science UC Davis ECS-165A WQ 11 1 1. Introduction

More information

Databases. DSIC. Academic Year 2010-2011

Databases. DSIC. Academic Year 2010-2011 Databases DSIC. Academic Year 2010-2011 1 Lecturer José Hernández-Orallo Office 236, 2nd floor DSIC. Email: jorallo@dsic.upv.es http://www.dsic.upv.es/~jorallo/docent/bda/bdaeng.html Attention hours On

More information

Guide to Performance and Tuning: Query Performance and Sampled Selectivity

Guide to Performance and Tuning: Query Performance and Sampled Selectivity Guide to Performance and Tuning: Query Performance and Sampled Selectivity A feature of Oracle Rdb By Claude Proteau Oracle Rdb Relational Technology Group Oracle Corporation 1 Oracle Rdb Journal Sampled

More information

SQL Simple Queries. Chapter 3.1 V3.0. Copyright @ Napier University Dr Gordon Russell

SQL Simple Queries. Chapter 3.1 V3.0. Copyright @ Napier University Dr Gordon Russell SQL Simple Queries Chapter 3.1 V3.0 Copyright @ Napier University Dr Gordon Russell Introduction SQL is the Structured Query Language It is used to interact with the DBMS SQL can Create Schemas in the

More information

LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen 2007-05-24

LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen 2007-05-24 LiTH, Tekniska högskolan vid Linköpings universitet 1(7) IDA, Institutionen för datavetenskap Juha Takkinen 2007-05-24 1. A database schema is a. the state of the db b. a description of the db using a

More information

Database System Concepts

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

More information

CS352 Lecture - Object-Based Databases

CS352 Lecture - Object-Based Databases CS352 Lecture - Object-Based Databases Objectives: Last revised 10/7/08 1. To elucidate fundamental differences between OO and the relational model 2. To introduce the idea of adding persistence to an

More information

Overview RDBMS-ORDBMS- OODBMS

Overview RDBMS-ORDBMS- OODBMS Overview RDBMS-ORDBMS- OODBMS 1 Database Models Transition Hierarchical Data Model Network Data Model Relational Data Model ER Data Model Semantic Data Model Object-Relational DM Object-Oriented DM 2 Main

More information

2. Basic Relational Data Model

2. Basic Relational Data Model 2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that

More information

Introduction to tuple calculus Tore Risch 2011-02-03

Introduction to tuple calculus Tore Risch 2011-02-03 Introduction to tuple calculus Tore Risch 2011-02-03 The relational data model is based on considering normalized tables as mathematical relationships. Powerful query languages can be defined over such

More information

5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2

5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2 Class Announcements TIM 50 - Business Information Systems Lecture 15 Database Assignment 2 posted Due Tuesday 5/26 UC Santa Cruz May 19, 2015 Database: Collection of related files containing records on

More information

CSC 443 Data Base Management Systems. Basic SQL

CSC 443 Data Base Management Systems. Basic SQL CSC 443 Data Base Management Systems Lecture 6 SQL As A Data Definition Language Basic SQL SQL language Considered one of the major reasons for the commercial success of relational databases SQL Structured

More information

Modeling for Data and Business Rules

Modeling for Data and Business Rules Modeling for Data and Business Rules An Interview with Terry Halpin This interview appeared in Data Base Newsletter, vol. 25, no. 5, (Sep/Oct 1997), ed. R. G. Ross, Database Research Group Inc. and is

More information

not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage

not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage Database Design Process there are six stages in the design of a database: 1. requirement analysis 2. conceptual database design 3. choice of the DBMS 4. data model mapping 5. physical design 6. implementation

More information

UML Data Models From An ORM Perspective: Part 1

UML Data Models From An ORM Perspective: Part 1 UML Data Models From An ORM Perspective: Part 1 by Dr. Terry Halpin, BSc, DipEd, BA, MLitStud, PhD Director of Database Strategy, Visio Corporation This paper appeared in the April 1998 issue of the Journal

More information

12 File and Database Concepts 13 File and Database Concepts A many-to-many relationship means that one record in a particular record type can be relat

12 File and Database Concepts 13 File and Database Concepts A many-to-many relationship means that one record in a particular record type can be relat 1 Databases 2 File and Database Concepts A database is a collection of information Databases are typically stored as computer files A structured file is similar to a card file or Rolodex because it uses

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys Database Design Overview Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Conceptual design The Entity-Relationship (ER) Model, UML High-level, close to human thinking Semantic

More information

Topics in basic DBMS course

Topics in basic DBMS course Topics in basic DBMS course Database design Transaction processing Relational query languages (SQL), calculus, and algebra DBMS APIs Database tuning (physical database design) Basic query processing (ch

More information

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy

What is Data Virtualization? Rick F. van der Lans, R20/Consultancy What is Data Virtualization? by Rick F. van der Lans, R20/Consultancy August 2011 Introduction Data virtualization is receiving more and more attention in the IT industry, especially from those interested

More information

Microsoft s new database modeling tool: Part 1

Microsoft s new database modeling tool: Part 1 Microsoft s new database modeling tool: Part 1 Terry Halpin Microsoft Corporation Abstract: This is the first in a series of articles introducing the Visio-based database modeling component of Microsoft

More information

MOC 20461C: Querying Microsoft SQL Server. Course Overview

MOC 20461C: Querying Microsoft SQL Server. Course Overview MOC 20461C: Querying Microsoft SQL Server Course Overview This course provides students with the knowledge and skills to query Microsoft SQL Server. Students will learn about T-SQL querying, SQL Server

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five

More information

The Import & Export of Data from a Database

The Import & Export of Data from a Database The Import & Export of Data from a Database Introduction The aim of these notes is to investigate a conceptually simple model for importing and exporting data into and out of an object-relational database,

More information

Normal Form vs. Non-First Normal Form

Normal Form vs. Non-First Normal Form Normal Form vs. Non-First Normal Form Kristian Torp Department of Computer Science Aalborg Univeristy www.cs.aau.dk/ torp torp@cs.aau.dk September 1, 2009 daisy.aau.dk Kristian Torp (Aalborg University)

More information

Inside the PostgreSQL Query Optimizer

Inside the PostgreSQL Query Optimizer Inside the PostgreSQL Query Optimizer Neil Conway neilc@samurai.com Fujitsu Australia Software Technology PostgreSQL Query Optimizer Internals p. 1 Outline Introduction to query optimization Outline of

More information

Physical Database Design and Tuning

Physical Database Design and Tuning Chapter 20 Physical Database Design and Tuning Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1. Physical Database Design in Relational Databases (1) Factors that Influence

More information

DATABASE INTRODUCTION

DATABASE INTRODUCTION Introduction The history of database system research is one of exceptional productivity and startling economic impact. We have learnt that from the days of file-based systems there are better ways to handle

More information

[Refer Slide Time: 05:10]

[Refer Slide Time: 05:10] Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture

More information

1. Physical Database Design in Relational Databases (1)

1. Physical Database Design in Relational Databases (1) Chapter 20 Physical Database Design and Tuning Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1. Physical Database Design in Relational Databases (1) Factors that Influence

More information

3. Relational Model and Relational Algebra

3. Relational Model and Relational Algebra ECS-165A WQ 11 36 3. Relational Model and Relational Algebra Contents Fundamental Concepts of the Relational Model Integrity Constraints Translation ER schema Relational Database Schema Relational Algebra

More information

CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY

CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY CHAPTER 2 DATABASE MANAGEMENT SYSTEM AND SECURITY 2.1 Introduction In this chapter, I am going to introduce Database Management Systems (DBMS) and the Structured Query Language (SQL), its syntax and usage.

More information

Relational model. Relational model - practice. Relational Database Definitions 9/27/11. Relational model. Relational Database: Terminology

Relational model. Relational model - practice. Relational Database Definitions 9/27/11. Relational model. Relational Database: Terminology COS 597A: Principles of Database and Information Systems elational model elational model A formal (mathematical) model to represent objects (data/information), relationships between objects Constraints

More information

TIM 50 - Business Information Systems

TIM 50 - Business Information Systems TIM 50 - Business Information Systems Lecture 15 UC Santa Cruz March 1, 2015 The Database Approach to Data Management Database: Collection of related files containing records on people, places, or things.

More information

How To Manage Data In A Database System

How To Manage Data In A Database System Database Systems Session 2 Main Theme Relational Data Model & Relational Database Constraints Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical

More information

Database Management Systems. Chapter 1

Database Management Systems. Chapter 1 Database Management Systems Chapter 1 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2 What Is a Database/DBMS? A very large, integrated collection of data. Models real-world scenarios

More information

High-performance XML Storage/Retrieval System

High-performance XML Storage/Retrieval System UDC 00.5:68.3 High-performance XML Storage/Retrieval System VYasuo Yamane VNobuyuki Igata VIsao Namba (Manuscript received August 8, 000) This paper describes a system that integrates full-text searching

More information

Part A: Data Definition Language (DDL) Schema and Catalog CREAT TABLE. Referential Triggered Actions. CSC 742 Database Management Systems

Part A: Data Definition Language (DDL) Schema and Catalog CREAT TABLE. Referential Triggered Actions. CSC 742 Database Management Systems CSC 74 Database Management Systems Topic #0: SQL Part A: Data Definition Language (DDL) Spring 00 CSC 74: DBMS by Dr. Peng Ning Spring 00 CSC 74: DBMS by Dr. Peng Ning Schema and Catalog Schema A collection

More information

Databases in Engineering / Lab-1 (MS-Access/SQL)

Databases in Engineering / Lab-1 (MS-Access/SQL) COVER PAGE Databases in Engineering / Lab-1 (MS-Access/SQL) ITU - Geomatics 2014 2015 Fall 1 Table of Contents COVER PAGE... 0 1. INTRODUCTION... 3 1.1 Fundamentals... 3 1.2 How To Create a Database File

More information

How To Create A Table In Sql 2.5.2.2 (Ahem)

How To Create A Table In Sql 2.5.2.2 (Ahem) Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or

More information

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3 The Relational Model Chapter 3 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase,

More information

A COMPARISON OF OBJECT-RELATIONAL AND RELATIONAL DATABASES A Thesis Presented to the Faculty of California Polytechnic State University San Luis Obispo In Partial Fulfillment of the Requirements for the

More information

Object-Relational Query Processing

Object-Relational Query Processing Object-Relational Query Processing Johan Petrini Department of Information Technology Uppsala University, Sweden Johan.Petrin@it.uu.se 1. Introduction In the beginning, there flat files of data with no

More information

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries

More information

Oracle Database 10g: Introduction to SQL

Oracle Database 10g: Introduction to SQL Oracle University Contact Us: 1.800.529.0165 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database technology.

More information

Fundamentals of Database System

Fundamentals of Database System Fundamentals of Database System Chapter 4 Normalization Fundamentals of Database Systems (Chapter 4) Page 1 Introduction To Normalization In general, the goal of a relational database design is to generate

More information

7. Databases and Database Management Systems

7. Databases and Database Management Systems 7. Databases and Database Management Systems 7.1 What is a File? A file is a collection of data or information that has a name, called the Filename. There are many different types of files: Data files

More information

In This Lecture. Physical Design. RAID Arrays. RAID Level 0. RAID Level 1. Physical DB Issues, Indexes, Query Optimisation. Physical DB Issues

In This Lecture. Physical Design. RAID Arrays. RAID Level 0. RAID Level 1. Physical DB Issues, Indexes, Query Optimisation. Physical DB Issues In This Lecture Physical DB Issues, Indexes, Query Optimisation Database Systems Lecture 13 Natasha Alechina Physical DB Issues RAID arrays for recovery and speed Indexes and query efficiency Query optimisation

More information

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 ICOM 6005 Database Management Systems Design Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001 Readings Read Chapter 1 of text book ICOM 6005 Dr. Manuel

More information

Question 1. Relational Data Model [17 marks] Question 2. SQL and Relational Algebra [31 marks]

Question 1. Relational Data Model [17 marks] Question 2. SQL and Relational Algebra [31 marks] EXAMINATIONS 2005 MID-YEAR COMP 302 Database Systems Time allowed: Instructions: 3 Hours Answer all questions. Make sure that your answers are clear and to the point. Write your answers in the spaces provided.

More information

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 OBJECTS AND DATABASES CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 Relational Model and 1NF 2 Relational model specifies that all attribute domains must be atomic A database

More information

Data Modeling. Database Systems: The Complete Book Ch. 4.1-4.5, 7.1-7.4

Data Modeling. Database Systems: The Complete Book Ch. 4.1-4.5, 7.1-7.4 Data Modeling Database Systems: The Complete Book Ch. 4.1-4.5, 7.1-7.4 Data Modeling Schema: The structure of the data Structured Data: Relational, XML-DTD, etc Unstructured Data: CSV, JSON But where does

More information

Review Entity-Relationship Diagrams and the Relational Model. Data Models. Review. Why Study the Relational Model? Steps in Database Design

Review Entity-Relationship Diagrams and the Relational Model. Data Models. Review. Why Study the Relational Model? Steps in Database Design Review Entity-Relationship Diagrams and the Relational Model CS 186, Fall 2007, Lecture 2 R & G, Chaps. 2&3 Why use a DBMS? OS provides RAM and disk A relationship, I think, is like a shark, you know?

More information

Semantic Search in Portals using Ontologies

Semantic Search in Portals using Ontologies Semantic Search in Portals using Ontologies Wallace Anacleto Pinheiro Ana Maria de C. Moura Military Institute of Engineering - IME/RJ Department of Computer Engineering - Rio de Janeiro - Brazil [awallace,anamoura]@de9.ime.eb.br

More information

Instant SQL Programming

Instant SQL Programming Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions

More information

Database Management. Chapter Objectives

Database Management. Chapter Objectives 3 Database Management Chapter Objectives When actually using a database, administrative processes maintaining data integrity and security, recovery from failures, etc. are required. A database management

More information

SQL NULL s, Constraints, Triggers

SQL NULL s, Constraints, Triggers CS145 Lecture Notes #9 SQL NULL s, Constraints, Triggers Example schema: CREATE TABLE Student (SID INTEGER PRIMARY KEY, name CHAR(30), age INTEGER, GPA FLOAT); CREATE TABLE Take (SID INTEGER, CID CHAR(10),

More information

Introduction to Querying & Reporting with SQL Server

Introduction to Querying & Reporting with SQL Server 1800 ULEARN (853 276) www.ddls.com.au Introduction to Querying & Reporting with SQL Server Length 5 days Price $4169.00 (inc GST) Overview This five-day instructor led course provides students with the

More information

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational databases. 1 A Database of Students and Modules Student Student Number {PK}

More information

What is Data Virtualization?

What is Data Virtualization? What is Data Virtualization? Rick F. van der Lans Data virtualization is receiving more and more attention in the IT industry, especially from those interested in data management and business intelligence.

More information

Programming Your App to Make Decisions: Conditional Blocks

Programming Your App to Make Decisions: Conditional Blocks Chapter 18 Programming Your App to Make Decisions: Conditional Blocks Computers, even small ones like the phone in your pocket, are good at performing thousands of operations in just a few seconds. Even

More information

Core Syllabus. Version 2.6 B BUILD KNOWLEDGE AREA: DEVELOPMENT AND IMPLEMENTATION OF INFORMATION SYSTEMS. June 2006

Core Syllabus. Version 2.6 B BUILD KNOWLEDGE AREA: DEVELOPMENT AND IMPLEMENTATION OF INFORMATION SYSTEMS. June 2006 Core Syllabus B BUILD KNOWLEDGE AREA: DEVELOPMENT AND IMPLEMENTATION OF INFORMATION SYSTEMS Version 2.6 June 2006 EUCIP CORE Version 2.6 Syllabus. The following is the Syllabus for EUCIP CORE Version 2.6,

More information

Relational Algebra and SQL Query Visualisation

Relational Algebra and SQL Query Visualisation Relational Algebra and SQL Query Visualisation Giorgos Constantinou gc106@doc.ic.ac.uk Supervisor: Dr. Peter McBrien Second Marker: Dr. Natasa Przulj June 14, 2010 Abstract Relational algebra and the

More information

Databases 2011 The Relational Model and SQL

Databases 2011 The Relational Model and SQL Databases 2011 Christian S. Jensen Computer Science, Aarhus University What is a Database? Main Entry: da ta base Pronunciation: \ˈdā-tə-ˌbās, ˈda- also ˈdä-\ Function: noun Date: circa 1962 : a usually

More information