데이터베이스 구축 1. 논리 데이터베이스 설계

박유현·2020년 5월 21일
1

1. 개체

  • Entity
    - 데이터 모델의 구성 요소 중 하나
    - 데이터베이스에 표현하려는 것
    - 사람이 생각하는 개념/정보 단위와 같은 현실 세계의 대상체
    • 영속적(Persistence)으로 존재
    • 유일한 식별자(Unique Identifier)로 식별 가능
    • 다른 개체와 하나 이상의 관계(Relationship) 맺음
  • 선정 방법
    - 자료 흐름도(DFD; Data Flow Diagram)로 업무 분석한 경우 자료 흐름도(자료 흐름 그래프 혹은 버블 차트)의 자료 저장소(Data Store) 이용
    - BPR(Business Process Reengineering, 업무 프로세스 재설계)로 업무 재정의한 경우 관련 개체 찾음
  • 개체명 지정

2. 속성

  • Attribute
    - 데이터 모델 구성 요소
    - 가장 작은 논리적 단위
    - 파일 구조상 데이터 항목 혹은 데이터 필드
    • 개체의 특성 기술
    • 속성의 수를 디그리(Dgree) 혹은 차수라고 함
  • 종류
    • 특성에 따른 분류
      • 기본 속성(Basic Attribute)
      • 설계 속성(Designed Attribute)
      • 파생 속성(Derived Attribute)
    • 개체 구성 방식에 따른 분류
      • 기본키 속성(Primary Key Attribute)
      • 외래키 속성(Foreign Key Attribute)
      • 일반 속성
  • 후보 선정 원칙
    - 원시(Source) 속성으로 판단
  • 속성명 지정 원칙
    - 웹 혹은 클라이언트/서버(Client/Server) 등 어떤 환경에서도 사용자 인터페이스에 나타나므로 정확하고 혼란이 없어야

3. 관계

  • Relationship
    - 데이터베이스의 기본 구성 요소
    - 개체 간 관계 혹은 속성 간의 논리적 연결
  • 형태
    - 일 대 일(1:1)
    - 일 대 다(1:N)
    - 다 대 다(N:M)
  • 종류
    • 종속 관계(Dependent Relationship)
      • 식별 관계(Identifying Relationship)
      • 비식별 관계(Non-Identifying Relationship)
    • 중복 관계(Redundant Relationship)
    • 재귀 관계(Recursive Relationship)
    • 배타 관계(Exclusive Relationship)

4. 튜플

  • Tuple
    - 관계형 데이터베이스에서 릴레이션을 구성하는 각 행
    - 속성(Attrivute)의 모임
    - 파일 구조에서 레코드와 같음
    - 카디널리키(Cardinality): 튜블의 수(기수, 대응수)

5. 도메인

  • Domain
    - 애트리뷰트가 취하는 원자(Atomic)값의 집합
    - 실제 애트리뷰트 값의 합법 여부를 시스템이 검사하는 데 이용

6. 키

  • Key(제약 조건)
    - 정확성 보장을 위해 입력되는 데이터에 제한을 줌
  • 후보키(Candidate Key)
    - 유일성(Uniqie): 하나의 키 값으로 하나의 튜플만 식별
    - 최소성(Minimality): 유일 식별하는 데 필요한 속성으로만 구성
  • 기본키(Primary Key)
    - 후보키 중 특별선정된 주키(Main Key)
    - 중복값 또는 NULL 값(Value) 못가짐
  • 대체키(Alternate Key)
    - 기본키가 아닌 후보키(보조키)
  • 슈퍼키(Super Key)
    - 유일성 만족하나 최소성에 반함
  • 외래키(Foreign Key)
    - 다른 릴레이션의 기본키 참조하는 속성(의 집합)

7. 무결성

  • Integrity
    - 데이터 값과 현실 세계의 값이 일치(정확성) 보장
    - 부정확한 자료가 데이터베이스에 저장되는 것을 방지하는 제약조건
  • 개체 무결성(Entity Integrity, 실체 무결성)
    - 기본키의 구성 속성은 Null 값이나 중복값 못가짐
  • 도메인 무결성(Domain Integrity, 영역 무결성)
    - 속성 값이 정의된 도메인에 속해야
  • 참조 무결성(Referential Integratiy)
    - 외래키(Foreign Key) 값은 Null이거나 참조 릴레이션의 기본키 값과 동일하여야
    - 외래키와 참조하는 테이블의 기본키는 도메인 및 속성 개수 같아야
  • 사용자 정의 무결성(User-Defined Integiryty)
    - 사용자가 정의한 제약 조건에 속성 값이 만족되어야

8. 관계대수

  • 관계형 데이터베이스에서 원하는 정보와 그 정보 검색 유도를 기술하는 절차적 언어
    - 릴레이션 처리를 위해 연산자와 연산규칙 제공(피연산자와 결과가 릴레이션)
    - 질의에 대한 해를 구하는 연산의 순서 명시
  • 순수 관계 연산자: 관계 데이터베이스에 적용하기 위해 개발
    - Select
    - Project
    - Join
    - Division
  • 일반 집합 연산자
    - UNION(합집합)
    - INTERSECTION(교집합)
    - DIFFERENCE(차집합)
    - CARTESIAN PRODUCT(교차곱)

9. 정규화

  • Normalization
    - 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 분해하는 과정
    • 데이터 중복성 최소화와 일관성 등 보장하여 데이터베이스의 품질 및 성능 향상을 위해 수행
  • 이상(Anomaly)
    - 삽입 이상(Insertion Anomaly)
    - 삭제 이상(Deletion Anomaly)
    - 갱신 이상(Update Anomaly)
  • 과정
    - 제1정규형(1NF)
    - 제2정규형(2NF)
    - 제3정규형(3NF)
    - BCNF형(Boyce-Codd 정규형)
    - 제4정규형(4NF)
    - 제5정규형(5NF, PJ/NF)

10. 시스템 카탈로그

  • System Catalog
    - 시스템과 관련 있는 다양한 객체에 관한 정보를 포함하는 데이터베이스
    - 각 테이블은 사용자와 DBMS가 지원하는 모든 데이터 객체에 대한 정의 및 명세 정보를 유지 관리하는 시스템 테이블
    - 카탈로그가 생성되면 데이터 사전(Data Dictionary)에 저장
  • 저장 정보
    - 메타 데이터 유형
    • 데이터베이스 객체 정보
    • 사용자 정보
    • 테이블 무결성 제약 조건 정보
    • 함수, 프로시저, 트리거 등
  • 특징
    - 카탈로그 갱신
    - 분산 시스템에서의 카탈로그
  • 카탈로그(데이터 사전) 참조 위한 DBMS 내 모듈 시스템
    - 데이터 정의어 번역기(DDL Complier)
    - 데이터 조작어 번역기(DML Complier)
    - Data Directory
    - 질의 최적화기
    - 트랜잭션 처리기

0개의 댓글