관리 메뉴

DevBlackCat

정보처리기사 : 데이터베이스 모델 완전정복!! 본문

정보처리기사/데이터베이스 구축

정보처리기사 : 데이터베이스 모델 완전정복!!

DevBlackCat 2024. 11. 29. 13:13
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