[Database] Database Management System & SQL
DBMS (Database Management System)
데이터베이스란?
대량의 정보를 컴퓨터가 효율적으로 접근할 수 있도록 가공 및 저장한 것.
DBMS란?
데이터베이스를 관리하고 다수의 사용자가 데이터베이스 내의 데이터를 공유하며
사용할 수 있는 환경을 제공하는 소프트웨어.
DBMS를 사용하지 않는다면
- 다수의 사람이 데이터를 공유하기 어려움.
- 대량의 데이터를 다루기 어려움.
- 읽기/쓰기를 자동화하려면 프로그래밍 기술이 필요.
- 만일의 사고에 대응하기 어려움 (보안, 백업)
관계형 데이터베이스 (Relational Database)
현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이며 현대 데이터베이스 시스템들의 기준.
관계형 데이터베이스는 테이블(table)로 이루어져 있으며, 이 테이블 안에서 키(key) 와 값(value)의 간단한 관계를
2차원 형식으로 나타낸다. 하나의 데이터베이스 안에는 여러 개의 테이블이 존재할 수 있다.
테이블의 행(row)은 레코드(record)라고도 부르며, 데이터 한 건에 해당한다.
테이블의 열에 해당하는 컬럼(column)은 데이터를 구분하기 쉽게 이름을 붙혀 분류한다. (ex: 제목, 장르, 시간 등)
또한 각 컬럼은 특정한 데이터 타입을 가진다. (ex. 평점의 데이터 타입은 DOUBLE)
관계형 데이터베이스의 특징
- 데이터의 분류, 정렬, 탐색 속도가 빠름.
- 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장.
- 데이터는 관계를 통해서 연결된 여러 개의 테이블에 분산됨.
- 기존에 작성된 스키마(Structure)를 수정하기가 어려움.
- 데이터베이스의 부하를 분석하는 것이 어려움.
RDMBS ( Relational Database Management System)
: 관계형 데이터베이스를 생성, 갱신, 관리하기 위한 시스템.
Client가 데이터를 조회하고 싶을 때, SQL로 요청을 RDMBS에 보내면 RDMBS는 요청된 데이터를
2차원 표 형태로 반환.
대표적인 RDMBS
- ORACLE DB : 가장 오래되었고 신뢰도가 높다. 뛰어난 기술력과 안정성. 은행에서 많이 쓰이며 유료.
- MySQL : 오픈 소스 기반으로 무료. 썬마이크로시스템즈를 거쳐 현재 오라클에 흡수합병.
- Microsoft SQL Server : 마이크로소프트가 개발한 RDMBS. 윈도우 시스템 환경을 지원.
- PostgreSQL : 버클리 대학의 프로젝트로 만들어진 오픈 소스 ORDBMS이다. (객체 - 관계형 DB)
- Maria DB : MySQL 5.5를 기반으로 만들어졌다.
- SQLite : DB를 서버가 아닌 파일로 저장한다. 가벼운 DB를 저장하는 목적으로 설계되어 스마트폰에 사용된다.
SQL, Structured Query Language
관계형 데이터베이스 시스템(RDBMS : relational database management system)의 데이터를 관리하기 위해
설계된 특수 목적의 프로그래밍 언어(쿼리)이다.
SQL을 사용하면 RDBMS에서 데이터의 저장, 수정, 삭제 및 검색을 할 수 있다.
중요한 SQL 명령어
- SELECT - 데이터베이스에서 데이터 추출
- INSERT INTO - 데이터베이스에 새로운 데이터 삽입
- UPDATE - 데이터베이스의 데이터 갱신
- DELETE - 데이터 삭제
- CREATE DATABASE- 새로운 데이터베이스 생성
- ALTER DATABASE - 데이터베이스 변경
- CREATE TABLE - 테이블 생성
- ALTER TABLE - 테이블 변경
- DROP TABLE - 테이블 삭제
- CREATE INDEX- 인덱스 생성
- DROP INDEX - 인덱스 삭제