관계 데이터 모델 (Relation Data Model)
1) 정의
- 실세계 데이터를 행과 열로 구성된 테이블 형태로 구성된 모델
- 수학자 E.F.Codd 박사가 제안한 모델
2) 관계 데이터 모델의 구성요소
구성요소 | 설명 |
릴레이션 (Relation) | 행(Row)과 열(Column)로 구성된 테이블 / 테이블 |
튜플 (Tuple) | 릴레이션의 행(Row)에 해당되는 요소 / 데이터 |
속성 (Attribute) | 릴레이션의 열(Column)에 해당하는 요소 / 컬럼 |
카디널리티 (Cardinality) |
튜플(Row)의 수 |
차수 (Degree) | 속성(Attribute/Column)의 수 |
스키마 (Schema) | 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조 |
인스턴스 (Instance) | 정의된 스키마에 따라 생성된 테이블에 실제 저장된 데이터의 집합 |
3) 관계 대수와 관계 해석
구분 | 관계 대수 | 관계 해석 |
특징 | 절차적 언어 (순서 명시) | 비절차적 언어 |
목적 | 어떻게 유도하는가? (How) | 무엇을 얻을 것인가? (What) |
종류 | 일반 집합 연산자, 순수 관계 연산자 | 튜플 관계 해석, 도메인 관계 해석 |
4) 관계 대수 인반 집합 연산자
- ∪ 합집합 (Union)
- ∩ 교집합 (Intersaction)
- ㅡ 차집합 (Difference)
- × 카티션 프로덕트 (CARTESIAN Product)
5) 순수 관계 연산자
- σ 셀렉트 (Select)
- π 프로젝트 (Project)
- ⋈ 조인 (Join)
- ÷ 디비전 (Division)
시스템 카탈로그 (System Catalog)
1) 정의
- DBMS, 자동으로 DDL 실행으로 생성되는 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 DB 구조 및 통계 정보를 저장한다
- 자료 사전
- 시스템 카탈로그에 저장된 정보 : 메타 데이터 (Meta Data)
3. 데이터 모델 (Data Model)
1) 정의
- 현실 세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모듈
2) 데이터 모델에 표시해야 할 요소
- 논리적 데이터 구조
- 연산
- 제약조건
3) 데이터 모델 절차
- 개념적 데이터 모델
- 논리적 데이터 모델
- 물리적 데이터 모델
4) 논리적 설계 단계(논리적 데이터 모델)에서 수행하는 작업
- 논리적 데이터베이스 구조로 매핑(Mapping)
- 트랜잭션 인터페이스 설계
- 스키마의 평가 및 정제
5) 물리적 설계 단계(물리적 데이터 모델)에서 수행하는 작업
- 저장 레코드 양식 설계
- 레코드 집중의 분석 및 설계
- 접근 경로 설계
개체 - 관계(E-R) 모델
1) 개체 - 관계(E-R) 모델 구성요소
- 개체 (Entity)
- 속성 (Attribute)
- 관계 (Relationship)
2) 개체 - 관계(E-R) 다이어그램 기호
구성 | 기호 |
개체 | □ 사각형 |
관계 | ◇ 마름모 |
속성 | ○ 타원 |
다중 값 속성 | ◎ 이중 타원 |
관계-속성 연결 | ㅡ 선 |
데이터베이스 정규화 (DB Normalization)
1) 정의
- 관계형 데이터 모델에서 데이터의 중복성을 제거하여 이상 현상을 방지
- 데이터의 일관성과 정확성을 유지하기 위해 무손실 분해하는 과정
2) 목적
- 중복 데이터를 최소화하여 테이블 불일치 위험을 최소화
- 수정, 삭제 시 이상 현상을 최소화함으로써 데이터 구조의 안전성 최대화
- 어떠한 릴레이션(테이블)이라도 데이터베이스 내에서 표현 가능하게 함
- 데이터 삽입 시 릴레이션(테이블)의 재구성에 대한 필요성 최소화
- 효과적인검색 알고리즘 생성 가능
3) 데이터베이스 정규화 단계 ⭐
단계 | 조건 |
1정규형 (1NF) | 원자 값으로 구성 |
2정규형 (2NF) | 부분 함수 종속 제거 (완전 함수적 종속 관계) |
3정규형 (3NF) | 이행 함수 종속 제거 |
보이스 - 코드 정규형 (BCNF) |
결정자가 후보 키가 아닌 함수 종속 제거 |
4정규형 (4NF) |
다치 (다중 값) 종속성 제거 |
5정규형 (5NF) | 조인 종속성 제거 |
논리 데이터 모델 품질 검증
1) 정의
- 데이터 모델이 업무환경에서 요구하는 사항을 시스템적으로 구현할 수 있는가를 객관적으로 평가하는 검증
2) 데이터 모델 요건
- 완전성, 중복배제, 비즈니스 룰, 데이터 재사용, 안정성 및 확장성, 간결성, 의사소통, 통합성
3) 데이터 모델 품질 검증 기준
- 정확성, 완전성, 준거성, 최신성, 일관성, 활용성
정리하기
1. 관계 데이터 모델 (Relation Data Model)
- 수학자 E.F.Codd 박사가 제안한 모델
- 구성요소 : 릴레이션, 튜플, 속성, 카디널리티, 차수, 스키마, 인스턴스, 도메인
- 연산자
일반 집합 : 합집합, 교집합, 차집합, 카티션 프로덕트
순수 관계 : 셀렉트, 프로젝트, 조인, 디비전
2. 시스템 카탈로그 (System Catalog)
- 자료 사전
- 저장된 정보: 메타 데이터 (Meta Data)
3. 데이터 모델 (Data Model)
- 표시해야 할 요소 : 논리적 데이터 구조, 연산, 제약구조
- 절차 : 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델
- 논리적 설계 : 논리적 구조 매핑 > 트랜잭션 인터페이스 설계 > 스키마 평가 및 정제
- 물리적 설계 : 저장 레코드 양식 설계 > 레코드 집중의 분석 및 설계 > 접근 경로 설계
4. 개체-관계(E-R) 모델
- 구성요소 : 개체, 속성, 관계
- 다이어그램 기호 : 개체(사각형), 관계(마름모), 속성(타원), 다중 값 (이중 타원), 관계-속성(선)
5. 데이터베이스 정규화 (DB Normalization)
- 1정규형/1NF : 원자값으로 구성
- 2정규형/2NF : 부분 함수 종속 제거, 완전 함수적 종속 관계
- 3정규형/3NF : 이행 함수 종속 제거
- 보이스 - 코드/정규형 (BCNF): 결정자가 후보 키가 아닌 함수 종속 제거
- 4정규형/4NF : 다치 (다중 값) 종속성 제거
- 5정규형/5NF : 조인 종속성 제거
6. 논리 데이터 모델 품질 검증
- 요건 : 완전성, 중복배제, 비즈니스 룰, 데이터 재사용, 안정성 및 확장성, 간결성, 의사소통, 통합성
- 검증 기준 : 정확성, 완전성, 준거성, 최신성, 일관성, 활용성
'정보처리기사 > 3과 데이터베이스 구축' 카테고리의 다른 글
4. 물리 데이터베이스 설계 (2) / 5. 데이터 전환 기술 (0) | 2023.09.17 |
---|---|
4. 물리 데이터베이스 설계 (1) (0) | 2023.09.16 |
2. SQL 활용 (0) | 2023.09.14 |
1. SQL 응용 (0) | 2023.04.05 |