DBMS의 관계형 데이터 모델: Concepts & 예
⚡ 스마트 요약
관계형 모델은 데이터베이스를 관계들의 모음으로 표현하며, 각 관계는 행과 열로 이루어진 테이블입니다. 이 모델은 관계형 데이터의 일관성을 유지하고 쿼리하기 쉽게 만드는 핵심 개념, 무결성 제약 조건 및 업데이트 연산을 정의합니다.
관계형 모델이란 무엇인가요?
관계형 모델(RM) 데이터베이스는 관계의 집합으로 표현됩니다. 관계는 값의 테이블일 뿐입니다. 테이블의 모든 행은 관련 데이터 값의 컬렉션을 나타냅니다. 표의 이러한 행은 실제 엔터티 또는 관계를 나타냅니다.
테이블 이름과 열 이름은 각 행의 값 의미를 해석하는 데 도움이 됩니다. 데이터는 관계 집합으로 표현됩니다. 관계형 모델에서 데이터는 테이블 형태로 저장됩니다. 하지만 데이터의 물리적 저장 방식은 데이터의 논리적 구성 방식과 독립적입니다.
이 모델은 1970년 EF 코드에 의해 제안되었으며 오늘날 사용되는 거의 모든 주요 데이터베이스의 기반이 되고 있습니다. 널리 사용되는 관계형 데이터베이스 관리 시스템으로는 다음과 같은 것들이 있습니다.
- DB2 및 Informix Dynamic Server – IBM
- Oracle 그리고 RDB – Oracle
- SQL Server 및 액세스 – Microsoft
관계형 모델 Concepts DBMS에서
- 속성 : 테이블의 각 열을 속성이라고 합니다. 속성은 관계를 정의하는 요소이며, 예를 들어 학생 등록 번호(Student_Rollno), 이름(NAME) 등이 있습니다.
- 표 : 관계형 모델에서 관계는 테이블 형식으로 저장됩니다. 관계는 해당 엔티티와 함께 저장됩니다. 테이블은 행과 열이라는 두 가지 속성을 가지고 있습니다. 행은 레코드를 나타내고 열은 속성을 나타냅니다.
- 튜플: 그것은 단지 하나의 레코드를 담고 있는 표의 한 행일 뿐입니다.
- 관계 스키마: 관계 스키마는 해당 속성과 함께 관계의 이름을 나타냅니다.
- 학위 : 관계에 있는 속성의 총 개수를 관계의 차수라고 합니다.
- 카디널리티: 테이블에 있는 행의 총 개수입니다.
- 기둥: 열은 특정 속성에 대한 값 집합을 나타냅니다.
- 관계 인스턴스: 관계형 데이터베이스 시스템(RDBMS)에서 관계형 인스턴스는 유한한 튜플 집합입니다. 관계형 인스턴스는 중복된 튜플을 가질 수 없습니다.
- 관계 키: 각 행에는 하나, 둘 또는 그 이상의 속성이 있으며, 이를 관계 키라고 합니다.
- 속성 도메인: 모든 속성에는 미리 정의된 값과 범위가 있으며, 이를 속성 도메인이라고 합니다.
어휘력이 확보되었으니, 다음 과제는 유지하는 것입니다.ping 해당 관계의 데이터가 유효한지 확인하는 것이 무결성 제약 조건의 역할입니다.
관계형 Integrity 제약
DBMS에서 관계 무결성 제약 조건은 유효한 관계를 위해 반드시 충족되어야 하는 조건을 의미합니다. 이러한 관계 제약 조건은 데이터베이스가 나타내는 미니 세계의 규칙에서 파생됩니다.
무결성 제약 조건에는 여러 유형이 있습니다. 관계형 데이터베이스 관리 시스템의 제약 조건은 크게 세 가지 주요 범주로 나뉩니다.
- 도메인 제약
- 주요 제약
- 참조 Integrity 제약
도메인 제약
속성 값이 해당 도메인에 나타나지 않거나 적절한 데이터 형식이 아닌 경우 도메인 제약 조건을 위반할 수 있습니다.
도메인 제약 조건은 각 튜플 내에서 각 속성의 값이 원자적이어야 하며 올바른 도메인에서 가져와야 함을 지정합니다. 도메인은 데이터 유형으로 지정되며, 여기에는 정수, 실수, 문자, 부울 및 가변 길이 문자열과 같은 표준 유형이 포함됩니다.
예:
CREATE DOMAIN CustomerName CHECK (value NOT NULL)
이 예시는 CustomerName이 NULL이 아니도록 도메인 제약 조건을 생성하는 방법을 보여줍니다.
주요 제약
관계에서 튜플을 고유하게 식별할 수 있는 속성을 테이블의 키라고 합니다. 관계의 서로 다른 튜플에 대한 속성 값은 고유해야 합니다.
예:
주어진 표에서 CustomerID는 Customer 테이블의 핵심 속성입니다. 일반적으로 고객 한 명당 하나의 키만 가지며, CustomerID = 1은 CustomerName에만 해당합니다.Google다양한 열쇠 유형에 대한 자세한 내용은 가이드에서 다룹니다. DBMS 키.
| 고객 ID | 고객 이름 | Status |
|---|---|---|
| 1 | 최근활동 | |
| 2 | Amazon | 최근활동 |
| 3 | Apple | 비활성 |
참조 Integrity 제약
DBMS에서 참조 무결성 제약 조건은 외래 키 개념을 기반으로 합니다. 외래 키는 다른 관계에서 참조되어야 하는 관계의 중요한 속성입니다. 참조 무결성 제약 조건은 한 관계가 다른 관계 또는 동일한 관계의 키 속성을 참조할 때 발생합니다. 참조되는 키 요소는 참조되는 테이블에 반드시 존재해야 합니다.
예:
위 예시에는 고객과 두 개의 관계가 있습니다. BillING.
CustomerID = 1에 해당하는 튜플이 관계에서 두 번 참조됩니다. Billing. 그래서 우리는 CustomerName을 알고 있습니다.Google해당 항목의 청구 금액은 300달러입니다.
Opera관계형 모델의 구성
관계형 데이터베이스 모델에서는 삽입, 업데이트, 삭제, 선택의 네 가지 기본 업데이트 작업이 수행됩니다.
- insert는 관계에 데이터를 삽입하는 데 사용됩니다.
- 삭제는 테이블에서 튜플을 삭제하는 데 사용됩니다.
- 수정을 사용하면 기존 튜플의 일부 속성 값을 변경할 수 있습니다.
- 선택을 사용하면 특정 범위의 데이터를 선택할 수 있습니다.
이러한 작업 중 하나가 적용될 때마다 관계형 데이터베이스 스키마에 지정된 무결성 제약 조건을 절대 위반해서는 안 됩니다.
끼워 넣다 Opera기
삽입 작업은 관계에 삽입될 새 튜플의 속성 값을 반환합니다.
업데이트 Opera기
아래 관계표에서 볼 수 있듯이, CustomerName 'Apple'의 상태가 비활성에서 활성으로 업데이트되었습니다.
. Opera기
삭제를 지정하기 위해 관계 속성에 대한 조건은 삭제될 튜플을 선택합니다.
위 예시에서는 CustomerName "Apple"이 테이블에서 삭제됩니다.
삭제 작업은 삭제 대상 튜플이 동일한 테이블 내의 다른 튜플에서 외래 키로 참조되는 경우 참조 무결성을 위반할 수 있습니다. 데이터베이스.
선택 Opera기
위 예시에서 CustomerName은 "Amazon”가 선택되었습니다.
관계형 모델 vs 계층형 및 네트워크 모델
관계형 모델은 이전의 두 가지 접근 방식을 대체했으며, 그 차이점을 통해 이 모델이 지배적인 위치를 차지하게 된 이유를 설명할 수 있습니다. 아래 표는 세 가지 접근 방식을 나란히 비교합니다.
| 아래 | 관계형 모델 | 계층적 모델 | 네트워크 모델 |
|---|---|---|---|
| Structure | 테이블(관계) | 나무, 부모에서 자식으로 | 그래프, 다대다 |
| 데이터 접근 | 선언적, 값에 의한 | 경로에 의한 내비게이션 | 포인터를 이용한 탐색 |
| 관계 | 외래 키 | 부모-자식 링크 | 집합과 포인터 |
| 쿼리 언어 | SQL | 절차 코드 | 절차 코드 |
| 유연성 | 높음 | 높음 | 중급 |
관계형 모델은 물리적 링크를 탐색하는 방식이 아니라 값으로 데이터를 다루기 때문에, 다음과 같은 고수준 언어가 필요합니다. SQL 데이터가 어떻게 저장되는지 몰라도 쿼리를 표현할 수 있습니다.
관계형 모델 구축을 위한 최고의 실천 방안
- 데이터는 관계들의 모음으로 표현되어야 합니다.
- 표에는 각 관계가 명확하게 나타나야 합니다.
- 각 행에는 엔티티의 인스턴스에 대한 데이터가 포함되어야 합니다.
- 컬럼에는 엔티티의 속성에 대한 데이터가 포함되어야 합니다.
- 표의 각 셀에는 하나의 값만 있어야 합니다.
- 각 열에는 고유한 이름을 지정해야 합니다.
- 두 줄이 완전히 동일할 수는 없습니다.
- 속성 값은 동일한 도메인에서 가져와야 합니다.
관계형 데이터베이스 모델의 장점
- 간단: DBMS의 관계형 데이터 모델은 계층형 모델이나 네트워크 모델보다 더 간단합니다.
- 구조적 독립성: 관계형 데이터베이스는 구조가 아닌 데이터에만 초점을 맞추므로 모델의 성능을 향상시킬 수 있습니다.
- 사용하기 편한 : 관계형 모델은 행과 열로 구성된 테이블이 자연스럽고 이해하기 쉽기 때문에 사용하기 편리합니다.
- 조회 기능: 이를 통해 SQL과 같은 고급 쿼리 언어가 복잡한 데이터베이스 탐색을 피할 수 있게 됩니다.
- 데이터 독립성: 관계형 데이터베이스의 구조는 애플리케이션을 변경하지 않고도 변경할 수 있습니다.
- 확장 가능 : 데이터베이스는 레코드 또는 행의 수와 필드의 수를 늘려 확장함으로써 사용성을 향상시킬 수 있습니다.
관계형 모델의 단점
- 필드 길이에 제한이 있고, 그 제한을 초과할 수 없는 관계형 데이터베이스는 거의 없습니다.
- 관계형 데이터베이스는 데이터 양이 증가하고 데이터 간의 관계가 복잡해짐에 따라 복잡해질 수 있습니다.
- 복잡한 관계형 데이터베이스 시스템은 시스템 간 정보 공유가 불가능한 고립된 데이터베이스로 이어질 수 있습니다.







