- 속성(Attribute): DB를 구성하는 가장 작은 논리적 단위 (열 / Degree)
- 릴레이션(Relation): 릴레이션 스키마와 릴레이션 인스턴스로 구성된다.
- 도메인(Domain): Attribute가 취할 수 있는 값
- 튜플(Tuple): 테이블에서 행에 해당 / Cardinality(기수)
참조되어 릴레이션의 기본키와 대응되어 릴레이션 간에 참조관계를 표현
참조할 수 없는 외래키 값은 가질 수 없다.
- Unique defines
- Major Key
- Null 값을 가질 수 없다. → 개체 무결성
기본키를 구성하는 어떤 속성값도 Null값이나 중복값을 가질 수 없다.
- 해당없음
- 정보의 부재를 나타냄
- 공백 또는 0은 데이터나 Null이 아니다.
후보키(Candidate Key)가 둘 이상일 때 기본키를 제외한 나머지 후보키
유일성은 만족하지만, 최소성을 만족시키지 못한 키
학번 + 주민번호는 유일성을 만족한다. 하지만 학번, 주민번호 하나만 써도 유일한다. 따라서 최소성을 만족시키지 못한다.
데이터 정확성과 관계가 깊다.
정의된 도메인 속한 값이어야 한다.
사용자가 정의한 제약조건을 만족해야 한다.
- 제약 조건
- 애플리케이션
- 데이터 베이스 트리거
- 순수 관계: select, project, join, division
- 일반 집합 연산자: Union(합집합), Intersection(교집합), Difference(차집합)
조건에 맞는 튜플 구하는 연산
시그마를 사용하는 관계 대수 연산자
열을 선택하는데 사용, 중복 발생 시 중복 제거 = 부분집합
파이 사용차수(Degree)는 더하고, Cardinality는 곱한다.
- 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성
- 관계해석으로 표현한 식은 관계대수로 표현할 수 있다.
파이(이름)(시그마(학과) = 컴퓨터(학생)) # 컴퓨터과 학생의 이름을 검색하라. # SELECT 이름 FROM 학생 컴퓨터과
- 중복을 배제하여 이상 발생 방지
- 속성 간 종속 관계를 분석하여 한개의 릴레이션을 여러개의 릴레이션으로 분해
- 이상의 종류에는: 삽입 이상, 삭제 이상, 갱신 이상 (관계형 데이터 베이스 릴레이션 조작할 때 발생하는 이상 현상)
- 데이터 중복으로 곤란한 현상이 발생한다.
- 의도적으로 정규화원칙 위배
- 시스템 성능 향상과 효율성 증가
1:1, 1:N, 슈퍼/서브타입 관계 통합
- 정규화로 인해 수행 속도가 느려진 경우
- 많은 범위의 데이터를 자주 처리해야 하는 경우
- 특정 범위 데이터를 자추 처리해야 하는 경우
- 처리 범위를 줄이지 않고는 수행 속도 개선이 어려운 경우
- 데이터 검색은 간편하지만 ROW 수가 증가하여 처리량이 증가
- JOIN이 자주 발생하는 경우
- 접근 경로가 복잡한 속성인 경우
- 엑세스 조건으로 자주 사용되는 경우
- 테이블 중복과 속성의 중복을 고려한다.
- 일관성 및 무결성에 유의한다.
- SQL GROUP Function 해결 가능해야 한다.
- 여러가지(다양한) 객체에 관한 정보를 포함하고 있는 시스템 DB
- 뷰, 인덱스, 접근 권한
- DB에 포함되는 모든 데이터 객체들에 대한 정의 or 명세
- 사용자는 시스템 카탈로그를 갱신할 수 없다.
- 일반 사용자는 SQL을 이용해 내용을 검색해볼 수 없다.
- 시스템만 접근할 수 있으며, 데이터 접근에 필요한 정보를 관리한다.