MYSQL DBMS
MySQL
DBMS 제작사
MySQL | Orcles |
MariaDB | MariaDB |
PostgreSQL | PostgreSQL |
Oracle | Oracle |
SQL Sever | Microsoft |
DB2 | IBM |
Access | Microsoft |
SQLite | SQLi |
특징
- 데이터의 무결성
- 데이터의 독립성
- 보안
- 데이터 중복의 최소화
- 응용 프로그램 제작 및 수정이 쉬워짐
- 데이터의 안전성 향상
데이터의 무결성
데이터 베이스 안의 데이터는 어떤 경로를 통해서 들어왔던지 데이터에 오류가 있어서는 안된다.
이 무결성(Integrity)을 위해서 데이터베이스는 제약조건(Constraint)이라는 특성을 가진다.
데이터의 동립성
데이터베이스의 크기를 변경하거나 데이터 파일의 저장소를 변경하더라도 기존에 작성된 응용 프로그램은 전혀 영향을 받지 않아야 한다. 즉, 서로 의존적 관계가 아닌 독립적인 관계여야 한다.
보안
데이터 베이스 안의 데이터에 아무나 접근할 수 있는 것이 아니라 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있어야 한다.
데이터 중복의 최소화
동일한 데이터가 여러 개 중복되어 저장되는 것을 방지한다.
응용 프로그램 제작 및 수정이 쉬워짐
기존 파일 시스템을 사용할 때는 각각 파일의 포맷에 맞춰 개발해야 하는 응용 프로그램을 데이터 베이스를 이용함으로써 통일된 방식으로 응용 프로그램 작성이 가능해지고, 유지보수 또한 쉬워진다.
데이터의 안정성 향상
대부분의 DBMS가 제공하는 백업 복원 기능을 이용함으로써, 데이터가 깨지는 문제가 발생할 경우에 원상으로 복원 또는 복구하는 방법이 명확해진다.
DBMS 분류
계층형 DBMS
처음으로 나온 DBMS 개념 각 계층은 트리형태를 가지며 1:N 관계를 갖는다.
망형 DBMS
망형 DBMS는 계층형 DBMS의 문제점을 개선하기 위해 시작되었으며 1:1, 1:N, N:M 관계가 지원되어 효과적이고 빠른 데이터 추출이 가능해졌다.
관계형 DBMS
데이터 베이스는 테이블(Table)이라 불리는 최소 단위로 구성되어 있다. 그리고 이 테이블은 하나 이상의 열로 구성되어 있다. *RDBMS - Relational DBMS
관계형 DBMS에서는 모든 데이터는 테이블에 저장되므로 테이블이라는 구조가 RDBMS의 가장 기본적이고 중요한 구성이 된다.
테이블은 테이터를 효율적으로 저장하기 위한 구조이다. 정보를 저장하기 위해서 하나의 테이블이 아닌 여러 개의 테이블로 나누어서 저장함으로써 불필요한 공간의 낭비를 줄이고 데이터 저장의 효율성을 보장해 줄 수 있다. 또, 이렇게 나뉜 테이블의 관계(Relation)를 기본 키(Primary Key)와 외래 키(Foreign Key)를 사용해 맺어 줌으로써, 두 테이블을 부모와 자식의 관계로 묶어 줄 수 있다.
SQL 개요
SQL(Structured Query Language)은 관계형 데이터베이스에서 사용되는 언어로 에스큐엘 또는 시퀄로 읽는다.
특징
- DBMS 제작 회사와 독립적이다.
- 다른 시스템으로 이식성이 좋다.
- 표준이 계속 발전한다.
- 대화식 언어다.
- 분산형 클라이언트/서버 구조이다.
DBMS 제작 회사와 독립적이다
SQL은 모든 DBMS 제작회사에 공통적으로 공개되고 각 제작회사는 이 표준 SQL에 맞춰서 DBMS를 개발한다. 그러므로 표준 SQL은 대부분의 DBMS 제품에서 공통적으로 호환된다.
다른 시스템으로 이식성이 좋다.
SQL 표준은 서버용, 개인용, 휴대용 장비에서 운영되는 DBMS마다 상호 호환성이 뛰어나다. 그러므로 어느 곳에서 사용된 SQL을 다른 시스템으로 이식하는데 별 문제가 없다.
표준이 계속 발전한다.
계속 개선된 표준안이 발표되어 왔으며 지금도 개선된 안이 연구되고 보안되고 있다.
대화식 언어다.
기존 프로그래밍 언어는 프로그램 장성, 커파일 및 디버깅, 실행이라는 과정을 거쳐야만 그 결과를 확인할 수 있었으나 SQL은 이와 달리 바로 질의하고 결과를 얻는 대화식 언어로 구성되 있다.
분산형 클라이언트/서버 구조이다.
SQL은 분산형 구조인 클라이언트/서버 구조를 지원한다. 즉, 클라이언트에서 질의하면 서버에서 그 질의를 받아서 처리한 후, 다시 클라이언트에 전달하는 구조를 가진다.
*주의 : 모든 DMBS의 SQL문은 완벽하게 동일하지 않다.