The Relational Data Model and Relational Database Constraints

The Relational Data Model and Relational Database Constraints 2018/03/30 otawa 1

Outline • 5. 1 Relational Model Concepts • 5. 2 Relational Model Constraints and Relational Database Schemas • 5. 3 Update Operations, Transactions, and Dealing with Constraint Violations • 5. 4 Summary 2

5. 1 Relational Model Concepts 3


5. 1. 1 Domains, Attributes, Tuples, and Relations • リレーショナルデータベースに関する用語の定義 5




Domain • 複数の属性が同じドメインを持つこともあり得る 例:USA_phone_numbers Home_phone Office_phone 9














5. 2 Relational Model Constraints and Relational Database Schemas 23

Relational Model Constraints • データベースが満たすべき制約には主に次の3つが ある ・inherent model-based constraints ・application-based constraints ・schema-based constraints 24



Schema-Based Constraints • データモデルのスキーマ内で直接表現される制約 • 次のような制約が含まれる ・ domain constraints ・ key constraints ・ constraints on NULLs ・ entity integrity constraints ・ referential integrity constraints 27





Key 例: {Ssn}はkey(superkeyでもある) {Ssn, Name, Age}はsuperkeyであるがkeyではない 32


Candidate Key(候補キー) • 一つのスキーマは二つ以上のkeyを持つことがある。 このような時これらのkeyをcandidate keyという 例:License_number と Engine_serial_numberがcandidate key 34



5. 2. 3 Relational Databases and Relational Database Schemas • 今までは一つの関係についての話だったがここからは複数 の関係についての話 • relational database schema S S = {R 1, R 2, … , Rm} Ri : 関係スキーマ integrity constraints(整合性制約)の集合(IC)でもある ※後述 • relational database state DB → 実際のデータベース状態 DB = {r 1, r 2, … , rm} ri : 実際の関係の状態 riはICの integrity constraints を満たす integrity constraints を満たしたデータベースの状態を valid state, 満たしていない状態を not valid という 37

5. 2. 3 Relational Databases and Relational Database Schemas 例:COMPANY = {EMPLOYEE, DEPARTMENT, DEPT_LOCATIONS, PROJECT, WORKS_ON, DEPENDENT} 38


5. 2. 3 Relational Databases and Relational Database Schemas • DBMSはrelational database schemaを定義するために data definition language (DDL) を持たなければならな い • 現在のDBMSのほとんどはSQLを使っている • 詳しくは6章で 40

Integrity Constraints • データベーススキーマに見られる制約 Domain constraint, key constraint, NOT NULL constraint など • 他にも2種類存在する ・ entity integrity constraint(実体整合性制約) ・ referential integrity constraint(参照整合性制約) 41

5. 2. 4 Entity Integrity, Referential Integrity, and Foreign Keys • 整合性制約や外部キーについて 42



Referential Integrity Constraint(参照整合性制約) • A 45


Constraint • DBMSに制約を強制させたいなら整合性制約をrelational database schemaの定義の一部とすべきである • DDLには、DBMSが自動的に制約を強制できるような様々 な規定がある • SQLではCREATE TABLEでprimary key, unique key, NOT NULL, entity integrity, and referential integrity constraints を指定できる • 詳しくは6章で 47



5. 3 Update Operations, Transactions, and Dealing with Constraint Violations 50








5. 4 Summary • 関係モデルの概念 • • domain, attribute, tuple 関係スキーマ 関係の特徴 NULL値 • 関係モデルの制約 • inherent model-based constraints • schema-based constraints • semantic constraints or business rules • データベース操作 • 挿入 • 削除 • 更新 58
- Slides: 58