RDBMS(Relational DBMS)란?
: 표 형태로 데이터를 구조화하고 관리하는 데이터 베이스이다.
관계형 데이터베이스는 데이터를 테이블 형태로 구조화하는 방식이다.
이는 2차원 테이블을 사용하여 데이터를 정의하고 표현하는 데이터 모델이다.
여기서 속성(Attribute)과 해당 속성에 대응하는 데이터값(Attribute Value)으로 이루어져 있다.
구체적으로 말하자면, 데이터를 정리하고 설명하기 위해 속성과 데이터 값 간의 관계를 찾아내어 이를 테이블 형식으로 나타낸다.
이 테이블은 열(Column)과 행(Row)으로 이루어져 있으며, 각 열은 데이터의 속성을 나타내고, 각 행은 해당 속성에 대응하는 데이터 값을 포함하고 있다.
RDBMS 기본구조(Structure)
Column = Attribute = Field
Row = Record = Tuple
Datebase -> Table -> Column, Row
- 스키마(Schema) : 데이터베이스의 구조를 정의하는 것. 스키마는 테이블, 행, 열, 인덱스, 관계 등의 데이터베이스 구조를 명시
- SQL(Structured Query Language) : 데이터베이스에서 데이터를 관리하기 위해 사용되는 표준 프로그래밍 언어이다. SQL을 사용하여 데이터베이스에 질의, 업데이트, 삭제 등의 작업을 수행할 수 있다.
- 인덱스(Index) : 데이터베이스에서 데이터 검색 속도를 빠르게 하기 위해 사용되는 객체. 인덱스는 특정 열에 대한 포인터를 포함하여 검색시간을 단축시킨다.
- 데이터베이스 관리 시스템(DBMS) : 데이터 베이스를 생성하고 관리하는 소프트웨어이다.
- 트랜잭션(Transaction) : 데이터베이스의 상태를 변화시키는 하나의 작업 단위이다. 트랜젝션은 데이터 무결성을 유지하는데 중요한 역할을 한다.
- 단점 :
- 성능 : 대용량 데이터 처리나 복잡한 쿼리에 대한 성능이 다른 모델에 비해 낮을 수 있다.
- 확장 어려움 : 수직적 확장이 한계가 있고, 수평적 확장은 복잡하고 비용이 많이들 수 있다.
- 유연성 부족 : 스키마 변경이 어려워서 요구사항 변경에 대응하기 어렵다.
- 복잡한 조인 : 많은 테이블 간의 조인은 성능에 부정적인 영향을 끼칠 수 있다.
- 고비용 : 서버 하드웨어 및 라이선스 비용이 상대적으로 높을 수 있다.
RDBMS눈 데이터의 구조화와 안정성 측면에서 강력하며, 일반적인 업무 응용에 적합하다. 그러나 성능이나 유연성 등의 측면에서 고려해야할 부분도 있다.
RDBMS의 구성 요소
- 데이터베이스(Datebase) : 구조화된 데이터의 집합이다. 데이터베이슨느 데이터를 저장, 검색, 수정, 삭제할 수 있게 해주는 시스템이다.
- 테이블(Table) : 데이터베이스 내에서 데이터가 저장되는 장소이다. 테이블은 행과 열의 격자형태로 구성된다.
- 행(Row)/레코드(Record) : 테이블 내의 개별 데이터 항목을 나타낸다. 각 행은 하나의 데이터 항목 또는 개체를 나타낸다.
- 열(Column)/필드(Field) : 테이블 내의 특정 카테고리 또는 데이터 유형을 나타낸다.
- 키(key) : ID
a. 기본키(PK -> Primary Key) : 테이블 내의 각 행을 고유하게 식별하는 열이다. 기본 키의 값은 유일하며, 각 행마다 다른 값을 가져야한다.
b. 외래키(FK -> Foreign Key) : 다른 테이블의 기본키를 참조하는 열이다. 외래키는 두 테이블 간의 관계를 설정하는데 사용된다.
대표적인 RDBMS
MySQL
: 오픈 소스 RDBMS로서 가장 인기 있는 데이터베이스 중 하나이다. 다양한 환경에서 사용되며, 웹 애플리케이션부터 대규모 엔터프라이즈 시스템에 이르기까지 다양한 용도로 활용된다.PostgreSQL
: 객체 관계형 데이터베이스 시스템으로, 확장 가능하고 풍부한 기능을 제공한다. ACID 호환성 및 다양한 데이터 유형을 지원하며 고급 데이터베이스 요구에 적합하다.Microsoft SQL Server
: Microsoft 에서 제공하는 RDBMS로, Windows 기반 환경에서 주로 사용된다. 엔터프라이즈급 데이터베이스 솔루션으로 개발 및 관리에 용이하다.Oracle Datebase
: 오라클이 개발한 대규모 엔터프라이즈용 RDBMS이다. 뛰어난 성능과 안정성, 확장성을 제공하여 대부분의 산업분야에서 사용된다.SQLite
: 경량이면서도 서버없이 로컬에서 사용할 수 있는 RDBMS이다. 임베디드 시스템이나 모바일 애플리케이션에서 많이 활용된다.
이 중 MySQL과 PostgreSQL는 오픈 소스로 무료로 사용할 수 있어서 커뮤니티에서도 널리 사용되고 있다.
Microsoft SQL Server와 Oracle Datebase는 주로 기업 환경에서 사용되며, 각각의 특정용도나 환경에 따라 선택될 수 있다.
SQLite는 경량 환경이나 모바일 애플리케이션에서 간단한 데이터베이스 요구에 활용된다.
'Database' 카테고리의 다른 글
| Database. 1일차 - MySQL User 데이터 관리하기 (0) | 2024.01.24 |
|---|---|
| Database. 1일차 - 스키마(Schema) 구성(DDL) (0) | 2024.01.24 |
| Database. 1일차 - 스키마(Schema) 개념, SQL의 개념 (0) | 2024.01.24 |
| Database. 1일차 - DBMS의 개념과 종류 (1) | 2024.01.24 |
| Database. 1일차 - DB의 개념과 역사, 데이터모델 (1) | 2024.01.24 |