데이터 베이스 (DB: Data base)란?
데이터 베이스(DB: database)는 통합하여 관리되는 데이터의 집합체를 의미합니다.
이는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리합니다.
따라서, 여러 업무에 여러 사용자가 데이터 베이스를 사용할 수 있습니다.
이러한 데이터 베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리됩니다.
데이터베이스를 관리하는 이러한 미들웨어를 데이터베이스 관리 시스템(DBMS: Database Management System)이라고 합니다.
데이터 베이스는 다음과 같은 특징을 가지고 있습니다.
- 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어집니다.
- 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지합니다.
- 사용자들이 원하는 데이터를 동시에 공유할 수 있습니다.
- 사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조할 수 있습니다.
- 응용프로그램과 데이터베이스는 독립되어 있으므로, 데이터의 논리적 구조와 응용 프로그램은 별개로 동작합니다.
데이터베이스 관리 시스템(DBMS: Database Management System)
데이터베이스 관리 시스템(DBMS: Database Management System)이란 다수의 사용자들이 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어들을 의미합니다.
데이터베이스 관리 시스템 이전에는 파일 시스템을 이용하여 데이터를 관리하였습니다.
파일 시스템은 응용 프로그램을 이용해 데이터를 파일로 관리하는 것입니다.
이러한 파일 기반 시스템은 데이터 중복, 데이터 불일치등 문제가 발생하였습니다.
이러한 단점들을 보완하기 위해 데이터베이스가 생겨났습니다.
데이터 베이스는 곧 데이터베이스 관리 시스템이라 할 만큼 데이터베이스 관리 시스템은 중요하다고 볼 수 있습니다.
이러한 데이터베이스 관리 시스템을 전문적으로 운영하는 인력을 DBA(DataBase Administrator)라 합니다.
데이터베이스 관리 시스템의 특징
- 데이터의 독립성
- 물리적 독립성: 데이터베이스의 크기를 늘리거나 파일을 새롭게 추가하더라도 관련된 응용 프로그램을 수정할 필요가 없습니다. (파일 시스템의 경우 응용 프로그램의 기능을 확장하려면 파일의 구조를 재 조직하여야 합니다.
- 논리적 독립성: 데이터베이스는 다양한 응용 프로그램의 논리적 요구를 만족시켜 줄 수 있습니다.
- 데이터의 무결성
- 여러 경로를 통해 잘못된 데이터가 발생하는 경우의 수를 방지하는 기능으로 데이터의 유효성 검사를 통해 데이터의 무결성을 구현하게 됩니다. 예를 들어 입력 조건에 맞지 않는 입력값은 저장할 수 없도록 방지하는 기능이 있을 수 있습니다.
- 데이터의 보안성
- 허가된 사용자들만 자원에 접근할 수 있도록 계정 관리 또는 접근 권한을 설정하여 데이터의 보완성을 구현할 수 있습니다.
- 데이터의 일관성
- 연관된 정보를 논리적인 구조로 관리함으로써 하나의 데이터만 변경했을 경우 발생할 수 있는 데이터 불일치성을 배제할 수 있습니다.
- 작업 중 일부 데이터만 변경되어 나머지 데이터와 일치하지 않는 경우의 수를 배제할 수 있습니다.
- 데이터의 중복 최소화
- 데이터베이스는 데이터를 통합하여 관리함으로써 데이터 중복 문제를 해결할 수 있습니다.
SQL(Structured Query Language)
SQL(Structured Query Language)은 데이터베이스에서 데이터를 정의, 조작, 제어하기 위해 사용하는 표준 언어입니다.
따라서 SQL구문도 위의 목적에 맞게 크게 세 가지로 구분할 수 있습니다.
- DDL(Data Definition Language)
- DML(Data Manipulation Language)
- DCL(Data Control Language)
속성 | 설명 | 주요 명령어 |
DDL | 데이터베이스나 테이블 등을 생성, 삭제하거나 그 구조물을 변경하기 위한 명령어 | CREATE, ALTER, DROP |
DML | 데이터베이스에 저장된 데이터를 처리하거나 조회, 검색하기 위한 명령어 | INSERT, UPDATE, DELETE, SELECT 등 |
DCL | 데이터베이스에 저장된 데이터를 관리하기 위하여 데이터의 보완성 및 무결성등을 제어하기 위한 명령어 | GRANT, REVOKE 등 |
reference
http://www.tcpschool.com/mysql/DB
https://noahlogs.tistory.com/36
'데이터베이스 > 관계형 데이터베이스' 카테고리의 다른 글
[데이터베이스] SQL Basics (0) | 2023.03.26 |
---|---|
[데이터베이스] MySQL 설치 for Windows (0) | 2023.03.25 |
[데이터베이스] 관계형 데이터 베이스 (0) | 2023.03.24 |