Database Management Systems Chapter 3 Part 1 Why Study The

Total Page:16

File Type:pdf, Size:1020Kb

Database Management Systems Chapter 3 Part 1 Why Study The Database Management Systems Chapter 3 Part 1 The Relational Model 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, etc. Simple data representation and it can express complex queries. Recent competitor: object-oriented model . ObjectStore, Versant, Ontos . A synthesis emerging: object-relational model • Informix Universal Server, UniSQL, O2, Oracle, DB2 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2 Relational Database: Definitions Relational database: a set of relations with distinct names. Relation: made up of 2 parts: . Instance : a table, with rows and columns. #Rows = cardinality, #fields = degree. Schema : specifies name of relation, plus name and domain/type of each column. • E.G. Students(sid: string, name: string, login: string, age: integer, gpa: real). Can think of a relation as a set of rows or tuples (i.e., all rows are distinct). Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 3 Example Instance of Students Relation sid name login dob gpa 53666 Jones jones@cs 2000-09-01 3.4 53688 Smith smith@eecs 2001-08-01 3.2 53650 Smith smith@math 2000-10-10 3.8 Cardinality = 3, degree = 5, all rows distinct The order of fields does not matter if the fields are named. A relation is a set of rows, so the order of rows is not important. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 4 Relational Query Languages A major strength of the relational model: supports simple, powerful querying of data. Queries can be written intuitively, and the DBMS is responsible for efficient evaluation. The key: precise semantics for relational queries. Allows the optimizer to extensively re-order operations, and still ensure that the answer does not change. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 5 The SQL Query Language Developed by IBM (system R) in the 1970s Need for a standard since it is used by many vendors Standards: . SQL-86 . SQL-89 (minor revision) . SQL-92 (major revision) . SQL-99 (major extensions, current standard) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 6 Creating Relations in SQL Creates the Students relation. Observe that the type (domain) of each field is specified, and enforced by the DBMS whenever tuples are added or modified. CREATE TABLE Students string type with (sid CHAR(20), different length name CHAR(30), login CHAR(20), DOB DATE, gpa REAL); Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 7 Creating Relations in SQL As another example, the Course table holds information about courses that students take. CREATE TABLE Course (cid CHAR(20), cname CHAR (20), description CHAR( 100) DEFAULT ‘Course Description’ ); Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 8 Creating Relations in SQL As another example, the Enrolled table holds information about courses that students take. CREATE TABLE Enrolled (sid CHAR(20), cid CHAR(20), grade CHAR(10)); Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 9 Adding Tuples We can insert a single tuple into the Students table as follows: INSERT INTO Students (sid, name, login, DOB, gpa) VALUES (‘53666’, ‘Jones’, ‘jones@cs’, ‘2000-09-01’, 3.4); sid name login DOB gpa 53666 Jones jones@cs 2000-09-01 3.4 53688 Smith smith@eecs 2001-08-01 3.2 53650 Smith smith@math 2000-10-10 3.8 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 10 Deleting Tuples We can delete all tuples satisfying some condition (e.g., name = Smith): DELETE S FROM Students S WHERE S.name = ‘Smith’; sid name login dob gpa 53666 Jones jones@cs 2000-09-01 3.4 53688 Smith smith@eecs 2001-08-01 3.2 53650 Smith smith@math 2000-10-10 3.8 Powerful variants of these commands are available; more later! Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 11 Updating Tuples We can modify the column values in an existing row: Old value UPDATE Students S SET S.gpa = S.gpa -1 WHERE S.sid = 53688; sid name login Dob gpa 2.2 53666 Jones jones@cs 2000-09-01 3.4 53688 Smith smith@eecs 2001-08-01 3.2 53650 Smith smith@math 2000-10-10 3.8 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 12 Updating Tuples Where clause is applied first and determines which rows to be modified. UPDATE Students S SET S.gpa = S.gpa - 0.1 WHERE S.gpa >= 3.3; sid nam e login age gpa 3.3 53666 Jones jones@cs 18 3.4 53688 Sm ith sm ith@ eecs 18 3.2 53650 Sm ith sm ith@ m ath 19 3.8 3.7 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 13 Integrity Constraints (ICs) An IC is a condition specified on a database schema and restricts the data that can be stored in an instance of the database, such as domain constraints. ICs are specified when schema is defined. ICs are checked when relations are modified. A legal instance of a relation is one that satisfies all specified ICs. DBMS should not allow illegal instances. If the DBMS checks ICs, stored data is more faithful to real-world meaning. Avoids data entry errors, too! Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 14 Primary Key Constraints A set of fields is a candidate key for a relation if : 1. No two distinct tuples can have same values in all key fields, and 2. No subset of the set of fields in a key is a unique identifier for a tuple. Part 2 false? A superkey (a set of fields containing a key). If there’s >1 key for a relation, one of the keys is chosen (by DBA) to be the primary key. E.g., sid is a key for Students. (What about name?) The set {sid, gpa} is a superkey. Every relation is guaranteed to have a key. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 15 Primary and Candidate Keys in SQL UNIQUE: Candidate keys (you could have many) PRIMARY KEY: one of candidate keys is chosen as the primary key. CREATE TABLE Students (sid CHAR(20), name CHAR(30), login CHAR(20), age INTEGER, gpa REAL, UNIQUE (name, age), PRIMARY KEY (sid)); Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 16 Name a constraint We could name a constraint in a table. If the constraint is violated, the constraint name is returned and can be used to identify the error. CONSTRAINT constraint-name CREATE TABLE Students (sid CHAR(20), name CHAR(30), login CHAR(20), dob DATE, gpa REAL, UNIQUE (name, dob), CONSTRAINT StudentsKey PRIMARY KEY (sid)); Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 17 Primary and Candidate Keys in SQL “For a given student and course, there is a single grade.” vs. CREATE TABLE Enrolled “Students can take only one (sid CHAR(20) course, and receive a single grade cid CHAR(20), for that course; further, no two grade CHAR(2), students in a course receive the PRIMARY KEY (sid, cid) ); same grade.” CREATE TABLE Enrolled Used carelessly, an IC can prevent (sid CHAR(20) the storage of database instances cid CHAR(20), that arise in practice! grade CHAR(2), PRIMARY KEY (sid), UNIQUE (cid, grade) ); Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 18 Foreign Keys, Referential Integrity Foreign key : Set of fields in one relation that is used to `refer’ to a tuple in another relation. (Must correspond to primary key of the second relation.) Like a `logical pointer’. E.g. sid is a foreign key referring to Students: . Enrolled(sid: string, cid: string, grade: string) . If all foreign key constraints are enforced, referential integrity is achieved, i.e., no dangling references. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 19 Foreign Keys in SQL Only students listed in the Students relation should be allowed to enroll for courses. CREATE TABLE Enrolled (sid CHAR(20), cid CHAR(20), grade CHAR(2), PRIMARY KEY (sid, cid), FOREIGN KEY (sid) REFERENCES Students(sid) ); Enrolled sid cid grade Students 53666 Carnatic101 C sid name login age gpa 53666 Reggae203 B 53666 Jones jones@cs 18 3.4 53650 Topology112 A 53688 Smith smith@eecs 18 3.2 53666 History105 B 53650 Smith smith@math 19 3.8 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 20 Enforcing Integrity Constraints ICs are specified when a relation is created and enforced when a relation is modified. Violating the primary key constraint, the transaction will be rejected. Inserting a tuple with an existing sid. INSERT INTO Students (sid, name, login, age, gpa) VALUES (53688, ‘Mike’, ‘mike@ee’, 17, 3.4); . Inserting a tuple with primary key as null. INSERT INTO Students (sid, name, login, age, gpa) VALUES (null, ‘Mike’, ‘mike@ee’, 17, 3.4); . Updating a tuple with an existing sid. UPDATE Students S SET S.sid = 50000 WHERE S.sid=53688; Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 21 Enforcing Integrity Constraints Deletion of Enrolled tuples do not violate referential integrity, but insertions could. Inserting a tuple with an un-exist sid in Students. INSERT INTO Enrolled (sid, cid, grade) VALUES (51111, ‘Hindi101’, ‘B’); Insertion of Students tuples do not violate referential integrity, but deletions could. Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 22 Ways to handle foreign key violations If an Enrolled row with un-existing sid is inserted, it is rejected. If a Students row is deleted/updated, . Option 1: Delete/Update all Enrolled rows that refer to the deleted sid in Students (CASCADE). Both are affected . Option 2: Reject the deletion/updating of the Students row if an Enrolled row refers to it (NO ACTION ).
Recommended publications
  • Evolution of Database Technology
    Introduction and Database Technology By EM Bakker September 11, 2012 Databases and Data Mining 1 DBDM Introduction Databases and Data Mining Projects at LIACS Biological and Medical Databases and Data Mining CMSB (Phenotype Genotype), DIAL CGH DB Cyttron: Visualization of the Cell GRID Computing VLe: Virtual Lab e-Science environments DAS3/DAS4 super computer Research on Fundamentals of Databases and Data Mining Database integration Data Mining algorithms Content Based Retrieval September 11, 2012 Databases and Data Mining 2 DBDM Databases (Chapters 1-7): The Evolution of Database Technology Data Preprocessing Data Warehouse (OLAP) & Data Cubes Data Cubes Computation Grand Challenges and State of the Art September 11, 2012 Databases and Data Mining 3 DBDM Data Mining (Chapters 8-11): Introduction and Overview of Data Mining Data Mining Basic Algorithms Mining data streams Mining Sequence Patterns Graph Mining September 11, 2012 Databases and Data Mining 4 DBDM Further Topics Mining object, spatial, multimedia, text and Web data Mining complex data objects Spatial and spatiotemporal data mining Multimedia data mining Text mining Web mining Applications and trends of data mining Mining business & biological data Visual data mining Data mining and society: Privacy-preserving data mining September 11, 2012 Databases and Data Mining 5 [R] Evolution of Database Technology September 11, 2012 Databases and Data Mining 6 Evolution of Database Technology 1960s: (Electronic) Data collection, database creation, IMS
    [Show full text]
  • CMU 15-445/645 Database Systems (Fall 2018 :: Query Optimization
    Query Optimization Lecture #13 Database Systems Andy Pavlo 15-445/15-645 Computer Science Fall 2018 AP Carnegie Mellon Univ. 2 ADMINISTRIVIA Mid-term Exam is on Wednesday October 17th → See mid-term exam guide for more info. Project #2 – Checkpoint #2 is due Friday October 19th @ 11:59pm. CMU 15-445/645 (Fall 2018) 4 QUERY OPTIMIZATION Remember that SQL is declarative. → User tells the DBMS what answer they want, not how to get the answer. There can be a big difference in performance based on plan is used: → See last week: 1.3 hours vs. 0.45 seconds CMU 15-445/645 (Fall 2018) 5 IBM SYSTEM R First implementation of a query optimizer. People argued that the DBMS could never choose a query plan better than what a human could write. A lot of the concepts from System R’s optimizer are still used today. CMU 15-445/645 (Fall 2018) 6 QUERY OPTIMIZATION Heuristics / Rules → Rewrite the query to remove stupid / inefficient things. → Does not require a cost model. Cost-based Search → Use a cost model to evaluate multiple equivalent plans and pick the one with the lowest cost. CMU 15-445/645 (Fall 2018) 7 QUERY PLANNING OVERVIEW System Catalog Cost SQL Query Model Abstract Syntax Annotated Annotated Tree AST AST Parser Binder Rewriter Optimizer (Optional) Name→Internal ID Query Plan CMU 15-445/645 (Fall 2018) 8 TODAY'S AGENDA Relational Algebra Equivalences Plan Cost Estimation Plan Enumeration Nested Sub-queries Mid-Term Review CMU 15-445/645 (Fall 2018) 9 RELATIONAL ALGEBRA EQUIVALENCES Two relational algebra expressions are equivalent if they generate the same set of tuples.
    [Show full text]
  • Evolution of Database Technology  1960S:  (Electronic) Data Collection, Database Creation, IMS (Hierarchical Database System by IBM) and Network DBMS
    Database Technology Erwin M. Bakker & Stefan Manegold https://homepages.cwi.nl/~manegold/DBDM/ http://liacs.leidenuniv.nl/~bakkerem2/dbdm/ [email protected] [email protected] 9/21/18 Databases and Data Mining 1 Evolution of Database Technology 1960s: (Electronic) Data collection, database creation, IMS (hierarchical database system by IBM) and network DBMS 1970s: Relational data model, relational DBMS implementation 1980s: RDBMS, advanced data models (extended-relational, OO, deductive, etc.) Application-oriented DBMS (spatial, scientific, engineering, etc.) 9/21/18 Databases and Data Mining 2 Evolution of Database Technology 1990s: Data mining, data warehousing, multimedia databases, and Web databases 2000 - Stream data management and mining Data mining and its applications Web technology Data integration, XML Social Networks (Facebook, etc.) Cloud Computing global information systems Emerging in-house solutions In Memory Databases Big Data 9/21/18 Databases and Data Mining 3 1960’s Companies began automating their back-office bookkeeping in the 1960s COBOL and its record-oriented file model were the work-horses of this effort Typical work-cycle: 1. a batch of transactions was applied to the old-tape-master 2. a new-tape-master produced 3. printout for the next business day. COmmon Business-Oriented Language (COBOL 2002 standard) 9/21/18 Databases and Data Mining 4 COBOL A quote by Prof. dr. E.W. Dijkstra (Turing Award 1972) 18 June 1975: “The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.” September 2015: 9/21/18 Databases and Data Mining 5 COBOL Code (just an example!) 01 LOAN-WORK-AREA.
    [Show full text]
  • IBM Cloudant: Database As a Service Fundamentals
    Front cover IBM Cloudant: Database as a Service Fundamentals Understand the basics of NoSQL document data stores Access and work with the Cloudant API Work programmatically with Cloudant data Christopher Bienko Marina Greenstein Stephen E Holt Richard T Phillips ibm.com/redbooks Redpaper Contents Notices . 5 Trademarks . 6 Preface . 7 Authors. 7 Now you can become a published author, too! . 8 Comments welcome. 8 Stay connected to IBM Redbooks . 9 Chapter 1. Survey of the database landscape . 1 1.1 The fundamentals and evolution of relational databases . 2 1.1.1 The relational model . 2 1.1.2 The CAP Theorem . 4 1.2 The NoSQL paradigm . 5 1.2.1 ACID versus BASE systems . 7 1.2.2 What is NoSQL? . 8 1.2.3 NoSQL database landscape . 9 1.2.4 JSON and schema-less model . 11 Chapter 2. Build more, grow more, and sleep more with IBM Cloudant . 13 2.1 Business value . 15 2.2 Solution overview . 16 2.3 Solution architecture . 18 2.4 Usage scenarios . 20 2.5 Intuitively interact with data using Cloudant Dashboard . 21 2.5.1 Editing JSON documents using Cloudant Dashboard . 22 2.5.2 Configuring access permissions and replication jobs within Cloudant Dashboard. 24 2.6 A continuum of services working together on cloud . 25 2.6.1 Provisioning an analytics warehouse with IBM dashDB . 26 2.6.2 Data refinement services on-premises. 30 2.6.3 Data refinement services on the cloud. 30 2.6.4 Hybrid clouds: Data refinement across on/off–premises. 31 Chapter 3.
    [Show full text]
  • 15-445/645 Database Systems (Fall 2020) Carnegie Mellon University Prof
    Lecture #02: Intermediate SQL 15-445/645 Database Systems (Fall 2020) https://15445.courses.cs.cmu.edu/fall2020/ Carnegie Mellon University Prof. Andy Pavlo 1 Relational Languages Edgar Codd published a major paper on relational models in the early 1970s. Originally, he only defined the mathematical notation for how a DBMS could execute queries on a relational model DBMS. The user only needs to specify the result that they want using a declarative language (i.e., SQL). The DBMS is responsible for determining the most efficient plan to produce that answer. Relational algebra is based on sets (unordered, no duplicates). SQL is based on bags (unordered, allows duplicates). 2 SQL History Declarative query lanaguage for relational databases. It was originally developed in the 1970s as part of the IBM System R project. IBM originally called it “SEQUEL” (Structured English Query Language). The name changed in the 1980s to just “SQL” (Structured Query Language). The language is comprised of different classes of commands: 1. Data Manipulation Language (DML): SELECT, INSERT, UPDATE, and DELETE statements. 2. Data Definition Language (DDL): Schema definitions for tables, indexes, views, and other objects. 3. Data Control Language (DCL): Security, access controls. SQL is not a dead language. It is being updated with new features every couple of years. SQL-92 is the minimum that a DBMS has to support to claim they support SQL. Each vendor follows the standard to a certain degree but there are many proprietary extensions. 3 Aggregates An aggregation function takes in a bag of tuples as its input and then produces a single scalar value as its output.
    [Show full text]
  • The Relational Model Chapter 3
    The Relational Model Chapter 3 ECS 165A – Winter 2020 Mohammad Sadoghi Exploratory Systems Lab Department of Computer Science Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke !1 Why Study the Relational Model? ❖ Most widely used model. ▪ Vendors: IBM, Microsoft, Oracle, etc. ❖ “Legacy systems” in older models ▪ E.G., IBM’s IMS ❖ Old competitors: ▪ Hierarchical Model ▪ Network Model ❖ Competitors: object-oriented model ❖ Object-relational model Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke !2 Relational Database: Definitions ❖ Relational database: a set of relations ❖ Relation: made up of 2 parts: ▪ Schema: specifies name of relation, plus name and type of each column. • E.G. Students(sid: string, name: string, login: string, age: integer, gpa: real). ▪ Instance: a table, with rows and columns. #Rows = cardinality, #fields = degree / arity. ❖ Can think of a relation as a set of rows or tuples (i.e., all rows are distinct). Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke !3 Example Instance of Students Relation sid name login age gpa 53666 Jones jones@cs 18 3.4 53688 Smith smith@eecs 18 3.2 53650 Smith smith@math 19 3.8 ❖ Cardinality = 3, degree = 5, all rows distinct ❖ Do all columns in a relation instance have to be distinct? Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke !4 Relational Query Languages ❖ A major strength of the relational model: supports simple, powerful querying of data. ❖ Queries can be written intuitively, and the DBMS is responsible for efficient evaluation. ▪ The key: precise semantics for relational queries. ▪ Allows the optimizer to extensively re-order operations, and still ensure that the answer does not change.
    [Show full text]
  • DB2 for Z/OS® Overview
    Part I: Overview Chapter 1: Introduction A journey into the wonderland of DB2 DB2 for z/OS Fundamentals 0 © Copyright IBM Corporation 2009. All rights reserved. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. – THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), OR ALTERING THE TERMS AND CONDITIONS OF ANY AGREEMENT OR LICENSE GOVERNING THE USE OF IBM PRODUCTS AND/OR SOFTWARE. 1 © Copyright IBM Corporation DB2 for z/OS Fundamentals 2009. All rights reserved. This fundamental course provides you with basic knowledge to work with DB2 for z/OS. Upon Completion of this course, you will be able to: Identify DB2 components, understand DB2 architecture and the mechanism behind the scenes. Describe the system environment of DB2, understand how DB2 cooperates with other facilities to provide the functionalities. Develop applications with DB2 as data server. Understand the performance issues and know how to manage them.
    [Show full text]
  • Database Management Systems Ebooks for All Edition (
    Database Management Systems eBooks For All Edition (www.ebooks-for-all.com) PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sun, 20 Oct 2013 01:48:50 UTC Contents Articles Database 1 Database model 16 Database normalization 23 Database storage structures 31 Distributed database 33 Federated database system 36 Referential integrity 40 Relational algebra 41 Relational calculus 53 Relational database 53 Relational database management system 57 Relational model 59 Object-relational database 69 Transaction processing 72 Concepts 76 ACID 76 Create, read, update and delete 79 Null (SQL) 80 Candidate key 96 Foreign key 98 Unique key 102 Superkey 105 Surrogate key 107 Armstrong's axioms 111 Objects 113 Relation (database) 113 Table (database) 115 Column (database) 116 Row (database) 117 View (SQL) 118 Database transaction 120 Transaction log 123 Database trigger 124 Database index 130 Stored procedure 135 Cursor (databases) 138 Partition (database) 143 Components 145 Concurrency control 145 Data dictionary 152 Java Database Connectivity 154 XQuery API for Java 157 ODBC 163 Query language 169 Query optimization 170 Query plan 173 Functions 175 Database administration and automation 175 Replication (computing) 177 Database Products 183 Comparison of object database management systems 183 Comparison of object-relational database management systems 185 List of relational database management systems 187 Comparison of relational database management systems 190 Document-oriented database 213 Graph database 217 NoSQL 226 NewSQL 232 References Article Sources and Contributors 234 Image Sources, Licenses and Contributors 240 Article Licenses License 241 Database 1 Database A database is an organized collection of data.
    [Show full text]
  • The University of Chicago Transaction and Message
    THE UNIVERSITY OF CHICAGO TRANSACTION AND MESSAGE: FROM DATABASE TO MARKETPLACE, 1970-2000 A DISSERTATION SUBMITTED TO THE FACULTY OF THE DIVISION OF THE SOCIAL SCIENCES IN CANDIDACY FOR THE DEGREE OF DOCTOR OF PHILOSOPHY DEPARTMENT OF SOCIOLOGY BY MICHAEL C. CASTELLE CHICAGO, ILLINOIS DECEMBER 2017 TABLE OF CONTENTS List of Figures iii List of Tables v List of Abbreviations vi Acknowledgements ix Abstract xi Chapter 1. Theoretical Foundations for Social Studies of Computing 1 Chapter 2. Computing in Organizations: Electronic Data Processing 32 and the Relational Model Chapter 3. The Transaction Abstraction: From the Paperwork Crisis 69 to Black Monday Chapter 4. Brokers, Queues, and Flows: Techniques of 127 Financialization and Consolidation Chapter 5. Where Do Electronic Markets Come From? 186 Chapter 6. The Platform as Exchange 219 References 240 ii LIST OF FIGURES Figure 1. Peirce’s sign-systems. 22 Figure 2. Date and Codd’s diagrammatic comparison of the logical 51 views of a relational database and of a network database Figure 3. Date’s depiction of the Codasyl DBTG network model. 53 Figure 4. From “Generalization: Key to Successful Electronic Data 57 Processing”. Figure 5. A B-tree index for a relation using an integer primary key, 58 as used in the System R relational database. Figure 6. Diagram depicting the dynamic re-balancing of a B-tree upon 59 inserting the value ’9’ into a full leaf. Figure 7. Charles T. Davies’ early transaction abstraction. 66 Figure 8. Jim Gray’s transactions. 66 Figure 9. New York Stock Exchange trading volume, 1970-2005. 68 Figure 10.
    [Show full text]
  • Query Optimization
    CMU SCS CMU SCS Today’s Class Carnegie Mellon Univ. • History & Background Dept. of Computer Science • Relational Algebra Equivalences 15-415/615 - DB Applications • Plan Cost Estimation • Plan Enumeration C. Faloutsos – A. Pavlo Lecture#15: Query Optimization Faloutsos/Pavlo CMU SCS 15-415/615 2 CMU SCS CMU SCS Query Optimization 1970s – Relational Model • Remember that SQL is declarative. • Ted Codd saw the maintenance – User tells the DBMS what answer they want, overhead for IMS/Codasyl. not how to get the answer. • Proposed database abstraction based • There can be a big difference in on relations: Codd performance based on plan is used: – Store database in simple data structures. – See last week: 5.7 days vs. 45 seconds – Access it through high-level language. – Physical storage left up to implementation. Faloutsos/Pavlo CMU SCS 15-415/615 3 Faloutsos/Pavlo CMU SCS 15-415/615 4 CMU SCS CMU SCS IBM System R IBM System R • Skunkworks project at IBM Research in • First implementation of a query optimizer. San Jose to implement Codd’s ideas. • People argued that the DBMS could never • Had to figure out all of the things that we choose a query plan better than what a are discussing in this course themselves. human could write. • IBM never commercialized System R. • A lot of the concepts from System R’s optimizer are still used today. Faloutsos/Pavlo CMU SCS 15-415/615 5 Faloutsos/Pavlo CMU SCS 15-415/615 6 CMU SCS CMU SCS Today’s Class Relational Algebra Equivalences • History & Background • A query can be expressed in different • Relational Algebra Equivalences ways.
    [Show full text]
  • A Study of Migrating Biological Data from Relational Databases to Nosql Databases
    A Study of Migrating Biological Data from Relational Databases to NoSQL Databases by Nawal N. Moatassem Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science in the Computer Information Systems Program YOUNGSTOWN STATE UNIVERSITY August, 2015 A Study of Migrating Biological Data from Relational Databases to NoSQL Databases Nawal N. Moatassem I hereby release this thesis to the public. I understand that this thesis will be made available from the OhioLINK ETD Center and the Maag Library Circulation Desk for public access. I also authorize the University or other individuals to make copies of this thesis as needed for scholarly research. Signature: Nawal N. Moatassem, Student Date Approvals: Dr. Feng Yu, Thesis Advisor Date Dr. John R. Sullins, Committee Member Date Dr. Yong Zhang, Committee Member Date Dr. Salvatore A. Sanders, Associate Dean of Graduate Studies Date Acknowledgments First off, I would like to thank my family and friends for supporting me through this graduate degree program. I would like to thank my fiance, Eric, who has always stood by my side and encouraged me when times got tough. Lastly, I would like to thank all of my professors who have taught me so much, especially my thesis advisor, Dr. Feng Yu who has believed in me and prepared me for my future success. iii Abstract The purpose of this research is to conduct a literature survey on various NoSQL Not-only-SQL) architectures. Included along with this literature survey is an experiment to do a comparison between a relational database management system (RDBMS) and a NoSQL DBMS.
    [Show full text]
  • An Interview with Oracle's Larry Ellison
    How Oracle Came to Rule the Database World NYOUG – 2007 Rich Niemiec, TUSC (Special Thanks: Andy Mendelsohn, Michael Olin, Paul Dorsey, Caryl Lee Fisher & Pat Holmes) 1 Overview • The Paper that started it all – E. F. Codd • System-R & Ingres • Oracle is Founded as SDL • V1-V10g • Why did Oracle win? • Future market direction • Summary 2 1968: E. F. “Ted Codd” Invents Relational Theory in his mind “The SEQUEL/DML paper got accepted to 1974 SIGMOD. Several years later I got a call from a guy named Larry Ellison who’d read that paper; he basically used some of the ideas from that paper to good advantage.” – Don Chamberlin, then IBM (SQL Reunion, 1995) 1970: Codd’s Famous Paper – In 1969, E.F. Codd publishes the internal version of his famous paper internally to IBM. – June 1970: Edgar “Ted” F. Codd publicly publishes the paper: A Relational Model of Data for Large Shared Data Banks (Pgs. 377-387) • Information should be stored in tables • IBM refuses to implement his model to preserve revenues of IMS/DB • Customers pressured IBM to build it (System-R project) and a relational language SEQUEL (Structured English Query Language - later SQL). Oracle used pre-launch conference papers to write their own SQL & launched it first. 4 1970: Codd’s Famous Paper 5 INGRES – 1974 INteractive Graphics Retrieval System 1974: INGRES – 1972 Michael Stonebraker got a grant for a geo-query database system that would become INGRES – Michael Stonebraker, Eugene “Gene” Wong & others including students coming and going work on INGRES – Used QUEL instead of SQL – In a 1976 paper at ACM, Stonebraker, Wong, Kreps & Held wrote a paper: “The Design and Implemenation of INGRES.” – Some hostility between Berkeley and IBM group.
    [Show full text]