데이터베이스는
'데이터의 집합' 혹은 '데이터의 저장공간'이며, 이 데이터베이스를 체계화된 방법으로 데이터를 저장, 관리, 조작하고, 필요한 경우에 데이터를 검색하고 업데이트 등에 운영하는 소프트웨어를 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이다.
💡 SQL은 Structured 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를 사용할 수 있다.
'MySQL > MySQL 기본' 카테고리의 다른 글
[MySQL] SELECT 구문과 조건절 (1) | 2024.06.04 |
---|---|
[MySQL] INSERT 구문과 제약 사항 (0) | 2024.06.04 |
[MySQL] 테이블 생성과 제약 사항 연습 (0) | 2024.06.03 |
[MySQL] 테이블에 데이터 입력 (0) | 2024.05.29 |
[MySQL] 데이터베이스 모델링 (0) | 2024.05.29 |