DBMS(Database Management System)는 데이터베이스를 관리하고 제어하는 소프트웨어 시스템
-> 일반적으로 DBMS는 데이터베이스를 생성, 저장, 검색, 수정, 삭제 등의 작업을 수행할 수 있게 해줌
대표적인 관계형 DBMS
-> Oracle, SQL server, DB2, MySQL, PostgreSQL, Firebird
RDB(Relational DataBase)에서 Relational은 2차원 표
를 표기할때 사용하는 단어
-> 데이터를 2차원 표를 사용해 관리하는 데이터베이스
관계형 데이터베이스 사용 시 csv형태로 데이터를 관리할때와 다르게 프로그래밍 언어를 사용하지 않아도 데이터를 조작할 수 있음
-> 이를 가능하게 한 것이 관계형 데이터베이스에 있는 SQL
SQL(Structured Query Language)란 데이터베이스가 데이터를 조작하기 위해 준비한 언어
ex)
SELECT 이름
FROM 주소록
WHERE 주소 LIKE '%서울시%'
테이블
: 관계형 데이터베이스에서 2차원 표
-> 관게형 데이터베이스에서 데이터를 관리하기 위한 유일한 단위
데이터베이스와 DBMS라는 단어는 실제 개발환경에서도 별로 구분되지 않고 사용되는 경우 많음
데이터베이스
라는 것은 기능이나 구조를 나타내는 추상적인 개념이고, DBMS
는 그것을 실현하기 위해 작성된 구체적인 소프트웨어
-> MySQL은 DBMS의 한가지다라는 표현은 맞지만, 데이터베이스의 한가지다라는 표현은 이상한 표현
-> MYSQL은 구체적으로 조작하는 것이 가능한 물리적 실체를 동반한 제품
시스템은 단순히 DB만으로 구축할 수 있는 것이 아님
-> 다른 여러가지 SW를 조합해서 만들어야 하는데 이 작업을 SI(System Integration)라고 부름
-> 사용되는 SW에는 운영체제
, 미들웨어
, 애플리케이션
위 3가지 소프퉤어는 계층성이 있으며, 한 레이어의 소프트웨어가 동작하지 않으면 상위 레이어의 소프트웨어는 설치해도 동작하지 않거나 설치조차 할 수 없는 제약 발생
DBMS는 계층 중 미들웨어
-> 운영체제와 애플리케이션의 중간에 위치
운영체제
: 시스템을 동작하게 하기 위한 기능을 제공하는 소프트웨어
미들웨어
: 애플리케이션 소프트웨어와 운영체제가 서로 소통할수 있게 해주는 소프트웨어
-> DB가 여기에 속하며, OS에 설치하여 움직임(OS에서 동작)
OS와 DBMS 조합 예
-> windows+mysql, Red Hat DB2
-> 이러한 하나의 조합에서 다른 조합으로 시스템을 변경하는 것을 마이그레이션
이라고 함
애플리케이션
: 업무용 기능을 가진 소프트웨어, 사용자가 가장 빈번하게 조작
애플리케이션을 구현하는 수단
1. Scratch(프로그래밍 언어로 프로그램 작성)
2. 기존에 있던 애플리케이션 소프트웨어 사는 방법(패키지)
스크래치는 직접 만들기 때문에 업무의 세세한 부분 까지 시스템에서 대응할 수 있지만 개발 비용이 커짐
반면 패키지는 기존 제품을 설치할 뿐이라 개발 비용이 줄지만, 기능이 부족해 커스터마이징에 따른 추가 개발이 필요한 경우가 많음
사용자는 애플리케이션을 매개로 해서 데이터베이스에 접근