DB (데이터베이스) 란?
데이터베이스는 '데이터의 집합' 혹은 '데이터의 저장공간'이며, 이 데이터베이스를 체계화된 방법으로 데이터를 저장, 관리, 조작하고, 필요한 경우에 데이터를 검색하고 업데이트 등에 운영하는 소프트웨어를 *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 문을 사용하여 사용자에게 권한을 부여하거나 취소할 수 있다.
DBMS 분류
계층형 DBMS, 망형 DBMS, 관계형 DBMS (RDBMS) 등
관계형 DBMS (Relational DBMS) - RDBMS
RDBMS의 특징은 테이블이라는 최소단위로 구성되어 있다. 테이블을 살펴보면 행과 열로 나눠지는데 행은 row라고 불리며 데이터의 개수와 같다. 열은 컬럼이라고 불리며 필드라고도 불린다.
즉 관계형 데이터 베이스란? 각 각의 테이블들을 정의하고 관계를 맺어서 관리하는 시스템을
관계형 데이터베이스 RDBMS라고 한다.
테이블 안에 사용되는 용어 정리
Primary Key : 고유한 데이터, 구분 가능한 (학점, 주민등록번호 같은)
: RDBMS에서 "도메인"이란 각 열(Column)이나 속성(Attribute)이 허용하는 값들의 집합을 의미한다. 해당 열에 들어갈 수 있는 값의 종류와 제약 조건을 정의하는 것이다.
나이 - 열의 도메인은 양의 정수라고 정의
주소 - 문자열이고 최대 50자 이내로 저장 가능
💡
MySQL은 Oracle사에서 제작한 DBMS 소프트웨어로 오픈소스로 제공한다.
! MySQL은 비상업용이나 교육용으로는 제한없이 사용이 가능하지만 상용으로 사용하기 위해서 는 상용 라이선스를 취득해야한다.
만약 상용으로도 무료로 사용하고 싶으면 MySQL 개발자가 만든 MariaDB를 사용할 수 있다.
728x90
'MySQL' 카테고리의 다른 글
테이블 생성과 제약 사항 연습 (0) | 2024.05.30 |
---|---|
테이블에 데이터 입력 (0) | 2024.05.29 |
데이터베이스 모델링 (0) | 2024.05.29 |
데이터베이스 구축 절차 (0) | 2024.05.28 |
샘플 데이터 구축 (0) | 2024.05.28 |