-
2024 데이터베이스개론 정리 - 1. 데이터베이스 시스템 개요Database 2024. 4. 2. 18:06728x90
2024 데이터베이스개론 정리 - 1. 데이터베이스 시스템 개요
들어가기 앞서 ...
전공 데이터베이스 수업 들었던 것과 수업에서 안 배웠지만 중요하다는 개념들(Stored Procedure, Transaction, 인덱스, ... )을 기타 보충해서 정리한다.
4월 말에 SQLD 신청하던데 ... 이번에 공부 잘해두고 한 번 도전?
목차
- 1. 데이터베이스 시스템 개요
- 2. ER 모델 & EER 모델
- ER 모델
- EER 모델
- 3. 관계 데이터베이스 모델 (ER모델 to 관계 모델)
- 4. 관계 데이터 연산 - 관계 대수와 관계 해석
- 관계 대수
- 관계 해석
- 5. SQL
- 검색
- 테이블 정의, 조작, 뷰
- Stored Function, Stored Procedure
- Tigger
- Transaction
- DB 인덱스와 B Tree
- 6. 함수적 종속성과 정규화
- 함수적 종속성
- 정규화
- 추가
- RDB VS NoSQL
데이터베이스란
- 연관된 데이터들의 집합
- 한 조직의 여러 응용 프로그램이 공유하기 위해서 통합하여 저장한 운영 데이터의 집합
데이터베이스 관리 시스템 (DBMS, Database Management System)
- 데이터베이스의 관리(정의, 생성, 조작, 공유 등)를 담당하는 소프트웨어 패키지
데이터베이스 시스템
- 데이터베이스와 이를 관리하는 소프트웨어(DBMS + 응용 프로그램)를 모두 칭하는 용어
데이터베이스 시스템 등장 배경
- 파일 시스템 - 공유의 개념이 없으므로 응용프로그램마다 필요한 데이터를 별도의 파일로 관리함 (중복 발생)
- 문제점
- 데이터 종속성 (Dependency) : 응용프로그램이 파일 구조에 종속적이므로 파일 구조를 변경하려면 응용프로그램도 함께 변경해야 함
- 데이터 일관성 (Consistency) : 데이터는 어떤 응용 프로그램에서 사용되더라도 일관된 값을 유지해야 함
- 데이터 무결성 (Integrity) : 데이터는 유효한 값을 유지해야 함
- 위 문제를 해결하기 위해 데이터베이스 등장 !
데이터베이스의 특징
- 데이터의 독립성 (응용프로그램과 데이터의 분리)
- 물리적 독립성 : 데이터베이스 사이즈를 늘리거나 성능 향상을 위해 데이터 파일을 늘리거나 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없다.
- 논리적 독립성 : 데이터베이스는 논리적인 구조로 다양한 응용 프로그램의 논리적 요구를 만족시켜줄 수 있다.
- 데이터의 무결성
- 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 된다.
- 데이터의 보안성
- 인가된 사용자들만 데이터베이스나 데이터베이스 내의 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정함으로써 모든 데이터에 보안을 구현할 수 있다.
- 데이터의 일관성
- 연관된 정보를 논리적인 구조로 관리함으로써 어떤 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터의 불일치성을 배제할 수 있다. 또한 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우의 수를 배제할 수 있다.
- 데이터 중복 최소화
- 데이터베이스는 데이터를 통합해서 관리함으로써 파일 시스템의 단점 중 하나인 자료의 중복과 데이터의 중복성 문제를 해결할 수 있다.
- 데이터 동시 접근 지원
- 다수의 사용자, 또는 응용 프로그램이 동시에 동일한 데이터에 접근할 수 있도록 지원하며, 일관성을 보장하기 위한 동시성 제어(Concurrency Control) 기능 제공함
- Transaction
- 한 번 이상의 데이터베이스 접근을 통해 데이터베이스 작업을 수행하는 논리적 최소 단위
- 트랜잭션의 주요 성질 중 하나로 Atomicity(원자성)
데이터 모델의 분류
- 물리적 데이터 모델 : 어떻게 컴퓨터의 저장 장치에 데이터베이스가 구축되는가에 대한 세부사항을 명시하는 개념을 제공 -> 하드웨어 의존적
- 개념적 데이터 모델 : 사용자들이 데이터를 인식하는 방식에 대한 개념을 제공 -> 하드웨어 독립적
- 예: ER 모델 (ER 모델만으로는 상용 데이터베이스 시스템에서 데이터베이스를 구축하기 어려움)
- 표현(구현) 데이터 모델: 상용 DBMS에서 많이 사용하는 데이터 모델로서, 사용자들이 쉽게 이해할 수 있는 개념을 제공하지만 컴퓨터 저장 장치에 데이터베이스가 구축되는 방식과 완전히 무관하지는 않음
- 예 : 관계 데이터 모델 (데이터 저장 구조의 세부 사항은 은폐하지만, 상용 데이터베이스 시스템에서 데이터베이스의 구축이 가능함)
데이터베이스의 구조
- 데이터 베이스 = 데이터베이스 스키마 + 데이터베이스 인스턴스
- 데이터베이스 스키마 : 데이터베이스 구조에 대한 기술 (Description) / 메타 데이터에 해당함
- 데이터베이스 인스턴스 : 스키마에 따라 데이터베이스에 실제로 저장된 값
- 3단계 스키마 구조 (3-Schema Architecture)
- 데이터베이스를 세 가지 관점에 따라 세 단계로 나누어 관리하는 구조로서 궁극적인 목적은 응용 프로그램과 물리적 데이터베이스의 분리
- 구성
- 외부 단계 : 개별 응용 프로그램/사용자 관점 (다수의 외부 스키마 존재)
- 개념 단계 : 특정 조직의 모든 응용 프로그램/사용자 관점 (하나의 개념 스키마 존재)
- 내부 단계 : 물리적 저장 장치의 관점 (하나의 내부 스키마 존재)
- 각 단계별로 서로 다른 데이터 추상화(Data Abstraction)을 제공
- 물리적 저장 구조의 자세한 내용은 응용프로그램 또는 사용자로부터 은폐시키고, 응용프로그램에게는 각자의 요구에 맞는 개념적인 뷰만을 제공하는 것 - 데이터의 의미를 이해하는데 도움이 되는 특징들만 제공
- 내부 -> 개념 -> 외부를 거쳐서 사용자의 외부 스키마 (뷰)와 일치하도록 재구성하는 과정을 스키마 사상(Mapping)이라고 함
728x90'Database' 카테고리의 다른 글
2024 데이터베이스개론 정리 - 5. SQL (문법/Stored Procedure/Transaction & Deadlock/Index & B+Tree) (0) 2024.04.02 2024 데이터베이스개론 정리 - 4. 관계 데이터 연산 - 관계 대수와 관계 해석 (0) 2024.04.02 2024 데이터베이스개론 정리 - 3. 관계 모델 (ER모델 to 관계 모델) (0) 2024.04.02 2024 데이터베이스개론 정리 - 2. ER 모델 & EER 모델 (0) 2024.04.02