MYSQL

RDB 란

0hee 2024. 7. 1. 11:49

RDB는 "Relational Database"의 약자로, 관계형 데이터베이스를 의미합니다. 관계형 데이터베이스는 데이터를 테이블 형식으로 저장하고, 이 테이블들 간의 관계를 통해 데이터를 관리하는 시스템입니다. 관계형 데이터베이스는 구조화된 데이터 관리에 매우 효과적이며, SQL(Structured Query Language)을 사용하여 데이터를 정의, 조작, 조회할 수 있습니다.

주요 특징

1. 테이블 기반 구조:
   - 데이터는 행(레코드)과 열(필드)로 구성된 테이블에 저장됩니다.
   - 각 테이블은 고유한 이름을 가지며, 특정 엔터티 또는 객체를 나타냅니다.

2. 관계 정의:
   - 테이블 간의 관계는 외래 키(Foreign Key)를 사용하여 정의됩니다.
   - 관계형 데이터베이스는 일대일(One-to-One), 일대다(One-to-Many), 다대다(Many-to-Many) 관계를 지원합니다.

3. SQL 사용:
   - 데이터를 생성, 읽기, 업데이트 및 삭제(CRUD)를 위해 SQL을 사용합니다.
   - SQL은 표준화된 언어로, 대부분의 관계형 데이터베이스 시스템에서 사용됩니다.

4. ACID 속성:
   - 관계형 데이터베이스는 트랜잭션의 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)을 보장합니다.
   - 이 속성들은 데이터의 무결성과 안정성을 유지하는 데 중요한 역할을 합니다.

주요 구성 요소

1. 테이블(Table):
   - 데이터가 저장되는 기본 단위입니다.
   - 각 테이블은 고유의 열(필드) 구조를 가지며, 행(레코드)으로 구성됩니다.

2. 행(Row):
   - 테이블 내의 개별 데이터 엔트리입니다.
   - 각 행은 테이블의 모든 열에 대한 값을 가집니다.

3. 열(Column):
   - 테이블 내의 데이터 속성 또는 필드입니다.
   - 각 열은 특정 데이터 타입을 가집니다.

4. 키(Key):
   - 기본 키(Primary Key): 테이블 내에서 각 행을 고유하게 식별하는 열 또는 열의 집합입니다.
   - 외래 키(Foreign Key): 다른 테이블의 기본 키를 참조하여 테이블 간의 관계를 나타냅니다.

예시

아래는 간단한 관계형 데이터베이스의 예입니다. 두 개의 테이블 `Customers`와 `Orders`가 있으며, 이 두 테이블 간의 관계를 나타냅니다.

# Customers 테이블

| CustomerID | Name     | Email           |
|------------|----------|-----------------|
| 1          | John Doe | john@example.com|
| 2          | Jane Doe | jane@example.com|



# Orders 테이블

| OrderID | OrderDate  | CustomerID | Amount |
|---------|------------|------------|--------|
| 101     | 2023-06-01 | 1          | 250.00 |
| 102     | 2023-06-02 | 2          | 150.00 |



여기서 `Customers` 테이블의 `CustomerID`는 `Orders` 테이블의 `CustomerID`와 외래 키 관계를 맺어, 각 주문이 어느 고객에 의해 이루어졌는지를 나타냅니다.

주요 관계형 데이터베이스 관리 시스템(RDBMS)

- MySQL: 오픈 소스 RDBMS로 웹 애플리케이션에서 널리 사용됩니다.
- PostgreSQL: 고급 기능과 확장성을 갖춘 오픈 소스 RDBMS입니다.
- Oracle Database: 대규모 기업 환경에서 널리 사용되는 상용 RDBMS입니다.
- Microsoft SQL Server: Microsoft가 개발한 상용 RDBMS로, 다양한 비즈니스 환경에서 사용됩니다.
- SQLite: 경량의 파일 기반 RDBMS로, 임베디드 시스템 및 모바일 애플리케이션에 자주 사용됩니다.

결론

관계형 데이터베이스는 구조화된 데이터를 효과적으로 관리하고 쿼리할 수 있는 강력한 시스템입니다. SQL을 통해 데이터베이스와 상호 작용할 수 있으며, 데이터의 무결성과 안정성을 보장하는 ACID 속성을 지원합니다. 다양한 RDBMS가 존재하며, 각 시스템은 특정 용도와 요구에 맞춰 선택할 수 있습니다.