-
정보처리기사[실기 핵심 정리] - 논리 데이터베이스 설계용어 정리 2024. 4. 17. 20:21
논리적 데이터 모델링
1) 논리적 모델링
- 개념적 설계 단계에서 도출된 개체, 속성, 관계를 구조적으로 표현하는 과정
- 개념 모델에서 도출된 업무 데이터 및 규칙을 상세히 표현
- 데이터를 정규화하여 모델링
- 성능과 제약사항에 독립적이며, 특정 DBMS에서도 독립적
- 관계형 모델, 계층형 모델, 네트워크 모델등의 종류로 구분
2) 논리적 데이터 모델 종류
종류 설명 관계형 데이터 모델 ● 데이터와 관계를 테이블로 표현하는 모델
● 각 테이블은 행과 열로 구성계층형 데이터 모델 ● 데이터를 트리구조로 표현하는 모델
● 상위 개체와 하위 개체의 관계를 표현네트워크(망)형 데이터 모델 ● 다양한 관계를 갖는 데이터를 네트워크 구조로 표현 객체지향 데이터 모델 ● 데이터와 데이터에 연관된 연산을 하나의 객체로 묶어 표현 데이터베이스 정규화(Normalization)
1) 정규화의 개념
- 관계형 데이터베이스의 설계에서 데이터 중복을 최소화하기 위한 과정
- 중복데이터를 허용하지 않아, 무결성 유지와 저장 용량 절감이 가능하다.
2) 정규화의 목적
- 데이터 중복 최소화
- 정보의 무손실 : 정보가 사라지지 않아야함
- 독립적인 관계는 별개의 릴레이션으로 표현
- 검색 용이성 증가
- 이상현상 최소화
3) 정규화의 장/단점
장점 ● 중복 데이터 최소화
● 저장 공간 효율적 활용
● 이상 현상 제거단점 ● 처리 복잡도 증가
● 실행 속도 저하
● 참조 무결성 유지에 추가 노력 필요
● JOIN 연산 필요성 증가4) 이상현상(Anomaly)
- 데이터 중복으로 인해 릴레이션 조작 시 예기치 않은 문제점
- 이상의 종류
- 삽입 이상 : 데이터를 삽입할 때 불필요한 데이터가 함께 삽입되는 현상
- 삭제 이상 : 한 튜플을 삭제할 때 연쇄 삭제 현상으로 인해 정보 손실
- 갱신 이상 : 튜플의 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
5) 함수적 종속(Functional Dependency)
- 함수적 종속의 개념
- 어떤 릴레이션 R의 X와 Y를 각각 속성의 부분집합이라고 가정했을 때
- X의 값을 알면 Y의 값을 바로 식별할 수 있고, X의 값에 Y의 값이 달라질 때, Y는 X에 함수적 종속이라고 함
- 이를 기호로 표현하면 X -> Y
- 완전 함수적 종속(Full Functional Dependency)
- 종속자가 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을 때, 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우
[기본키가 하나일 때 완전 함수적 종속]
회원번호 이름 나이 거주지역 M001 일번임 11 창원 M002 이번임 12 부산 M003 삼번임 14 광주 M004 사번임 16 서울 [기본키가 두 개일 때 완전 함수 종속]
회원번호 주문번호 강의명 진도율 M001 001 강의1 60% M002 002 강의2 65% M003 003 강의3 70% M004 004 강의4 80% - 부분 함수적 종속(Partial Functional Dependency)
- 기본키가 여러 속성으로 구성되어 있을 때, 기본키를 구성하는 속성 중 일부만 종속되는 경우
[기본키가 두 개일 때 부분 함수 종속]
회원번호 주문번호 강의명 이름 M001 001 강의1 일번임 M002 002 강의2 이번임 M003 003 강의3 삼번임 M004 004 강의4 사번임 - 위의 릴레이션에서 강의명은 기본키(회원번호 + 주문번호)에 종속적이지만, 이름은 회원번호에만 종속된다. 이때, 부분 함수적 종속이 발생한다.
- 이행적 함수 종속(Transitive Functional Dependency)
- x -> y, y -> z 이러한 종속 관계가 있을 경우, x -> z 가 성립되는 경우
[이행적 함수 종속]
회원번호 주빈번호 이름 M001 910306 일번임 M002 810306 이번임 - 위의 릴레이션에서 회원번호를 알면 주민번호를 알 수 있고, 주민 번호를 알면 이름을 알 수 있다. 이때 이행적 함수 종속이 발생한다.
6) 정규화 과정
제 1 정규형(1NF)
- 1NF 만족 조건
- 어떤 Relation에 속한 모든 Domain이 원자갑(Atomic value)만으로 되어 있다.
- 조건 만족 처리
- 고객 번호와 이름을 하나의 릴레이션으로 분리하고, 여행지를 다른 릴레이션으로 만들어 원자값 만으로 구성
[비정규 릴레이션]
고객번호 이름 여행지 M1 일번임 서울,부산,광주 M2 이번임 수원 M3 삼번임 원주,제천 [1NF 만족 릴레이션]
고객번호 이름 M1 일번임 M2 이번임 M3 삼번임 고객번호 여행지 M1 서울 M1 부산 M1 광주 M2 수원 M2 원주 M3 제천 제 2정규형(2NF)
- 2NF 만족 조건
- 부분 함수적 종속을 모두 제거하여 완적 함수적 종속으로 만든다.
- 조건 만족 처리
- 주문번호와 회원번호가 기본키일 때, 기본키를 가지고 주문금액을 알 수 있지만, 이름은 회원번호만 알아도 알 수 있다.
- 주문번호와 회원번호를 모두 알아야 확인할 수 있는 주문 금액을 하나의 릴레이션으로 구성하고, 회원번호와 이름을 가지고 다른 하나의 릴레이션을 구성한다.
[비정규 릴레이션]
주문번호 회원번호 주문금액 이름 O1 M1 10000 일번임 O2 M1 20000 일번임 O3 M3 30000 삼번임 [2NF 만족 릴레이션]
주문번호 회원번호 주문금액 O1 M1 10000 O2 M1 20000 O3 M3 30000 회원번호 이름 M1 일번임 M2 이번임 제 3정규형(3NF)
- 3NF 만족 조건
- 이행적 함수 종속을 없앤다.
- 조건 만족 처리
- 학번을 알면 주민번호를 알 수 있고,주민번호를 알면 이름을 알 수 있다. 이때 학번을 알면 이름을 알 수 있다.
- 학번과 주민번호를 하나의 릴레이션으로 주민번호와 이름을 하나의 릴레이션으로 구성한다.
[비정규 릴레이션]
학번 주민번호 이름 2018 11111 일번임 2019 2222 이번임 2020 3333 삼번임 [3NF 만족 릴레이션]
학번 주민번호 2018 11111 2019 2222 2020 3333 주민번호 이름 11111 일번임 2222 이번임 3333 삼번임 보이스/코드(BCNF) 정규형
- 결정자 중 후보키가 아닌 것들을 제거
제 4정규형(4NF)
- 다치 종속을 제거
제 5정규형(5NF)
- 조인 종속 이용
'용어 정리' 카테고리의 다른 글
정보처리기사[실기 핵심 정리] - 데이터베이스 물리속성 설계 (1) 2024.04.18 정보처리기사[실기 핵심 정리] - 물리 데이터베이스 설계 (0) 2024.04.17 정보처리기사[실기 핵심 정리] - 데이터 모델링 (0) 2024.04.16 정보처리기사[실기 핵심 정리] - 데이터베이스 설계(개념 논리적 물리적, 개 논 물) (0) 2024.04.16 정보처리기사[실기 핵심 정리] - 데이터베이스 개념 (0) 2024.04.16