*DM := <S, O, C>
◆무결성 제약조건
▷데이터의 정확성 또는 유효성을 의미한다.
▷데이터베이스의 갱신이 데이터베이스의 일관성을 깨지 않게 하는 수단이다.
▷권한을 가진 사용자들로부터 데이터베이스의 정확성을 지키는 것이다.
●무결성 제약조건의 장점
*스키마를 정의할 때 일관성 조건을 오직 한 번만 명시하고, 데이터베이스가 갱신 될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없다.
▷DBMS가 자동으로 처리해준다.
▷데이터 정의어로 명시한다.
●무결성 제약조건의 특징
▷스키마의 한 부분이다.
▷데이터베이스의 상태(또는 상태들의 순서)에 대한 제한
▷DBMS가 실행
▷릴레이션 내의 무결성 제약조건 : 오직 한 릴레이션만 포함 / 릴레이션 스키마의 한 부분
▷릴레이션 사이의 무결성 제약조건 : 여러 릴레이션을 포함 / 릴레이션 스키마 또는 데이터베이스 스키마의 한 부분
●도메인 제약조건(domain constraint)
▷각 애트리뷰트 값이 반드시 원자값이여야 하며, 유형, 디폴트 값 지정, 범위 제한
●키 제약조건(key constraint)
▷키 애트리뷰트에 중복된 값이 존재해서는 안 된다.
●기본 키와 엔티티 무결성 제약조건(entity integrity constraint)
▷릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없다.
●외래 키와 참조 무결성 제약조건(referential constraint)
▷(1) 외래 키의 값은 참조한 어떤 투플의 기본 키 값과 같다.
▷(2) 외래 키가 자신을 포함하고 있는 릴레이션의 기본 키를 구성하고 있지 않으면 널값을 가질 수 있다.
◆무결성 제약조건의 유지(는 DBMS가 자동으로 한다)
●갱신 연산
▷삽입, 수정, 삭제 연산
◆참조 무결성 제약조건을 만족 시키기 위한 옵션
●제한(restricted)
▷참조 무결선 제약조건을 어기는 갱신 연산을 거절한다.
●연쇄(cascade)
▷참조하는 투플도 같이 삭제한다.
●널값(nullify)
▷참조되는 투플을 삭제하고 참조하는 투플들의 외래 키에 널값을 넣는다.
●디폴트값
▷널값 대신에 디폴트 값을 넣는다.
◆관계 대수와 SQL
▷절차적 언어인 관계 대수와 비절차적 언어인 관계 해석
◆관계 대수
▷기존의 릴레이션들로부터 새로운 릴레이션을 생성한다.
▷기본적인 연산자들의 집합으로 이루어진다.
▷하나의 관계 연산은 한 개 이상의 입력 릴레이션에 연산자를 적용하여 새로운 릴레이션 하나를 결과로 생성한다.
●이항연산자(binary operator)
▷두개의 수에 적용되어 하나의 수를 산출하는 연산자
*단항연산자(unary operator)
◆관계 대수 연산자
●관계 대수 연산자들은 중복된 투플을 가지고 있지 않은 릴레이션들에 적용되며 결과로 생기는 릴레이션에도 중복된 투플이 존재하지 않는다.
●필수적인 연산자
●추가된 연산자
<그림>
●실렉션 연산자
▷실랙션 조건을 만족하는 투플들의 부분 집합을 생성한다.
▷{=, <>, <=, <, >=, >} , {AND, OR, NOT}
*결과 릴레이션의 차수와 입력 릴레이션의 차수가 같다.
*실랙션 조건은 릴레이션 애트리부트들에 대하여 명시된 부울식(boolean expression)이다.
*실랙션 조건을 프레디키트(predicate)라고도 한다.
●프로젝션 연산자
▷한 릴레이션의 애트리뷰트들의 부분집합을 구한다.
*결과 릴레이션의 차수는 애트리뷰트 리스트 내의 애트리뷰트의 개수와 같다.
'학교수업 > 데이터베이스' 카테고리의 다른 글
데이터베이스 7주차 요약 (0) | 2023.01.31 |
---|---|
데이터베이스 6주차 요약 (0) | 2023.01.31 |
데이터베이스 3주차 요약 (0) | 2023.01.31 |
데이터베이스 2주차 요약 (0) | 2023.01.31 |
데이터베이스 1주차 요약 (0) | 2023.01.31 |