관계형 데이터 베이스 관리 시스템 (RDBMS)
DB공부에 사용할 Data Base Management System(이하 BDMS)는 MySQL이다.
모든 DB가 표준 SQL을 기본으로 하기 때문에 가장 기본적으로 공부하기 위한 DB를 선택했다.
공부에 사용 할 MySQL은 관계형 데이터 베이스 관리 시스템이다. 위 랭킹표에서 볼 수 있는 것처럼, 가장 보편화된 모델 중 하나이다. 테이블을 사용하여 데이터를 정의하고, 속성과 값 사이의 관계를 이용한다고 생각하면 된다. (정보처리 기사 자격증을 취득한 것이 도움이 될 것 같다.)
SQL(Structured Query Language)
컴퓨터 언어의 종류에 C언어나 Python언어가 있듯이 SQL은 RDBMS을 관리하기 위한 표준 프로그래밍 언어이다.
실제 실무에서 사용되는 DBMS는 회사가마다 다르고, 다양한 DBMS마다 문법의 차이가 있으니 가장 기본적인 틀을 공부해둔 뒤 현업에서 사용하는 DBMS를 따로 공부하는 쪽이 조금 더 효과적인 방법이라고 생각한다.
SQL은 세 가지 종류로 나눌 수 있다.
1. Data Definition Language - 데이터 정의 언어
관계형 데이터베이스의 구조를 정의한다. 행, 열, 테이블, 인덱스를 정의하는 언어이다.
2. Data Manipulation Language - 데이터 조작 언어
데이터 검색, 등록, 삭제, 갱신을 수행하는 언어이다.
3. Data Control Language - 데이터 제어 언어
데이터에 대한 엑세스를 제어하는 언어이다.
후에 직접 DBMS를 다루면서 공부할 내용이니 간단하게만 정리해 두겠다.
개발 환경
내 개발환경은 이 블로그를 참고했다. 윈도우에서 docker를 사용해서 VMware를 사용할 때 보다 조금 더 가벼운 접근을 할 수 있다.
허윤석 교수님의 "사물인터넷"강의에서 Linux환경의 Docker를 사용했던 적이 있다. 강의 시간에 정말 잘 알려주셨기 때문에 어렵지 않게 윈도우 개발 환경도 설정할 수 있었다. Docker에 대한 자세한 개념은 여기를 참고하자. 정말 편리한 오픈소스 프로젝트를 알려주신 허윤석 교수님께 정말 감사하다.
링크한 블로그를 쭉 따라 해 보면 사진과 같은 결과가 출력될 것이다.
이제 docker안에 들어가서 블로그에서 나온 것 처럼 버전을 출력해보겠다.
성공적이다.
이제 SQL부터 나만의 프로젝트를 만들고 수행하는 것 까지 다양한 공부를 해보려고 한다.
그리고 왠만하면 CLI에서 DBMS를 다루려고 한다. 임베디드 개발 직무 쪽으로도 준비하고 있기 때문에 조금 더 CLI에 익숙해져야 한다고 생각한다.
CLI는 Command Line Interface 의 약자이고 GUI(Graphical User Interface)와 반대(?)되는 개념이라고 생각하면 된다. 요즘 윈도우나 심지어 우분투도 GUI를 사용하지만, 임베디드 리눅스에서는 아직까지 CLI를 사용하기 때문에 CLI를 사용하려고 하는 것이다.
'Computer_Language > DataBase_Python' 카테고리의 다른 글
[DB][MySQL] pymysql을 사용하여 파이썬에서 DB 다루기 (0) | 2019.10.21 |
---|---|
[DB][MySQL] 데이터베이스의 DCL(Data Control Language) (0) | 2019.10.18 |
[DB][MySQL] 데이터베이스의 DML(Data Manipulation Language) (0) | 2019.10.16 |
[DB][MySQL] 데이터베이스의 DDL(Data Definition Language) (0) | 2019.10.05 |