Today
Total
Recent Posts
Recent Comments
Archives
05-19 03:21
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
반응형
관리 메뉴

UD_park's IT story

DBMS의 기본개념-② 본문

IT - Operating System&Server/Database

DBMS의 기본개념-②

kingllzn 2020. 5. 22. 15:57
반응형
SMALL

이번 포스팅은 DBMS의 기본개념-①에

이어서 DBMS에 대하여 좀 더 심도 있는

내용들을 다뤄보도록 하겠습니다.

 

 

 

DBMS도 세대 별 차이가 있습니다.

 

 

1세대 - 파일 시스템(File System)

 : 계층적 데이터 구조, 상하 종속관계로 구성

2세대 - 계층형 시스템(HDBMS : Hierachical DataBase Management System)

 : network의 노드 형태를 데이터 구조에 접목시킴으로써, 각각의 노드들이 서로 대등한 관계를

구성하고 있는 시스템

3세대 - 망형 시스템(NDBMS : Network DataBase Management System)

 : 2세대의 계층형 형태를 망 형태로 확장한 것으로, 물리적으로 연결되어 있는 정적인 구조로 

데이터를 저장한다.

4세대 - 관계형 시스템(RDBMS : Relational DataBase Management System)

 : 정규화를 통한 합리적인 테이블 모델링으로 이상(Anomaly) 현상을 제거하고, 데이터의 중복을
피할 수 있으며, 동시 관리, 병행 제어 등 많은 사용자들이 동시에 데이터를 공유 및 조작할
수 있는 기능을 제공하는 시스템

5세대 - 객체지향 시스템(ODBMS : Object / Oriented DataBase Management System)

 : 멀티미디어 데이터의 처리와 문자, 숫자, 날짜와 같은 비즈니스형 데이터 타임만 처리되는

기본적인 제한을 극복하기 위하여 고안된 시스템

 

5세대 객체지향 DBMS까지 현재 나와있는

상황이지만, 현업에서는 아직까지

작성일을 기준으로, 관계형 DBMS의 비중이

더 많은 상황입니다.

 

앞으로 설명하게 될 부분 또 한

RDBMS에 대해서 상세하게 다뤄보도록 하겠습니다

 

RDBMS는 흔히 E-R모델링이라 불리는

구조적 특징을 가집니다.

Entity-Relation이라 하여

현재 많이 쓰이는 개체와 속성 그리고

그 개체와 속성 사이의 관계로 표현할 수 있는

구조로 구성되어 있습니다.

 

아래는 E-R 모델링을 사용한

DBMS 구조를 나타낸 예시입니다.

E-R 모델링 예시

 

또한 이러한 RDBMS는 현업에

다양한 종류로 존재합니다

 

RDBMS [기업명 - 제품명]

1. Oracle - Oracle

2. Microsoft - MS-SQL

3. Oracle - MySQL

4. MariaDB - MariaDB

5. IBM - DB2

6. Sybase - Sybase

 

저는 현업에서 가장 흔히 볼 수 있는

RDBMS가 바로 Oracle과

MS-SQL 그리고 MySQL과

DB2 정도였습니다.

 

이 각각의 RDBMS는 차이가

존재하지만, 한 제품의 RDBMS만

능숙히 다룰 줄 안다면,

다른 제품을 다룰 때에도

큰 어려움이 없을 정도로

비슷한 조작과 구조적 특징을

가집니다.

 

그럼 이제 RDBMS의 기본인

테이블의 구성을 살펴보도록

하겠습니다.

 

Table 구성

위의 사진처럼 하나의 테이블은

행 부분에 해당하는 tuple이 있습니다.

이 부분은 record라고도 부를 수 있습니다.

 

열 부분에 해당하는 column이

있습니다. 이 column의 각각의

열을 구성하는 값을 Domain이라 하며,

속성이란 뜻의 Attribute라고도 불립니다.

 

이 모든 구성이 합쳐진 것이 바로 table입니다.

 

그리고 table보다 더 상위 개념인

스키마(Schema)가 존재합니다.

스키마는 외부 / 개념 / 내부로 존재하는데,

간단하게 설명하도록 하겠습니다.

 

  • 외부 스키마
    • 사용자의 입장에서 정의한 DB의 논리적 구조. data들을 어떠한 형식으로, 어떠한 구조로,
      어떠한 화면을 통해 사용자에게 보여줄지를 명세한다. DB 하나에 여러개의 외부 스키마가
      존재할 수 있으며, 일반 사용자에게는 질의어(SQL : Structured Query Language)를 통해
      DB를 쉽게 사용하도록 하고, 응용 프로그래머는 언어를 사용하여 DB에 접근한다.
  • 개념 스키마
    • 기관이나 조직 전체를 관리하는 입장에서 DB를 정의하는 스키마. DB에 대한 전체적인
      논리적 구조를 기술하기에 DB에 하나의 개념 스키마만 존재한다. 기본적으로 스키마라고
      말하면 개념 스키마를 일컫는 말이다.
  • 내부 스키마
    • DB가 어떻게 물리적 저장 장치에 저장이 될지를 명세하는 스키마. 저장 장치와 DB 간의
      관계를 정의하므로, 시스템 프로그래머나 시스템 설계자의 관점에서 작성되는 스키마이다.

 

여기까지가 바로 DBMS와 RDBMS의

간단한 설명입니다.

 

이후 포스팅부터는 DBMS를

다루는데 필요한 SQL에 대하여

알아보도록 하겠습니다.

 

 

반응형
LIST
Comments