Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

kyh코딩 공부 블로그

데이터 베이스 구축 본문

기사공부

데이터 베이스 구축

킴용현 2025. 4. 17. 19:56

데이터베이스 구축

 

 

정규화

 

정규화 과정

 

비정규 릴레이션 -> 1NF(도메인이 원자값) -> 2NF (부분적 함수 종속 제거) -> 3NF (이행적 함수 종속 제거) -> BCNF ( 결정자이면서 후보키가 아닌 함수 종속 제거) -> 4NF (다치 종속 제거) -> 5NF (조인 종속성 제거)

 

정규화 필요성

  • 데이터 구조의 안정성 최대화
  • 중복 데이터의 최소화
  • 수정 및 삭제 시 이상 현상 최소화
  • 테이블 불일치 위험 감소화

 

 

E-R 다이어그램

 

기호 의미
사각형 개체(entity)
마름모 관계(relationship)
타원 속성(attribute)
실선 개체 타입과 속성을 연결
2중 타원 다중값 속성

 

 

 

 

데이터 베이스 설계

 

논리적 설계

  • 목표 dbms 에 종속적인 논리적 스키마 설계 및 스키마의 평가 및 정제이다
  • 논리적 데이터 모델로 변환 및 트랜잭션 인터페이스 설계이다

 

물리적 설계

  • 목표 dbms 에 종속적인 물리적 구조 설계이다
  • 저장 레코드 양식 설계와 레코드 집중의 분석/설계 액세스 경로 인덱싱, 클러스터링, 해싱 등의 설게가 포함
  • 목표 DBMS에 종속적인 물리적 구조설계
  • 저장 레코드 양식 설계
  • 레코드 집중의 분석/설계
  • 접근 경로 설계
  • 트랜잭션 세부 설계

 

 

 

데이터 베이스 분할

  • 수평분할 : 효율성, 지역의 최적화, 보안 향상을 위해 행 단위로 분할한다, 종류에는 라운드 - 로빈, 해시 분할, 영역 분할(범위 분할) 이용자의 정의 분할 방식 등이 있다
  • 수직분할 : 열 단위로 분할한다, 응용 프로그램에 따라 컬럼을 그룹핑하는 방법과 분영하는 방법이 있다

 

 

릴레이션의 특징

 

  • 튜플의 유일성 : 모든 튜플은 서로 다른 값을 갖는다
  • 튜플의 무순시성 : 하나의 릴레이션에서 튜플의 순서는 없다
  • 속성의 원자성 : 속성값은 원자값을 갖는다.
  • 속성의 무순서성 : 각 속성은 릴레이션 내에서 유일한 이름을 가지며 속성의 순서는 큰 의미가 없다

 

 

 

 

타임스탬프 기법

  • 트랜잭션이 DBMS로부터 유일한 타임스탬프(시간 허가 인증 도장)
  • 동시성 제어를 위한 직렬화 기법으로 트랜잭션 간의 순서를 미리 정하는 방법

 

 

 

 

 

로킹

 

로킹의 특징

 

  • 로킹 단위가 커지면 로크의 수가 적어 관리가 쉬워지지만 병행성 수준은 낮아진다
  • 로킹 단위가 작으면 로크의 수가 많아 관리가 어렵지만 병행성 수준은 높아진다
  • 로킹의 대상이 되는 객체(파일, 테이블,필드, 레코드)의 크기를 로킹 단위라고한다

 

 

 

 

트랙젹션

 

트랜잭션 특징

  • 원자성 (atomicity) : 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야한다
  • 일관성 (consistency) : 시스템의 고정 요소는 트랜잭션 수행 전후에 같아야 한다
  • 격리성 (isolation,고립성) : 트랜잭션 실행 시 다른 트랜잭션의 간섭을 받지 않아야한다
  • 영속성 (durability, 지속성) : 트랜잭션의 완료 결과가 데이터베이스에 영구히 기억된다.  

 

 

트랜잭션 상태

  • 활동 (active) : 초기 상태로 트랜잭션이 begin_trans에서부터 실행을 시작하였거나 실행 중인 상태
  • 부분 완료 (partially committed) : 트랜잭션의 마지막 연산이 실행된 직후의 상태로 모든 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과를 데이터베이스에 반영하지 않은 상태
  • 철회 (aborted) : 트랜잭션이 실행에 실패하여 rollback 연산을 수행한 상태
  • 완료(committed) : 트랜잭션이 실행을 성공적으로 완료 연산을 수행한 상태

 

 

 

병형제어

  • 동시에 수행되는 트랜잭션들을 일관성 있게 처리하기 위해 제어하는 것
  • 병행 수행의 문제점 : 갱신분실, 비완료 의존성, 모순성, 연쇄 복귀
  • 종류 : 로킹, 최적 병행 수행, 타임스탬프, 다중 버전 기법

병형제어 목적

- 데이터베이스 공유 최대화

- 데이터베이스 일관성 최대화

- 시스템 활용도 최대화

- 사용자에 대한 응답 시간 최소화

 

 

관계형 데이터베이스의 릴레이션 구조

릴레이션(Relation)은 데이터들의 표(Table)의 형태로 표현한 것으로, 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다.

 

디그리(degree) : 속성의 수 (차수)

카디널리티 (cardinality) : 튜플의 수 (기수)

 

'기사공부' 카테고리의 다른 글

정보시스템 구축 관리  (0) 2025.04.17
프로그래밍 언어  (0) 2025.04.17
소프트웨어 개발  (0) 2025.04.17
소프트웨어 설계  (0) 2025.04.17