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



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

The Relational Model. Why Study the Relational Model?

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

Lecture 6. SQL, Logical DB Design

Outline. Data Modeling. Conceptual Design. ER Model Basics: Entities. ER Model Basics: Relationships. Ternary Relationships. Yanlei Diao UMass Amherst

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

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

EECS 647: Introduction to Database Systems

There are five fields or columns, with names and types as shown above.

Winter Winter

Database Management Systems. Chapter 1

Review: Participation Constraints

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

SQL NULL s, Constraints, Triggers

Database Systems. Lecture 1: Introduction

Data Modeling. Database Systems: The Complete Book Ch ,

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

Conceptual Design Using the Entity-Relationship (ER) Model

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

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

The Relational Data Model and Relational Database Constraints

Overview. Introduction to Database Systems. Motivation... Motivation: how do we store lots of data?

Topics. Introduction to Database Management System. What Is a DBMS? DBMS Types

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

3. Relational Model and Relational Algebra

The SQL Query Language. Creating Relations in SQL. Referential Integrity in SQL. Basic SQL Query. Primary and Candidate Keys in SQL

Database Design. Database Design I: The Entity-Relationship Model. Entity Type (con t) Chapter 4. Entity: an object that is involved in the enterprise

Database Design. Goal: specification of database schema Methodology: E-R Model is viewed as a set of

The Relational Data Model: Structure

SQL: Queries, Programming, Triggers

Example Instances. SQL: Queries, Programming, Triggers. Conceptual Evaluation Strategy. Basic SQL Query. A Note on Range Variables

CSC 443 Data Base Management Systems. Basic SQL

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

The Entity-Relationship Model

Databasesystemer, forår 2005 IT Universitetet i København. Forelæsning 3: Business rules, constraints & triggers. 3. marts 2005

CS143 Notes: Views & Authorization

Databases and BigData

SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

Chapter 6: Integrity Constraints

Query-by-Example (QBE)

How To Create A Table In Sql (Ahem)

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

A basic create statement for a simple student table would look like the following.

IT2305 Database Systems I (Compulsory)

DATABASE MANAGEMENT SYSTEMS. Question Bank:

How To Manage Data In A Database System

SQL: Queries, Programming, Triggers

Introduction to Database Systems CS4320/CS5320. CS4320/4321: Introduction to Database Systems. CS4320/4321: Introduction to Database Systems

Oracle Database 10g Express

Schema Evolution in SQL-99 and Commercial (Object-)Relational DBMS

Chapter 5. SQL: Queries, Constraints, Triggers

Fundamentals of Database Design

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

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

2. Conceptual Modeling using the Entity-Relationship Model

SQL Data Definition. Database Systems Lecture 5 Natasha Alechina

Section of DBMS Selection & Evaluation Questionnaire

IT2304: Database Systems 1 (DBS 1)

The core theory of relational databases. Bibliography

DataBase Management Systems Lecture Notes

INFO/CS 330: Applied Database Systems

The Structured Query Language. De facto standard used to interact with relational DB management systems Two major branches

Database Security. Chapter 21

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

Ch.5 Database Security. Ch.5 Database Security Review

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

SQL Tables, Keys, Views, Indexes

Exercise 1: Relational Model

Database Design Process. Databases - Entity-Relationship Modelling. Requirements Analysis. Database Design

Ken Goldberg Database Lab Notes. There are three types of relationships: One-to-One (1:1) One-to-Many (1:N) Many-to-Many (M:N).

Security and Authorization. Introduction to DB Security. Access Controls. Chapter 21

CS 377 Database Systems. Database Design Theory and Normalization. Li Xiong Department of Mathematics and Computer Science Emory University

SQL - QUICK GUIDE. Allows users to access data in relational database management systems.

Relational Databases

Database Design. Adrienne Watt. Port Moody

In This Lecture. SQL Data Definition SQL SQL. Notes. Non-Procedural Programming. Database Systems Lecture 5 Natasha Alechina

- Suresh Khanal. Microsoft Excel Short Questions and Answers 1

Relational Database Basics Review

Basic Concepts of Database Systems

Schema Design and Normal Forms Sid Name Level Rating Wage Hours

Relational Algebra and SQL

Principles of Database Management Systems. Overview. Principles of Data Layout. Topic for today. "Executive Summary": here.

Physical Database Design Process. Physical Database Design Process. Major Inputs to Physical Database. Components of Physical Database Design

Relational Database Concepts

ECS 165A: Introduction to Database Systems

The Entity-Relationship Model

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

SQL Programming. CS145 Lecture Notes #10. Motivation. Oracle PL/SQL. Basics. Example schema:

Intermediate SQL C H A P T E R4. Practice Exercises. 4.1 Write the following queries in SQL:

Graham Kemp (telephone , room 6475 EDIT) The examiner will visit the exam room at 15:00 and 17:00.

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

Topic: Relationships in ER Diagram and Relationships in MS Access

types, but key declarations and constraints Similar CREATE X commands for other schema ëdrop X name" deletes the created element of beer VARCHARè20è,

Instant SQL Programming

5.1 Database Schema Schema Generation in SQL

Databases What the Specification Says

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

2. Basic Relational Data Model

Transcription:

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 older models E.G., IBM s IMS Competitor in the early 90s: object-oriented model A synthesis: object-relational model Oracle, DB2 XML Database Management Systems, R. Ramakrishnan and J. Gehrke 2 Relational Database: Definitions Relational database: a set of relations Relation: made up of two parts: Schema : specifies of relation, plus and type of each column. E.G. Students(sid: string, : 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, R. Ramakrishnan and J. Gehrke 3

Example Instance of Students Relation sid 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, R. Ramakrishnan and J. Gehrke 4 Logical DB Design: ER to Relational Entity sets to tables. CREATE TABLE ( CHAR(11), CHAR(20), INTEGER, PRIMARY KEY ()) Database Management Systems, R. Ramakrishnan and J. Gehrke 5 Example Instance 0983763423 John 10 9384392483 Jane 10 3743923483 Jill 20 Database Management Systems, R. Ramakrishnan and J. Gehrke 6

Integrity Constraints (ICs) IC: condition that must be true for any instance of the database Domain constraints Key constraints Foreign key constraints (later) A legal instance of a relation is one that satisfies all specified ICs. DBMS should not allow illegal instances Avoids data entry errors too! Database Management Systems, R. Ramakrishnan and J. Gehrke 7 Primary Key Constraints A set of fields is a superkey for a relation if : 1. No two distinct tuples can have same values in all fields A set of fields is a key if: 1. The set of fields is a superkey 2. No proper subset of the set of fields is a superkey If there s >1 key for a relation, one of the keys is chosen (by DBA) to be the primary key. E.g., is a key for. (What about?) The set {, } is a superkey. Database Management Systems, R. Ramakrishnan and J. Gehrke 8 What does this mean? CREATE TABLE Enrolled (sid CHAR(20) cid CHAR(20), grade CHAR(2), PRIMARY KEY (sid,cid) ) Database Management Systems, R. Ramakrishnan and J. Gehrke 9

Candidate Keys Possibly many candidate keys (specified using UNIQUE), one of which is chosen as the primary key. CREATE TABLE Enrolled (sid CHAR(20) cid CHAR(20), grade CHAR(2), PRIMARY KEY (sid), UNIQUE (cid, grade) ) Each student is enrolled in at most one course No two students in a course get the same grade Database Management Systems, R. Ramakrishnan and J. Gehrke 10 Where do ICs Come From? ICs are based upon the semantics of the realworld enterprise that is being described in the database relations. We can check a database instance to see if an IC is violated, but we can NEVER infer that an IC is true by looking at an instance. An IC is a statement about all possible instances! From example, we know is not a key, but the assertion that sid is a key is given to us. Key and foreign key ICs are the most common; more general ICs supported too. Database Management Systems, R. Ramakrishnan and J. Gehrke 11 ER to Relational (contd.) since did d budget Works_In Database Management Systems, R. Ramakrishnan and J. Gehrke 12

Relationship Sets to Tables CREATE TABLE ( CHAR(11), CHAR(20), INTEGER, PRIMARY KEY ()) CREATE TABLE (did INTEGER, d CHAR(20), budget FLOAT, PRIMARY KEY (did)) CREATE TABLE Works_In( CHAR(11), did INTEGER, since DATE, PRIMARY KEY (, did), FOREIGN KEY () REFERENCES, FOREIGN KEY (did) REFERENCES ) Database Management Systems, R. Ramakrishnan and J. Gehrke 13 Example Instance 0983763423 John 10 9384392483 Jane 10 3743923483 Jill 20 did d budget 101 Sales 10K 105 Purchasing 20K 108 Databases 1000K Works_In did since 0983763423 101 1 Jan 2003 0983763423 108 2 Jan 2003 9384392483 108 1 Jun 2002 Database Management Systems, R. Ramakrishnan and J. Gehrke 14 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. If all foreign key constraints enforced, referential integrity is achieved, i.e., no dangling references. Not like HTML links! Database Management Systems, R. Ramakrishnan and J. Gehrke 15

Enforcing Referential Integrity What if a new Works_In tuple is added that references a non-existent employee? Reject it! What if an Employee tuple is deleted? Also delete all Works_In tuples that refer to it. Disallow deletion of Employee tuple that is referred to. Set to some default value Set in Works_In to null, denoting `unknown Similar if primary key of Employee tuple is updated Database Management Systems, R. Ramakrishnan and J. Gehrke 16 Referential Integrity in SQL/92 SQL/92 supports all 4 options on deletes and updates. Default is NO ACTION (delete/update is rejected) CASCADE (delete all tuples that refer to deleted tuple) SET NULL / SET DEFAULT CREATE TABLE Works_In( CHAR(11), did INTEGER, since DATE, PRIMARY KEY (, did), FOREIGN KEY () REFERENCES ON DELETE CASCADE ON UPDATE SET DEFAULT, FOREIGN KEY (did) REFERENCES ON DELETE SET NULL ON UPDATE CASCADE) Database Management Systems, R. Ramakrishnan and J. Gehrke 17 ER to Relational (contd.) subordinate supervisor Reports_To Database Management Systems, R. Ramakrishnan and J. Gehrke 18

Relationship Sets to Tables CREATE TABLE ( CHAR(11), CHAR(20), INTEGER, PRIMARY KEY ()) CREATE TABLE Reports_To ( supervisor_ CHAR(11), subordinate_ CHAR(11), FOREIGN KEY (supervisor_) REFERENCES, FOREIGN KEY (subordinate_) REFERENCES ) Database Management Systems, R. Ramakrishnan and J. Gehrke 19 ER to Relational (contd.) id Parts id id Suppliers Contract Database Management Systems, R. Ramakrishnan and J. Gehrke 20 Relationship Sets to Tables CREATE TABLE Contracts ( supplier_id INTEGER, part_id INTEGER, department_id INTEGER, PRIMARY KEY (supplier_id, part_id, department_id), FOREIGN KEY (supplier_id) REFERENCES Suppliers, FOREIGN KEY (part_id) REFERENCES Parts, FOREIGN KEY (department_id) REFERENCES ) Database Management Systems, R. Ramakrishnan and J. Gehrke 21

ER to Relational (contd.) Each dept has at most one manager, according to the key constraint on Manages. since d did budget Manages Database Management Systems, R. Ramakrishnan and J. Gehrke 22 Relationship Sets to Tables CREATE TABLE ( CHAR(11), CHAR(20), INTEGER, PRIMARY KEY ()) CREATE TABLE (did INTEGER, d CHAR(20), budget FLOAT, mgr_ CHAR(11), PRIMARY KEY (did) FOREIGN KEY (mgr_) REFERENCES ) Database Management Systems, R. Ramakrishnan and J. Gehrke 23 ER to Relational (contd.) Each employee works in at least one department according to the participation constraint on Works_In since did d budget Works_In Database Management Systems, R. Ramakrishnan and J. Gehrke 24

ER to Relational (contd.) since did d budget Manages Database Management Systems, R. Ramakrishnan and J. Gehrke 25 Relationship Sets to Tables CREATE TABLE Department ( did INTEGER, d CHAR(20), budget REAL, mgr_ CHAR(11) NOT NULL, since DATE, PRIMARY KEY (did), FOREIGN KEY () REFERENCES, ON DELETE NO ACTION) Database Management Systems, R. Ramakrishnan and J. Gehrke 26 ER to Relational (contd.) A weak entity can be identified uniquely only by considering the primary key of another (owner) entity. cost p age Policy Dependents Database Management Systems, R. Ramakrishnan and J. Gehrke 27

Translating Weak Entity Sets Weak entity set and identifying relationship set are translated into a single table. When the owner entity is deleted, all owned weak entities must also be deleted. CREATE TABLE Dep_Policy ( p CHAR(20), age INTEGER, cost REAL, CHAR(11) NOT NULL, PRIMARY KEY (p, ), FOREIGN KEY () REFERENCES, ON DELETE CASCADE) Database Management Systems, R. Ramakrishnan and J. Gehrke 28 Destroying and Altering Relations DROP TABLE Students Destroys the relation Students. The schema information and the tuples are deleted. ALTER TABLE Students ADD COLUMN firstyear: integer The schema of Students is altered by adding a new field; every tuple in the current instance is extended with a null value in the new field. Database Management Systems, R. Ramakrishnan and J. Gehrke 29 Adding and Deleting Tuples Can insert a single tuple using: INSERT INTO Students (sid,, login, age, gpa) VALUES (53688, Smith, smith@ee, 18, 3.2) Can delete all tuples satisfying some condition (e.g., = Smith): DELETE FROM Students S WHERE S. = Smith Powerful variants of these commands are available; more later! Database Management Systems, R. Ramakrishnan and J. Gehrke 30

Relational Model: Summary A tabular representation of data. Simple and intuitive, currently the most widely used. Integrity constraints can be specified by the DBA, based on application semantics. DBMS checks for violations. Two important ICs: primary and foreign keys In addition, we always have domain constraints. Rules to translate ER to relational model Database Management Systems, R. Ramakrishnan and J. Gehrke 31