본문 바로가기
MySQL

데이터베이스

by 개발자공부 2024. 6. 5.

데이터베이스

데이터 집합 혹은 데이터 저장공간 자체를 의미.

데이터베이스를 체계화된 방법으로 데이터를 저장, 관리, 조작하고 필요한 경우에 데이터를 검색하고 업데이트 등에 운영하는 소프트웨어를 DBMS(database management system)라고 한다.

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

 

DBMS 소프트웨어 종류

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가 나오기 시작했으며 DBMS에 데이터를 구축하고 관리하고 활용하기 위해서 사용되는 언어가 SQL이다.

 

SQL

Structured Query Language 약자로 데이터베이스와 상호 작용하기 위해 사용되는 표준화된 프로그래밍 언어이다.

 

데이터 조회 : 데이터베이스에서 특정 데이터를 선택하고 검색하는데 사용된다. SELECT문을 사용하여 데이터베이스에서 원하는 열이나 행을 선택할 수 있다.

데이터 조작 : 데이터를 추가, 수정, 삭제하는데 사용된다. INSERT, UPDATE, DELETE문을 사용하여 데이터를 조작할 수 있다.

데이터 정의 : 데이터베이스 구조를 정의하거나 변경하는데 사용된다. CREATE, ALTER, DROP문을 사용하여 테이블, 인덱스, 뷰 등의 데이터베이스 개체를 생성, 수정, 삭제할 수 있다.

데이터 제어 : 데이터베이스에 대한 권한을 부여하고 관리하는데 사용된다. GRANT, REVOKE문을 사용하여 사용자에게 권한을 부여하거나 취소할 수 있다.

 

DBMS 분류

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

 

관계형 DBMS(Relational DBMS) - RDBMS

RDBMS의 특징은 테이블이라는 최소단위로 구성되어 있다. 테이블 행은 row라고 불리며 데이터의 개수와 같다. 열은 column이라고 불리며 필드라고도 불린다.

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

 

RDBMS에서 '도메인'이란 각 열(Column)이나 속성(Attribute)이 허용하는 값들의 집합을 의미한다. 해당 열에 들어갈 수 있는 값의 종류와 제약 조건을 정의하는 것이다.

예를 들어 나이는 열의 도메인은 양의 정수라고 정의, 주소는 문자열이고 최대 50자 이내로 저장 가능.

 

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

MySQL은 비상업용이나 교육용으로는 제한없이 사용이 가능하지만 상용으로 사용하기 위해서는 상용 라이선스를 취득해야 한다. 만약 상용으로도 무료로 사용하고 싶으면 MySQL 개발자가 만든 MariaDB를 사용할 수 있다.

'MySQL' 카테고리의 다른 글

Function  (0) 2024.06.11
JOIN  (0) 2024.06.11
INDEX  (0) 2024.06.11
KEY  (0) 2024.06.11
table CRUD  (3) 2024.06.11