1. 관계 데이터 모델의 개념
관계(relation): 행과 열로 구성된 테이블
자식 —> 부모
릴레이션 스키마: 릴레이션의 논리적 구조
속성(열), 도메인(속성값 집합), 차수(속성의 개수) → 정적
릴레이션 인스턴스: 스키마에 실제로 저장된 데이터 집합
튜플(행), 카디날리티(튜플의 수) → 동적
릴레이션
테이블
스키마
내포
인스턴스
외연
튜플
행
속성
열
특징:
속성의 원자성(원자값만=단일값만)
속성의 무순서성
속성의 동일성(도메인에 속하는 동일한 유형의 값만)
튜플의 유일성
튜플의 무순서성
2. 무결성 제약조건
키(key): 릴레이션에서 특정 튜플들을 유일하게 구별하는 속성/속성들의 집합
특성: 유일성(모든 튜플 서로 다른 키 값), 최소성(최소한의 속성들로 구성)
종류(6개):
슈퍼키(super key) = 유일성 만족
후보키(candidate key) = 유일성 + 최소성 만족
기본키 = 후보 키 中 기본
대체키 = 기본키x인 후보키
대리키 = DBMS나 관련 소프트웨어가 임의로 생성한 가상 속성키
외래키(foreign key = FK) = 다른 릴레이션의 기본키 참조, NULL or 중복값 가능, 같 릴레o
참조하는 (외래키) —> 참조당하는 (기본키)
무결성: 데이터 결함x 상태 = 데이터 정확+유효 유지 (= 일관성, 정확성)
데이터의 무결성(data integrity)
무결성 제약조건
도메인 무결성 제약조건 = 튜플이 속성 도메인에 지정된 값만 가져야
개체 무결성 제약조건 - 기본키 = 기본키는 null 안됨, 릴레이션 내 하나의 값만 존재
참조 무결성 제약조건 - 외래키 = 자식-부모 도메인 같아야, 부모에 없는 값 참조x
부모 릴레이션 튜플 삭제 시, 명령어 옵션
RESTRICTED = 참조 시, 부모 삭제 거부
CASCADE = 같이 삭제
DEFEAT = 자식 튜플값을 미리 설정해 둔 값으로 변경
NULL = null값 설정
3. 관계대수
일반 집합 연산자
: 두 릴레이션의 차수 같고, 서로 대응되는 속성의 도메인 같아야
합집합 - 교환, 결합o
차집합 - 교환, 결합x
교집합 - 교환, 결합o
카티션 프로덕트(RxS) - 교환, 결합o
차수 = R+S, 카디널리티 = RxS
순수 관계 연산자
셀렉션 - 셀렉트(select) = 조건 만족 튜플 반환
σ조건(R) = R where 조건
비교연산자, 논리연산자 사용, 교환법칙o
프로젝션 - 프로젝트(project) = 해당 속성 값으로만 구성된 튜플 반환
π속성리스트(R) = R[속성리스트] ← 동일 튜플은 결과에서 1번만 반환
조인 (Join) = R과 S의 튜플 연결, R⋈S
세타(비교연산자 자유)
동등(세타 中 =)
자연(동등 中 중복 하나 제거),
외부(자연조인 확장)
왼쪽, 오른쪽, 완전(양쪽)
세미(자연조인 확장)
디비전(Division) = S의 모든 튜플과 관련 있는 R의 튜플 반환, R ÷ S