DBMS
아래 그림과 같이 DBMS는 DB관리 작업을 진행하는 시스템이다.
주요 장점::
-data의 무결함을 유지 (오점 없음을 유지)한다. DBMS가 check해서 data에 문제(적합하지않는 값이 들어간다는 등)가 발생하지 않도록 한다.
-파일 기반의 시스템에서는 부서간의 file 내용에 중복이 발생할 수 있고, 수정 및 삭제 시, 각 부서가 모두 각자 작업을 반영해야한다. DBMS를 통해 data의 중복성 방지, 통일성 유지가 가능하다.
RDBMS
RDBMS(Relational Database Management System) 는 DBMS의 한 종류로써, MySQL, Oracle, MSSQL 등이 포함된다. Table 형태로 data를 저장하고 다룬다.
RDMBS를 활용하기 위해서는 SQL 언어를 구사할 줄 알아야한다. (but not necessary, but 표준이 SQL이다.)
SQL(Structured Query Language)은 Oracle database와 같은 relational database를 위한 interface 역할을하는 data sublangauge이다. Database에 users(application programmer, database administrator, managers, end users, etc)의 명령을 전달한다.
Note::
산업 전체에서 공통적으로 RDBMS를 사용할때에는 SQL을 사용하는 것으로 표준화되어있다.
ANSI(American National Standards Institute)와 ISO(International Organization for Standardization)/ IEC(International Electrotechnical Commission)에서 표준으로 accept했고, 가장 최신 표준은 2003에 정해진 표준이다.
Storage에 저장된 data를 access하는 명령어의 종류는 크게 3가지로 나뉜다:
DML: 데이터 조작어- 데이터를 조작하는데에 사용
DDL: 데이터 정의어- 데이터베이스 객체를 생성, 수정, 삭제
DCL: 데이터 제어어- 데이터베이스 제어 (계정 추가 or 삭제, 권한 부여 or 취소를 수행)
주로 DB 관리자가 DCL을 많이 사용하고, DB개발자는 DDL, DML을 많이 사용한다.
앞으로 공부할 JDBC(Java Database Connectivity)는 Java Application과 DB의 연결을 목적으로 Java에 적용되는 API이다. (library로 Java src와 함께 작동하게 되는것)
JDBC가 무엇인지 간단하게 표현해보자면, SunMicrosystems에서 DB system과의 연결&활용을 목적으로 만든 interface이다. 이 interface를 기반으로 DB system개발 회사에서 connect(), execute()등등 DB에 연결하여 data를 관리하는 함수를 상세히 구현한다. 이렇게 구현된 함수는 library로 Java Application에 추가되어 DB를 access하는데에 사용된다.
SQL
SQL의 주요 특징::
-data를 다룰때, inividual data unit을 다루지않고 sets of data를 group으로 다룬다.
-automatic navigation to data를 제공한다.
-flow-control statements가 아닌, 독립적으로 개별 statement로 query를 수행했다. (flow-control은 일반적인 programming언어와 같이 여러 statement가 순서대로 진행하는 형태) 그러나 이후 PSM(Persistent stored modules)나 PL/SQL extension to Oracle SQL을 통해 SQL에서도 flow-control 방식도 접목이 가능하다.
MySQL Workbench 또는 Oracel SQL developer에서 연습 data table들을 활용하여 SQL 문법을 연습해볼 수 있다.
Resources
what is a database management system (domainadmintools.com)
오라클로 배우는 데이터베이스 개론과 실습 [2편] (저자: 박우창, 남송휘, 이현룡)
SQL Standards (oracle.com)