List
Search
1. 관계형 모델의 개념
1.1. 개념적 데이터 모델링의 결과
•
어떠한 데이터를 담을 것인가 비즈니스적인 관점을 표현
•
예시
1.2. 논리적 데이터 모델링 단계
•
DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
•
데이터 정의 언어로 기술된 개념 스키마 생성
•
관계형 모델
◦
Oracle, MySQL, PostgreSQL
1.3. 릴레이션의 구성
종류 | 테이블 관점 |
릴레이션 | table |
스키마 | schema |
레코드, 튜플 | row |
컬럼, 속성, 필드 | column |
컬럼 값 | data, value |
1.4. 릴레이션의 특징
•
레코드의 유일성
•
레코드의 무순서성
•
컬럼의 무순서성
•
컬럼값의 원자성
◦
모든 값들은 나눌 수 없는 단 하나의 의미
1.5. 키(key)
•
키
◦
하나의 레코드를 지목할 수 있는 컬럼이 필요 (PK)
◦
릴레이션의 레코드를 유일하게 식별하는 값
•
속성
◦
유일성
◦
최소성
•
종류
◦
수퍼키 - 유일성 만족
▪
학과 이름, 주소, 전화번호, {학과이름, 단과이름}, {전화번호, 졸업학점}
◦
후보키 - 유일성, 최소성 만족
▪
학과 이름, 주소, 전화번호
◦
기본키 - 레코드 구분을 위해 선택된 후보키
▪
학과 이름
◦
외래키 - 참조된 다른 릴레이션의 기본키
•
키의 참조
◦
두 릴레이션에 포함된 레코드 간의 연관성을 표현
1.6. 관계형 모델의 제약조건
•
영역 제약 조건
◦
컬럼에 정의된 영역에 속한 값으로만 컬럼 값이 결정
◦
컬럼의 데이터타입
•
키 제약 조건
◦
키는 레코드를 고유하게 구별하는 값으로 구성
◦
PK
•
개체 무결성 제약 조건
◦
어떠한 기본 값도 null이 될 수 없음
•
참조 무결성 제약 조건
◦
반드시 존재하는 레코드의 기본키만 참조 가능
◦
존재하지않는 키를 외래키로 쓸 수없음
2. ERD의 변환
2.1. 논리적 데이터 모델링
•
DBMS의 귀현 모델에 맞춰 데이터를 표현하는 과정
•
데이터 정의 언어로 기술된 개념 스키마 생성
•
논리적 데이터 모델링 필요
◦
관계형 DBMS의 구현 모델에 맞춰 데이터의 구조와 관계를 표현
◦
작성된 ERD를 RDBMS가 수용 가능한 구조로 변환
3. 데이터 연산
3.1. 관계 연산의 개념
•
관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현
•
사용자의 관점에서 필요한 데이터를 릴레이션에서 추출하는 방법을 제공하는 도구
•
관계 대수 (relational algebra)
◦
관계 연산을 정의하는 방법
◦
주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자로 구성
◦
관계 대수 연산자는 새로운 임시 릴레이션을 생성
◦
연산자를 중첩하여 연산 처리 절차를 표현
3.2. 셀렉트 연산
•
주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성
•
예시
3.3. 프로젝트 연산
•
기술된 컬럼만 갖는 릴레이션으로 구성
•
예시
3.4. 관계 대수 연산식의 활용
•
연산을 중첩시켜 표현 가능
◦
예시 직위가 부교수인 교수의 교수이름을 출력하라
3.5. 집합 연산자
•
릴레이션은 집합
•
레코드는 집합에 포함된 원소
•
집합 연산자 사용 조건
◦
릴레이션 R과 S의 차수가 동일
◦
모든 i에 대해 R의 i번째 컬럼의 도메인과 S의 i번째 컬럼의 도메인이 반드시 동일
3.6. 카티시언(카테시안) 프로덕트 연산
•
두 릴레이션에 포함된 레코드 간의 모든 조합을 생성하는 이항 연산자
◦
R x S
3.7. 조인 연산
•
카테시안 연산과 유사
•
조건에 만족하는 레코드만 결합
•
예시
3.8. 집계 함수 연산
•
집계 함수를 값들의 집합 또는 레코드의 집합에 적용하는 연산
•
예시
•
레코드그룹화를 위해 집계 함수 연산자 앞에 그룹화 속성을 기술
•
예시