Coding Planet
[DB Modeling] 논리적 모델링 - 정규화 본문
반응형
1. 논리적 데이터 모델
- 개념적 데이터 모델은 DBMS가 직접 이해할 수 없기 때문에 컴퓨터가 이해할 수 있도록 논리적 데이터 모델로 변환해야 하는데 이를 논리적 데이터 모델이라고 한다.
- 개념적 설계에서 추출된 실체와 속성들의 관계를 관계형 데이터베이스 이론에 맞게 구조적으로 설계하는 단계인데, 이를 스키마의 설계라고 한다.
- 정확한 업부 분석을 통한 자료의 흐름을 분석하여 실체와 속성들의 관계를 구조적으로 설계하여야 한다.
- 논리적 데이터 모델은 데이터 모델링이라고도 함
- 관계 데이터 모델, 계층 데이터 모델, 네트워크 데이터 모델 등이 있음
계층 데이터 모델 | -데이터를 저장하는 단위인 엔티티의 구조가 상하 종속적인 관계로 구성 -ex)교수 - 학생- 수강과목 |
네트워크 데이터 모델 | - CODASYL이 제안(CODASYL DBTG 모델이라고도 함) - 그래프를 이용해서 데이터 논리구조를 표현한 데이터 모델 - 상위와 하위 레코드 사이에서 다대다(N:M) 대응 관계를 만족하는 구조 |
관계 데이터 모델 | - 계층 모델과 망 모델의 복잡한 구조를 단순화시킨 모델 - 표(Table)를 이용해서 데이터 상호관계를 정의하는 구조 |
2. 정규화(DB normalization)
- 관계형 데이터베이스에서 데이터를 구조화 하는 작업이다.
- 정규화의 목적은 데이터의 중복을 방지하고 보다 효율적으로 데이터를 저장하기 위함이다
- 정규화를 통해 삽입, 삭제, 갱신 이상의 발생 가능성을 줄일 수 있다.
- 정규화는 6가지가 있지만 실질적으로 제 1, 2, 3 정규화를 많이 활용한다.
- 그 이상으로 가야하면 그냥 테이블 엎고 다시 만들어라...
1. 제 1 정규화
- 엔티티에서 하나의 속성이 복수의 값을 갖도록 설계되었을 때 하나의 속성이 단일 값을 갖도록 하는 것
- 즉 다중값을 가질 수 없다.
2.제 2 정규화
- 주식별자가 아닌 속성 중에서 주식별자 전체가 아닌 일부 속성에 종속된 속성을 찾아 제거하는 것
- 부분 종속, 모든 속성은 반드시 모든 기본키에 종속되어야 한다.(기본키 일부에만 종속되어서는 안된다)
3. 제 3 정규화
- 주식별자가 아닌 속성들 중에서 종속 관계에 있는 속성을 찾아 제거하는 것
- 이행종속, 기본키가 아닌 모든 속성간에는 서로 종속될 수 없다.
반응형
'DB, SQL' 카테고리의 다른 글
[SQLD] 테이블 생성시 PK 설정하기 - ORACLE (0) | 2023.08.30 |
---|---|
[RDBMS]FOREIGN KEY, 외래키 예시, CASCADE (1) | 2023.03.15 |
[DB Modeling] 유스케이스 다이어그램 만들기 (0) | 2023.03.14 |
[DB Modeling] 개념적 데이터 모델(E-R 다이어그램), 개념적 데이터 모델, 논리적 데이터 모델 (0) | 2023.03.08 |
[DB Modeling]ERwin Data Modeler 사용법, 식별/비식별 관계, 다대다 관계, 재귀(순환형)관계, 슈퍼타입/서브타입 (2) | 2023.03.08 |
Comments