데이터베이스/MySQL

[MySQL] DBMS와 SQL

ReBugs 2023. 3. 5.

이 글은 혼자 공부하는 SQL(저자 : 우재남)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글임을 알립니다.


데이터베이스(Database)를 한 마디로 정의한다면 데이터의 집합이라고 한다.

DBMS의 정의

데이터베이스를 데이터의 집합이라고 정의한다면, 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS(Database Management System)이라고 한다.

데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 한다.

엑셀과 같은 프로그램은 데이터의 집합을 관리하고 운영한다는 면에서 DBMS로 볼 수 있지만, 대용량 데이터를 관리하거나 여러 사용자와 공유하는 개념과는 거리가 있어 DBMS라고 부르지 않는다.

 


 

SQL

DBMS는 데이터의 집합인 데이터베이스를 잘 관리하고 운영하기 위한 시스템 또는 소프트웨어를 말하는데, DBMS에 데이터를 구축, 관리하고 활용하기 위해서 사용되는 언어가 SQL(Structured Query Language)이다.

SQL을 사용하면 DBMS를 통해 중요한 정보들을 입력, 관리하고 추출할 수 있다.

SQL이 데이터베이스를 조작하는 언어이긴 하지만 일반적인 프로그래밍 언어와는 조금 다른 특성을 갖는다.

SQL은 특정 회사에서 만드는 것이 아니라 국제표준화기구에서 SQL에 대한 표준을 정해서 발표하고 있다.

이를 표준 SQL이라고 한다.

하지만 SQL을 사용하는 DBMS를 만드는 회사가 여러 곳이기 때문에 표준 SQL이 각 회사 제품의 특성을 모두 포용하지 못한다는 것이다.

그래서 DBMS를 만드는 회사에서는 되도록 표준 SQL을 준수하되, 각 제품의 특성을 반영한 SQL을 사용한다.

출처 : https://hongong.hanbit.co.kr/

 

3가지 DBMS 제품 모두 표준 SQL을 포함하고 있지만, 추가로 자신만의 기능을 가지고 있다.

오라클은 PL/SQL, SQL Server는 T-SQL, MySQL은 SQL로 부른다.

따라서 표준 SQL을 배우면 나중에 다른 DBMS를 접해도 쉽게 배울 수 있다.


 

DBMS의 분류

DBMS의 유형은 계층형, 망형, 관계형, 객체지향형, 객체관계형 등으로 분류된다.

현재 사용되는 DBMS 중에는 관계형 DBMS가 가장 많이 사용된다.

 

관계형 DBMS

관계형 DBMS(Relational DBMS)는 줄여서 RDBMS라고 부른다. 대부분 DBMS가 RDBMS 형태로 사용된다.

RDBMS의 데이터베이스는 테이블이라는 최소 단위로 구성되며, 이 테이블은 하나 이상의 행과 열로 이루어져 있다.

ID PW Name Phone number Address
flower 1q2w3e4r 홍길동 010-1234-5678 중국 베이징
moon 1234 박첨지 010-5678-1234 스위스 베른
soft qwer 강감찬 010-1111-2222 이탈리아 밀라노

위 테이블은 3개의 행과 5개의 열로 구성되어 있다.(4행 5열이 아니라 3행 5열이다(4행 5열 중 1행은 데이터가 아니므로))

 

  • 열(column) : 테이블의 세로를 뜻함. 위 테이블은 5열로 이뤄져 있다.
  • 열 이름 : 각 열을 구분하기 위한 이름이다. 열 이름은 각 테이블 내에서는 서로 달라야 하며, ID, PW, Name.. 등이 열 이름이다.
  •  : 실질적인 진짜 데이터를 말한다. 열 이름을 제외한 행을 말한다. 행 데이터라고 부르기도 한다. 위 테이블에서는 3행으로 이뤄져 있다.
  • 데이터 형식 : 열에 저장될 데이터 형식을 말한다. 위 테이블에서 이름은 숫자가 아닌 문자 형식이어야 한다. 데이터 형식은 테이블을 생성할 때 열 이름과 함께 지정해 준다.
  • 기본 키(Primary Key) : 기본 키 열은 각 행을 구분하는 유일한 열을 말한다. 위 테이블에서 다른 것은 중복되거나 생략 될 수 있지만 ID는 중복되거나 생략될 수 없기 때문에 ID가 기본 키이다. 테이블에는 열이 여러 개 있지만 기본 키는 1개만 지정해야 하며, 1개의 열에 지정한다.

 

RDBMS에서는 모든 데이터가 테이블에 저장된다. 이 구조가 가장 기본적이고 중요한 구성이기 때문에 테이블만 제대로 파악하면 RDBMS를 어느 정도 이해했다고 할 수 있다.

댓글