2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.

Slides:



Advertisements
Similar presentations
CUBRID 소개 (Object 개념) 서비스 사업부 / 기술지원팀. 목차 구조 일반적 특징 객체지향 특징 ORDB 개념을 이용한 스키마 ORDB 개념을 이용한 질의.
Advertisements

1 SQL 정보보호학과 양 계 탁. 2 SQL 개요 SQL 개요 3 Database u 연관된 데이터들의 집합 u 데이터를 쉽게 관리하는 프로그램 종 류종 류 관계형 데이터베이스 객체지향형 데이터베이스 계층형 데이터베이스 네트워크 데이터베이스 데이터를 2 차원적인 테.
SQL 언어 SQL.
데이터베이스 9주차 : 데이터베이스 설계 2교시 : 데이터베이스 설계(3)
소리가 작으면 이어폰 사용 권장!.
데이터 모델링 방법론 2003년 03월.
데이터베이스 시스템.
제약 조건 부모 테이블 자식 테이블 입 력 수 정 삭 제  관계형성을 통한 참조 무결성
Chapter 02. 데이터 모델링.
질의어와 SQL 기본 SQL 고급 SQL 데이타의 수정 데이타 정의 언어 내장 SQL
관계 대수와 SQL.
제 5 장 인덱스 생성 및 관리.
4장. 관계 대수와 SQL SQL 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어
SQL-99: 스키마 정의, 기본제약조건, 질의어 충북대학교 구조시스템공학과 시스템공학연구실
Chapter 05 SQL 인젝션 공격.
JDBC 프로그래밍 이수지 이동주 1.
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
SQL 개요 SQL 개요 - SQL은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는 데 중요한 요인의 하나
10장. 데이터베이스 보안과 권한 관리 데이터베이스 보안과 권한 관리
데이터베이스 담당교수 신정식 Chapter 4 SQL(1).
Information Technology
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
Chapter 01 데이터베이스 시스템.
DB2.
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
2장. E/R 데이터 모델 엔티티-관계성 (Entity-Relationship) 모델의 요소 설계 원칙
11장. 데이터베이스 서버 구축과 운영.
데이터베이스 설계와 ER 모델 설계, ER 모델링.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
4.2 SQL 개요 SQL 개요 SQL은 IBM 연구소에서 1974년에 System R이라는 관계 DBMS 시제품을 연구할 때 관계 대수와 관계 해석을 기반으로, 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 1986년에 ANSI(미국 표준 기구)에서 SQL.
Database 소개.
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
16장. 테이블의 변경 새로운 행 삽입 테이블에서 테이블로 행을 복사 행 값의 변경 테이블에서 행 삭제
SQL.
01 데이터베이스 개론 데이터베이스의 등장 배경 데이터베이스의 발전 과정 데이터베이스의 정의 데이터베이스의 특징
제 3 장 관계 데이타 모델과 관계 데이타베이스 제약조건
제 4 장 관계 데이터 연산 1. 개요 2. 관계 대수 3. 관계 해석.
SQL (structured query language)
Chapter 3: Introduction to SQL
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
고급 T-SQL.
CHAPTER 06. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
SQL Query in the SSMS : DB, Table
Database Programing 이름 : 김 수 종 학번 :
JSP 게시판 구현.
4. 관계 데이터베이스 (Relational Database)- 7, 8장
ER-Win 4.0 Database Modeling Ⅰ. Logical Design
View(뷰) 1 가상 테이블(Virtual Relation)
2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall
데이터베이스 (Database) SQL 추가 기능: 주장, 뷰, 프로그래밍 기법 문양세 강원대학교 IT대학 컴퓨터과학전공.
4 장. 관계 데이터 모델과 관계 데이터베이스 제약조건
4. 관계 데이터 모델.
                              데이터베이스 설계 및 실습 #4 - loadcompany 만들기 한국외국어대학교 DaPS 연구실                              
관계 데이타 모델과 관계 데이타베이스 제약조건 충북대학교 구조시스템공학과 시스템공학연구실
학습목표 학습목표 본 장은 데이터베이스를 구성하는 개체, 속성, 관계 등을 다룬다. 특별히 데이터베이스의 구조를 테이블에 기초하여 조직하는 관계 데이터 모델은 개체(entity)와 관계(relationship) 들이 테이블의 집합 형태로 되어 간단하고 이해하기 쉬우며.
06. SQL 명지대학교 ICT 융합대학 김정호.
제 8장 데이터베이스.
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
상세 개념적 모델링. 상세 개념적 모델링 정규화를 하는 이유 데이터의 중복성 제거 데이터 모형의 단순화 Entity, Attribute의 누락 여부검증 데이터 모형의 안전성 검증.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
뇌를 자극하는 Windows Server 장. 데이터베이스 서버.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
ER-관계 사상에 의한 관계 데이터베이스 설계
Stored program 장종원
제 5 장 MariaDB인덱스 생성 및 관리.
GB ridge 웹 모바일및 빅데이터 응용과정 3주차: 데이터베이스 프로그래밍 [경기도형 대학생 취업브리지 사업]
CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건. CHAPTER 4 관계 데이터 모델과 관계 데이터베이스 제약조건.
Presentation transcript:

2장. 관계 데이터 모델과 제약조건 관계 데이터 모델은 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델의 하나 IBM 연구소에 근무하던 E.F. Codd가 1970년에 관계 데이터 모델을 제안함 관계 데이터 모델을 최초로 구현한 가장 중요한 관계 DBMS 시제품은 1970년 대에 IBM 연구소에서 개발된 System R 1980년대 후반부터 여러 가지 데이터 모델들이 새로 등장했지만 관계 DBMS는 여전히 가장 널리 사용되는 DBMS 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념 관계 데이터 모델 관계 데이터 모델은 동일한 구조(릴레이션)의 관점에서 모든 데이터를 논리적으로 구성 논리적으로 연관된 데이터를 연결하기 위해서 링크나 포인터를 사용하지 않음 선언적인 질의어를 통한 데이터 접근을 제공 사용자는 원하는 데이터(what)만 명시하고, 어떻게 이 데이터를 찾을 것인가(how)는 명시할 필요가 없음 응용 프로그램들은 데이터베이스 내의 레코드들의 어떠한 순서와도 무관하게 작성됨 관계 데이터 모델의 목적은 높은 데이터 독립성을 제공하는 것 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 기본적인 용어 릴레이션(relation): 2차원의 테이블 레코드(record): 릴레이션의 각 행 투플(tuple): 레코드를 좀더 공식적으로 부르는 용어 애트리뷰트(attribute): 릴레이션에서 이름을 가진 하나의 열 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 차수(degree)와 카디날리티(cardinality) 차수: 한 릴레이션에 들어 있는 애트리뷰트들의 수 유효한 릴레이션의 최소 차수는 1 릴레이션의 차수는 자주 바뀌지 않음 카디날리티: 릴레이션의 투플 수 유효한 릴레이션은 카디날리티 0을 가질 수 있음 릴레이션의 카디날리티는 시간이 지남에 따라 계속해서 변함 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 도메인(domain) 한 애트리뷰트에 나타날 수 있는 값들의 집합 각 애트리뷰트의 도메인의 값들은 원자값 복합 애트리뷰트나 다치 애트리뷰트는 허용되지 않음 프로그래밍 언어의 데이터 타입과 유사함 동일한 도메인이 여러 애트리뷰트에서 사용될 수 있음 도메인 정의 CREATE TABLE DEPARTMENT (DEPTNUM INTEGER, DEPTNAME CHAR(10)); 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 널값(null value) 널값에 대한 해석들 값을 모름 : 알 수 없는 생년월일 (있으나 모름) 값 적용 불가능 : 결혼하지 않은 배우에 대한 배우자 속성 값 보류 : 등록되지 않은 전화번호 (확실치 않음) 널값은 숫자 도메인의 0이나 문자열 도메인의 공백 문자 또는 공백 문자열과 다름 DBMS들마다 널값을 나타내기 위해 서로 다른 기호를 사용함 가급적 널값은 사용하지 않는 것이 바람직 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 릴레이션 스키마(relation schema) 릴레이션의 이름과 릴레이션의 애트리뷰트들의 집합 릴레이션을 위한 틀(framework) 스키만 변경은 자주 일어나지 않음 표기법 릴레이션이름(애트리뷰트1, 애트리뷰트2, ... 애트리뷰트N) 기본 키 애트리뷰트에는 밑줄 표시 내포(intension)라고 함 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 릴레이션 인스턴스(relation instance) 릴레이션에 어느 시점에 들어 있는 투플들의 집합 시간의 흐름에 따라 계속 변함 일반적으로 릴레이션에는 현재의 인스턴스만 저장됨 외연(extension)이라고 함 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 관계 데이터베이스(relational database) 스키마 하나 이상의 릴레이션 스키마들로 이루어짐 관계 데이터베이스 인스턴스 릴레이션 인스턴스들의 모임으로 구성됨 2장. 관계 데이터 모델과 제약조건

2.1 관계 데이터 모델의 개념(계속) 수학적 정의 Relation: 정렬된 객체들의 집합 ex) relation less than (<)     < = {(1,2), (0,3), (-2,3.1), ..}     1 < 2 mean '1 is related to ‘2 by the "less than" rel ex) (a,b,c) is a member of the rel + iff a+b=c + = {(1,2,3), (0,2,2), ...} 릴레이션 R : Cartesian product D1 × D2 × ... × Dn의 부분집합 즉 n-투플 <d1, d2, ... , dn>의 집합 단 Di : i번째 도메인 di ∈ Di, i = 1,2, ... ,n 100 200 C412 C123 C312 <100,C412> <100,C123> <100,C312> <200,C412> <200,C123> <200,C312> 학번 (Sno) 과목번호 (Cno) 학번 ⅹ과목번호 (Sno ⅹ Cno) 2장. 관계 데이터 모델과 제약조건

2.2 릴레이션의 특성 릴레이션 릴레이션의 특성 투플들의 집합 각 릴레이션은 오직 하나의 레코드 타입만 포함 한 애트리뷰트 내의 값들은 모두 같은 유형 애트리뷰트들의 순서는 중요하지 않음 2장. 관계 데이터 모델과 제약조건

2.2 릴레이션의 특성(계속) 릴레이션의 특성(계속) 동일한 투플이 두 개 이상 존재하지 않음  키가 존재함  키가 존재함 한 투플의 각 애트리뷰트는 원자값을 가짐 2장. 관계 데이터 모델과 제약조건

2.2 릴레이션의 특성(계속) 릴레이션의 특성(계속) 각 애트리뷰트의 이름은 한 릴레이션 내에서만 고유 투플들의 순서는 중요하지 않음 2장. 관계 데이터 모델과 제약조건

2.3 릴레이션의 키 릴레이션의 키 수퍼 키 각 투플을 고유하게 식별할 수 있는 하나 이상의 애트리뷰트들의 모임 수퍼 키(superkey), 후보 키(candidate key), 기본 키(primary key), 대체 키(alternate key), 외래 키(foreign key) 수퍼 키 한 릴레이션 내의 특정 투플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합 예: 신용카드 회사의 고객 릴레이션에서 (신용카드번호, 주소) 또는 (주민등록번호, 이름) 또는 (주민등록번호) 투플들을 고유하게 식별하는데 꼭 필요하지 않은 애트리뷰트들을 포함할 수 있음 2장. 관계 데이터 모델과 제약조건

2.3 릴레이션의 키(계속) 기본 키 한 릴레이션에 후보 키가 두 개 이상 있으면 설계자 또는 데이터베이스 관리자가 이들 중에서 하나를 기본 키로 선정함 후보키가 한 개 밖에 없으면 당연히 이 후보키가 기본키가 된다 예: 신용카드 회사의 고객 릴레이션에서 신용카드번호와 주민등록번호가 후보 키가 될 수 있음. 이 중에서 신용카드 번호를 기본 키로 선정 자연스러운 기본 키를 찾을 수 없는 경우에는 레코드 번호와 같이 종종 인위적인 키 애트리뷰트를 릴레이션에 추가할 수 있음 대체 키 기본 키가 아닌 나머지 후보 키들 예: 신용카드 회사의 고객 릴레이션에서 신용카드번호를 기본 키로 선정하면 주민등록번호는 대체 키 2장. 관계 데이터 모델과 제약조건

2.3 릴레이션의 키(계속) 후보 키 2장. 관계 데이터 모델과 제약조건 각 투플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임 예: (신용카드번호, 주소)는 신용카드 회사의 고객 릴레이션의 후보 키가 아니지만 (신용카드번호)는 후보 키 모든 릴레이션에는 최소한 한 개 이상의 후보 키가 있음 후보 키도 두 개 이상의 애트리뷰트로 이루어질 수 있으며 이런 경우에 복합 키(composite key)라고 부름 예: (학번, 과목번호)가 후보 키 그림 2.10의 학생 릴레이션에서 이름이 후보 키가 될 수 있는가? 그림 2.10의 학생 릴레이션에서 이메일이 후보 키가 될 수 있는가? 2장. 관계 데이터 모델과 제약조건

2.3 릴레이션의 키(계속) 외래 키 어떤 릴레이션의 기본 키를 참조하는 애트리뷰트 외래 키는 자체 릴레이션을 참조 할 수 있다 관계 데이터베이스에서 릴레이션들 간의 관계를 나타내기 위해서 사용됨 외래 키 애트리뷰트는 참조되는 릴레이션의 기본 키와 동일한 도메인을 가져야 함 자신이 속한 릴레이션의 기본 키의 구성요소가 되거나 되지 않을 수 있음 2장. 관계 데이터 모델과 제약조건

2.3 릴레이션의 키(계속) 외래 키의 유형(계속) 자체 릴레이션의 기본 키를 참조하는 외래 키 기본 키의 구성요소가 되는 외래 키 2장. 관계 데이터 모델과 제약조건

2.3 릴레이션의 키(계속) 키의 유형 정의 수퍼키 (super key) 한 릴레이션 내의 특정 투플을 고유하게 식별하는 하나의 속성 또는 속성들의 집합 후보키 (candidate key) 각 투플을 고유하게 식별하는 최소한의 속성들의 모임 기본키 (primary key) 후보키가 두 개 이상 있으면 이들 중 하나를 기본키로 선정 대리키 (surrogate key ) 시스템으로부터 생성되는 인위적인 기본키 대체키 (alternate key) 기본키로 선정되지 않은 후보키 외래키 (foreign key) 어떤 릴레이션의 기본키를 참조하는 속성 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건 데이터 무결성(data integrity) 데이터의 정확성 또는 유효성을 의미 무결성 제약조건의 목적은 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적으로 또는 명시적으로 정의함 무결성 제약조건은 데이터베이스 상태가 만족시켜야 하는 조건 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없음 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 도메인 제약조건(domain constraint) 키 제약조건(key constraint) 각 애트리뷰트 값이 반드시 원자값이어야 함 애트리뷰트 값의 디폴트 값, 가능한 값들의 범위 등을 지정할 수 있음 데이터 형식을 통해 값들의 유형을 제한하고, 속성 선언에 'NOT NULL' SQL2는 도메인을 명시적으로 정의하는 것을 허용 키 제약조건(key constraint) 키 애트리뷰트에 중복된 값이 존재해서는 안됨 릴레이션을 정의할 때 PRIMARY KEY, UNIQU로 명시 기본 키와 엔티티 무결성 제약조건(entity integrity constraint) 릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없음 대체 키에는 적용되지 않음 사용자는 릴레이션을 생성하는 데이터 정의문에서 어떤 애트리뷰트가 릴레이션의 기본 키의 구성요소인가를 DBMS에게 알려줌 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 외래 키와 참조 무결성 제약조건(referential integrity constraint) 릴레이션 사이의 관계들이 다른 릴레이션의 기본 키를 참조하는 것을 기반으로 하여 묵시적으로 표현되기 때문에 외래 키의 개념이 중요 참조 무결성 제약조건은 두 릴레이션의 연관된 투플들 사이의 일관성을 유지하는데 사용됨 릴레이션 R2의 외래 키가 릴레이션 R1의 기본 키를 참조할 때 참조 무결성 제약조건은 아래의 두 조건 중 하나가 성립되면 만족됨 외래 키의 값은 R1의 어떤 투플의 기본 키 값과 같다 외래 키가 자신을 포함하고 있는 릴레이션의 기본 키를 구성하고 있지 않으면 널값을 가질 수 있다 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 무결성 제약조건의 유지 데이터베이스에 대한 갱신 연산은 삽입 연산, 삭제 연산, 수정 연산으로 구분함 DBMS는 각각의 갱신 연산에 대하여 데이터베이스가 무결성 제약조건들을 만족하도록 필요한 조치를 취함 DBMS는 외래 키가 갱신되거나, 참조된 기본 키가 갱신되었을 때 참조 무결성 제약조건이 위배되지 않도록 해야 함 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) EMPLOYEE 릴레이션의 DNO 애트리뷰트가 DEPARTMENT 릴레이션의 기본 키인 DEPTNO를 참조하는 외래 키이므로, DEPARTMENT를 참조된 릴레이션, EMPLOYEE를 참조하는 릴레이션으로 부르기로 함 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 삽입 참조되는 릴레이션에 새로운 투플이 삽입되면 참조 무결성 제약조건은 위배되지 않음 DEPARTMENT에 새로 삽입되는 투플의 기본 키 애트리뷰트의 값에 따라서는 도메인 제약조건, 키 제약조건, 엔티티 무결성 제약조건 등을 위배할 수 있음 참조하는 릴레이션에 새로운 투플을 삽입할 때는 도메인 제약조건, 키 제약조건, 엔티티 무결성 제약조건 외에 참조 무결성 제약조건도 위배할 수 있음 예: EMPLOYEE 릴레이션에 (4325, 오혜원, 6)이라는 투플을 삽입하면 참조 무결성 제약조건을 위배하게 됨 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 삭제 참조하는 릴레이션에서 투플이 삭제되면 도메인 제약조건, 키 제약조건, 엔티티 무결성 제약조건, 참조 무결성 제약조건 등 모든 제약조건을 위배하지 않음 참조되는 릴레이션에서 투플이 삭제되면 참조 무결성 제약조건을 위배하는 경우가 생기거나 생기지 않을 수 있음 예1: DEPARTMENT 릴레이션에서 네 번째 투플인 (4, 홍보, 8)을 삭제하더라도 참조 무결성 제약조건을 위배하지 않음 예2: DEPARTMENT 릴레이션에서 세 번째 투플인 (3, 개발, 9)를 삭제하면 참조 무결성 제약조건을 위배하게 됨 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 참조 무결성 제약조건을 만족시키기 위해서 DBMS가 제공하는 옵션 제한(restricted) 위배를 야기한 연산을 단순히 거절 예: DEPARTMENT 릴레이션에서 (3, 개발, 9)를 삭제하면 참조 무결성 제약조건을 위배하게 되므로 삭제 연산을 거절 연쇄(cascade) 참조되는 릴레이션에서 투플을 삭제하고, 참조하는 릴레이션에서 이 투플을 참조하는 투플들도 함께 삭제 예: DEPARTMENT 릴레이션에서 (3, 개발, 9)를 삭제하면 EMPLOYEE 릴레이션에서 부서번호 3을 참조하는 두 번째 투플과 다섯 번째 투플도 함께 삭제 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 참조 무결성 제약조건을 만족시키기 위해서 DBMS가 제공하는 옵션(계속) 널값(nullify) 참조되는 릴레이션에서 투플을 삭제하고, 참조하는 릴레이션에서 이 투플을 참조하는 투플들의 외래 키에 널값을 삽입 예: DEPARTMENT 릴레이션에서 (3, 개발, 9)를 삭제하면 EMPLOYEE 릴레이션에서 부서번호 3을 참조하는 두 번째 투플과 다섯 번째 투플의 부서번호에 널값을 삽입 디폴트값 널값을 넣는 대신에 디폴트값을 넣는다는 것을 제외하고는 바로 위의 옵션과 비슷함 2장. 관계 데이터 모델과 제약조건

2.4 무결성 제약조건(계속) 데이터 정의어를 통한 무결성 제약 조건 예 수정 DBMS는 수정하는 애트리뷰트가 기본 키인지 외래 키인지 검사함 수정하려는 애트리뷰트가 기본 키도 아니고 외래 키도 아니면 수정 연산이 참조 무결성 제약조건을 위배하지 않음 기본 키나 외래 키를 수정하는 것은 하나의 투플을 삭제하고 새로운 투플을 그 자리에 삽입하는 것과 유사하므로, 삽입 및 삭제에서 설명한 제한, 연쇄, 널값, 디폴트값 규칙이 수정 연산에도 적용됨 데이터 정의어를 통한 무결성 제약 조건 예 CREATE TABLE Studio ( name CHAR (30) PRIMARY KEY, address VARCHAR (255), presC# INT REFERENCES Movie Exec (cert#) ON DELETE SET NULL ON UPDATE CASCADE ); 2장. 관계 데이터 모델과 제약조건