정리 노트

DBS(Database System) 본문

개념 정리/데이터베이스

DBS(Database System)

꿈만 꾸는 학부생 2023. 7. 4. 22:46
728x90

DBS는 DBMS을 사용해 개발한 응용 프로그램을 통해 관련 데이터를 관리하고 있는 시스템으로 DBMS와 아래 4가지로 구성되어 있습니다.

1. 데이터 스키마(Data schema)

스키마는 DB의 구조와 제약 조건의 명세입니다. 이는 테이블과 별개로 저장되기에 실제로 스키마와 레코드 인스턴스들(테이블)까지 합쳐서 데이터베이스라고 부릅니다. 스키마의 종류로 아래의 3가지가 존재합니다.

  • 외부 스키마(external schema, subschema): 전체 DB의 일부분만을 기술하고 각 사용자의 입장에서 필요한 DB의 논리적 구조를 정의합니다.
  • 개념 스키마(conceptual schema, schema): 모든 사람이 필요로 하는 데이터를 모은 전체 DB를 정의합니다. 일반적으로 얘기하는 스키마가 개념 스키마입니다.
  • 내부 스키마(internal schema): 개념 스키마를 저장 장치에 어떻게 저장할지 정의합니다.

이미지 출처: https://velog.io/@songyw0517/3%EB%8B%A8%EA%B3%84-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EA%B5%AC%EC%A1%B03-Layer-Database-Architecture

스키마를 위의 사진과 같이 3단계로 나누는 것이 DBMS에서 데이터 독립성을 구현하는 방법입니다. 데이터 독립성을 얘기할 때 아래의 2가지를 얘기합니다.

  •  논리적 데이터 독립성: 개념 스키마가 변해도 외부 스키마가 변하지 않습니다. ex) 개념 스키마에 새로운 column이 추가되어도, 이 column이 필요하지 않은 외부 스키마는 변하지 않아야 합니다.
  •  물리적 데이터 독립성: 내부 스키마가 변해도 개념 스키마가 변하지 않습니다. ex) 내부 스키마에서 다른 column도 index를 부여하기로 결정해도 개념 스키마가 변하는 일은 없어야 합니다.

2. 데이터 언어

DBMS의 필수 기능(정의, 조작, 제어)을 수행하기 위한 언어로 아래의 3가지 종류가 있습니다.

  • DDL(Data Definition Language): 데이터 정의어, DB(테이블) 정의 및 수정 ex) CREATE TABLE, DROP TABLE,...
  • DML(Data Manipulation Language): 데이터 조작어, 사용자와 DBMS 사이의 통신 수단, 데이터 검색 / 갱신 연산, 비절차적 언어(무얼 하라고만 쓰면 된다. 어떻게 하는지 작성하지 않는다.) ex) SELECT, UPDATE, DELETE,...
  • DCL(Data Control Language): DB 관리를 위해 데이터 제어 요구를 정의하고 기술하는 언어, 보안, 무결성, 회복, 병행 수행 같은 건 주로 DBA 같은 특별한 유저만 사용합니다. ex) GRANT, REVOKE,...

3. 사용자

  • 일반 사용자(End user): 질의어를 통해 DB에 접근합니다. 일반 사용자는 보통 화면의 버튼을 클릭하듯이 실제로는 그래픽 등을 통해 간접적으로 사용합니다.
  • 응용 프로그래머(Application programmer): 실제로 DML을 작성해 DB에 접근합니다.
  • DB 설계자: DDL을 통해 DB schema를 정의합니다.
  • DB 관리자(DBA): DCL을 통해 DBMS 운영, 제어합니다.

4. DBA

DBS의 전체 관리 운영의 책임을 지는 집단으로 여러 업무들을 수행합니다.

  • DB 설계와 운영
  • 시스템 감시, 성능 분석 및 튜닝
  • 데이터 표현과 시스템 문서화의 표준 설정

참고 자료

데이터 스키마: https://velog.io/@songyw0517/3%EB%8B%A8%EA%B3%84-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EA%B5%AC%EC%A1%B03-Layer-Database-Architecture

 

3단계 데이터베이스 구조(3-Layer Database Architecture)

데이터베이스의 복잡한 구조를 "관점"에 따라 3단계로 표현한다.데이터베이스는 그림과 같이 "외부", "개념", "내부" 단계로 나뉜다.일반 사용자나 응용 프로그래머가 접근하는 계층여러 개의 외

velog.io

 

728x90

'개념 정리 > 데이터베이스' 카테고리의 다른 글

관계 데이터 구조  (0) 2023.08.10
논리적 데이터 모델링  (0) 2023.07.24
ERD(E-R Diagram)  (0) 2023.07.20
데이터베이스의 개념적 설계  (0) 2023.07.20
DB와 DBMS의 개념  (0) 2023.06.27