E.F. Codd는 관계형 또는 테이블 형식으로 데이터를 모델링하기 위해 관계형 모델을 제안했습니다. 이를 이용하여 데이터베이스의 개념모델을 설계한 후 ER 다이어그램 , 우리는 개념적 모델을 어떤 방식으로든 구현할 수 있는 관계형 모델로 변환해야 합니다. RDBMS Oracle SQL, MySQL 등과 같은 언어입니다. 따라서 관계형 모델이 무엇인지 살펴보겠습니다.
관계형 모델은 테이블 모음을 사용하여 데이터와 해당 데이터 간의 관계를 모두 나타냅니다. 각 테이블에는 여러 개의 열이 있으며 각 열에는 고유한 이름이 있습니다. 테이블은 관계라고도 합니다. 관계형 모델은 레코드 기반 모델의 한 예입니다. 레코드 기반 모델은 데이터베이스가 여러 유형의 고정 형식 레코드로 구성되어 있기 때문에 그렇게 명명되었습니다. 각 테이블에는 특정 유형의 레코드가 포함되어 있습니다. 각 레코드 유형은 고정된 수의 필드 또는 속성을 정의합니다. 테이블의 열은 레코드 유형의 속성에 해당합니다. 관계형 데이터 모델은 가장 널리 사용되는 데이터 모델이며, 현재 데이터베이스 시스템의 대부분은 관계형 모델을 기반으로 합니다.
관계형 모델이란 무엇입니까?
관계형 모델은 관계형 데이터베이스에 데이터가 저장되는 방식을 나타냅니다. 관계형 데이터베이스는 각 테이블에 고유한 이름이 할당된 테이블 모음으로 구성됩니다. 테이블에 표시된 ROLL_NO, NAME, ADDRESS, PHONE 및 AGE 속성을 가진 STUDENT 관계를 고려하십시오.
테이블 학생
| ROLL_NO | 이름 | 주소 | 핸드폰 | 나이 |
|---|---|---|---|---|
| 1 | 램 | 델리 | 9455123451 | 18 |
| 2 | 라메쉬 | 구르가온 | 9652431543 | 18 |
| 삼 | 수지트 | 로타크 | 9156253131 | 이십 |
| 4 | 수레쉬 | 델리 | 18 |
tkinter 버튼
중요한 용어
- 기인하다: 속성은 엔터티를 정의하는 속성입니다. 예를 들어; ROLL_NO , 이름, 주소
- 관계 스키마: 관계 스키마는 관계의 구조를 정의하고 해당 속성과 함께 관계의 이름을 나타냅니다. 예를 들어; STUDENT(ROLL_NO, NAME, ADDRESS, PHONE 및 AGE)는 STUDENT에 대한 관계 스키마입니다. 스키마에 둘 이상의 관계가 있는 경우 이를 관계형 스키마라고 합니다.
- 튜플: 관계의 각 행을 튜플이라고 합니다. 위 관계에는 4개의 튜플이 포함되어 있으며 그 중 하나는 다음과 같습니다.
| 1 | 램 | 델리 | 9455123451 | 18 |
- 관계 인스턴스: 특정 시점의 관계 튜플 집합을 관계 인스턴스라고 합니다. 표 1은 특정 시간에 STUDENT의 관계 인스턴스를 보여줍니다. 데이터베이스에 삽입, 삭제 또는 업데이트가 있을 때마다 변경될 수 있습니다.
- 도: 관계의 속성 수를 관계의 정도라고 합니다. 그만큼 학생 위에서 정의한 관계는 5차를 가집니다.
- 카디널리티: 릴레이션의 튜플 수는 다음과 같습니다. 카디널리티 . 그만큼 학생 위에 정의된 관계에는 카디널리티 4가 있습니다.
- 열: 열은 특정 속성에 대한 값 집합을 나타냅니다. 칼럼 ROLL_NO STUDENT 관계에서 추출됩니다.
| ROLL_NO |
|---|
| 1 |
| 2 |
| 삼 |
| 4 Java의 사용자 정의 예외 |
- NULL 값: 알 수 없거나 사용할 수 없는 값을 NULL 값이라고 합니다. 공백으로 표현됩니다. 예를 들어; ROLL_NO가 4인 학생의 PHONE은 NULL입니다.
- 관계 키: 이는 기본적으로 행을 고유하게 식별하는 데 사용되거나 테이블을 식별하는 데 도움이 되는 키입니다. 이들은 다음과 같은 유형입니다.
- 기본 키
- 후보 키
- 슈퍼 키
- 외래 키
- 대체 키
- 복합 키
관계형 모델의 제약
관계형 모델을 설계하는 동안 데이터베이스에 존재하는 데이터에 대해 유지되어야 하는 몇 가지 조건을 제약 조건이라고 정의합니다. 데이터베이스에서 작업(삽입, 삭제, 업데이트)을 수행하기 전에 이러한 제약 조건을 확인합니다. 제약 조건을 위반하는 경우 작업이 실패합니다.
도메인 제약
이는 속성 수준 제약 조건입니다. 속성은 도메인 범위 내에 있는 값만 사용할 수 있습니다. 예를 들어; STUDENT 관계에 AGE>0 제약조건을 적용한 경우 음수 AGE 값을 삽입하면 실패하게 됩니다.
주요 무결성
데이터베이스의 모든 관계에는 튜플을 고유하게 정의하는 속성 집합이 하나 이상 있어야 합니다. 이러한 속성 세트를 키라고 합니다. 예를 들어; STUDENT의 ROLL_NO가 핵심입니다. 두 명의 학생이 동일한 롤 번호를 가질 수 없습니다. 따라서 키에는 두 가지 속성이 있습니다.
- 모든 튜플에 대해 고유해야 합니다.
- NULL 값을 가질 수 없습니다.
참조 무결성
관계의 한 속성이 동일한 관계 또는 다른 관계의 다른 속성에서만 값을 취할 수 있는 경우 이를 호출합니다. 참조 무결성 . 우리가 2개의 관계를 가지고 있다고 가정해보자
자바의 클래스와 객체
테이블 학생
| ROLL_NO | 이름 | 주소 | 핸드폰 | 나이 | 지점 코드 |
|---|---|---|---|---|---|
| 1 | 램 | 델리 | 9455123451 | 18 | CS |
| 2 | 라메쉬 | 구르가온 | 9652431543 | 18 | CS |
| 삼 | 수지트 | 로탁 | 9156253131 | 이십 | ECE |
| 4 | 수레쉬 | 델리 | 18 | 그것 |
테이블 브랜치
| 지점 코드 | 지점명 |
|---|---|
| CS | 컴퓨터 과학 |
| 그것 | 정보기술 |
| ECE | 전자 및 통신 공학 |
| 이력서 | 토목공학 |
STUDENT의 BRANCH_CODE는 참조 무결성 제약 조건이라고 하는 BRANCH의 BRANCH_CODE에 있는 값만 사용할 수 있습니다. 다른 릴레이션을 참조하는 릴레이션을 REFERENCING RELATION(이 경우 STUDENT)이라 하고, 다른 릴레이션이 참조하는 릴레이션을 REFERENCED RELATION(이 경우 BRANCH)이라고 합니다.
관계형 모델의 이상
안 변칙 불규칙하거나 예상 또는 정상 상태에서 벗어나는 것입니다. 데이터베이스를 설계할 때 우리는 삽입, 업데이트, 삭제라는 세 가지 유형의 이상을 식별합니다.
참조 관계의 삽입 이상
참조하는 속성 값이 참조된 속성 값에 없으면 REFERENCING RELATION에 행을 삽입할 수 없습니다. 예를 들어; STUDENT 관계에 BRANCH_CODE 'ME'가 있는 학생을 삽입하면 BRANCH의 BRANCH_CODE에 'ME'가 없기 때문에 오류가 발생합니다.
참조 관계의 삭제/업데이트 이상:
REFERENCING ATTRIBUTE 값에 REFERENCED ATTRIBUTE 값이 사용된 경우 REFERENCED RELATION에서 행을 삭제하거나 업데이트할 수 없습니다. 예를 들어; BRANCH_CODE 'CS'가 있는 BRANCH에서 튜플을 삭제하려고 하면 'CS'가 STUDENT의 BRANCH_CODE에 의해 참조되므로 오류가 발생하지만 BRANCH_CODE CV를 사용하여 BRANCH에서 행을 삭제하려고 하면 삭제됩니다. 관계를 참조하여 값을 사용하지 않았기 때문입니다. 다음 방법으로 처리할 수 있습니다.
캐스케이드 삭제 시
REFERENCING ATTRIBUTE에 사용된 값이 REFERENCED RELATION에서 삭제되면 REFERENCING RELATION에서 튜플이 삭제됩니다. 예를 들어; 예를 들어 BRANCH_CODE 'CS'를 사용하여 BRANCH에서 행을 삭제하면 BRANCH_CODE CS(이 경우 ROLL_NO 1 및 2)와 STUDENT 관계에 있는 행이 삭제됩니다.
계단식 업데이트 시
REFERENCING ATTRIBUTE에 사용된 속성 값이 REFERENCED RELATION에서 업데이트되면 REFERENCING RELATION의 REFERENCING ATTRIBUTE를 업데이트합니다. 예를 들어 BRANCH_CODE 'CS'가 있는 BRANCH의 행을 'CSE'로 업데이트하면 BRANCH_CODE CS(이 경우 ROLL_NO 1 및 2)와 STUDENT 관계에 있는 행은 BRANCH_CODE 'CSE'로 업데이트됩니다.
슈퍼 키
주어진 관계에서 고유한 행(튜플)을 식별할 수 있게 해주는 모든 속성 집합을 슈퍼 키라고 합니다. 이러한 슈퍼 키 중에서 기본 키로 사용할 수 있는 적절한 하위 집합을 항상 선택할 수 있습니다. 이러한 키를 후보 키라고 합니다. 기본 키로 사용되는 두 개 이상의 속성 조합이 있는 경우 이를 복합 키라고 합니다.
관계형 모델의 Codd 규칙
Edgar F Codd는 규칙을 명시한 관계형 데이터베이스 모델을 제안했습니다. 이제 이것은 Codd의 규칙으로 알려져 있습니다. 모든 데이터베이스가 완벽한 데이터베이스가 되려면 규칙을 따라야 합니다.
자바 문자열을 배열로
자세한 내용은 다음을 참조하세요. 관계형 모델의 Codd 규칙 .
관계형 모델의 장점
- 단순 모델: 관계형 모델은 다른 언어에 비해 간단하고 사용하기 쉽습니다.
- 유연한: 관계형 모델은 현재 존재하는 다른 관계형 모델보다 더 유연합니다.
- 안전한: 관계형 모델은 다른 관계형 모델보다 더 안전합니다.
- 데이터 정확도: 관계형 데이터 모델에서는 데이터가 더 정확합니다.
- 데이터 무결성: 데이터의 무결성은 관계형 모델에서 유지됩니다.
- 작업을 쉽게 적용할 수 있습니다. 관계형 모델에서 작업을 수행하는 것이 좋습니다.
관계형 모델의 단점
- 관계형 데이터베이스 모델은 대규모 데이터베이스에 적합하지 않습니다.
- 때로는 테이블 간의 관계를 찾는 것이 어려워집니다.
- 복잡한 구조로 인해 쿼리에 대한 응답 시간이 높습니다.
관계형 모델의 특성
- 데이터는 관계라는 행과 열로 표시됩니다.
- 데이터는 관계형 모델이라는 관계를 갖는 테이블에 저장됩니다.
- 관계형 모델은 데이터 정의, 데이터 조작 및 트랜잭션 관리와 같은 작업을 지원합니다.
- 각 열에는 고유한 이름이 있으며 속성을 나타냅니다.
- 각 행은 단일 엔터티를 나타냅니다.