데이터는 현대 사회에서 가장 중요한 자산 중 하나다. 따라서 데이터를 효율적으로 저장, 검색, 수정하고 관리하는 시스템이 필요하다. 이러한 필요성에서 비롯된 것이 데이터베이스 관리 시스템(DBMS, Database Management System)이다. 그 중에서도 MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS, Relational Database Management System) 중 하나다.
데이터베이스는 관련된 데이터의 집합이다. 이를 엑셀의 표와 비슷하게 생각할 수 있다. 각 행(row)은 레코드라고 부르며, 특정한 정보(예: 한 사람의 정보)를 나타낸다. 열(column)은 해당 정보의 속성(예: 이름, 나이)을 나타낸다.
DBMS는 데이터베이스를 관리하는 소프트웨어나 시스템을 의미한다. 데이터 입력, 수정, 삭제, 검색 등의 작업을 할 때 DBMS를 통해서 수행한다. 쉽게 말해서, DB는 책장과 같고, DBMS는 그 책장에 책을 놓거나 찾는 사람과 같은 역할을 한다.
MySQL은 1995년에 스웨덴에서 만들어진 오픈 소스 RDBMS다. 여기서 '오픈 소스(open source)'란 누구나 자유롭게 사용, 수정, 배포할 수 있는 소프트웨어를 의미한다. MySQL은 웹 기반 애플리케이션에서 특히 널리 사용된다.
RDBMS는 '관계형 데이터베이스 관리 시스템'이라는 의미다. '관계형'이라는 말은 데이터들 사이에 관계를 맺을 수 있다는 것을 의미한다. 예를 들어, '사용자' 데이터베이스와 '주문' 데이터베이스가 있다고 하면, 어떤 사용자가 어떤 주문을 했는지 관계를 맺어서 알 수 있다.
MySQL은 여러 이유로 많이 사용된다. 그 중 몇 가지 주요한 이유는 다음과 같다:
테이블은 데이터베이스에서 데이터를 저장하는 기본 단위다. 테이블은 여러 개의 열(column)과 행(row)으로 구성된다. 열은 데이터의 속성을 나타내며, 행은 개별 레코드(데이터 한 단위)를 나타낸다.
스키마는 데이터베이스의 구조와 제약 조건에 대한 전반적인 정보를 담고 있는 것이다. 예를 들어 테이블의 정의, 테이블 사이의 관계, 테이블에 존재할 수 있는 데이터의 타입과 제약 조건 등이 스키마에 속한다.