데이터 베이스
데이터베이스는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다
DBMS(DataBase Management System)
DBMS는 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. DBMS는 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 있도록 해준다.
DBMS의 기본기능
- 데이터 구조의 정의 - 필드, 자료형
- 데이터의 삽입, 삭제, 수정
- 질의 조회
- DB 관리 - 사용자 추가, 성능 관리
대표적인 DB 유형
1. 관계형 데이터베이스(SQL): 행과 열로 구성된 테이블의 관계로 데이터를 저장하고 표현하는 방식이다. 가장 범용적 이며 데이터 일관성을 보장한다.
2. 비관계형 데이터베이스(NoSQL): key-value 형태로 데이터를 저장하고 표현하는 방식이다.대용량의 데이터 처리, 클라우드 컴퓨팅, 빠른 읽기/쓰기 등의 장점이 있다.
데이터 베이스의 핵심 구성 요소
- 데이터: 테이블의 실제 존재하는 행들의 집합.
- 메타데이터(data about data): 데이터베이스에 저장되는 데이터의 구조 정의, 논리/물리적 구조, 접근 경로 명시 등의 데이터이다. SQL 표준에서는 Information schema라고 정의한다.
스키마와 인스턴스
스키마(Schema): 설계 과정에서 정의되는 메타 데이터를 의미한다.
인스턴스: 스키마에 대한 실제 데이터인 테이블 각 행을 의미한다.
3단계 스키마
- 외부 스키마: 사용자가 보는 DB. 사용자들은 C, java의 embedded SQL을 통해 DB로 질의.
- 개념(논리) 스키마: 테이블의 구조, 속성, 테이블간의 관계와 같은 전에 데이터 베이스의 논리적 구조를 나타낸다.
- 내부 스키마: 데이터 베이스의 물리적 구조를 나타낸다.
트랜잭션(Transaction)
일련의 DB 연산들로 구성된 논리적인 작업 단위를 의미한다. 데이터베이스 연산 처리 중 다수의 사용자 환경에서 일관성을 유지하고 장애 시에 데이터 손실을 방지하기 위해 사용된다. 즉, 복수의 SQL 명령문을 한 단위로 유효/무효 처리한다.
트랜잭션의 세 가지 특성
- 원자성: 부분 처리가 없어야 한다. 전부 처리되거나 전부 처리되지 않거나.
- 고립성: 다른 트랜잭션의 영향으로부터 독립적이어야 한다.
- 일관성: 트랜잭션이 완료된 후에도 데이터베이스는 일관성을 유지한다.
'Domain > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 6. 무결성 제약 조건 (0) | 2020.07.23 |
---|---|
[데이터베이스] 5. 데이터의 입력, 삭제, 수정 (0) | 2020.07.22 |
[데이터베이스] 4. MySQL 중첩질의문 (0) | 2020.07.22 |
[데이터베이스] 3. MySQL - 조회 (0) | 2020.07.22 |
[데이터베이스] 2. MySQL 기본 - USER, DB, TABLE 생성 (+GRANT;권한) (0) | 2020.07.22 |