### 1. **데이터베이스 시스템의 정의**
- **데이터베이스 시스템(DBS; DataBase System)**: 조직의 다양한 데이터를 데이터베이스에 저장하고, 이를 관리하여 정보로 변환하는 시스템. 조직에서 필요로 하는 데이터를 효율적으로 관리, 조회, 조작할 수 있게 하며, 사용자들이 데이터에 접근하고 활용할 수 있도록 하는 핵심 시스템.
---
### 2. **데이터베이스의 구조**
#### **스키마와 인스턴스**
- **스키마(Schema)**: 데이터베이스 내에 저장될 데이터 구조 및 제약조건을 정의한 것. 예를 들어, 테이블의 속성(필드)과 그 속성의 데이터 타입을 정의함.
- **인스턴스(Instance)**: 스키마에 맞추어 데이터베이스에 실제로 저장된 데이터 값. 즉, 현재 시점에 데이터베이스에 저장된 구체적인 데이터를 의미.
#### **3단계 데이터베이스 구조**
- **미국 표준화 기관 ANSI/SPARC에서 제안**된 구조로, 데이터베이스를 사용자, 조직, 저장 장치의 관점에서 쉽게 이해할 수 있도록 세 가지 단계로 나눈 것.
1. **외부 단계(External Level)**: 각 사용자 또는 애플리케이션 관점에서 데이터를 어떻게 볼지를 정의. **외부 스키마**는 각 사용자가 필요로 하는 데이터를 정의하며, 다수의 외부 스키마가 존재 가능.
2. **개념 단계(Conceptual Level)**: 조직 전체의 관점에서 데이터베이스를 이해하고 관리하는 단계. **개념 스키마**는 전체 데이터베이스의 구조를 논리적으로 정의하며, 데이터 간의 관계, 제약조건, 보안 및 접근 권한 등도 포함됨.
3. **내부 단계(Internal Level)**: 데이터베이스가 저장 장치에서 어떻게 실제로 저장되고 관리되는지 정의. **내부 스키마**는 물리적 저장구조를 정의하며, 레코드 구조, 필드 크기, 접근 경로 등이 포함됨.
#### **데이터 독립성(Data Independence)**
- 데이터베이스의 하위 단계 스키마가 변경되더라도 상위 단계 스키마가 영향을 받지 않는 성질.
1. **물리적 데이터 독립성**: 내부 스키마(저장 방법)를 변경해도 개념 스키마(논리적 구조)는 변경되지 않음.
2. **논리적 데이터 독립성**: 개념 스키마가 변경되더라도 외부 스키마(사용자 관점)는 영향을 받지 않음.
---
### 3. **데이터베이스 사용자**
- **데이터베이스 관리자(DBA; DataBase Administrator)**: 데이터베이스를 관리하고 운영하는 주체로, 데이터베이스의 설계, 성능, 보안 및 백업 등을 책임짐.
- 주요 역할: 스키마 정의, 물리적 저장 구조 결정, 데이터 보안 및 접근 제어, 성능 감시 및 재구성.
- **최종 사용자(End User)**: 데이터베이스에 접근하여 데이터 검색, 삽입, 삭제, 수정 등의 작업을 수행. 캐주얼 사용자(비정기적 사용자)와 초보 사용자(정기적 사용자)로 나뉨.
- **응용 프로그래머(Application Programmer)**: 데이터 언어(주로 DML)를 이용하여 응용 프로그램을 작성하고, 데이터 조작과 처리 기능을 프로그래밍함.
---
### 4. **데이터 언어**
데이터베이스와 상호작용하기 위해 사용되는 언어로, 다음과 같은 세 가지 종류가 있음:
1. **데이터 정의어(DDL; Data Definition Language)**: 스키마를 정의, 수정 또는 삭제하는 데 사용. 데이터 구조와 관련된 모든 작업을 수행.
2. **데이터 조작어(DML; Data Manipulation Language)**: 데이터를 삽입, 삭제, 수정, 검색하는 작업을 담당. 두 가지 방식으로 구분됨:
- **절차적 DML**: 사용자가 데이터 처리 방법을 명시적으로 지시.
- **비절차적 DML**: 데이터의 **‘무엇’**을 원하는지만 설명하는 방식 (예: SQL의 SELECT).
3. **데이터 제어어(DCL; Data Control Language)**: 보안, 무결성, 회복, 동시성 제어를 정의. 허가된 사용자만 데이터에 접근하게 하고, 장애 발생 시에도 데이터의 일관성을 유지함.
---
### 5. **데이터베이스 관리 시스템(DBMS; DataBase Management System)의 구성**
데이터베이스 관리 시스템은 데이터베이스와 사용자의 요구를 연결해주는 시스템으로, 주요 구성 요소는 다음과 같음:
- **질의 처리기(Query Processor)**: 사용자가 입력한 데이터 처리 요구를 해석하고 처리. DDL 컴파일러, DML 프리컴파일러, 트랜잭션 관리자 등이 포함됨.
- **저장 데이터 관리자(Stored Data Manager)**: 디스크에 저장된 데이터베이스 및 데이터 사전에 접근하여 관리함.
---
### 6. **데이터 사전과 데이터 디렉터리**
- **데이터 사전(Data Dictionary)**: 시스템 카탈로그로도 불리며, 데이터베이스에 저장된 데이터에 관한 정보(메타 데이터)를 유지하는 시스템 데이터베이스. 주로 스키마 정보, 제약 조건 등을 포함.
- **데이터 디렉터리(Data Directory)**: 데이터 사전에 저장된 데이터에 실제로 접근하는 데 필요한 위치 정보를 관리. 일반 사용자는 접근할 수 없으며, 시스템에서만 사용됨.
---
'2024-소프트웨어과 1학년 > DB기초 데이터베이스 기초' 카테고리의 다른 글
데이터베이스 기초 중간고사 대비 정리본 (4) | 2024.10.21 |
---|---|
[아기대학생김따루]IT cookbook데이터베이스개론(한빛미디어)/연습문제 2장 정답 (5) | 2024.09.05 |
[아기대학생김따루]IT cookbook-데이터베이스개론(한빛미디어) 1장 연습문제 정답 (2) | 2024.09.05 |
[아기대학생김따루][DB기초/데이터베이스 기초]1~2강_개념,단어 (0) | 2024.09.05 |