상세 컨텐츠

본문 제목

[MySQL] 데이터베이스란

MySQL/MySQL 기본

by 미로910 2024. 5. 28. 10:03

본문

데이터베이스

'데이터의 집합' 혹은 '데이터의 저장공간'이며, 이 데이터베이스를 체계화된 방법으로 데이터를 저장, 관리, 조작하고, 필요한 경우에 데이터를 검색하고 업데이트 등에 운영하는 소프트웨어를 DBMS라고 한다.

데이터베이스 - 데이터의 저장 공간 자체를 의미한다.

DBMS - Database Management System(소프트웨어)

데이터의 집합을 우리는 파일이나 엑셀 프로그램을 사용해서 데이터의 집합으로 사용할 수 있지만 대용량에 데이터를 관리한다거나 여러 명의 사용자가 동시에 접근을 할 수가 없기 때문에 DBMS라고 부르기는 어렵다.

DBMS에는 MySQL말고 다양한 소프트웨어 종류들이 많다.

(DBMS 제작사 운영체제 기타)

MySQL Oracle Unix, Linux, Windows, Mac 오픈소스(무료), 상용
MariaDB MariaDB Unix, Linux, Windows 오픈소스(무료)
PostgreSQL PostgreSQL Unix, Linux, Windows, Mac 오픈소스(무료)
Oracle Oracle Unix, Linux, Windows 상용시장 점유율 1위
SQL Server Microsoft Windows  
SQLite SQLite Android, ios 모바일 전용, 오픈소스(무료)

 

파일이나 엑셀을 대신해서 DBMS의 특징을 살펴 보자.

  • 데이터의 무결성: DB안의 데이터는 오류가 있으면 안된다.
  • 데이터의 독립성: DB의 저장소를 바꾸고 구성을 바꾼다고 해도 응용프로그램 코드는 변경이 되어서는 안된다.
  • 보안: 사용자계정에 따라 데이터 접근을 허가할지 말지를 결정하며 허가된 사용자더라도 서로 각각 다른 권한을 가져야 한다.
  • 데이터 중복의 최소화
  • 응용프로그램 제작 및 수정이 쉬워짐
  • 데이터의 안전성 향상: DBMS가 제공하는 백업 및 복원기능으로 데이터의 안전성을 높일 수 있다.

 

데이터베이스의 발전

  • 오프라인으로 관리: 컴퓨터가 없었던 시절, 장표같은 걸로 관리하였다.
  • 파일시스템 이용: 메모장이나 엑셀같은 프로그램을 통해 소량의 데이터를 관리하기 시작하였다. 하지만 데이터가 많아지면서 파일의 크기가 커지면서 문제발생 우려가 발생하기 시작하였다.

  • 데이터 베이스 관리시스템: 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해 DBMS가 나오기 시작했으며 DBMS에 데이터를 구축하고 관리하고 활용하기 위해서 사용되는 언어가 SQL이다.
💡 SQLStructured Query Language의 약자로, 데이터베이스와 상호 작용하기 위해 사용되는 표준화된 프로그래밍 언어입니다.

데이터 조회: 데이터베이스에서 특정 데이터를 선택하고 검색하는 데 사용됩니다.
SELECT 문을 사용하여 데이터베이스에서 원하는 열이나 행을 선택할 수 있습니다.
데이터 조작: 데이터를 추가, 수정, 삭제하는 데 사용됩니다. INSERT, UPDATE, DELETE 문을 사용하여 데이터를 조작할 수 있습니다.
데이터 정의: 데이터베이스 구조를 정의하거나 변경하는 데 사용됩니다. CREATE, ALTER, DROP 문을 사용하여 테이블, 인덱스, 뷰 등의 데이터베이스 개체를 생성, 수정, 삭제할 수 있습니다.
데이터 제어: 데이터베이스에 대한 권한을 부여하고 관리하는 데 사용됩니다. GRANT, REVOKE 문을 사용하여 사용자에게 권한을 부여하거나 취소할 수 있습니다.
SQL은 Structured Query Language의 약자 → 우리나라 언어로 질의어

 

DBMS 분류

계층형 DBMS, 망형 DBMS, 관계형 DBMS (RDBMS) 등..

R → 관계 // 요즘 쓰는 게 RDBMS R을 붙임 (데이터를 만들 때 관계를 만든다..)

관계형 DBMS (Relational DBMS) - RDBMS

RDBMS의 특징은 테이블이라는 최소단위로 구성되어 있다.

테이블을 살펴보면 행과 열로 나눠지는데 행은 row라고 불리며 데이터의 개수와 같다.

열은 컬럼이라고 불리며 필드라고도 불린다.

즉 관계형 데이터 베이스란?

각 각의 테이블들을 정의하고 관계를 맺어서 관리하는 시스템을 관계형 데이터베이스 RDMBS라고 한다.

 

테이블 안에 사용되는 용어 정리

RDBMS에서 "도메인"이란 각 열(Column)이나 속성(Attribute)이 허용하는 값들의 집합을 의미한다.

해당 열에 들어갈 수 있는 값의 종류와 제약 조건을 정의하는 것이다.

나이 - 열의 도메인은 양의 정수라고 정의2

주소 - 문자열이고 최대 50자 이내로 저장 가능

"도메인" (Domain) → 범주화다.. (제약 조건을 정의하는 것)

Primary key → 오브젝트의 식별자 (구분할 수 있는 기준값) ex) id, 학번

 

MySQL은 Oracle사에서 제작한 DBMS 소프트웨어로 오픈소스로 제공한다.

MySQL은 비상업용이나 교육용으로는 제한없이 사용이 가능하지만 상용으로 사용하기 위해서는 상용 라이선스를 취득해야한다.

만약 상용으로도 무료로 사용하고 싶으면 MySQL 개발자가 만든 MariaDB를 사용할 수 있다.

관련글 더보기