데이터베이스는 관계형입니다. 관계형 데이터베이스의 개념
우리의 컴퓨터 기술의 출현근대성은 인간 활동의 모든 분야에서 정보 혁명을 일으켰다. 그러나 모든 정보가 글로벌 인터넷에서 불필요한 쓰레기가되지 않도록하기 위해 자료를 분류하고 체계화하여 쉽게 찾아서 후속 처리에 제출할 수있는 데이터베이스 시스템이 개발되었습니다. 관계형 데이터베이스, 계층 형 데이터베이스, 네트워크 데이터베이스를 할당하는 세 가지 주요 유형이 있습니다.
기본 모델
데이터베이스의 생성으로 돌아가서, 그것은 가치가있다.이 프로세스가 다소 복잡하다는 점을 감안할 때 프로그래밍 가능한 정보 처리 장비를 개발하는 것으로 시작합니다. 따라서 순간적으로 모델 수가 50 개 이상에 이르는 것은 놀랄 일이 아니지만, 주요 모델은 계층 적, 관계형 및 네트워크이며 실제로는 여전히 널리 사용되고 있습니다. 그들은 무엇입니까?
계층 적 데이터베이스에는 트리가 있습니다.구조와 링크가있는 여러 수준의 데이터로 컴파일됩니다. 데이터베이스의 네트워크 모델은보다 복잡한 템플리트입니다. 그것의 구조는 계층 적 구조와 유사하며, 그 체계는 확장되고 정제된다. 이들의 차이점은 계층 적 모델의 유전 데이터가 오직 하나의 조상과 만 연관 될 수 있으며 네트워크는 여러 가지를 가질 수 있다는 것입니다. 관계형 데이터베이스의 구조는 훨씬 더 복잡합니다. 따라서 더 자세히 분해해야합니다.
관계형 데이터베이스의 기본 개념
이 모델은 1970 년대에 개발되었습니다.과학 박사 Edgar Codd. 이것은 논리적으로 구조화 된 테이블로, 데이터, 자체 간의 관계, 수행 된 작업 및 가장 중요한 것은 무결성을 보장하는 규칙을 설명하는 필드가 있습니다. 왜 모델은 관계형이라고 부릅니까? 이것은 데이터 사이의 관계 (라틴계 관계)를 기반으로합니다. 이 유형의 데이터베이스에는 많은 정의가 있습니다. 정보가있는 관계형 테이블은 네트워크 또는 계층 적 모델보다 구성 및 처리가 훨씬 쉽습니다. 어떻게 할 수 있습니까? 관계형 테이블의 특성, 모델 구조 및 특성을 알고 있으면 충분합니다.
기본 요소 모델링 및 작성 프로세스
자신의 DBMS를 생성하려면모델링 도구 중 하나를 사용하고, 작업해야하는 정보를 생각하고, 데이터 간의 테이블 및 관계형 관계를 설정하고 엔티티 셀을 채우고 기본, 외래 키를 설정하십시오.
테이블 모델링 및 관계형 디자인데이터베이스는 Workbench, PhpMyAdmin, Case Studio, dbForge Studio와 같은 무료 도구를 사용하여 작성됩니다. 자세한 설계가 완료되면 그래픽으로 준비된 관계형 모델을 저장하고 기성의 SQL 코드로 변환해야합니다. 이 단계에서 데이터 정렬, 처리 및 체계화 작업을 시작할 수 있습니다.
관계형 모델과 관련된 특징, 구조 및 용어
각 소스는 자체적 인 방식으로 요소를 설명하므로 혼동을 덜주기 위해 약간의 힌트를 제공하고자합니다.
- 관계형 레이블 = 엔티티;
- 레이아웃 = 특성 = 필드 이름 = 엔터티 열 머리글;
- 엔티티 인스턴스 = 튜플 = 레코드 = 테이블의 행;
- 속성 값 = 엔티티 셀 = 필드.
관계형 데이터베이스의 특성을 탐색하려면, 구성되는 기본 구성 요소와 그 구성 요소를 알아야합니다.
- 에센스 관계형 데이터베이스 테이블은 하나 일 수 있으며, 테이블에 저장된 데이터로 인해 설명 된 오브젝트를 특성화하는 전체 테이블 세트가있을 수 있습니다. 그들은 고정 된 수의 필드와 다양한 수의 항목을 가지고 있습니다. 관계형 데이터베이스 모델의 테이블은 행, 속성 및 레이아웃으로 구성됩니다.
- 레코드는 설명되는 오브젝트를 특성화하는 데이터를 표시하는 가변 수의 행입니다. 항목의 번호 매기기는 시스템에서 자동으로 이루어집니다.
- 속성 - 엔티티의 열에 대한 설명을 나타내는 데이터입니다.
- 필드. 엔터티 열을 나타냅니다. 숫자는 테이블 작성 또는 수정 중 고정 값으로 설정됩니다.
이제 테이블의 구성 요소를 알고 있으면 관계형 데이터베이스 모델의 속성으로 이동할 수 있습니다.
- 관계형 데이터베이스의 엔티티는 2 차원입니다. 이 속성으로 인해 다양한 논리적 및 수학적 연산을 쉽게 수행 할 수 있습니다.
- 관계형 테이블의 속성 값 및 레코드 순서는 임의적 일 수 있습니다.
- 단일 관계형 테이블 내의 C 럼에는 고유 한 개별 이름이 있어야합니다.
- 엔티티 열의 모든 데이터는 고정 된 길이와 동일한 유형을 갖습니다.
- 본질적으로 모든 레코드는 하나의 데이터 요소로 간주됩니다.
- 문자열의 구성 요소는 고유합니다. 관계형 엔티티에는 동일한 행이 없습니다.
관계형 DBMS의 특성을 기반으로, 속성의 값은 동일한 유형, 길이 여야합니다. 속성 값의 기능을 고려하십시오.
관계형 데이터베이스 필드의 주요 특성
필드 이름은 내부에서 고유해야합니다.하나의 개체. 관계형 데이터베이스의 속성 또는 필드 형식은 엔터티 필드에 저장되는 데이터의 범주를 나타냅니다. 관계형 데이터베이스 필드는 문자로 계산 된 고정 크기 여야합니다. 속성 값의 매개 변수 및 형식은 데이터가 수정되는 방식을 결정합니다. "마스크"또는 "입력 템플릿"과 같은 것도 있습니다. 이것은 속성 값에 대한 입력 데이터 구성을 정의하기위한 것입니다. 실수로 필드에 잘못된 데이터 유형을 쓰는 경우 오류 알림이 제공되어야합니다. 또한 필드 요소에는 데이터 입력의 정확성과 정확성을 검사하기위한 조건 인 몇 가지 제한 사항이 있습니다. 데이터로 고유하게 채워 져야하는 필수 속성 값이 있습니다. 일부 속성 문자열은 NULL 값으로 채워질 수 있습니다. 필드 속성에 빈 데이터를 입력 할 수 있습니다. 오류 알림과 마찬가지로 시스템에서 자동으로 입력하는 값이 있습니다. 이것이 기본 데이터입니다. 모든 데이터 검색 속도를 높이기 위해 인덱싱 된 필드가 사용됩니다.
2 차원 관계형 데이터베이스 테이블의 다이어그램
속성 이름 1 | 속성 이름 2 | 속성 이름 3 | 속성 이름 4 | 속성 이름 5 |
Element_1_1 | Element_1_2 | Element_1_3 | Element_1_4 | Element_1_5 |
Element_2_1 | 요소 _2_2 | Element_2_3 | Element_2_4 | Element_2_5 |
요소 _3_1 | 요소 _3_2 | Element_3_3 | Element_3_4 | Element_3_5 |
제어 시스템에 대한 자세한 내용은SQL을 사용하는 모델은 예제를 통해 스키마를 고려하는 것이 가장 좋습니다. 우리는 이미 관계형 데이터베이스가 무엇인지 알고 있습니다. 각 테이블의 항목은 하나의 데이터 항목입니다. 데이터 중복을 방지하려면 정규화 작업을 수행해야합니다.
관계형 엔티티 정규화를위한 기본 규칙
1. 관계형 테이블의 필드 이름 값은 고유해야합니다 (첫 x 째 정규 양식은 1NF 임).
2. 이미 1NF로 변환 된 테이블의 경우, 비 식별 C 럼의 이름은 테이블의 고유 ID (2NF)에 종속되어야합니다.
3. 이미 2NF에있는 전체 테이블의 경우, 각 비 식별 필드는 다른 인식 할 수없는 값 (3NF 엔티티)의 요소에 의존 할 수 없습니다.
데이터베이스 : 테이블 간의 관계 관계
관계형 테이블 관계 링크에는 두 가지 주요 유형이 있습니다.
- "일대일로." 테이블 번호 1의 키 항목 중 하나가 두 번째 엔터티의 여러 인스턴스와 일치 할 때 발생합니다. 그려진 선의 한쪽 끝에있는 키 아이콘은 엔티티가 "한쪽"에 있다는 것을 나타내며, 선의 다른 쪽 끝은 종종 무한대 기호로 표시됩니다.
- 하나의 엔티티의 여러 행간에 다른 테이블의 여러 레코드와의 명백한 논리적 상호 작용이 발생하는 경우 "많은 - 많은"관계가 형성됩니다.
- 두 개체간에 발생하는 경우연결은 "일대일"입니다. 즉, 하나의 테이블의 키 식별자가 다른 엔티티에 존재하면 테이블 중 하나를 제거해야하므로 중복됩니다. 하지만 때로는 프로그래머가 보안상의 이유로 두 개체를 의도적으로 분리하는 경우가 있습니다. 따라서가 상적으로 일대일 관계가 존재할 수 있습니다.
관계형 데이터베이스에 키가 있음
기본 및 보조 키 정의잠재적 인 데이터베이스 관계. 데이터 모델의 관계는 하나의 잠재적 인 키만 가질 수 있습니다. 이것이 기본 키입니다. 그가 뭘 좋아하니? 기본 키는 특정 행의 데이터에 액세스 할 수있는 엔티티 열 또는 속성 집합입니다. 고유하고 고유해야하며 필드에 빈 값을 포함 할 수 없습니다. 기본 키가 하나의 속성으로 만 구성된 경우 단순이라고하며 그렇지 않은 경우 구성 요소가됩니다.
기본 키 외에도 외부 키가 있습니다.(외래 키). 많은 사람들이 그 차이점을 이해하지 못합니다. 예제를 사용하여 더 자세히 분석해 보겠습니다. 그래서, 2 개의 테이블이 있습니다 : "학장 사무실"과 "학생". 엔티티 "학장 사무실"은 "학생 ID", "성명"및 "그룹"필드를 포함합니다. '학생'표에는 '전체 이름', '그룹'및 '평균 공'과 같은 속성 값이 있습니다. 학생 ID는 여러 학생에게 동일 할 수 없기 때문에이 필드는 기본 키가됩니다. "학생"테이블의 "성명"및 "그룹"은 여러 사람이 동일 할 수 있으며 "학장 단체"엔티티의 학생 ID 번호를 참조하므로 외래 키로 사용할 수 있습니다.
샘플 관계형 데이터베이스 모델
명확성을 위해 두 엔티티로 구성된 관계형 데이터베이스 모델의 간단한 예제를 제공합니다. "딘"이라는 이름의 테이블이 있습니다.
에센스 "딘" | ||
학생 ID | 이름 | 그룹 |
111 | 이바노프 올렉 페트로 비치 | IN-41 |
222 | 라자 레프 일리아 알렉산드로 비치 | IN-72 |
333 | Konoplev Peter Vasilyevich | IN-41 |
444 | 쿠시 네 레바 나탈리야 이그 레브 나 | IN-72 |
도착하려면 연결을 유지해야합니다.완전한 관계형 데이터베이스. "IN-41"과 "IN-72"항목은 "Dean 's Office"판에 두 번 이상 올 수 있으며 드문 경우 학생의 성, 이름 및 성 (姓)이 일치 할 수도 있으므로이 필드는 기본 키가 될 수 없습니다. 우리는 "학생"의 본질을 보여줍니다.
"학생"표 | |||
이름 | 그룹 | 평균 공 | 전화 번호 |
이바노프 올렉 페트로 비치 | IN-41 | 3,0 | 2-27-36 |
라자 레프 일리아 알렉산드로 비치 | IN-72 | 3,8 | 2-36-82 |
Konoplev Peter Vasilyevich | IN-41 | 3,9 | 2-54-78 |
쿠시 네 레바 나탈리야 이그 레브 나 | IN-72 | 4,7 | 2-65-25 |
알 수 있듯이, 필드 유형의 관계형 데이터베이스완전히 다른. 디지털 항목과 문자가 모두 있습니다. 따라서 속성 설정에서 integer, char, vachar, date 및 기타 값을 지정해야합니다. "학장"표에는 학생 ID 만 고유 한 값입니다. 이 필드는 기본 키로 사용할 수 있습니다. "Students"엔티티의 전체 이름, 그룹 및 전화 번호는 학생 ID를 참조하는 외래 키로 간주 될 수 있습니다. 연결이 설정되었습니다. 이것은 일대일 모델의 예입니다. 가설 상으로는 테이블 중 하나가 불필요하며 쉽게 하나의 엔티티로 결합 될 수 있습니다. 학생 ID가 보편적으로 알려지지 않도록 두 테이블의 존재는 사실적입니다.