Introduction to Database Systems. The Relational Data Model. Werner Nutt

Similar documents
Introduction to Database Systems. The Relational Data Model

CS530 Database Architecture Models. Database Model. Prof. Ian HORROCKS. Dr. Robert STEVENS. and Design The Relational

CS275 Intro to Databases

ITCS 3160 DATA BASE DESIGN AND IMPLEMENTATION

Lecture 2: Introduction to SQL

The Basic (Flat) Relational Model. Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

CSE 344 AUGUST 1 ST ENTITIES

Chapter 4. The Relational Model

Introduction to SQL Part 1 By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)

CS 377 Database Systems

The Relational Data Model

Lecture 3: SQL Part II

CSC 742 Database Management Systems

Big Data Processing Technologies. Chentao Wu Associate Professor Dept. of Computer Science and Engineering

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

Data Modeling. Yanlei Diao UMass Amherst. Slides Courtesy of R. Ramakrishnan and J. Gehrke

Introduction to Database Systems CSE 414

Chapter 2 Introduction to Relational Models

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

Conceptual and Logical Design

DS Introduction to SQL Part 1 Single-Table Queries. By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)

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

Introduction to Data Management. Lecture #4 (E-R Relational Translation)

DS Introduction to SQL Part 2 Multi-table Queries. By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)

The Relational Data Model and Relational Database Constraints

King Fahd University of Petroleum and Minerals

Introduction to Data Management CSE 344

Let s briefly review important EER inheritance concepts

Relational Model Concepts

The Relational Model. Chapter 3

The Entity Relationship Model

The Relational Model. Chapter 3. Database Management Systems, R. Ramakrishnan and J. Gehrke 1

The Relational Model

Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

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

Relational Model History. COSC 416 NoSQL Databases. Relational Model (Review) Relation Example. Relational Model Definitions. Relational Integrity

Databases. Jörg Endrullis. VU University Amsterdam

Running Example Tables name location

Database Systems Relational Model. A.R. Hurson 323 CS Building

Chapter 6: RELATIONAL DATA MODEL AND RELATIONAL ALGEBRA

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

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

CS2300: File Structures and Introduction to Database Systems

Introduction to Data Management. Lecture #5 Relational Model (Cont.) & E-Rà Relational Mapping

CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam

Chapter 5. Relational Model Concepts 5/2/2008. Chapter Outline. Relational Database Constraints

COSC344 Database Theory and Applications. σ a= c (P) Lecture 3 The Relational Data. Model. π A, COSC344 Lecture 3 1

INF 212 ANALYSIS OF PROG. LANGS SQL AND SPREADSHEETS. Instructors: Crista Lopes Copyright Instructors.

CSE 132A Database Systems Principles

ECE 650 Systems Programming & Engineering. Spring 2018

Chapter 5. Relational Model Concepts 9/4/2012. Chapter Outline. The Relational Data Model and Relational Database Constraints

Database Applications (15-415)

01/01/2017. Chapter 5: The Relational Data Model and Relational Database Constraints: Outline. Chapter 5: Relational Database Constraints

Introduction to Data Management CSE 344

Database Systems ( 資料庫系統 )

Chapter 5. The Relational Data Model and Relational Database Constraints. Slide 5-١. Copyright 2007 Ramez Elmasri and Shamkant B.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 5-1

L12: ER modeling 5. CS3200 Database design (sp18 s2) 2/22/2018

Introduction to Data Management CSE 344

ENTITY-RELATIONSHIP MODEL. CS 564- Spring 2018

Relational Data Model. Christopher Simpkins

The Relational Data Model (ALL the Vocabulary)

Relational Data Model

The Relational Model

Introduction to Databases CSE 414. Lecture 2: Data Models

Relational Databases BORROWED WITH MINOR ADAPTATION FROM PROF. CHRISTOS FALOUTSOS, CMU /615

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

High Level Database Models

Database Systems CSE 303. Lecture 02

Database Systems CSE 303. Lecture 02

CSE 344 MAY 14 TH ENTITIES

The data structures of the relational model Attributes and domains Relation schemas and database schemas

Supplier-Parts-DB SNUM SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens

The Relational Model. Roadmap. Relational Database: Definitions. Why Study the Relational Model? Relational database: a set of relations

Lecture 03. Spring 2018 Borough of Manhattan Community College

The Relational Model

The Relational Data Model. Data Model

Relational Model. Topics. Relational Model. Why Study the Relational Model? Linda Wu (CMPT )

Conceptual Design. The Entity-Relationship (ER) Model

Review for Exam 1 CS474 (Norton)

Lecture 03. Fall 2017 Borough of Manhattan Community College

CSE 344 JANUARY 5 TH INTRO TO THE RELATIONAL DATABASE

CSE 544 Principles of Database Management Systems

CS 2451 Database Systems: Relational Data Model

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

Announcements. Database Design. Database Design. Database Design Process. Entity / Relationship Diagrams. Introduction to Data Management CSE 344

The Relational Model. Outline. Why Study the Relational Model? Faloutsos SCS object-relational model

Database Design Process Entity / Relationship Diagrams

Database Management Systems. Chapter 3 Part 1

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

Database Systems CSE 414

The Relational Model 2. Week 3

Entity/Relationship Modelling

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5-1

Translation of ER-diagram into Relational Schema. Dr. Sunnie S. Chung CIS430/530

The Entity-Relationship Model (ER Model) - Part 2

Relational Model. CS 377: Database Systems

COMP 430 Intro. to Database Systems

Administrivia. The Relational Model. Review. Review. Review. Some useful terms

Transcription:

Introduction to Database Systems The Relational Data Model Werner Nutt 1

4. The Relational Data Model 4.1 Schemas 1. Schemas 2. Instances 3. Integrity Constraints 2

Different Schemas are Based on Different Concepts Conceptual Schema Logical Schema Physical Schema ER: Entities, Relationships, Attributes Tables/Relations: column names/attributes rows/tuples File organisation: File types Index structures 3

A Table Table name Column names Product: Name Price Category Manufacturer gizmo $19.99 gadgets GizmoWorks Power gizmo $29.99 gadgets GizmoWorks SingleTouch MultiTouch $149.99 photography Canon $203.99 household Hitachi Rows 4

Review of Mathematical Concepts (1) Sets: S, T, S 1,..., S n, T 1,..., T n, { } Cardinality of a set S denoted as S Cartesian Product of sets (also cross product): S T set of all pairs (s,t) where s S and t T S 1... S n set of all n-tuples (s 1,..., s n ) where s i S i Relation R over S, T: subset of S T, written R S T We write (s,t) R or, equivalently, srt 5

Review of Mathematical Concepts (2) Relation R over S 1,..., S n : subset R S 1... S n The number n is the arity of R (R is binary if n=2 and ternary if n=3) Function f from S to T, written f: S T associates to every element s S exactly one element of T, denoted as f(s) 6

Review of Mathematical Concepts (3) Partial function f from S to T, written f: S T associates to some element s S exactly one element of T, still denoted as f(s) We write f(s) = (read bottom ) if f does not associate any element of T to s A relation R over S 1,...,S n is total on S i if for every s i S i there are s j S j, j i, such that (s 1,..., s n ) R In other words: every element of S i occurs in some tuple of R 7

Review of Mathematical Concepts (4) A relation R over S and T is functional in its first argument if srt 1 and srt 2 implies that t 1 = t 2 for all s S, t 1, t 2 T. In other words, for every s S, there is at most one t T related by R to s Analogously, a relation R over S 1,..., S n can be functional in anargument i, or in atuple of arguments, say (i,j,k) 8

How Many? Consider sets S, T with S = N and T = M S 1,..., S n with S i = N i How many elements can a relation over S 1,..., S n have? At least? At most? How many relations over S, T are there? How many over S 1,..., S n? How many functions from S to T are there? How many partial functions from S to T are there? 9

How Many? (Cntd.) How many relations are there over S and T that are functional in the first argument? How many relations are there over S and T that are total on S? 10

Tables Look Like Relations C a r d i n a l i t y A1 A2 A3... An a1 a2 a3 an b1 b2 a3 cn a1 c3 b3 bn... x1 v2 d3 wn Arity Attributes Tuple Component {(a1, a2, a3,, an), (b1, b2, a3,, cn), (a1, c3, b3,, bn),... (x1, v2, d3,, wn)} Over which sets does this relation range? In Databases: Distinguish between Schema (structure ) and Instance (content) 11

Relation Schemas A relation schema R(A 1 :D 1,..., A n :D n ) consists of a name, say R a nonemtpy set of attributes, say A 1,..., A n a type or domain, say D i = dom(a i ), for each attribute A i Example: Product (Prodname: Name, Price: DollarPrice, Category: Name, Manufacturer: Name) 12

Types and Domains Type: Class of atomic values, e.g., integers, reals, strings integers between 15 and 80, strings of (up to) 50 characters Domain: Set of atomic values, that have a specific meaning in an application, e.g., Name, EmployeeAge Domains have a type, e.g., EmployeeAge = Int[15,80] Domains may have default values Domains allow for an additional layer of abstraction 13

4. The Relational Data Model 4.2 Instances 1. Schemas 2. Instances 3. Integrity Constraints 14

Relation Schema and Instance A tuple of values (v 1,..., v n ) satisfies the relation schema R(A 1 :D 1,..., A n :D n ) if v i D i (i=1, n) An instance of R is a set of tuples that satisfy the schema of R (i.e., a relation over D 1,...,D n ) Analogy with programming languages: schema = type instance = value Important distinction: Relation Schema = stable over long periods of time Relation Instance = changes constantly, as data is inserted/updated/deleted 15

Example Domain declaration: Name=String(30), DollarPrice=Decimal (10,2), Relation schema: Product(Prodname: Name, Price: DollarPrice, Category: Name, Manufacturer: Name) Instance: Prodname Price Category Manufacturer gizmo 19.99 gadgets GizmoWorks Power gizmo 29.99 gadgets GizmoWorks SingleTouch 149.99 photography Canon MultiTouch 203.99 household Hitachi 16

Database Schema and Instance Database Schema Set of relation schemas, e.g., Product (Productname, Price, Category, Manufacturer), Vendor (Vendorname, Address, Phone), Database Instance Set of relation instances, one for each relation in the schema To keep things simple, we have dropped types/domains Important distinction: Database Schema = stable over long periods of time Database Instance = changes constantly 17

Updates A database reflects the state of an aspect of the real world: The world changes the database has to change Updates to an instance: 1) adding a tuple 2) deleting a tuple 3) modifying an attribute of a tuple What could be updates to a schema? Updates to the data happen very frequently. Updates to the schema: relatively rare, rather painful. Why? 18

Null Values Attribute values are atomic have a known domain can sometimes be null Three meanings of null values 1. not applicable 2. not known 3. absent (not recorded) Student studno name hons tutor year thesis title s1 jones ca bush 2 null s2 brown cis kahn 2 null s3 smith null goble 2 null s4 bloggs ca goble 1 null s5 jones cs zobel 1 null s6 peters ca kahn 3 A CS Survey 19

Order and Duplication In tables: Order of attributes is fixed Order of rows is fixed (i.e., tables with different order of rows are different) Duplicate rows matter In mathematical relations: Order of tuples and duplicate tuples do not matter Order of attributes is still fixed Question: Can we model relations so that we get rid of attribute order? 20

Reminder: Relations as Subsets of Cartesian Products Tuple as elements of String x Int x String x String E.g., t = (gizmo, 19.99, gadgets, GizmoWorks) Relation = subset of String x Int x String x String Order in the tuple is important! (gizmo, 19.99, gadgets, GizmoWorks) (gizmo, 19.99, GizmoWorks, gadgets) No explicit attributes, hidden behind positions 21

Alternative Definition: Relations as Sets of Functions Fix the set A of attributes, e.g. A = {Name, Price, Category, Manufacturer} Fix D as the union of the attribute domains, e.g., D = dom(name) dom(price) dom(category) dom(manufacturer) A tuple is a function t: A D E.g. {Prodname gizmo, Price 19.99, Category gadgets, Manufacturer GizmoWorks} This is the model underlying SQL Order in a tuple is not important, attribute names are important! 22

Notation Schema R(A 1,..., A n ), tuple t that satisfies the schema Then: t[a i ] = value of t for attribute A i t[a i, A j, A k ] = subtuple of t, with values for A i, A j, A k Example: t = (gizmo, 19.99, gadgets, GizmoWorks) t[price] = 19.99 t[prodname, Manufacturer] = (gizmo, GizmoWorks) 23

Two Definitions of Relations Positional tuples, without attribute names Tuples as mappings/functions of attributes In theory and practice, both are used, e.g., SQL: tuples as functions QBE (query by example): positional tuples We will switch back and forth between the two 24

Why Relations? Very simple model Often a good match for the way we think about our data Foundations in logic and set theory Abstract model that underlies SQL, the most important language in DBMSs today But SQL uses bags while the abstract relational model is set-oriented 25

4. The Relational Data Model 4.3 Integrity Constraints 1. Schemas 2. Instances 3. Integrity Constraints 26

Integrity Constraints Ideal: DB instance reflects the real world In real life: This is not always the case Goal: Find out, when DB is out of sync Observation: Not all mathematically possible instances make sense Idea: Formulate conditions that hold for all plausible instances Check whether the condition holds after an update Such conditions are called integrity constraints! 27

Common Types of Integrity Constraints Functional Dependencies (FDs) Employees in the same department have the same boss Superkeys and keys (special case of FDs) Employees with the same tax code are identical Referential Integrity (also foreign key constraints ) Employees can only belong to a department that is mentioned in the Department relation Domain Constraints No employee is younger than 15 or older than 80 Integrity constraints (ICs) are part of the schema We allow only instances that satisfy the ICs 28

Functional Dependencies (Example) Emp (Name, taxcode, Dept, DeptHead) A state of Emp that contains two tuples with the same Dept, but different DeptHead the same taxcode, but different Name, Dept, or DeptHead is definitely out of sync. We write the desired conditions symbolically as Dept DeptHead taxcode Name, Dept, DeptHead. We read: Dept functionally determines DeptHead, or Name, Dept, and DeptHead functionally depend on taxcode 29

Functional Dependencies DB relation R. A functional dependency on R is an expression A1,...,Am B1,...,Bn where A 1,...,A m and B 1,...,B n are attributes of R. An instance r of R satisfies the FD if for all tuples t1, t2 in R t1[a1,...,am] = t2[a1,...,am] implies t1[b1,...,bn] = t2[b1,...,bn] How many FDs are there on a given relation? 30

FDs: Example Emp (EmpID, Name, Phone, Position) with instance EmpID Name Phone Position E0045 Smith 1234 Clerk E1847 Jones 9876 Salesrep E1111 Smith 9876 Salesrep E9999 Brown 1234 Lawyer Which FDs does this instance satisfy? EmpID Name, Phone, Position Position Phone Phone Position 31

General Approach for Checking FDs To check A B on an instance, erase all other columns A B X1 Y1 X2 Y2 check if the remaining relation is functional in A Why is that correct? 32

Check Position Phone! FDs: Example (Cntd.) EmpID Name Phone Position E0045 Smith 1234 Clerk E1847 Jones 9876 Salesrep E1111 Smith 9876 Salesrep E9999 Brown 1234 Lawyer Is the white relation functional in Position? 33

FDs, Superkeys and Keys Person (SSN, Name, DOB) SSN Name, DOB Product (Name, Price, Manufacturer) Name Price, Manufacturer Name Name, Price, Manufacturer Name, Price Name, Price, Manufacturer Book (Author, Title, Edition, Price) Author, Title, Edition Price A set of attributes of a relation is a superkey if it functionally determines all the attributes of the relation A superkey is a candidate key if none of its subsets is a superkey Candidate keys are minimal superkeys 34

Keys: Definitions Superkey a set of attributes whose values together uniquely identify a tuple in a relation Candidate Key a superkey for which no proper subset is a superkey: a superkey that is minimal Can be more than one for a relation Primary Key a candidate key chosen to be the main key One for each relation, indicated by underlining the key attributes Student(studno,name,tutor,year) 35

Example: Multiple Keys Student (Lastname, Firstname, MatriculationNo, Major) Candidate key Candidate key (2 attributes) Superkey Note: There are alternate candidate keys Candidate keys are {Lastname, Firstname} and {StudentID} 36

Foreign Keys A set of attributes in a relation that exactly matches the primary key in another relation the names of the attributes don t have to be the same but must be of the same domain Student (studno, name, hons, tutor, tutorroom, year) Staff (lecturer, roomno, appraiser, approom) Notation: FK1: Student (tutor, tutorroom) references Staff (lecturer, roomno) FK2: Staff (appraiser, approom) references Staff (lecturer, roomno) 37

Satisfaction of Foreign Key Constraints FK: R(A) references S(B) is satisfied by an instance of R and S if for every t1 in R there is a t2 in S such that t1[a] = t2[b], provided t1[a] is not null To keep things simple, we assume that lecturer alone is the primary kay of Staff Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Foreign key constraints are also called referential integrity constraints. Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 38

Updates May Violate Constraints Updates are of tuples Insertions, Deletions, Modifications Example DB with tables as before: Student (studno, name, hons, tutor, year) Staff (lecturer, roomno, appraiser) The DB has key and foreign key constraints Questions: What can go wrong? How should the DBMS react? 39

Insertions (1) If the following tuple is inserted into Student, what should happen? Why? (s1, jones, cis, capon, 3) Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 40

Insertions (2) If the following tuple is inserted into Student, what should happen? Why? (null, jones, cis, capon, 3) Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 41

Insertions (3) If the following tuple is inserted into Student, what should happen? Why? (s7, jones, cis, null, 3) Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 42

Insertions (4) If the following tuple is inserted into Student, what should happen? Why? (s7, jones, cis, calvanese, 3) Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 43

Deletions (1) If the following tuple is deleted from Student, is there a problem? And what should happen? (s2, brown, cis, kahn, 2) Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 44

Deletions (2) And if this one is deleted from Staff? (kahn, IT206, watson) Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 45

Modifications (1) What if we change in Student (s1, jones, ca, bush, 2) to (s1, jones, ca, watson, 2)? Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 46

Modifications (2) And what if we change in Student (s2, brown, cis, kahn, 2) to (s1, jones, ca, bloggs, 2)? Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 47

Modifications (3) And what if we change in Staff (lindsey, 2.10, woods) to (lindsay, 2.10, woods)? Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 48

Modifications (4) Now, let s change in Staff (goble, 2.82, capon) to (gobel, 2.82, capon) Student studno name hons tutor year s1 jones ca bush 2 s2 brown cis kahn 2 s3 smith cs goble 2 s4 bloggs ca goble 1 s5 jones cs zobel 1 s6 peters ca kahn 3 Staff lecturer roomno appraiser kahn IT206 watson bush 2.26 capon goble 2.82 capon zobel 2.34 watson watson IT212 barringer woods IT204 barringer capon A14 watson lindsey 2.10 woods barringer 2.125 null 49

Summary: Reactions to Integrity Violations If an update violates an IC, the DBMS can Reject the update Repair the violation by inserting null inserting a default value cascading a deletion cascading a modification 50

Summary The relational model is based on concepts from set theory (and logic) It formalises the concept of a table Distinguish: relation schema: relation name, attributes, domains/types relation instance: relation over domains of attributes Two formalisations of tuples positional tuples vs. tuples as functions on attributes Integrity constraints: Domain cs, FDs, Keys, FKs Updates may violate ICs and the DMBS has to react 51