데이터베이스 개요
- 데이터베이스
- 데이터베이스는 여러 사람에 의해 공동으로 사용될 데이터를 중복을 배제하여 통합하고, 저장장치에 저장하여 항상 사용할 수 있도록 운영하는 운영 데이터이다.
- DBMS
- 사용자의 요구에 따라 정보를 생성해주고, 데이터베이스를 관리해주는 소프트웨어
- 필수기능 3가지
- 정의(Definition) 기능
- 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능
- 조작(Manipulation) 기능
- 데이터 검색, 갱신, 삽입, 삭제 등을 위해 인터페이스 수단을 제공하는 기능
- 제어(Control) 기능
- 데이터의 무결성, 보안, 권한 검사, 병행 제어를 제공하는 기능
- 정의(Definition) 기능
- 스키마 (Schema)
- 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것
- 종류
- 외부 스키마
- 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
- 개념 스키마
- 데이터베이스의 전체적인 논리적 구조
- 모든 응용 프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로, 하나만 존재함
- 내부 스키마
- 물리적 저장장치의 입장에서 본 데이터베이스 구조
- 실제로 저장될 레코드의 형식, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄
- 외부 스키마
- 데이터베이스 설계 순서
- 요구 조건 분석
- 개념적 설계
- 논리적 설계
- 물리적 설계
- 구현
- 요구 조건 분석
- 요구 조건 분석은 데이터베이스를 사용할 사람들로부터 필요한 용도를 파악 하는 것
- 개념적 설계(정보 모델링, 개념화)
- 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
- 논리적 설계(데이터 모델링)
- 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(mapping) 시키는 과정
- 물리적 설계(데이터 구조화)
- 논리적 설계에서 논리적 구조로 표현된 데이터를 물리적 구조의 데이터로 변환하는 과정
- 데이터베이스 구현
- 논리적 설계와 물리적 설계에서 도출된 데이터베이스 스키마를 파일로 생성하는 과정
데이터 모델의 개념
- 데이터 모델은 현실 세계의 정보들을 체계적으로 표현한 개념적 모형
- 데이터 모델 구성 요소
- 개체, 속성, 관계
- 데이터 모델 종류
- 개념적 데이터 모델, 논리적 데이터 모델, 물리적 데이터 모델
- 데이터 모델에 표시할 요소
- 구조, 연산, 제약 조건
- 개념적 데이터 모델
- 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
- 논리적 데이터 모델
- 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정
- 데이터 모델에 표시할 요소
- 구조(Structure)
- 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질 표현
- 연산(Operation)
- 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 데이터베이스를 조작하는 기본 도구
- 제약 조건(Constraint)
- 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건
- 구조(Structure)
데이터 모델의 구성 요소
- 개체(Entity)
- 개체는 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
- 속성(Attribute)
- 데이터베이스를 구성하는 가장 작은 논리적 단위
- 속성의 특성에 따른 분류
- 기본 속성
- 업무 분석을 통해 정의한 속성
- 속성 중 가장 많고 일반적임
- 업무로부터 분석한 속성이라도 업무상 코드로 정의한 속성은 기본 속성에서 제외됨
- 설계 속성
- 원래 업무상 존재하지 않고 설계 과정에서 도출해내는 속성
- 업무에 필요한 데이터 외에 데이터 모델링을 위해 업무를 규칙화하려고 속성을 새로 만들거나 변형하여 정의하는 속성
- 파생 속성
- 다른 속성으로부터 계산이나 변형 등의 영향을 받아 발생하는 속성
- 파생 속성은 되도록 적은 수를 정의하는 것이 좋음
- 기본 속성
- 관계(Relationship)
- 개체와 개체 사이의 논리적인 연결을 의미
- 관계의 형태
- 일대일(1:1)
- 개체 집합 A의 각 원소가 개체 집합 B의 원소 한 개와 대응하는 관계
- 일대다(1:N)
- 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고 있지만, 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응하는 관계
- 다대다(N:M)
- 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응하는 관계
- 일대일(1:1)