본문 바로가기

IT_TOOL

데이터베이스와 SQL

반응형

데이터베이스 정의

데이터란 컴퓨터 안에 기록되어 있는 숫자를 의미하며, 이러한 데이터의 집합을 데이터베이스라고 합니다. 넓은 의미에서는 '컴퓨터 안에 기록된 모든 것'을 데이터베이스라고 합니다. 데이터베이스 내의 데이터는 영구적으로 보존되어야 하며, 주기억장치에만 데이터를 자장한다면, 전원을 끄는 순간 모든 데이터는 사라져 보립니다. 이런 상태에서는 영구적이라 말할 수 없습니다. 다라서 데이터ㅓ베이스의 데이터는 하드디스크나 플래시메모리(SSD) 등 비휘발성 저장장치에 저장합니다. 

 

데이터베이스는 저장장치 내에 정리되어 저장된 데이터의 집합이고, 이를 효율적으로 관리하는 소프트웨어를 '데이터베이스 관리시스템(Database Managerment System, DBMS)이라 부릅니다. 

 

DBMS란 데이터베이스를 관리하는 소프트웨어로, 사용목적은 생산성 향상과 기능성, 신뢰성 확보에 있습니다

 

데이터베이스를 조작하는 언어 SQL

관계형 데이터베이스 관리시스템(RDBM: Relational Database Managment System)을 조작할 때 사용합니다. 

 

SQL 명령의 종류

DML(Data Manipulation Language) 데이터베이스에 새롭게 데이터를 추가하거나 삭제하거나 내용을 갱신하는 등, 데이터를 조작할 때 사용합니다. SQL의 가장 기본이 되는 명령셋(set)입니다. 

DDL(Data Definition Language) 데이터를 정의하는 명령어, 데이터베이스는 '데이터베이스 객체(object)'라는 데이터 그릇을 이용하여 데이터를 관리하는데 이 같은 객체를 만들거나 삭제하는 명령어입니다. 

DCL(Data Control Language) 데이터를 제어하는 명령어. DCL에는 트랜잭션을 제어하는 명령과 데이터 접근 권한을 제어하는 명령이 포함되어 있습니다. 

 

데이터베이스의 종류

계층형 데이터 베이스

역사가 오래된 DBMS로, 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식의 데이터베이스입니다. 하드디스크나 DVD 파일시스템을 이러한 계층형 데이터베이스라고 할 수 있습니다. 하지ㅏㄴ 현재 DBMS로서 채택되는 경우는 많지 않습니다. 

 

관계형 데이터베이스

'관계 대수(relational algebra)'라는 것에 착안하여 고안한 데이터베이스입니다. 관계 대수라고 하면 뭔가 어려워 보이지만, 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리킵니다. 

 

객체지향 데이터베이스

자바나 C++를 객체지향 언어라고 합니다. '객체(object)'라는 것을 중심으로 프로그래밍하는 언어입니다. 여기서 '가능하면 객체 그대로를 데이터베이스의 데이터로 저장하는 것'이 객체지향 데이터베이스입니다. 

 

XML 데이터베이스

XML이란 자료 형식을 가리키는 용어로, 태그를 이용해 마크업 문서를 작성할 수 있게 정의한 것입니다. 태그는 <data>데이터</data>와 같은 형식으로 표현합니다. 마치 HTML과 흡사합니다. XML 데이터베이스는 이처럼 XML 형식으로 기록된 데이터를 저장하는 데이터베이스입니다.

SML 데이터베이스에서는 SQL 명령을 사용할 수 없습니다. 대신 XML 데이터를 검색할 때는 XQuery라는 전용 명령어를 사용합니다.

 

키-밸류 스토어(KVS)

키와 그에 대응하는 갓(밸류)이라는 단순한 형태의 데이터를 저장하는 데이터베이스입니다. 키와 밸류의 조합은 연상배열이나 해시 테이블에서 자주 볼 수 있습니다. NoSQL(Not only SQL)이라는 슬로건으로 생겨난 데이터베이스로, 열 지향 데이터베이스라고도 불립니다. 

 

데이터베이스 제품

Oracle

DB2

SQL Server

PostgreSQL

MySQL

SQLite

 

SQL에는 방언이 있습니다. 방언 대신 표준 SQL(ISO나 ANSI가 결정한 'SQL-92', 'SQL-99', 'SQL-2003')을 사용하는 편이 좋습니다. 

 

클라이언트/서버 모델

클라이언트/서버 모델이란 사용자 조작에 따라 요청을 전달하는 '클라이언트'와 해당 요청을 받아 처리하는 '서버'로 소프트웨어를 나누고, 복수의 컴퓨터 상에서 하나의 모델을 구현하는 시스템을 말합니다. RDBMS는 클라이언트/서버 모델로 구성됩니다. 클라이언트는 데이터베이스 서버에 접속해 SQL 명령을 실행하여 데이터베이스를 조작할 수 있습니다. 

 

 

#SQL첫걸음 #SQL #관계형데이터베이스관리시스템 #RDBM  #데이터베이스

반응형

'IT_TOOL' 카테고리의 다른 글

<컴퓨터 용어> BIOS, CMOS, ROM  (0) 2023.06.13
<컴퓨터 용어> 캐시(cache)  (0) 2023.05.30
운영체제를 알면 좋아요.  (0) 2023.05.24
파일시스템을 알면 좋아요.  (0) 2023.05.23
전자적 증거의 의의와 특성  (0) 2023.05.10