세 가지 유형의 논리적 데이터 모델. 논리적 모델 및 데이터베이스 유형. 계층적 데이터 모델

모든 데이터베이스의 핵심은 데이터 모델입니다. 데이터 모델- 데이터 구조 및 처리 작업의 집합입니다.

데이터 간의 연결을 설정하는 방법에 따라 계층적, 네트워크 및 관계형 모델이 구분됩니다.

계층적이 모델을 사용하면 각 노드에 고유한 데이터 유형(엔티티)이 포함된 트리 구조로 데이터베이스를 구축할 수 있습니다. 이 모델에서 트리의 최상위 수준에는 하나의 노드가 있습니다. 루트, 이 루트와 연결된 노드는 다음 수준에 있고, 그 다음에는 이전 수준의 노드와 연결된 노드 등이 있습니다.

이 경우 각 노드는 하나의 조상만 가질 수 있습니다(그림 1.2).

계층적 시스템에서 데이터 검색은 항상 루트에서 시작됩니다. 그런 다음 원하는 수준에 도달할 때까지 트리의 한 수준에서 다른 수준으로 하강합니다. 한 레코드에서 다른 레코드로 시스템을 이동하는 것은 링크를 사용하여 수행됩니다.

계층적 모델의 주요 장점은 실제 세계의 계층적 구조를 설명하는 단순성과 쿼리의 빠른 실행입니다. 그러나 매번 루트에서 필요한 데이터 검색을 시작하는 것이 항상 편리한 것은 아니며 계층 구조에서 데이터베이스를 이동할 수 있는 다른 방법이 없습니다.

이 단점은 다음에서 제거되었습니다. 회로망(적어도 이론적으로는) 모든 정보 개체와 모든 개체의 연결이 가능한 모델.

그림에 표시된 예에서. 1.3, 각 교사는 많은(이론적으로는 모든) 학생을 가르칠 수 있고 각 학생은 많은(이론적으로는 모든) 교사로부터 배울 수 있습니다. 이것은 현실적으로 불가능하기 때문에 몇 가지 제한 사항에 의존해야 합니다.

계층 및 네트워크 모델을 사용하면 데이터베이스의 정보에 대한 액세스 속도가 빨라집니다. 그러나 각 데이터 요소에는 다른 요소에 대한 참조가 포함되어야 하므로 디스크와 컴퓨터의 주 메모리 모두에 상당한 리소스가 필요합니다. 물론 주 메모리가 부족하면 데이터 처리 속도가 느려집니다. 또한 이러한 모델은 데이터베이스 관리 시스템 구현의 복잡성이 특징입니다.



관계형모델 (영어 관계 - 관계에서)은 XX 세기의 70 년대 초반에 개발되었습니다. 대구. 이 모델의 단순성과 유연성은 이미 XX 세기의 80년대에 개발자의 관심을 끌었습니다. 널리 퍼졌습니다. 따라서 관계형 DBMS는 업계 표준이 되었습니다.

관계형 모델은 테이블, 행, 열, 관계 및 기본 키가 가장 중요한 관계 대수 개념의 시스템을 기반으로 하며 이 경우 모든 작업은 테이블을 사용한 조작으로 축소됩니다.

관계형 모델에서 정보는 각 테이블이 행과 열로 구성되고 데이터베이스 내에서 고유한 이름을 갖는 직사각형 테이블의 형태로 표현됩니다.

테이블현실 세계의 대상을 반영합니다. 실재,각 줄(레코드)은 개체의 특정 인스턴스 하나를 반영합니다. 엔티티 인스턴스.테이블의 각 열에는 해당 테이블에 대한 고유한 이름이 있습니다. 열은 테이블이 생성될 때 채택된 이름의 순서에 따라 정렬됩니다.

쌀. 1.2. 데이터베이스 모델의 계층적 트리 구조

쌀. 1.3. 데이터베이스 모델의 네트워크 구조

열과 달리 행에는 이름이 없고 테이블에서 순서가 정의되지 않으며 개수도 논리적으로 제한되지 않습니다. 테이블의 행은 순서가 지정되어 있지 않으므로 위치로 행을 선택할 수 없습니다. 각 파일의 번호

행이 테이블에서 삭제될 때 값이 변경되기 때문에 행은 특성화하지 않습니다. 논리적으로 첫 번째 행과 마지막 행이 없습니다.

관계형 시스템은 데이터가 단일 파일 형식이 아니라 독립 집합으로 표시되고 관계형 대수(응용 집합 이론)의 연산을 사용하여 데이터를 선택하기 때문에 복잡한 탐색의 필요성을 제거했습니다.

관계형 모델의 모든 테이블에는 값이 각 행을 고유하게 식별하는 열(또는 열 집합)이 있어야 합니다. 이 열(또는 열 집합)이라고 합니다. 기본 키표(그림 1.4).

테이블이 기본 키 고유성 요구 사항을 충족하는 경우 호출됩니다. 태도.관계형 모델에서 모든 테이블은 관계로 변환되어야 합니다. 관계형 모델 관계는 서로 연결되어 있습니다. 관계는 외래 키로 지원됩니다. 외부 키- 이것은 열(열 집합)이며, 그 값은 다른 관계(테이블)의 기본 키 값을 고유하게 특성화합니다.

외래 키가 정의된 관계는 동일한 열 집합이 기본 키인 해당 관계를 참조한다고 합니다.

무화과에서. 예제 1.4에서 EMPLOYEE 관계는 부서 이름을 통해 DEPARTMENT 관계를 참조합니다.

관계형 테이블의 스키마(관계)는 해당 레코드를 구성하는 필드 이름 모음입니다.

테이블 이름(필드 1, 필드 2.....필드 피).

예를 들어 그림 1에 표시된 테이블의 경우 1.4에는 다음과 같은 구성표가 있습니다(기본 키는 기울임꼴).

직원 (통과번호,성명, 직위, 부서명, 전화번호);

학과 (부서 이름.부서의 위치, 부서의 임명).

객체 지향데이터베이스 모델은 XX 세기의 90 년대에 객체 지향 프로그래밍 언어의 출현과 관련하여 개발되기 시작했습니다. 이러한 종류의 데이터베이스는 클래스 메서드와 때로는 영구 클래스 개체를 저장하여 데이터와 응용 프로그램 처리 간의 원활한 통합을 허용합니다.

현대 DBMS에서 관계형 모델의 우위는 다음과 같이 결정됩니다.

발전된 이론의 존재(관계 대수학);

다른 데이터 모델을 관계형 모델로 축소하는 장치의 존재;

있음 특별한 수단정보에 대한 빠른 액세스;

외부 메모리에 있는 데이터베이스의 특정 물리적 구성을 몰라도 조작할 수 있는 표준화된 고급 데이터베이스 쿼리 언어의 존재.

주석

이에 학기말중앙 도시 병원 데이터베이스의 설계와 Oracle Datebase에서의 구현에 대해 설명합니다. 주제 영역이 제시되었고 개념적, 논리적 및 물리적 데이터 모델이 개발되었습니다. 필요한 테이블, 쿼리, 보고서는 Oracle Datebase 도구를 사용하여 생성되었습니다. 교과 과정으로 구성되어 있습니다.

소개 3

1. 주제 영역 4

2.개념 모델 5

3.논리 데이터베이스 모델 7

4. 데이터의 물리적 구성 모델 9

5. Oracle 9에서의 데이터베이스 구현

6.테이블 10개 생성

7. 쿼리 만들기 16

8. 결론 27

참고 문헌 28

소개

데이터베이스는 다양한 데이터와 구조에 대한 설명이 포함된 하나의 대용량 저장소로, 정의 후에는 애플리케이션과 별도로 독립적으로 수행되며 많은 애플리케이션에서 동시에 사용됩니다.

데이터 외에도 데이터베이스에는 각 사용자가 자신의 권한 범위 내에서만 데이터를 조작할 수 있는 도구가 포함될 수 있습니다. 특정 사용자가 사용할 수 있는 방법과 데이터베이스에 포함된 데이터의 상호 작용의 결과로, 사용자가 자신의 권한 내에서 데이터를 입력하고 편집하는 기반으로 사용하는 정보가 형성됩니다.

이 과정의 목적은 중앙 병원에 대한 데이터베이스를 개발하고 구현하여 병원 활동에 대한 정보의 저장, 축적 및 제공을 보장하는 것입니다. 생성된 데이터베이스는 주로 병원의 주요 부서의 활동을 자동화하기 위한 것입니다.

대상 지역

주제 영역은 이 연구에서 관심을 갖는 실제 시스템의 일부입니다. 자동화된 정보 시스템을 설계할 때 주제 영역은 여러 수준의 데이터 모델로 표시됩니다. 부러움 수준의 수는 해결되는 작업의 복잡성에 따라 다르지만 어떤 경우에도 개념적 및 논리적 수준을 포함합니다.

본 교과목의 과목은 환자를 진료하는 중앙병원의 업무이다. 병원의 조직 구조는 등록부와 응급실의 두 부서로 구성됩니다. 레지스트리에서 예약이 이루어지고, 추천이 발행되고, 환자가 병동에 배정되고, 보험 증권 번호가 기록됩니다. 응급실은 차례로 입원 및 퇴원, 환자 진단 및 의료 기록을 보관합니다.

데이터베이스는 환자, 숙박 시설, 처방된 약 및 주치의에 대한 데이터를 저장하도록 설계되었습니다.


개념적 모델

데이터베이스 디자인 프로세스의 첫 번째 단계는 기업의 분석된 부분에 대한 개념적 데이터 모델을 만드는 것입니다.

개념적 모델은 도메인 모델입니다. 모델의 구성 요소는 개체와 관계입니다. 개념적 모델은 다른 사용자 간의 의사 소통 수단으로 사용되므로 데이터의 물리적 표현의 특성을 고려하지 않고 개발됩니다. 개념적 모델을 설계할 때 개발자의 모든 노력은 주로 구현 기능 및 처리 효율성 문제를 고려하지 않고 데이터를 구조화하고 데이터 간의 관계를 식별하는 데 집중되어야 합니다. 개념 모델의 설계는 이 기업에서 해결된 데이터 처리 작업의 분석을 기반으로 합니다. 개념 모델에는 고려 중인 주제 영역에서 관심이 있는 대상 및 해당 관계에 대한 설명이 포함됩니다. 개체 간의 관계는 개념적 모델의 일부이며 데이터베이스에 매핑되어야 합니다. 관계는 여러 개체에 걸쳐 있을 수 있습니다. 반면에 각 개체는 링크 수에 관계없이 참여할 수 있습니다. 이와 함께 객체의 속성 사이에는 관계가 있습니다. "일대일", "일대다", "다대다" 유형의 관계가 있습니다.

가장 인기있는 모델 컨셉 디자인 ER-모델(Entity-Relationship Model)은 의미론적 모델을 의미합니다.

모델의 주요 요소는 엔터티, 엔터티와 해당 속성(속성) 간의 관계입니다.

엔터티는 동일한 유형의 개체 클래스로, 모델에서 이에 대한 정보를 고려해야 합니다.

각 개체는 단수로 명사로 표현되는 이름을 가져야 합니다. 모델의 각 엔터티는 이름이 있는 사각형으로 표시됩니다.

속성은 일부 엔터티의 특성(매개변수)입니다.

도메인은 값의 집합(속성 정의 영역)입니다.

엔터티에는 키 속성이 있습니다. 엔터티 키는 지정된 엔터티를 고유하게 식별하는 하나 이상의 속성입니다.

중앙 병원에 대한 엔티티 세트(엔티티 속성은 대괄호로 표시되고 주요 속성은 밑줄이 그어짐):

환자( 환자 코드, 성, 이름, 생년월일, 보험 증권 번호, 지점 코드);

치료 ( 환자 코드, 진단, 퇴원 날짜, 의사 코드, 비용);

진력( 부서 코드, 부서 이름, 챔버 수);

소득 ( 환자 코드,입학 날짜, 객실 코드);

챔버( 챔버 코드, 자리 수, 지점 코드);

의사들(의사 코드,성, 이름, 생년월일, 개인 파일 번호, 부서 코드);

그림 1은 지역 병원의 엔터티-관계 다이어그램을 보여줍니다.


논리적 데이터베이스 모델

특정 DBMS에서 제공할 수 있는 개념적 모델의 버전을 논리적 모델이라고 합니다. 논리적 데이터베이스 모델을 구축하는 프로세스는 제안된 구현 유형에 따라 결정되는 특정 데이터 모델(관계형, 네트워크, 계층적)을 기반으로 해야 합니다. 정보 시스템 DBMS. 우리의 경우 데이터베이스는 Oracle 환경에서 생성되며 관계형 데이터베이스가 됩니다.

관계형 모델은 데이터 구조의 단순성, 사용자 친화적인 표 표현, 관계형 대수 및 관계형 미적분학의 형식 장치를 사용하여 데이터를 조작하는 능력이 특징입니다.

관계형 데이터 모델에서 개체와 개체 간의 관계는 테이블을 사용하여 표현됩니다. 각 테이블은 하나의 개체를 나타내며 행과 열로 구성됩니다. 관계형 모델의 테이블을 관계라고 합니다.

속성(필드) – 테이블의 모든 열.

튜플(레코드) - 테이블 행.

테이블은 키 필드를 사용하여 상호 연결됩니다.

키는 테이블의 레코드를 고유하게 식별하는 필드입니다. 키는 단순(하나의 필드로 구성) 또는 복합(여러 필드로 구성)일 수 있습니다.

관계형 데이터베이스에서 논리적 설계는 그림 2와 같은 데이터 스키마의 개발로 이어집니다.

그림 2.
4. 데이터의 물리적 구성 모델

물리적 모델데이터는 데이터가 컴퓨터에 저장되는 방식을 설명하고 레코드의 구조, 순서 및 존재하는 액세스 경로에 대한 정보를 제공합니다.

물리적 모델은 필드의 유형, 식별자 및 비트 깊이를 설명합니다. 물리적 데이터 모델은 머신 미디어에 있는 데이터의 물리적 위치, 즉 어떤 파일, 어떤 객체, 어떤 속성을 포함하고 어떤 유형의 속성을 포함하는지를 반영합니다.


©2015-2019 사이트
모든 권리는 저작자에게 있습니다. 이 사이트는 저작권을 주장하지 않지만 다음을 제공합니다. 무료 사용.
페이지 생성일: 2016-04-26

  1. 데이터 유형 및 모델 정의
  2. 계층 및 네트워크 모델
  3. 관계형 모델.

언어로 높은 레벨단순, 구조화, 참조 및 추상(객체)을 포함하여 상당히 고급 데이터 유형이 지원됩니다. 단순형은 컴퓨터와 관련하여 기본적으로 정수형, 실수형, 논리형, 리터럴형 등으로 구분됩니다. 데이터 형식데이터 구조, 데이터에 부과된 작업, 무결성 제약 조건, 즉 다음을 보장하는 활동의 집합입니다. 올바른 작업이 유형의 작업. 구조 유형유한한 기본 유형 집합에서 복잡한 데이터 구조를 구성하기 위한 것입니다. 우리는 세 가지 주요 구조 유형을 구분합니다: 레코드(구조), 배열, 파일, 재귀 구조. 정렬- 같은 유형의 데이터 모음. 배열 작업: 배열 요소의 초기 값 생성, 설정, 인덱스 값(일련 번호)으로 요소 선택 및 요소 선택 업데이트. 무결성 제약 조건은 모든 요소가 동일한 유형이고 인덱스가 정수라는 것입니다. 구조(레코드 유형) – 다양한 유형의 요소 모음입니다. 예를 들어, 구조 - 직원에는 직원 번호, 전체 이름, 생년월일이 포함됩니다. 구조는 순수한 형태로 사용되지 않고 보다 복잡한 유형, 특히 파일의 구성에 사용됩니다. 파일동일한 구조(구조의 배열)의 레코드 모음입니다. 파일은 하드 드라이브에 저장되며 데이터를 저장하도록 설계되었습니다. 파일 기능: 생성, 파일 시작에 대한 포인터 설정, 파일 끝에 쓰기 새로운 기록, 포인터로 정보를 읽고 파일 끝에 대한 포인터를 얻습니다. 재귀 유형– 포인터가 지원하는 트리와 같은 더 복잡한 구조를 얻기 위해 데이터 유형의 중첩이 형성됩니다.

참조 유형포인터는 메모리 주소입니다. 모든 것 디스크 공간페이지(2, 4, 8 등 킬로바이트)로 분할되며 메모리 주소는 페이지 번호 + 페이지 내의 상대 바이트 번호입니다. 추상 유형(객체)는 해석된다 구조화된 유형요소에 대해 정의된 기능을 사용합니다. 이것은 이름, 요소 유형, 기능(메소드) 및 이러한 기능을 설명된 요소에 적용하기 위한 규칙(무결성 제약 조건)을 정의합니다. 외부 디스크 스토리지에서 보다 복잡한 데이터 구조를 지원하기 위해 계층적, 네트워크 및 관계형을 포함한 데이터 모델이 DBMS 수준에서 지원됩니다. 데이터 모델데이터 구조 및 생성 규칙의 집합, 이에 대한 작업 및 무결성 제한을 데이터베이스 유지 관리를 목표로 하는 조치 목록으로 최신 정보. 무결성은 주어진 시간에 데이터베이스에 있는 데이터의 정확성, 정확성입니다. 제약 조건 무결성 - 기본 무결성과 정보 선택의 정확성을 유지하기 위한 일련의 조치입니다.

계층 및 네트워크 데이터 모델.

데이터베이스 도입의 첫 번째 단계(50-80년)에서 ES 컴퓨터의 1세대 DBMS는 계층적 및 네트워크 DBMS와 같이 널리 사용되었습니다.

계층적 모델은 정렬된 트리 형태로 구조를 구성하며, 정점(노드)은 엔터티에 해당하며 레코드 유형이라고 합니다. 레코드 유형은 여러 요소로 구성될 수 있으며 유형을 연결하는 호를 "소스-자식"이라고 하며 "일대다" 유형에 해당합니다(소스 레코드의 한 인스턴스는 0, 하나 이상의 하위 레코드에 해당합니다. ). 각 노드는 트리 루트에서 레코드 유형의 시퀀스인 계층적 경로를 따라 액세스됩니다. 맨 위 꼭짓점은 뿌리, 마지막 꼭짓점은 잎사귀, 많은 나무가 숲입니다. 레코드 유형 확장은 테이블이고 관계 확장은 테이블 행 간의 조인 집합입니다. 각 테이블 행은 레코드 유형의 인스턴스입니다. 무결성 제약 조건은 정점에 항상 하나의 호만 있다는 것입니다. 작업: 계층적 경로를 따라 수행되는 데이터 포함(생성된 레코드의 인스턴스는 원본의 인스턴스가 없으면 존재할 수 없음)(레코드 키가 지정됨) 데이터 삭제(레코드 인스턴스가 포인터를 통해 구현되기 때문에 원본 레코드의 인스턴스를 삭제할 때 생성된 레코드의 모든 인스턴스가 자동으로 삭제됨); 데이터는 레코드 키를 지정하여 계층적 경로를 따라 검색됩니다. 데이터 업데이트 - 값 변경은 검색된 레코드에서만 수행됩니다. 레코드 인스턴스에는 항상 형제와 아들에 대한 포인터가 있는 셀이 있습니다. 따라서 계층적 모델의 관계는 포인터를 기반으로 합니다. 주제 영역의 개념적 모델을 구현하기 위해서는 자재-상세-납품, 창고-상세-납품, 도시-공급자-납품, 자재-상세-출고, 창고-상세-출고, 6가지 계층 구조를 입력해야 합니다. 클라이언트 - 문제.

계층적 모델의 장점은 정보에 대한 단순성과 직관적인 인식입니다. 현재 검색 엔진(관계형 데이터베이스를 통해) 탐색 계층 구조 인터페이스의 구성을 기반으로 합니다. 이 모델의 단점은 다대다 관계의 구현과 데이터 조작 작업의 절차적 특성에 대한 중복성 접근 방식이 인위적이라는 것입니다.

예를 들어, 계층적 데이터베이스 모델 "부품 창고"에 대한 구현을 상상해 봅시다.

계층적 DBMS를 기반으로 "부품창고"를 구현하기 위해서는 최소한 4개의 계층적 구조(포레스트)를 형성해야 한다. "supplier-detail", "customer-detail" 관계는 다대다 관계이므로 데이터베이스 모델 수준에서 중복성이 필요합니다. 다대다 관계는 2개의 계층 구조를 통해 구현됩니다.

네트워크 모델.

이것은 레코드 유형이있는 노드에서 방향 그래프이며 그래프는 임의의 형식이며 여러 호가 정점에 들어갈 수 있습니다. 아이디어 네트워크 모델협회에서 제안한 KODASIL. KODASIL 모델의 특징:

  1. 데이터 요소 - 기본 명명 단위
  2. 집계 - 데이터 모음: 배열, 구조
  3. 레코드 - 데이터 요소 및/또는 집계의 명명된 컬렉션
  4. 세트 - "원래 생성" 2단계 계층 구조를 형성하는 명명된 레코드 모음입니다. 각 집합 유형은 두 레코드 유형 간의 관계를 나타냅니다. 각 집합 인스턴스에는 "소유자" 항목의 인스턴스 하나와 "집합 구성원"의 인스턴스가 0개, 하나 또는 그 이상 포함됩니다.

네트워크는 계층의 모음입니다.

무결성 제약 조건은 다음과 같습니다. 지정된 집합 인스턴스에서 "집합 구성원"의 인스턴스는 "소유자" 레코드의 인스턴스를 두 개 이상 가질 수 없습니다. 따라서 네트워크는 일대다 계층 집합에 의해 모집됩니다. 작업: 추출 - 키로 레코드를 추출할 수 있으며 추출된 레코드에서 부하 직원에게 이동할 수 있습니다. 포함 - 이전에 발표된 세트에서 할 수 있거나 소위에서 할 수 있습니다. 아직 소유자가 없는 단일 집합입니다. 스위치 - 한 세트에서 다른 세트로; 삭제 - 레코드가 삭제되지 않고 링크가 삭제됩니다. 수정 - 선택한 항목의 인수 값을 변경합니다. 장점 - 다대다 관계를 쉽게 구현할 수 있습니다.

네트워크 DBMS – IDMS –> NETWORK 및 SETOR.

네트워크 모델은 기술 커뮤니케이션을 구현하는 데 적합합니다(설명 전기 네트워크, 열 네트워크) 및 엔지니어링 계산에 사용됩니다. 현재 자체 개발 또는 OO DBMS에 구현되어 있습니다.

"부품 창고" 기반의 네트워크 모델의 예.

따라서 레코드 유형 "city", "supplier", "delivery", "detail" 등의 인스턴스가 데이터베이스에 저장되며, 이는 일대다 관계에 의해 세트의 특정 인스턴스 내에서 연결됩니다. 예를 들어 "part - delivery" 세트 유형의 파트 1은 납품 2 및 납품 6의 소유자이고 이 세트 유형의 파트 2는 납품 1, 2, 7의 소유자입니다. 파트 1 및 2는 다른 링크, 즉 다른 집합 인스턴스에서.

초기 유형의 DBMS는 의사 관계형입니다. 그들은 PC에서 널리 퍼졌습니다. 이들은 dBase 그룹의 시스템입니다. 여기에는 Clipper, FoxPro, FoxBase가 포함됩니다. 이러한 시스템에서 각 테이블(레코드 유형)은 다음 위치에 저장됩니다. 별도 파일예를 들어 "City" 파일, "Supplier" 파일 등을 별도로 dbf 확장자로 지정합니다. 파일 간의 링크는 의 프로그램 수준에서 유지되었습니다. 클라이언트 애플리케이션. 키별로 파일 레코드에 빠르게 액세스할 수 있도록 각 파일에 대해 인덱스가 생성되었습니다. 다음으로 엔티티 간의 참조 무결성을 유지하는 관계형 모델로 넘어갑니다.

관계형 데이터 모델.

모델의 특성.

관계형 모델의 개념은 Edward Codd가 제안했으며 관계 대수학의 기초에 투자할 것을 제안했습니다. 관계형 모델은 집합 이론 관계의 개념을 기반으로 합니다. 이것은 도메인의 데카르트 곱의 하위 집합이고 도메인은 속성이 취하는 값의 집합입니다(도시 이름, 직원 이름 집합) . 관계(테이블)는 하나 이상의 도메인의 데카르트 곱의 하위 집합입니다.

관계 이름
A1 A2 A3 A4 – 속성
A11 A12 A13 A14 - 샘플 튜플
A21 A22 A23 A24
A31 A32 A33 A34

A11, A12는 속성 값입니다.

관계형 데이터베이스는 상호 관련된 관계(테이블)의 집합이며 테이블 간의 관계는 외래 또는 보조 키, 즉 다른 측면에서 기본인 테이블의 속성을 통해 지정됩니다. 속성 이름 목록을 관계 스키마라고 합니다. 각 관계에는 고유한 이름이 있습니다. 관계 속성: 동일한 튜플 없음 - 모든 레코드가 기본 키에서 다릅니다. 튜플은 위에서 아래로 정렬되지 않습니다. 속성은 왼쪽에서 오른쪽으로 정렬되지 않습니다(관계형 대수 연산에서 관계의 행과 열은 정보 의미에 관계없이 임의의 순서와 순서로 볼 수 있음). 모든 값은 스칼라이고 열의 모든 요소는 동일한 도메인에 구축되기 때문에 동일한 특성을 갖습니다. 이러한 속성과의 관계를 정규화라고 합니다. 관계에서 하나 이상의 속성이 키입니다. 즉, 튜플을 고유하게 특성화합니다. 주요 속성: 고유한 선택 식별, 비중복성(속성을 제거하면 고유성 속성이 박탈됨). 시맨틱 키와 함께 자동으로 증분되는 하나의 숫자 필드로 구성된 증분(카운터) 키가 사용됩니다.

개념적 도메인 모델을 관계형 데이터베이스에 매핑하기 위한 규칙입니다.

그림 5는 개념적 모델을 보여줍니다. 관계형으로 매핑해 보겠습니다.

  1. 정규화된 관계 관계에 엔터티 매핑
  2. 연관 매핑은 테이블 간의 참조 무결성 사용과 관련이 있습니다. 연관 관계 1:1, 1:M, M:1은 연관 화살표가 시작되는 엔티티에 외부 보조 키를 배치하여 구현됩니다. 이 키는 화살표가 가리키는 기본 키에 해당합니다. 다대다 관계에는 보조 키로 연결되는 엔터티의 기본 키가 포함된 교차 분석이 필요합니다.

  1. 집계는 연결을 사용하여 표시되는 반면 소유자 테이블(전체)에 연결하는 보조 키로 별도의 "부분" 테이블이 생성됩니다.
  2. 일반화 매핑은 상위 유형 테이블의 기본 키에 해당하는 보조 키를 포함하여 각 하위 유형을 별도의 테이블에 매핑하여 가장 자주 수행됩니다. 예: "클라이언트"( 클라이언트 코드) 하위 유형 "조직"( OGRN, 클라이언트 코드), "IP"( 주석, 클라이언트 코드).

관계형 모델의 무결성.

개체의 무결성(관계) - 데이터베이스에서 기본 키의 속성이 정의되지 않은 값을 취하는 것은 허용되지 않습니다.

참조 무결성 - 데이터베이스에 일관성 없는 외래 키(FK) 값이 포함되어서는 안 됩니다. 릴레이션 R2의 속성 중 릴레이션 R1의 기본 키(PK)에 해당하는 외래 키가 있는 경우 FK의 각 값은 PK의 값과 같아야 합니다. 예: "부품" 테이블의 모든 재료 코드는 재료 테이블의 기본 키로 존재해야 합니다.

공간 데이터 형식으로 설명된 모든 개체에는 공간 데이터에 단단히 연결되고 데이터베이스 테이블에 저장되는 속성이 있습니다. 속성 데이터의 필드 및 라인은 조정, 수정, 추가될 수 있습니다. 이러한 GIS 데이터 구성을 통해 공간 객체의 속성에 대한 즉각적인 정보를 얻을 수 있습니다. 이 정보는 특수 문서에 작성된 요청을 기반으로 생성된 통신 구조를 포함하여 얻습니다. SQL 언어- 구조화된 쿼리 언어 - 구조화된 쿼리 언어. 데이터베이스에서 데이터를 구조화하는 것을 데이터베이스 및 데이터 뱅크 구축을 위한 논리적 모델이라고 합니다.

데이터베이스 및 데이터 뱅크의 다음 유형의 논리적 모델이 구별됩니다.

  • 1. 계층적
  • 2. 네트워크 모델
  • 3. 상대 모델.
  • 4. 객체 지향.

계층적 모델은 데이터베이스와 데이터 뱅크에서 가장 오래되고 가장 효과적으로 사용됩니다. 그것들은 루트 객체(소스 객체와 최종 객체)를 구별할 수 있는 트리 구조를 가지고 있습니다.

이 논리적 모델의 개체는 관계로 설명되며, 각 기본 상위 데이터베이스에는 많은 하위 데이터베이스가 있을 수 있으며, 각 하위 또는 하위 데이터베이스는 하나의 기본 상위 데이터베이스에만 속할 수 있습니다.

계층적 데이터 모델의 장점:

  • 1. 이해하기 쉽습니다.
  • 2. 제공 빠른 액세스개체 키를 사용하여 데이터에. 최고의 효과계층적 데이터 모델을 사용하는 것은 관리 장치의 다음 계층 구조에서 개체를 인코딩하여 달성됩니다.

결점:

이 모델의 데이터는 장기간 여러 번 저장되며, 데이터를 변경하면 논리적 모델의 전체 구조가 변경됩니다.

계층적 모델과 달리 네트워크 모델은 다른 유형데이터베이스 개체 간의 관계. 표준 관계와 함께: 1:M - 하나의 집합, M:N - 집합에 대한 집합이 사용됩니다. 이 경우 자식 개체복수의 부모 데이터베이스에 속할 수 있고, 복수의 자식 객체는 복수의 부모 데이터베이스와 상호 연결될 수 있다.

장점:

모델의 유연성, 데이터 변경 시 신속하게 재구축하는 기능.

결점:

데이터베이스 개체를 파괴할 때 재구축이 어렵습니다.

개체의 파괴는 다음을 포함하는 모든 하위 및 상위 데이터베이스의 개정을 수반합니다. 네트워크 연결이 개체와 함께 사용하므로 다음 형식이 가장 적합합니다.

관계가 테이블 형식으로 작성된 개체 간의 관계를 설명하는 관계형(상대적) 모델입니다.

데이터 세트 테이블의 경우 테이블의 행과 셀에 있는 정보 유형의 단일성, 값 유형의 단일성 및 기타 요구 사항을 의미하는 관계형 무결성 규칙이 있습니다.

일반적으로 이러한 데이터베이스의 공간 데이터는 벡터 모델의 형태로 제공됩니다.

객체 지향 데이터베이스에는 세 가지 유형의 데이터베이스가 포함됩니다.

  • 1. 구조적으로 객체 지향 데이터 모델의 클래스.
  • 2. 상대적으로 객체 지향적인 데이터 모델.
  • 3. 완전한 객체 지향 데이터 모델.

차이점은 유연성에 있습니다.

구조 지향 데이터 모델에서 정보의 기본 입자는 데이터 뱅크의 객체로 간주됩니다.

완전한 객체 지향 모델에는 두 클래스의 기능이 모두 포함되어 있습니다. 이러한 데이터베이스의 개체는 상태를 특성화하는 데이터 집합으로 구성되며 일정량의사용할 수 있는 작업 및 방법에 대한 설명입니다.

객체 지향 모델의 장점:

  • 1. 객체는 실제 모델의 기록을 위한 최적의 이미지입니다.
  • 2. 자신의 라이프스타일과 발달에 대한 정보를 저장할 수 있을 만큼 유연합니다.

결점:

이러한 모델은 많은 시간이 필요하고 엄청난 양의 메모리를 차지합니다.

강의

논리적 데이터 모델.

계층, 네트워크, 관계형 데이터 모델.

건설 원칙.

장점과 단점

데이터베이스 시스템 이론을 발전시키는 과정에서 "데이터 모델"이라는 용어는 다른 의미를 갖습니다. 개별 개념의 본질에 대한 더 깊은 이해를 위해 데이터베이스 진화의 맥락에서 이 개념을 사용하는 몇 가지 기능을 고려해 보겠습니다.

11.1. "데이터 모델"의 개념에 대해

처음에 데이터 모델의 개념은 특정 데이터베이스의 데이터 구조에 대한 동의어로 사용되었습니다. 구조적 해석은 주어진 관계가 있는 집합으로서의 모델 개념의 수학적 정의와 완전히 일치했습니다. 그러나 모델링의 대상은 다음과 같습니다. 이 경우일반적인 데이터가 아니라 특정 데이터베이스입니다. 다단계 DBMS 아키텍처의 아이디어를 기반으로 하는 새로운 아키텍처 접근 방식의 개발은 더 이상 특정 데이터베이스의 매핑 뷰를 고려하는 것으로는 충분하지 않다는 것을 보여주었습니다. 주어진 DBMS 내에서 가능한 모든 유효한 데이터베이스 표현 세트에 대해 작업할 수 있는 메타 수준 솔루션이 필요했습니다. 도구사양에 사용됩니다. 이와 관련하여 모델링의 결과가 아닌 도구를 나타내는 용어로, 특정 클래스의 다양한 데이터베이스 집합에 해당하는 용어가 필요하였다. 저것들. 데이터베이스 모델링 도구에는 데이터 구조화 도구뿐만 아니라 데이터 조작 도구도 포함되어야 합니다. 따라서 도구적 의미의 데이터 모델은 대수적 시스템으로 이해되기 시작했습니다. 즉, 허용 가능한 모든 데이터 유형과 이에 정의된 관계 및 연산의 집합입니다. 나중에 이 개념에는 데이터에 부과할 수 있는 무결성 제약 조건도 포함되기 시작했습니다. 결과적으로 다단계 DBMS 및 분산 데이터베이스 시스템에서 데이터를 표시하는 문제는 데이터 모델을 표시하는 문제로 간주되게 되었습니다.

DBMS의 개발자와 사용자에게 구현된 데이터 모델의 정확한 정의는 실제로 데이터를 정의하고 데이터를 조작하는 언어 수단이라는 점을 강조하는 것이 중요합니다. 따라서 이러한 언어를 데이터베이스 스키마(모델링 결과)로 식별하는 것(이 언어의 특정 사양)은 불법입니다.

1970년대 중반부터 당시 제안된 추상형 개념의 영향으로 프로그래밍 언어의 데이터형 개념 자체가 구조적 속성뿐만 아니라, 뿐만 아니라 행동 요소(데이터 변경). 미래에 이것은 현대 객체 모델의 기반이되는 객체 개념 형성의 기초가되었습니다.

이와 관련하여 데이터 모델을 유형 시스템으로 간주하는 새로운 접근 방식이 제안되었습니다. 이 접근 방식은 데이터베이스와 프로그래밍 언어를 통합할 수 있는 자연스러운 가능성을 제공했으며 소위 데이터베이스 프로그래밍 시스템의 생성과 관련된 방향을 형성하는 데 기여했습니다. 데이터 모델을 유형 시스템으로 해석하는 것은 이미 널리 사용되는 모델뿐만 아니라 점점 더 영향력을 얻고 있는 객체 모델에도 해당됩니다.

따라서 데이터 모델은 데이터베이스 설계의 논리적 수준의 모델입니다. 세 가지 구성 요소의 조합으로 볼 수 있습니다.(슬라이드 2):

1. 구조적 구성요소, 즉 데이터베이스를 구축할 수 있는 규칙 집합입니다.

2. 데이터에 대해 허용되는 작업의 유형을 정의하는 제어 구성 요소(데이터 업데이트 및 검색 작업과 데이터베이스 구조 변경 작업 포함).

3. 사용 중인 데이터가 올바른지 확인하기 위해 일련의 (선택 사항) 데이터 무결성 제약 조건을 지원합니다.

구조 구성 요소의 관점에서 모델은 레코드를 기반으로 구별됩니다. 레코드 기반 모델에서 데이터 구조는 여러 레코드 유형의 모음입니다. 크기 형식. 각 레코드 유형은 고정된 수의 필드를 정의합니다.다듬어진 길이.
레코드 기반 논리 데이터 모델에는 세 가지 주요 유형이 있습니다(슬라이드 3):
- 관계형 데이터 모델(관계형 데이터 모델);
- 네트워크 데이터 모델(네트워크 데이터 모델);
- 계층적 데이터 모델(계층적 데이터 모델).
계층 및 네트워크 데이터 모델은 개념과의 관계 때문에 관계형 데이터 모델보다 거의 10년 일찍 생성되었습니다.전통적인 파일 처리가 더 명확합니다.

11.2. 관계형 데이터 모델

관계형 데이터 모델은 개념을 기반으로 합니다. 수학적 관계.관계형 모델에서 데이터와 관계는 테이블 형식으로 표현되며, 각 테이블에는 고유한 이름을 가진 여러 열이 있습니다. 슬라이드에서( 슬라이드 4 )는 관계형 스키마의 예를 보여줍니다. , 대학의 부서 및 직원에 대한 정보가 포함되어 있습니다. 예를 들어, "인사 구성" 테이블에서 직원 Ivanov I.I. "구조" 테이블의 데이터에 따르면 건물 A, 322호에 위치한 부서 22의 책임자로 일합니다. 여기서 "직원"과 "구조" 사이에는 다음과 같은 관계가 존재한다는 점에 유의하는 것이 중요합니다. 관계: 직원 공장부서에서. 그러나 이 두 관계 사이에는 명시적인 연결이 없습니다. 속성의 존재는 속성이 카페"인사 구성"과 관련하여 속성과 동일합니다. 카페"구조"에 대해.

관계형 데이터 모델에서 유일한 요구 사항은아이디어는 사용자의 관점에서 데이터베이스를 테이블 세트처럼 보이게 하는 것입니다. 그러나 이러한 인식은 논리적데이터베이스 구조, 즉 아키텍처의 외부 및 개념적 수준으로 ANSI/SPARC 투어 . 데이터베이스의 물리적 구조를 나타내는 것이 아니라,다양한 저장 구조를 사용하여 구현할 수 있습니다.

슬라이드에( 슬라이드 5, 6 ) 관계형 데이터 모델은 SbA "직원-프로젝트-부품-공급자"에 대해 제공됩니다.

11.3. 네트워크 데이터 모델

네트워크 모델에서 데이터는 컬렉션으로 표현됩니다. 기록,그리고 형태의 연결 세트.관계형 모델과 달리 여기의 링크는 포인터( 슬라이드 5 ). 네트워크 모델은 다음 형식의 항목이 있는 그래프로 나타낼 수 있습니다. 노드그래프와 그 형태의 집합 갈비 살.슬라이드는 관계형 모델에 표시된 동일한 데이터 세트에 대한 네트워크 다이어그램의 예를 보여줍니다.

가장 대중적인 네트워크 DBMS는 시스템 Computer Associates의 IDMS/R.

슬라이드에( 슬라이드 8, 9 ) SbA "employees-projects-parts-suppliers"에 대한 네트워크 데이터 모델의 변형을 나타냅니다.

11.4. 계층적 데이터 모델

계층적 모델은 네트워크 모델의 제한된 하위 유형입니다. 또한 데이터를 컬렉션으로 제공합니다. 기록,다음과 같은 연결 세트.그러나 계층적 모델에서 노드는 부모를 하나만 가질 수 있습니다. 계층적 모델은 노드(노드라고도 함) 형식의 항목이 있는 트리와 같은 그래프로 나타낼 수 있습니다. 세그먼트)가장자리 형태로 설정( 슬라이드 6 ). 슬라이드는 이전 모델에 표시된 동일한 데이터 세트에 대한 계층적 스키마의 예를 보여줍니다.

가장 일반적인 계층적 DBMS는 시스템 IBM IMS , 그러나 다른 비계층적 기능도 있습니다.

슬라이드에( 슬라이드 11, 12 ) SbA "employees-projects-parts-suppliers"에 대한 계층적 데이터 모델의 변형을 나타냅니다.

11.5. 모델의 장점과 단점

레코드 기반(논리적) 데이터 모델은 다음을 정의하는 데 사용됩니다. 전체 구조데이터베이스 및 구현에 대한 높은 수준의 설명. 주요 단점은 데이터에 대한 제약 조건을 명시적으로 지정하기 위한 적절한 수단을 제공하지 않는다는 것입니다. 동시에 에서 개체 모델데이터의 경우 논리적 구조를 지정할 수 있는 방법이 없지만 사용자가 데이터에 대한 제한 사항을 지정할 수 있도록 함으로써 저장된 정보의 의미론적 본질을 더 많이 나타낼 수 있습니다.

대부분의 현대 상용 시스템은 관계형 모델을 기반으로 하지만 최초의 데이터베이스 시스템은 네트워크 또는 계층적 모델을 기반으로 구축되었습니다. 후자의 두 모델은 사용자가 액세스할 데이터베이스의 물리적 구성을 알아야 합니다. 관계형 모델로 작업할 때 데이터 독립성이 훨씬 더 많이 제공됩니다. 따라서 관계형 시스템이 데이터베이스의 정보 처리에 대해 선언적 접근 방식을 취하는 경우(즉, 어떤 종류검색할 데이터), 네트워크 및 계층적 시스템 - 탐색 접근 방식(즉, 어떻게제거해야 함).

네트워크 및 계층 구조는 주로 데이터 간의 관계가 데이터 자체와 함께 저장된다는 사실에 중점을 둡니다. 이러한 통합은 예를 들어 데이터를 집계(복잡한 개념 구조 및 데이터 구축)하거나 의미론적 링크를 데이터 레코드에 직접 수정하는 참조 장치를 도입함으로써 실현되었습니다.

정보 표시의 표 형식은 가장 일반적이고 이해하기 쉽습니다. 또한 트리 및 네트워크와 같은 의미론적으로 더 복잡한 형식은 약간의 중복성을 도입하여 표 형식으로 축소할 수 있습니다. 이 경우 데이터 간의 관계도 2차원 테이블 형식으로 표시됩니다.

데이터와 관계를 분리하는 원칙을 기반으로 하는 관계형 접근 방식은 한편으로는 데이터 독립성을 제공하고 다른 한편으로는 더 많은 간단한 방법저장 및 업데이트 구현.

90년대 초에 OLAP 기술을 지원하기 위해 상용화된 다차원 모델은 특히 OLAP에 필요한 데이터 집계 기능을 제공하는 새로운 운영 기능으로 보편적 관계 모델의 일부 확장을 나타냅니다. 따라서 다차원 모델은 특별한 종류의 관계형 모델입니다.모델.

11.6. 다큐멘터리 시스템 및 모델 통합

위의 조항은 개발되었으며 실제로 잘 구조화된 정보 데이터베이스에 널리 사용됩니다. 그러나 오늘날에도 가장 중요한 문제 중 하나는 이기종 정보 자원, 특히 반정형 데이터의 통합을 보장하는 것입니다. 솔루션의 필요성은 데이터베이스 시스템을 웹 기술 환경에 완전히 통합하려는 욕구와 관련이 있습니다. 그러나 더 이상 충분하지 않습니다. 간단한 제공데이터베이스 액세스 전통적인 방법"아래에서" HTML 양식. 모델 수준에서 통합이 필요합니다. 그리고 이 경우 정보 자원의 의미론적 상호 운용성 문제는 기존 데이터베이스 모델링 기술을 기반으로 반정형 데이터 자원에 대한 메타데이터의 명시적 사양을 제공하는 도구 및 기술을 개발하는 작업으로 축소됩니다.

집중적인 개발이 지시되는 것은 이 목표를 달성하는 것입니다. www -협회 XML 언어및 해당 인프라(실제로 이 환경에 대한 새로운 데이터 모델), 예상할 수 있듯이 곧 관리 기술의 기초가 될 문서 및 기타 도구의 개체 모델 정보 자원. 이 방향은 의미론적 식별 가능성을 제공하는 메타데이터 저장소의 구성을 기반으로 하는 분산된 이기종 정보 시스템의 조직(데이터베이스 설계에 대한 고전적인 작업의 개념은 데이터 사전의 개념에 해당함)과 같은 또 다른 글로벌 문제와 연결됩니다. 자원, 따라서 의도적인 재사용 가능성.