관계형 데이터베이스
1. 관계형 데이터 구조 및 형식 정의
데이터 모델의 세 가지 요소에 따라 관계형 모델은 관계형 데이터 구조, 관계형 연산 집합 및 관계형 무결성 제약의 세 부분으로 구성됩니다 . 다음이 차례로 소개됩니다.
1.1. 관계
관계형 모델의 데이터 구조는 단일 데이터 구조 관계 만 포함하는 매우 간단 합니다. 사용자의 관점에서 관계형 모델 데이터의 논리적 구조는 평면 2 차원 테이블입니다. 관계형 모델은 대수를 기반으로합니다. 다음은 집합 이론의 관점에서 관계형 데이터 구조의 공식적인 정의입니다.
-
지역
도메인은 데이터 유형이 동일한 값의 집합입니다.
-
데카르트 곱
데카르트 곱은 도메인에 대한 집합 연산입니다.
정의 : 도메인 세트 : D1, D2, ..., Dn이 주어지면 일부는 동일 할 수 있습니다.이 도메인 세트의 데카르트 곱은 다음과 같습니다.
D 1 ✖ D 2 ✖. . . ✖ D n = {(d 1, d 2,..., dn) ∣ di ∈ D i, i = 1, 2,. . . , n} D1✖D2✖ ... ✖Dn = \ {(d1, d2, ..., dn) | di∈Di, i = 1,2, ..., n \}D 1 ✖ D 2 ✖ . . . ✖ D N={ ( D 1 ;d 2 ,. . . ,d n ) ∣ d 나는∈D I ,나는=1 ,2 ,. . . ,n }
그 중에서도, 각 소자 (D1은, D2는, ..., DN)는 호출 N 튜플 또는 대한 터플 짧은 . 요소의 각 값 di를 구성 요소라고합니다. 도메인에 허용되는 서로 다른 값의 수를 도메인의 카디널리티 라고합니다 . 데카르트 곱은 2 차원 테이블로 표현할 수 있습니다. 테이블의 각 행은 튜플에 해당하며 테이블의 각 열 값은 필드에서 가져옵니다 .
-
관계
D1✖D2✖ ... ✖Dn의 하위 집합은 도메인 D1, D2, ..., Dn에 대한 관계라고하며 다음과 같이 표현됩니다. R (D1, D2, ..., Dn) . 여기서 R은 관계의 이름이고 n은 관계의 순서 또는 정도입니다.
관계의 특정 속성 그룹 값이 튜플을 고유하게 식별 할 수 있지만 다른 서브 세트는 식별 할 수없는 경우 속성 그룹을 후보 코드 라고합니다 . 관계에 대한 후보 코드가 여러 개있는 경우 그중 하나를 기본 코드로 선택합니다 . 후보 코드의 속성을 기본 속성이라고합니다 . 후보 코드에 포함되지 않은 속성을 비 기본 속성 또는 비 코드 속성이라고합니다. 가장 간단한 경우 후보 코드에는 하나의 속성 만 포함됩니다. 가장 극단적 인 경우 관계형 패턴의 모든 속성은이 관계형 패턴의 후보 코드이며이를 전체 코드 라고 합니다.
관계 유형에는 기본 관계 (일반적으로 기본 테이블 또는 기본 테이블이라고 함), 쿼리 테이블 및 뷰 테이블의 세 가지 유형이 있습니다. 기본 관계에는 다음과 같은 6 가지 속성이 있습니다.
- 열은 동종입니다. 즉, 각 열의 구성 요소는 동일한 유형의 데이터이며 동일한 도메인에서 제공됩니다.
- 동일한 도메인에서 다른 열을 가져올 수 있으며 각 열을 속성이라고하며 다른 속성에는 다른 속성 이름을 지정해야합니다.
- 열의 순서는 중요하지 않습니다.
- 두 튜플의 후보 코드는 같은 값을 가질 수 없습니다.
- 줄의 순서는 중요하지 않습니다.
- 구성 요소는 원자 값을 가져야합니다. 즉, 각 구성 요소는 분할 할 수없는 데이터 항목이어야합니다.
1.2, 관계 모델
유형과 값은 데이터베이스에서 구별되어야합니다. 관계형 데이터베이스에서 관계형 모델은 유형이고 관계는 값입니다. 관계 모델은 관계에 대한 설명입니다. 그 관계의 어떤 부분을 설명해야합니까?
정의 : 관계에 대한 설명을 관계 모델이라고합니다. 공식적으로 다음과 같이 표현할 수 있습니다. R (U, D, DOM, F)
그 중에서 R은 관계의 이름, U는 관계를 구성하는 속성 이름의 집합, D는 U의 속성이 시작되는 도메인, DOM은 속성에서 도메인으로의 매핑 집합, F는 속성 간의 종속성 집합입니다 .
1.3, 관계형 데이터베이스
관계형 모델에서 엔터티와 엔터티 간의 연결은 관계로 표시됩니다. 주어진 애플리케이션 도메인에서 모든 관계의 모음은 관계형 데이터베이스를 구성합니다 .
관계형 데이터베이스에는 유형과 값도 있습니다. 관계형 데이터베이스의 유형은 관계형 데이터베이스 모델이라고도하며 관계형 데이터베이스에 대한 설명입니다 . 관계형 데이터베이스의 값은 특정 순간에 이러한 관계형 패턴에 해당하는 관계의 모음이며 일반적으로 관계형 데이터베이스라고합니다 .
2. 관계 운영
2.1, 기본 관계 작업
관계형 모델에서 일반적으로 사용되는 관계형 작업에는 쿼리 작업과 삽입, 삭제 및 수정 작업이 포함 됩니다. 쿼리 연산은 선택, 투영, 연결, 나누기, 합집합, 차이, 교차, 데카르트 곱 등으로 나눌 수 있습니다. 그 중에서 선택, 투영, 합집합, 차이 및 데카르트 곱이 다섯 가지 기본 작업 입니다.
2.2. 관계형 데이터 언어의 분류
관계형 대수 언어 (ISBL), 관계형 계산 언어 : 튜플 관계형 계산 언어 (ALPHA, QUEL) 및 도메인 관계형 계산 언어 (QBE), 관계형 대수와 관계형 계산 (SQL)의 이중 특성을 가진 언어
3. 관계형 무결성 제약
3.1, 엔티티 무결성 제약
규칙 : 속성 (하나 또는 속성 그룹 참조) A가 기본 관계 R의 기본 속성이면 A는 null이 될 수 없습니다 .
3.2, 참조 무결성 제약
외부 코드. 규칙 : 속성 (또는 속성 그룹) F가 기본 관계 R의 외부 코드 인 경우 기본 관계 S의 기본 코드 K에 해당합니다 (기본 관계 R과 S는 반드시 다른 관계는 아닙니다), 각 R에 대해 F의 튜플 값은 다음과 같아야합니다.
- 널값을 취하십시오.
- 또는 S에있는 튜플의 기본 코드 값과 같습니다.
3.3, 사용자 정의 제약
관계형 데이터베이스에 대한 사용자 정의 제약 조건.
4. 관계형 대수
4.1, 전통적인 세트 작업
- 과
- 차
- 가로 질러 가다
- 데카르트 곱
4.2, 특수 관계형 연산
- 고르다
- 투사
- 연결
- 동등한 연결
- 자연적 연결 : 두 관계에서 비교할 구성 요소가 동일한 이름을 가진 속성 그룹이어야하며 중복 된 속성 열이 결과에서 제거되어야하는 특수 등가 연결.
- 외부 연결 : 자연 연결에서 버려진 튜플을 부동 조상이라고합니다. 부동 튜플도 결과 관계에 저장되고 다른 속성은 빈 값으로 채워집니다.
- 왼쪽 외부 조인 : 부동 튜플 만 왼쪽 관계에 유지합니다.
- 오른쪽 외부 조인 : 부동 튜플 만 올바른 관계로 유지합니다.
- 나누기 : 코끼리 세트로 정의
5. 요약
- 관계 : 관계는 일반적으로 말한 테이블에 해당합니다
- 관계 모드 : 관계에 대한 설명
- 관계형 모델 : 관계형 모델은 관계형 데이터 구조, 관계형 연산 수집, 관계형 무결성 제약의 세 부분으로 구성됩니다.
- 관계와 관계 모델의 차이점
- 관계 모델은 유형, 관계는 값, 관계 모델은 관계에 대한 설명입니다.
- 관계는 특정 순간의 관계 모드의 상태 또는 내용입니다. 관계 모드는 정적이고 안정적이지만 관계 작업은 데이터베이스의 데이터를 지속적으로 업데이트하므로 관계는 동적이며 시간이 지남에 따라 변경됩니다.
- 객체 지향 프로그래밍에서 "클래스"와 "객체"의 차이점과 유사합니다. "관계"는 "관계 모드"의 예입니다. "관계"는 데이터가있는 테이블로 이해할 수 있으며 "관계 모드"는이 데이터 테이블의 테이블 구조입니다.
- 관계 모델과 관계의 차이점
- 관계형 모델에는 관계가 포함됩니다. 관계는 관계형 모델의 데이터 구조입니다. 관계형 모델에서 실제 엔터티와 엔터티 간의 모든 연결 수준은 관계라는 단일 구조 유형으로 표현됩니다.