관계형 모델의 개념
사용자 요구사항 분석 → (데이터 및 업무) → 개념적 데이터 모델링 → (ER 모델) → 논리적 데이터 모델링 → (관계형 모델) → 물리적 데이터 모델링 → (물리적 세부사항) → 내부 스키마
논리적 데이터 모델링 단계
- DBMS 에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
- 데이터 정의 언어로 기술된 개념 스키마 생성
- 관계형 모델(relational model)
→ 1969년 에드가 F. 코드에 의해 제안
→ 릴레이션(relation) 으로 데이터를 표현하는 모델
→ 데이터 표현이 단순하고 직관적 구조화 모델
→ 현재 대다수 DBMS의 기초
- 관계형 모델을 사용하는 관계형 DBMS(RDBMS)
- Oracle , DB2 , PostgresSql , mySql …
릴레이션의 구성
- 릴레이션 : 표의 형태의 데이터 구조
- 스키마 : 각각의 열에 대한 의미를 가진 표 머리
- 레코드 , 투플 : 스키마에 맞춰 각각의 열에 의미에 맞는 내용
- 컬럼, 속성, 필드 : 표의 세로 열
- 컬럼 값 : 레코드와 컬럼이 겹치는 값
- 인스턴스 : 릴레이션 , 스키마에 맞춰 레코드가 들어가 있는 상태
릴레이션의 특징
- 레코드의 유일성
→ 중복된 레코드의 존재가 불가능
- 레코드의 무순서성
→ 레코드의 순서는 의미가 없음
- 컬럼의 무순서성
→ 컬럼은 순서가 없고, 이름과 값의 쌍
- 컬럼값의 원자성
→ 모든 값들은 나눌 수 없는, 단 하나의 의미
키(Key) 의 역할
- 키의 속성
유일성 (Uniqueness) , 최소성(Irreducibility)
- 키의 종류
→ 수퍼키(super key) : 유일성 만족
→ 후보키(candidate key) : 유일성, 최소성 만족
→ 기본키(PK: primary key) : 레코드의 구분을 위해 선택된 후보 키
→ 외래키(FK: foreign key) : 참조된 다른 릴레이션의 기본 키
관계형 모델의 예
- 수퍼키 : 학과이름, {학과이름, 단과대학}, 주소, 전화번호 , {전화번호,졸업학점} 등
- 후보키 : 학과이름, 주소, 전화번호
- 기본키 : 학과이름
학과이름 | 단과대학 | 주소 | 전화번호 |
국어국문학과 | 인문과학대학 | … | 012-1234-1234 |
법학과 | 사회학과대학 | … | 123-1234-1234 |
키의 참조
- 두 릴레이션에 포함된 레코드 간 연관성을 표현
관계형 모델의 제약 조건
영역 제약조건 → 컬럼에 정의된 영역(domain) 에 속한 값으로만 컬럼 값이 결정
키 제약조건 → 키는 레코드를 고유하게 구별하는 값으로 구성
개체 무결성 제약조건 → 어떠한 기본키 값도 널(null)이 될 . 수없음
참조 무결성 제약조건 → 반드시 존재하는 레코드의 기본키만 참조 가능
Null의 개념
- 없음 or 0 이 아닌 미지의 값에 대한 표현
→ 입력된 적 없는 값
→ 적용 불가능한 값
ERD의 변환
논리적 데이터 모델링
- DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정
- 데이터 정의 언어로 기술된 개념 스키마 생성
- 논리적 데이터 모델링의 필요
→ 관계형 DBMS(RDBMS)의 구현 모델에 맞춰 데이터의 구조와 관계를 표현
→ 작성된 ERD를 RDBMS가 수용 가능한 구조로 변환
학생 ← <<보유>> → 계좌
관계형 모델로 변환 방법
단계 1. 개체 집합 : 개체 집합은 릴레이션으로 변환
단계 2. 약한 개체 집합 : 강한 개체 집합의 키 속성을 약한 개체 집합의 릴레이션에 포함
단계 3. 일대일 관계 : 두 릴레이션 중에서 한 릴레이션의 기본키를 다른 릴레이션에서 외래키로 참조
단계 4. 일대다 혹은 다대일 관계 : ‘일’쪽의 기본키를 ‘다’쪽 릴레이션에서 외래키로 참조
단계 5. 다대다 관계 : 관계 릴레이션을 생성하고, 두 릴레이션의 기본키를 각각 참조하는 외래키를 복합키 형태의 컬럼으로 구성
단계 6. 다중값 속성 : 릴레이션의 기본 키를 참조하는 외래키와 다중 값 속성으로 별도의 릴레이션으로 구성
단계 7. 관계 집합의 속성 : 외래키가 위치한 릴레이션의 컬럼으로 삽입
관계 연산의 개념
- 관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현
- 사용자의 관점에서 필요한 데이터를 릴레이션에 추출하는 방법을 제공하는 도구
- 관계 대수(relational algebra)
→ 관계 연산을 정의하는 방법
→ 주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자 로 구성
→ 관계 대수 연산자는 새로운 임시 릴레이션을 생성
→ 연산자를 중첩하여 연산 처리 절차를 표현
'KNOU > 요약정리' 카테고리의 다른 글
[데이터베이스시스템] SQL(2) (0) | 2024.05.25 |
---|---|
[데이터베이스시스템] SQL(1) (0) | 2024.05.25 |
[데이터베이스시스템] 데이터베이스 모델링 (0) | 2024.05.25 |
[데이터베이스시스템] 데이터 베이스의 이해 (0) | 2024.05.25 |
[자료구조] 그래프 (0) | 2023.12.02 |
댓글