본문 바로가기
CS/데이터베이스

[Database] DBMS 발전과정/분류/언어

by 루시킴 2021. 9. 7.

File System vs DBMS

프로그램-데이터 독립성이 큰 차이점이다.

 

File System

프로그램-데이터 독립성이 약해서 데이터 구조가 바뀌는 경우 프로그램에 영향을 준다

 

DBMS

프로그램-데이터 독립성을 가져 프로그램에 영향을 주지 않으면서 데이터 구조 변경이 가능하다

 

이밖에도, 이러한 특징들을 가진다.


데이터 모델

데이터베이스의 구조를 기술하는데 사용되는 개념들의 집합(데이터 타입과 관계), 구조 위에서 동작하는 연산자들, 무결성 제약조건들을 의미한다. 사용자에게 내부 저장 방식은 숨기면서 데이터에 대한 직관적인 뷰를 제공하는 특징이 있다.

 

데이터 모델의 분류

1. 개념적 데이터 모델

사람이 인식하는 것과 유사하게 데이터베이스의 전체적인 논리적 구조를 명시한다.

 

대표적인 예시

엔티티-관계(ER: Entity-Relationship) : 데이터 모델과 객체 지향 데이터 모델 

 

2. 표현 데이터 모델

사용자가 이해하는 개념이면서 컴퓨터 내에서 데이터가 조직되는 방식과도 어느정도 유사하다.

 

대표적인 예시

관계 데이터 모델((relational data model) 

 

3. 물리적인 데이터 모델

 


DBMS 발전과정

계층 DBMS → 네트워크 DBMS → 관계 DBMS & 객체지향 DBMS → 객체 관계 DBMS

갈수록 프로그래밍 분량이 줄어들고 있다

 

계층 DBMS

트리구조 기반이다.

one to many관계는 잘 처리하지만 many to many관계는 처리하기 어렵다

 

네트워크 DBMS

그래프 기반으로 레코드들은 노드, 레코들간의 관계가 간선으로 표현된다

레코드들이 링크로 연결되어 구조를 변경하기 어렵다

 

관계 DBMS

모델이 간단하여 사용자가 이해하기 쉽다

관계를 외래키로 표현한다 

WHAT만 명시하면 HOW는 DBMS가 결정한다

 

객제지향 DBMS

객체지향 프로그래밍 패러다임 기반이다

복잡한 객체를 이해하기 쉽다

 

객체관계 DBMS

관계 DBMS + 객체지향 개념을 통합한 모델로 현재 많이 사용중이다

 

DBMS 분류


DBMS 언어

1. 데이터 정의어 : DDL (Data Definition Language)

  • 데이터베이스 스키마를 정의
  • 데이터 구조 생성/변경/삭제/인덱스정의
  • 데이터 구조 생성 : CREATE
  • 데이터 구조 변경 : ALTER
  • 데이터 구조 삭제 : DROP
  • 인덱스 정의 : CREATE INDEX

2. 데이터 조작어 : DML (Data Manipulation Language)

  • 데이터베이스 내의 원하는 데이터를 검색/수정/삽입/삭제
  • 데이터 검색 : SELECT
  • 데이터 수정 : UPDATE
  • 데이터 삭제 : DELETE
  • 데이터 삽입 : INSERT
  • 절차적 / 비절차적 구분
    • 절차적언어 : 원하는데이터 구하기위해 어떤 절차를 이용해야하는지 기술
    • 비절차적 언어 :원하는데이터가 무엇인지만 기술하는것으로 사용자입장에서 절차적언어보다 편하고 생산성이 높다. 또한, 관계 DBMS에서 사용하는 건 대표적인 비절차적 언어이다.

3. 데이터 제어어 : DCL (Data Control Language)

  • 데이터베이스 트랜잭션을 명시
  • 권한을 부여하거나 취소

'CS > 데이터베이스' 카테고리의 다른 글

[Database] SQL  (0) 2021.10.08
[Database] 관계 대수와 SQL (2)  (0) 2021.10.08
[Database] 관계대수와 SQL  (0) 2021.09.23
[Database] 관계 데이터 모델 / 릴레이션  (0) 2021.09.14
[Database] 데이터베이스란?  (0) 2021.09.02

댓글