데이터베이스 사용의 의미
데이터 사용자가 데이터를 저장하는 곳에 직접 접근하지 않고 , 모든 것들은 데이터베이스에 일임해서 실질적으로 데이터에 접근하는 건 데이터베이스만 가능하도록 만든것이 데이터베이스의 사용의미이다. 즉, 데이터 사용과 데이터 관리 영역을 분리하여 바로 넘나들지 못하도록 못하도록 만든 것이 큰 의미이다.
데이터베이스의 특징
1. 데이터베이스 시스템의 자기 기술성
▶ 데이터와 데이터의 정의 및 설명(메타데이터)을 포함
2. 프로그램과 데이터의 격리 및 추상화
▶ 사용자에게 데이터에 대한 개념적인 표현을 제공하여 접근성을 향상
3. 다중 뷰 제공
▶ 각 사용자가 관심을 갖는 데이터베이스의 일부만을 표현할 수 있는 기능 제공
4. 데이터 공유와 다수 사용자 트랜잭션 처리
▶ 다수의 데이터 조작 요청을 동시성 제어 기능을 통해 데이터의 일관성을 보장하면서 동시에 작업을 수행
데이터베이스 시스템의 구성
값, 데이터, 메타데이터
DBMS의 3단계 구조
내부단계 : 물리적인 사항 저장
개념단계 : 전체적인 데이터의 규모, 구조, 의미
외부데이터 : 실제 사용자가 필요한 데이터를 볼 수 있는 부분만 창을 열어준 것. 일반 사용자는 어느디스크에서 데이터를 가져오는지까지 알 필요 없음.
> 각 단계를 연결해주는 매개체 필요 : 사상
개념-내부 사상 : 개념단계 - 내부단계 연결, 어떤 데이터가 어느 디스크로 매핑이 돼 ~
외부-개념 사상 : 외부단계 - 개념단계 연결, 이 사용자는 어떤 데이터만 보여주면 돼 ~
DBMS의 3단계 구조의 예
다수 사용자 트랜잭션 처리
1. 트랜잭션의 정의
▶ 하나의 논리적 작업을 처리하기 위한 일련의 데이터베이스 명령의 집합
데이터베이스 관련 용어
1. 데이터(data): 어떠한 사실에 대한 정량적, 정성적 특징을 나타낼 수 있는 값과 값에 대한 설명
2. 데이터 베이스(database): 특정 기관의 애플리케이션 시스템에서 사용되는 데이터의 집합
3. 데이터베이스 관리 시스템(DBMS) : 데이터베이스에 저장된 데이터의 구성, 저장, 관리, 사용을 위한 소프트웨어 패키지
4. 데이터베이스 시스템(database system) : 정보를 데이터베이스에 저장/관리하여 사용자에게 요구된 형태의 정보로 제공하는 컴퓨터 기반 시스템
데이터베이스의 구성요소
데이터베이스 언어
1. DBMS는 사용자가 데이터베이스를 쉽게 사용하고 다룰 수 있도록 언어 형태의 인터페이스를 제공
2. 역할에 따라 종류의 언어로 구분
▶ 데이터 정의 언어 (DDL)
▶ 데이터 조작 언어(DML)
3. 현대 데이터베이스 언어는 자연어와 유사한 형태의 SQL
데이터 정의 언어
1. DDL : Data Definition Language
2. 데이터베이스 객체를 생성, 수정, 삭제하기 위한 언어
3. DDL 의 요구 기능
▶ 데이터 모델에 따라 애플리케이션 프로그램이 요구하는 데이터의 논리적 구성이나 특징을 규정
▶ 대이터가 기억장치에 저장되도록 데이터의 물리적 구성을 규정
▶ 물리적 구성을 논리적 구성으로 변환이 가능하도록 데이터의 물리적 구성과 논리적 구성 간의 사상을 규정
데이터 조작 언어
1. DML : Data Manipulation Language
2. 구조화된 데이터에 사용자가 접근 및 조작할 수 있도록 지원하는 언어(검색, 삽입, 삭제, 수정)
3. DML의 요구 조건
▶ 데이터 조작이 쉽고 간편
▶ 데이터 조작 기능이 정확하고 완전
▶ 사용자의 요청을 시스템 내부에서 효율적으로 처리가능
데이터 베이스 시스템 아키텍처
1. 중앙집중식 방식
▶ 단일 서버가 다수의 클라이언트 장치를 대신하여 작동
▶ 중앙 컴퓨터의 과부하로 전체적인 성능 저하
2. 분산시스템 방식
▶ 클라이언트 장치의 성능향상으로 자체적인 처리 능력 보유
▶ 클라이언트-서버 데이터베이스 시스템
- 애플리케이션 프로그램의 부하를 분산
- 소프트웨어의 유지보수 비용을 절감 및 이식성 증가
정리
- 기존 전산 시스템, 스마트 기기, 소셜 미디어, IoT 센서 등 사회 트렌드의 변화로 대량의 데이터가 저장 및 활용되고 있어 데이터 관리가 점차 중요해지고 있다.
- 파일 처리 시스템은 프로그램이 직접 데이터에 접근하여 데이터를 저장 및 사용하는 데이터의 중복성, 데이터의 종속성, 데이터의 무결성 훼손, 그리고 동시 접근 이상의 문제점을 내포한다.
- 데이터베이스는 파일 처리 시스템과 달리 자기 기술성, 추상화, 다중 뷰, 동시성 제어 등의 기능을 통해 파일 처리 시스템의 문제점을 극복한다.
- 데이터베이스 시스템은 3단계 구조, 즉 외부 단계, 개념 단계 그리고 내부 단계로 구성된다. 외부 단계는 사용자 뷰를 나타내며, 개념 단계는 데이터베이스의 논리적인 전체 구조를 나타내고, 내부 단계는 데이터가 기억장소에 저장되기 위한 물리적 구조를 정의한다.
- 각 단계 간의 접속에서 특정 외부 스키마와 개념 스키마 간의 대응 관계를 정의한 외부-개념 사상과, 개념 스키마와 내부 스키마 간의 대응 관계를 정의한 개념-내부 사상에 의해 연관성을 갖는다.
- 데이터베이스 언어란 데이베이스 사용을 위한 언어 형태의 인터페이스로 데이터 정의 언어(DDL)와 데이터 조작 언어(DML)로 구성된다.
- DBMS는 전체 시스템을 구성하는 방식에 따라 중앙집중식과 분산 시스템 방식으로 아키텍처를 구성할 수 있다.
'DB' 카테고리의 다른 글
[DB] WITH AS절 사용법 (feat.CTE) (28) | 2023.08.26 |
---|---|
[mariaDB/mysql] Incorrect string value: '\xEC\x96\x8C\xEC\x8A\xA4...' for column : 한글 입력 오류 해결 (0) | 2023.06.15 |
[SQLD] SQL 기본 정리 (1) | 2023.05.30 |
[DB] 레코드 CRUD 및 연산자 (1) | 2023.02.03 |
[DB] CRUD 의 개념과 Maria DB 의 데이터 구조 (0) | 2023.02.03 |