-
Database 사전지식데이터베이스 2020. 10. 15. 18:44728x90
DB : Database : 데이터의 모음
DBMS(Database Management System) : DB 를 관리해주는 시스템
DBS(Database System) : DB + DBMS
DBMS의 장점
-
데이터 추상화
-
데이터 접근의 용이함
-
데이터의 중복(Redundant)과 불일치(inconsistency)를 관리
-
무결성(Integrity) problem
-
constraint
-
원자성(Atomicity) of update
데이터의 수정에 있어서 Transaction 단위로 완전히 성공하거나 완전히 실패함을 보장하는 것 -
여러 유저들의 동시적(Concurrent) 접근 관리
-
보안 문제
-
데이터 분리(isolation)
-
파일 시스템으로부터 응용프로그램을 분리하여 프로그램 개발을 용이하게함
데이터 추상화
추상화 : 복잡한 내용을 제거한 채로 쉽게 이해하는 것
Instance : 데이터 변수 : 테이블 내 row를 생각하면 좋음
Scheme : 데이터 타입
-
물리적 스키마 : Physical level에서 설계된 스키마
-
논리적 스키마 : Logical level에서 설계된 스키마
데이터 추상화의 3단계
-
Physical level : 어떤 record 가 물리적으로 어떻게 저장되는지에 대한 정보 : 어려움
-
Logical level : DB안에 데이터에 대한 설명과 그들간의 관계에 대한 정보 : Scheme 정보도 알려줌
이는 중간 단계 -
View level : 가장 단순한 방식의 추상화로 데이터의 디테일한 부분은 감춘 채로 보여주며, 초보자를 위한 것이라 보안기능도 어느 정도 갖고 있음
데이터의 모듈화 (Independence)
Physical data independence : Locical scheme 의 수정 없이도 physical scheme를 수정할 수 있음
Logical data independence : View scheme의 수정 없이도 logical scheme 의 수정이 가능
Data model
표현 방법
-
Data
-
Data relationships : 관계
-
Data semantics : 의미
-
Data constraints : 제약사항
종류
-
Relational data model
-
Object-oriented data model : type이 유연함
= 복잡한 타입을 정의하는 것이 강하다 = model power 가 강하다 -
Object-relational data model : 관계형 base + object
-
ER data model : 데이터베이스 설계용
-
XML
데이터베이스 디자인
Logical Design : 데이터의 스키마를 정의하는 것
Physical design : 데이터의 물리적 스키마(물리적 레이아웃)을 정의하는 것
디자인 방법
ER Model(Entity Relationship) = 직관성이 높다.
실 세계를 바라보는 관점에서 데이터를 바라보로, diagram으로 표현하기 때문
Normalization theory : ER 다이어그램을 평가하는 정리
데이터베이스 언어
DBMS는 데이터를 관리하기 위해 명령어를 전달할 수단이 필요했다.
대표적인 언어로 QUEL, SQL, Relational algebra 등이 있다.
DBMS Component
DBMS는 매우 큰 프로그램이므로 여러 컴포넌트로 나뉘는데 그 중 중요한 두 가지가 있다.
-
Query processor : query 를 처리하고, 인증, 보안 등을 담당한다.
-
Storage manager : 효율적인 저장, 검색, 업데이트를 위해 인덱싱, 해싱, 트랜잭션 처리 등을 담당
Data dictionary = Data directory
meta data를 저장하는 공간으로, 일반 데이터와 다른 공간입니다. 메타 데이터는 데이터에 대한 정보를 나타내는 데이터로 다음과 같은 정보를 저장합니다.
-
Database scheme
-
Integrity constraints
-
Primary key
-
Referential inegrity
-
Authorization : 권한
Transactiion management
DBMS가 데이터를 처리할 때 트랜잭션 단위로 처리하는데 이 트랜잭션 관리에는 두 가지 컴포넌트가 있다.
-
Concurrency constrol manager : 여러 트랜잭션이 동시에 데이터 베이스에 접근할 때 이를 관리해주는 역할을 합니다.
-
Recovery manager : 시스템의 장애로 인해 데이터베이스에 문제가 생기거나 트랜잭션에 실패했을 때 이를 복구해주는 역할을 합니다.
DBA (Database administrator)
데이터베이스를 관리하는 슈퍼유저로, 스키마 정의, 저장 구조 변경 및 접근 방법 정의 등 모든 권한을 갖습니다.
Database System Architecture
-
중앙화(Centralized)
-
분산화(Distributed)
-
Client-server
-
병렬화(Parallel)
'데이터베이스' 카테고리의 다른 글
[DB] Mysql 함수 정의 및 사용 (3) 2020.12.06 [DB] Mysql Date 타입, 사용자정의 타입, 도메인, Large Object (0) 2020.12.06 [DB] DateType(날짜) 종류 (0) 2020.12.06 [DB] Rank and Partition (0) 2020.12.06 관계형 데이터베이스와 Relation Algebra (0) 2020.10.21 -