UD_park's IT story
DBMS의 기본개념-② 본문
이번 포스팅은 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 구조를 나타낸 예시입니다.
또한 이러한 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의 기본인
테이블의 구성을 살펴보도록
하겠습니다.
위의 사진처럼 하나의 테이블은
행 부분에 해당하는 tuple이 있습니다.
이 부분은 record라고도 부를 수 있습니다.
열 부분에 해당하는 column이
있습니다. 이 column의 각각의
열을 구성하는 값을 Domain이라 하며,
속성이란 뜻의 Attribute라고도 불립니다.
이 모든 구성이 합쳐진 것이 바로 table입니다.
그리고 table보다 더 상위 개념인
스키마(Schema)가 존재합니다.
스키마는 외부 / 개념 / 내부로 존재하는데,
간단하게 설명하도록 하겠습니다.
- 외부 스키마
- 사용자의 입장에서 정의한 DB의 논리적 구조. data들을 어떠한 형식으로, 어떠한 구조로,
어떠한 화면을 통해 사용자에게 보여줄지를 명세한다. DB 하나에 여러개의 외부 스키마가
존재할 수 있으며, 일반 사용자에게는 질의어(SQL : Structured Query Language)를 통해
DB를 쉽게 사용하도록 하고, 응용 프로그래머는 언어를 사용하여 DB에 접근한다.
- 사용자의 입장에서 정의한 DB의 논리적 구조. data들을 어떠한 형식으로, 어떠한 구조로,
- 개념 스키마
- 기관이나 조직 전체를 관리하는 입장에서 DB를 정의하는 스키마. DB에 대한 전체적인
논리적 구조를 기술하기에 DB에 하나의 개념 스키마만 존재한다. 기본적으로 스키마라고
말하면 개념 스키마를 일컫는 말이다.
- 기관이나 조직 전체를 관리하는 입장에서 DB를 정의하는 스키마. DB에 대한 전체적인
- 내부 스키마
- DB가 어떻게 물리적 저장 장치에 저장이 될지를 명세하는 스키마. 저장 장치와 DB 간의
관계를 정의하므로, 시스템 프로그래머나 시스템 설계자의 관점에서 작성되는 스키마이다.
- DB가 어떻게 물리적 저장 장치에 저장이 될지를 명세하는 스키마. 저장 장치와 DB 간의
여기까지가 바로 DBMS와 RDBMS의
간단한 설명입니다.
이후 포스팅부터는 DBMS를
다루는데 필요한 SQL에 대하여
알아보도록 하겠습니다.
'IT - Operating System&Server > Database' 카테고리의 다른 글
[Database] DBMS의 기본 개념-① (0) | 2020.05.21 |
---|---|
[Database] Oracle에 대한 기본 개념① (0) | 2020.05.19 |
[Database] Microsoft SQL server 2008 R2 설치 (0) | 2018.07.09 |