DevBlackCat
정보처리기사 : 데이터베이스 모델 완전정복!! 본문
728x90
데이터베모델 개념
- 데이터 구조를 단순화, 추상화 하여 체계적으로 표현
데이터베이스 모델에 표시해야할 요소
정의 | 설명 |
구조 (Structure | 데이터 구조 및 개체 간 관계 |
연산 (Operation) | 데이터 처리 방법 |
제약조건 (Constraint) | 데이터의 논리적 제약조건 |
개체-관계 모델
(1) 개체-관계 모델 개념
- 데이터베이스의 요구 사항을 그래픽적으로 표현하는 모델
- 개체(Entity), 속성(Attribute), 관계(Relationship)을 사용하여 데이터를 기술
- 특정 DBMS나 하드웨어에 독립적임
- 산출물: 개체-관계 다이어그램 (Entity-Relationship Diagram, ERD)
(2) 개체 (Entity)
- 현실 세계의 독립적이고 구별 가능한 대상
- 표현: ER 다이어그램에서 사각형으로 나타낸다.
(3) 애트리뷰트, 속성 (Attribute)
- 개체나 관계의 고유한 특성을 나타내는 정보의 단위
- DB에 저장할 데이터의 가장 작은 논리적 단위
- 표현:
- ER 다이어그램에서 기본적으로 원으로 표현
- 키 속성은 원에 밑줄로 표현
- 다중 값은 두 개의 원으로 표현
- 유도 속성은 원을 점선으로 표현
정의 | 설명 |
단일 값 속성 | 하나의 값만 가지는 속성(예: 이름, 학번 등) |
다중 값 속성 | 여러 값을 가지는 속성( 예: 취미 등 ) |
단순 속성 | 더 이상 분해할 수 없는 속성( 예: 성별 등 ) |
복합 속성 | 분해 가능한 속성( 예: 주소, 생년월일 등 ) |
유도 속성 | 다른 속성에서 유도되는 속성( 예: 주민번호와 성별) |
(4) 관계 (Relationship)
- 정의: 두 개체 간의 의미 있는 연결
- 표현: ER 다이어그램에서 관계는 다이아몬드로 표현
논리적 데이터 모델링
- 개체, 속성, 관계를 구조적으로 표현하는 과정
- 개념 모델에서 도출된 업무 데이터 및 규칙을 상세히 표현
- 데이터를 정규화하여 모델링
- 성능과 제약사항에 독립적이며, 특정 DBMS에서도 독립적
- 관계형 모델, 계층형 모델, 네트워크 모델 등의 종류로 구분
정규화 ★★
- 데이터 중복을 최소화 하는과정
- 중복데이터를 허용하지않아 무결성 유지와 저장 용량 절감이 가능
정규화의 장점과 단점
장점
- 중복 데이터 최소화
- 저장 공간 효율적 활용
- 이상 현상 제거
단점
- 처리 복잡성 증가
- 실행 속도 저하
- 참조 무결성 유지에 추가 노력 필요
- JOIN 연산 필요성 증가
이상현상★ (실기에서 쓰라고 나옴)
- 삽입 이상
- 데이터를 삽입할 때 불필요한 데이터가 함께 삽입되는 현상
- 삭제 이상
- 한 튜플을 삭제할 때 연쇄 삭제 현상으로 인해 정보 손실이 발생하는 현상
- 갱신 이상
- 튜플의 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상
함수적 종속 (Functional Dependency)
① 완전 함수적 종속 (Full Functional Dependency)
- 종속자가 기본키에만 종속되며,
- 기본키가 여러 속성으로 구성되어 있을 때,
기본키를 구성하는 모든 속성이 포함된 경우 - 기본키의 부분집합에 종속된 경우는 제외
학번 | 과목코드 | 교수명 | 성적 |
101 | MATH101 | 김교수 | A |
101 | ENG102 | 이교수 | B |
102 | MATH101 | 김교수 | B |
학번과 과목코드가 기본키라고할떄, 교수명이나, 성적은 이 두 기본키가 있어야 사용할수 있으므로 완전 함수적 종속
② 부분 함수적 종속 (Functional Dependency)
- 기본키가 여러 속성으로 구성되있을떄 기본키를 구성하는 속성중 일부만 종속 된는경우
회원번호 | 주문번호 | 강의명 | 이름 |
101 | MATH101 | 정보처리기사 | A |
101 | ENG102 | c언어 | B |
102 | MATH101 | 암살교실 | B |
회원번호와, 주문번호가 KEY일떄 강의명은 이 두 KEY를 사용하지만 이름은 회원번호만 알아도 되므로
완전함수적종속이 아닌 부분 함수적 종속이다.
③ 이행적 함수적 종속 (Transitive Functional Dependency)
- X->Y , Y->Z 가 있을떄 X->z가 성립하는경우
정규화 과정 ★★★
ⓐ 제 1정규형 (1NF)
1NF 만족 조건 : 어떤 Relation에 속한 모든 Domain이 **원자값(Atomic Value)**만으로 되어 있다.
조건 만족 처리 : 고객번호와 이름을 하나의 릴레이션으로 분리하고, 여행지를 다른 릴레이션으로 만들어 속성이 원자값만으로 구성되게 한다.
고객번호 | 이름 | 여행지 |
M001 | 이형석 | 서울,원주,수원 |
M002 | 조말년 | 수원 |
M003 | 김수지 | 원주,제천 |
를 1정규화 과정을 거치면
고객번호 | 이름 |
M001 | 이형석 |
M002 | 조말년 |
M003 | 김수지 |
고객번호 | 여행지 |
M001 | 서울 |
M001 | 원주 |
M001 | 수원 |
M002 | 수원 |
M003 | 원주 |
M003 | 제천 |
아래처럼 두 테이블로 나눠진다.
ⓑ 제 2정규형 (2NF)
부분함수적 종속을 모두 제거하여 완전 함수적으로 만든다.
가정 : 주문번호와 회원번호를 알아야 가격을 알수있다. 단 이름은 회원번호로만 알수있다.
주문번호 | 회원번호 | 가격 | 이름 |
0001 | M001 | ₩18,000 | 이형석 |
0002 | M001 | ₩12,000 | 이형석 |
0003 | M003 | ₩8,000 | 김수지 |
를 2정규화 과정을 거치면
주문번호 | 회원번호 | 가격 |
0001 | M001 | ₩18,000 |
0002 | M001 | ₩12,000 |
0003 | M003 | ₩8,000 |
회원번호 | 이름 |
M001 | 이형석 |
M002 | 김수지 |
아래처럼 두 테이블로 나눠진다.
ⓒ 제 3정규형 (3NF)
이행적 함수 종속을 없앤다.
학번 | 등록번호 | 이름 |
0001 | M001 | 이형석 |
0002 | M002 | 강태식 |
0003 | M003 | 김수지 |
를 3정규화 과정을 거치면 a->b b->c 형태로
학번 | 등록번호 |
0001 | M001 |
0002 | M002 |
0003 | M003 |
등록번호 | 이름 |
M001 | 이형석 |
M002 | 강태식 |
M002 | 김수지 |
아래처럼 두 테이블로 나눠진다.
④ 보이스/코드(BCNF) 정규형
- 3차 정규형을 조금 더 강화한 버전
- 결정자 중 후보키가 아닌 것들을 제거
⑤ 제 4정규형 (4NF)
- 다치 종속을 제거
⑥ 제 5정규형 (5NF)
- 조인 종속 제거
논리적 데이터 모델링 품질 검증
정확성 , 완전성, 준거성, 최신성,일관성, 활용성
이것만 알고있으면 됨
728x90
'정보처리기사 > 데이터베이스 구축' 카테고리의 다른 글
정보처리기사 : 물리속성 설계 완전정복!! (1) | 2024.12.06 |
---|---|
정보처리기사 : 물리요소 조사 분석 완전정복!! (0) | 2024.12.05 |
정보처리기사 : 관계 데이터베이스 모델 완전정복!! (1) | 2024.12.05 |
정보처리기사 : 데이터베이스 설계 완전정복!! (0) | 2024.11.28 |
정보처리기사 : 데이터베이스 개념 완전 정복!! (1) | 2024.11.28 |