관계형 데이터베이스 모델
1970년대 IBM의 E.F. Codd가 개발한 관계형 데이터베이스 모델을 사용하면 공통 속성을 사용하여 모든 테이블을 다른 테이블과 연관시킬 수 있습니다. Codd는 계층 구조를 사용하여 데이터를 구성하는 대신 데이터가 포함된 테이블을 재구성하지 않고 데이터가 테이블에 저장, 액세스, 연결되는 데이터 모델을 사용하는 방식으로 전환할 것을 제안했습니다.
관계형 데이터베이스를 비즈니스에서 데이터를 구성, 관리, 연결하는 데 도움이 되는 스프레드시트 파일 모음이라고 생각하면 됩니다. 관계형 데이터베이스 모델에서 각 '스프레드시트'는 열(속성)과 행(레코드 또는 튜플)으로 대표되는 정보를 저장하는 테이블입니다.
속성(열)에서는 데이터 유형을 지정하며 각 레코드(또는 행)에는 구체적인 데이터 유형의 값이 포함됩니다. 관계형 데이터베이스의 모든 테이블에는 행의 고유 식별자인 기본 키라는 속성이 있으며 각 행은 다른 기존 테이블의 기본 키에 대한 참조인 외래 키를 사용하여 서로 다른 테이블 간의 관계를 만드는 데 사용될 수 있습니다.
이제 관계형 데이터베이스 모델의 실제 작동 방식을 살펴보겠습니다.
고객 테이블과 주문 테이블이 있다고 가정해 보겠습니다.
고객 테이블에는 고객 데이터가 포함됩니다.
- 고객 ID(기본 키)
- 고객 이름
- 청구서 수신 주소
- 배송지 주소
고객 테이블에서 고객 ID는 고객이 관계형 데이터베이스에서 고유하게 식별되는 기본 키입니다. 고객 ID가 같은 다른 고객은 없습니다.
주문 테이블에는 주문 거래 정보가 포함됩니다.
- 주문 ID(기본 키)
- 고객 ID(외래 키)
- 주문 날짜
- 배송일
- 주문 상태
여기에서 특정 주문을 식별하는 기본 키는 주문 ID입니다. 외래 키를 사용하여 고객 테이블의 고객 ID를 연결해 고객을 주문과 연결할 수 있습니다.
이제 두 테이블이 공유된 고객 ID를 기반으로 관련됩니다. 즉, 두 테이블을 쿼리하여 공식 보고서를 만들거나 다른 애플리케이션에 데이터를 사용할 수 있습니다. 예를 들어 소매 지점 관리자는 특정 날짜에 구매한 모든 고객에 대한 보고서를 생성하거나 지난 달 주문 중에 배송일이 지연된 고객을 파악할 수 있습니다.
위의 설명은 간단하지만, 관계형 데이터베이스는 데이터 간의 매우 복잡한 관계를 보여주는 데에도 탁월하므로 데이터가 데이터베이스의 사전 정의된 관계형 스키마를 준수하는 한 더 많은 테이블의 데이터를 참조할 수 있습니다.
데이터가 사전 정의된 관계로 구성되므로 데이터를 선언적으로 쿼리할 수 있습니다. 선언적 쿼리는 시스템이 결과를 어떻게 연산해야 하는지 표현하지 않고 시스템에서 추출할 내용을 정의하는 방법입니다. 이는 다른 시스템과 달리 관계형 시스템의 핵심입니다.
'Daily Logs > TIL (Today I Learned)' 카테고리의 다른 글
9월 11일 SQL (1) | 2024.09.11 |
---|---|
9월 10일 콜백함수 (0) | 2024.09.10 |
9월 6일 Node.js - Express.js (1) | 2024.09.06 |
9월 4일 Express.js (0) | 2024.09.04 |
9월 3일 Module (0) | 2024.09.03 |