데이터베이스란?

Ouroboros·2023년 12월 19일

데이터베이스

목록 보기
2/9

데이터베이스란?

데이터베이스는 데이터의 모음이다.
일반적으로 데이터베이스 관리 시스템(DBMS)이라는 프로그램을 사용해서 데이터를 저장, 검색, 편집등을 할 수 있다.
데이터베이스라는 단어는 DBMS, 데이터베이스 시스템, 데이터베이스 프로그램 등을 총칭하여 나타낼 수도 있다.
대부분의 데이터베이스는 데이터 작성 및 쿼리에 SQL(Structured Qurey Language)를 사용한다.

SQL이란?

SQL은 관계형데이터베이스에서 데이터를 조작, 정의, 제어등을 하기 위해서 사용하는 프로그래밍 언어이다. SQL은 1970년대에 IBM에서 처음 개발되었으며 ORACLE 덕분에 SQL ANSI[1] 표준이 수립되었다.

데이터베이스 관리 시스템(DBMS)이란?

데이터베이스는 DBMS라고 불리는 관리 시스템이 필요하다.
DBMS는 데이터베이스 소프트웨어 프로그램으로, 사용자가 정보를 구성하고 최적화된 방법으로 검색하고 정보를 업데이트, 관리등을 할 수 있게 도와준다.

데이터베이스 시스템이 중요한 이유

  1. 데이터베이스 시스템은 대량의 데이터를 관리할 수 있다.
  2. 데이터베이스 시스템은 데이터의 일관성을 유지하기 위해서 기본규칙과 조건이 있다. 데이터 무결성[2], 데이터 완전성이라고도 한다.
  3. 데이터베이스 시스템은 데이터의 보안에 중요한 역할을 한다. 사용자가 데이터를 접근하려고 할 때, 사용자의 액세스 수준에 따라 접근 정도가 다르며 사용자는 로그인하여 데이터베이스시스템에 들어간다.
  4. 데이터 분석을 하기도 한다. 최신 데이터베이스 시스템은 데이터의 흐름, 패턴을 분석하여 예측하기도 한다.

데이터베이스 유형 (발전 과정)

계층적 데이터베이스

계층적 데이터베이스는 1970년도에 인기가 있었던 데이터베이스이다. 계층적 데이터베이스는 트리구조로 두 파일간에 상위-하위관계를 설정했다.
예를 들어, 침실이라는 상위레코드를 설정하면 그 밑에 침대, 침실용 탁자등 하위레코드를 설정할 수 있다. 또다시 침대레코드는 싱글침대, 더블침대 등 하위레코드를 가진다. 하지만 이러한 계층적 데이터베이스는 데이터 중복이 나탈날 수 밖에 없었다.

네트워크 데이터베이스

네트워크 데이터베이스는 초기 데이터베이스 중의 하나이며, 하위 레코드가 여러 개의 상위 레코드를 가지고, 상위 레코드가 여러 개의 하위 레코드를 가질 수 있는 특징을 가지고 있다.
예를 들어 아이방과 침실 레코드에는 옷장이라는 하위 레코드가 연결될 수 있다.

관계형 데이터베이스

관계형 데이터베이스는 1980년대에 부상했다. 데이터의 레코드로 연결된 목록이 아닌 열과 행이 있는 테이블을 이용하여 데이터를 보여준다.
예를 들어 가구대리점을 모델링한다면, 아래와 같이 나타낼 수 있다.

방번호  방이름
1    아이방
2    침실

가구이름  색상
침대    브라운
탁자    블랙

방번호  가구이름
1    침대
1    옷장
2    옷장

객체지향 데이터베이스

객체 지향 프로그래밍의 출현에 대응하여 1990년대에 발전했다.
예를 들어, 의자 데이터 객체에 색상과 크기가 같은 의자를 맵핑한다.

NoSQL 데이터베이스

관계형 데이터베이스는 데이터베이스에 저장되는 데이터 구성 방식을 결정해야하지만 NoSQL 데이터베이스는 그렇지 않다. 테이블 형식 관계를 사용하지 않는 NoSQL 데이터베이스는 여러 기본 스토리지 디바이스에 하나의 대규모 데이터베이스를 저장한다. 이러한 배열을 수평 확장이라고 한다.



용어

SQL ANSI : 미국표준협회가 각기 다른 DBMS(Oracle,MySQL 등)에서 공통적으로 사용할 수 있게 만든 표준 SQL 작성방법이다.
데이터무결성 : 모든 데이터가 얼마나 일관적이고 완전하고 정확한지 나타내는 정도이다.

0개의 댓글