개체 관계형 데이터베이스. 객체 지향 데이터 모델. 개체 관계형 데이터 모델

현재 관계형 DBMS는 데이터 관리 시스템에서 지배적입니다. 한편으로는 복잡하고 전문화된 응용 프로그램을 생성하기 위한 객체 지향 접근 방식의 장점과 다른 한편으로는 해당 DBMS의 응용 프로그램의 경계를 확장하려는 데이터베이스 관리 시스템 개발자의 욕망으로 이어졌습니다. 관계형 DBMS의 데이터 모델에 객체 지향 구성 요소(사용자 확장형 시스템, 캡슐화, 상속, 다형성 등) 포함. 객체 관계형이라고 하는 해당 DBMS , 단결하다 최고의 자질관계형 및 객체 지향 데이터베이스. 다른 DBMS는 나열된 객체 지향 구성 요소의 다른 집합을 구현합니다. 따라서 일반적으로 허용되는 객체 관계형 모델은 없지만 특정 객체 지향 구성 요소 집합을 지원하는 여러 모델이 있습니다. 그러나 관계형 테이블은 이러한 모든 모델의 기초이며 쿼리 언어가 사용되며 개체의 개념이 포함되며 일부는 데이터베이스에 메서드를 저장하는 기능을 추가로 구현합니다.

관계형 모델의 해당 변경으로 인해 언어 표준의 확장이 필요했습니다. SQL 쿼리. 이 표준의 첫 번째 버전은 SQL3이라고 합니다. 표준 작업은 여전히 ​​진행 중입니다.

최대 범위의 객체 지향 DBMS의 예는 연구 DBMS Postgres(3)입니다.

개체 확장으로 간주되는 DBMS의 요소에 유의하십시오. 마이크로소프트 서버 2008.

· 사용자 정의 확장.사용자는 특히 새로운 사용자 정의 데이터 유형을 생성하여 원래 DBMS에서 제공한 툴킷을 방해할 수 있습니다.

· 저장 대용량데이터. Microsoft는 전통적으로 데이터베이스에 저장되었던 데이터와 함께 SQL 서버 2008에서는 테이블의 열에 데이터를 저장할 수 있습니다. 큰 크기(해당 데이터 유형이 지원됨).

· 새로운 객체별 데이터 유형. 시스템은 객체 지향 접근 방식이 매우 효과적이고 자주 사용되는 영역(지도 제작 및 관련 응용 프로그램, 매우 다른 속성의 객체에 대한 기하학적 표현)에 일반적으로 사용되는 새로운 데이터 유형(기하학, 지리학)을 정의합니다.

· 저장됨절차 . 어떤 의미에서 저장 프로시저는 데이터에 대해 사용자에게 필요한 작업을 수행하는 개체 확장이기도 합니다(OOP의 표준인 절차적 접근 방식).

2. 분산 데이터베이스

데이터베이스는 많은 사용자가 작업하는 데이터의 통합 모음입니다. 이전 섹션의 프레젠테이션에서는 단일 컴퓨터에서 호스팅되는 단일 데이터베이스를 가정했습니다. 데이터베이스 이론의 기초가 되는 기본 원칙을 상기하십시오.



중앙 집중식 데이터 저장

· 중앙 집중식 데이터 유지 관리(입력, 수정, 읽기, 무결성 제어).

데이터베이스는 메인프레임 지배 기간 동안 나타났습니다. 데이터베이스는 한 대의 컴퓨터에서 유지 관리되었으며 모든 사용자는 컴퓨터에서 작업했습니다(가능한 작동 모드는 강의 3에 설명되어 있음). 그 당시 컴퓨터 기술을 사용하는 다른 옵션은 존재하지 않았습니다. 기업, 조직, 기업의 데이터로 사용자의 작업을 "컴퓨터 이전" 시대에 분석하면 쉽게 알 수 있습니다. 별도의 섹션사용자는 "자신의" 데이터로 작업했습니다(특정 데이터 수집, 저장, 처리, 처리된 데이터를 다른 영역 또는 관리 수준으로 전송).

이 기술에는 이전 섹션에서 이미 언급한 심각한 단점이 있습니다. 일부 데이터의 중복, 모든 사이트의 데이터를 비교 분석할 가능성이 없습니다. 그러나 이 기술에는 상당한 이점도 있었습니다. 데이터가 생성된 장소에 입력되고 저장되었습니다. 이 특정 데이터의 전문가인 사용자는 이러한 데이터로 작업하여 모든 처리 단계에서 데이터의 정확성을 효과적으로 제어할 수 있었습니다. 데이터가 사용자에게 직접 위치하여 신속하게 처리할 수 있었습니다. 의심할 여지 없이 데이터를 저장하고 처리하는 효과적인 가능성을 제공하는 단일 컴퓨터에 데이터를 중앙 집중화하여 위의 장점을 구현할 수 없었습니다.

컴퓨터 네트워크의 발전은 데이터베이스를 구성하고 유지 관리하는 새로운 기회를 가져왔고, 각 사용자는 자신의 컴퓨터에 자신의 데이터를 가지고 작업할 수 있으며 동시에 모든 사용자는 전체 데이터 집합을 하나의 문서로 사용할 수 있습니다. 단일 중앙 데이터베이스. 해당 데이터 모음을 분산 데이터베이스라고 합니다.

용어 " 분산 데이터베이스'는 문헌에서 흔히 볼 수 있다. 그러나 다른 출처에서이 용어는 완전히 다른 것을 의미합니다. 일부 작성자는 분산 데이터베이스를 통해 데이터가 있는 원격 서버와 지리적으로 다른 위치에 있는 클라이언트 컴퓨터가 있음을 이해합니다. 이 해석은 잘못된 것 같습니다. 진짜 분산 데이터베이스여러 컴퓨터에 상주합니다. 이 경우 파일 중 일부는 한 컴퓨터에 있고 일부는 다른 컴퓨터에 있습니다. 또한 이러한 컴퓨터의 정보가 중복되어 중복되는 상황이 가능하고 자주 발생합니다.

분산 데이터베이스는 물리적으로 분산된 논리적으로 상호 연결된 공유 데이터(및 구조 설명)의 집합입니다. 컴퓨터 네트워크.

객체 지향

사후 관계형 모델

관계형 데이터 모델의 장점과 단점

기본 위엄관계형 데이터 모델 - 이해하기 쉽고 시각적이며 엄격한 수학적 근거가 있습니다.

결점다음과 같은:

관계형 데이터 모델은 프레임워크 내에서 2차원 테이블만 사용하여 모델링할 수 있기 때문에 복잡한 구조의 개체 표현을 허용하지 않습니다.

· 객체에 대한 데이터는 원칙적으로 많은 테이블에 포함됩니다. 따라서 이러한 각 개체에 대한 정보를 추출하려면 기본 키와 외래 키를 사용하여 많은 조인 작업을 수행해야 하므로 데이터 처리 속도가 크게 느려집니다.

최근모델과 같은 데이터베이스 데이터 개발에 적극적으로 사용 포스트 관계형, 객체 지향, 객체 관계형 및 다차원모델.

사후 관계 데이터 모델 일반적인 경우필드 값의 불가분성에 대한 제한을 제거하는 확장 관계형 모델입니다.

즉, 값이 하위 값으로 구성된 다중값 필드가 허용됩니다. 사후 관계형 모델의 예는 관련 관계형 테이블 CUSTOMERS 및 ORDERS의 데이터 모음인 테이블입니다.

장점사후 관계형 데이터 모델:

· 관련 관계형 테이블을 하나의 사후 관계형 테이블로 표현할 가능성. 이는 데이터 표시의 높은 가시성을 보장하고 처리 효율성을 높입니다.

· 테이블 레코드에서 필드의 길이와 숫자에 대한 제한이 없습니다.

결함사후 관계형 모델 - 데이터 무결성 보장의 어려움.

객체 지향 및 객체 관계형 모델을 사용하여 극복 장애문서, 사운드, 비디오, 그래픽 이미지

객체 지향 모델노드가 객체인 트리로 그래픽으로 표현할 수 있는 구조를 나타냅니다.

각 개체는 고유합니다. 식별자, 상태 및 동작. 상태 객체는 속성 값 집합으로 정의됩니다. 행동 개체 설명 행동 양식절차라고 합니다. 그건, 중요한 부분개체 설명은 특정 이벤트가 발생한 경우 개체의 속성에 대해 작업을 수행할 수 있는 절차입니다. .

개체를 다음으로 결합할 수 있습니다. 클래스 . 동일한 클래스의 인스턴스는 속성 값만 다를 뿐 메서드는 다릅니다. 메소드는 클래스가 정의될 ​​때 설정됩니다.

객체에 대한 작업을 수행하기 위해 객체 지향 메커니즘이 사용됩니다. 상속, 캡슐화, 다형성.

본질 계승 기존 클래스를 기반으로 상위 클래스의 속성을 상속할 새 개체 클래스를 구성할 수 있다는 것입니다.

데이터에 대한 액세스는 메서드( 캡슐화 ).

다형성주변 세계에서 동일한 사건에 대해 다르게 반응하는 물체의 능력. 다형성은 서로 다른 객체의 처리를 통합하는 데 사용됩니다. 예를 들어, Print Result 메서드는 많은 개체 클래스에 대해 정의할 수 있지만 적용되는 클래스에 따라 다르게 작동합니다.

기본 위엄 OODM은 복잡한 개체와 개체의 동적 동작 간의 관계에 대한 포괄적인 설명과 함께 복잡한 개체에 대한 정보를 표시하는 기능입니다. 이 모델은 일반적으로 관계형 모델의 기능이 부족한 복잡한 주제 영역에 사용됩니다(예: 디자인 자동화 시스템, 출판 시스템 등) P.).

결함 OOMD는 개념적 장치의 복잡성으로, 적용을 복잡하게 하고 객체 지향 데이터베이스의 생성 및 운영 경험 축적에 부정적인 영향을 미칩니다.

개체 관계형 데이터 모델관계형 모델의 기능과 데이터의 개체 속성을 결합한 하이브리드 모델입니다.

1. 프런트엔드에서 볼 수 있는 개체는 기본 관계형 데이터베이스의 테이블에 매핑됩니다. 반대로, 객체는 사용자나 애플리케이션이 요청할 때 테이블 형식 스토리지 환경의 표현에서 검색됩니다. (하이브리드 접근).

이 접근법은 1980년대 후반에 유행했습니다. CASE(프로그래밍 자동화), CAD(설계 자동화), 리포지토리(사용자가 아닌 시스템 데이터를 저장하도록 설계된 데이터베이스)용 소프트웨어 제품에 구현됩니다.

2. 데이터 관리 DBMS의 내부 관계 메커니즘은 객체 지향 기능으로 확장됩니다( 확장된 관계형 접근).

이 접근 방식은 기술적으로 더 발전되었으며 현재 대부분의 RDBMS 개발자가 선호합니다. 그는 1996-1997 년에 구현되었습니다. 여러 개체 관계형 데이터베이스 서버에서

구별되는 특징 OOMD의 객체 관계형 모델은 관계형 모델의 전략을 기반으로 한다는 점입니다. 다음에서 관계형 모델에 개체를 포함하는 것에 대해 이야기할 수 있습니다. 이 단계데이터베이스 개발의 일반적인 방향으로만 사용할 수 있습니다.

DBMS는 훨씬 더 높은 레벨어려움. 프로그래머가 하는 일을 구하려고 합니다. 일상적인 작업데이터 관리에 있어서 계층적 및 네트워크 모델의 특성입니다.

관계형 모델에서 데이터베이스는 많은 사용자가 정보에 동시에 안전하게 액세스할 수 있도록 하는 중앙 집중식 테이블 저장소입니다. 테이블 행에서 일부 필드에는 레코드와 직접 관련된 데이터가 포함되고 일부 필드에는 다른 테이블의 레코드에 대한 링크가 포함됩니다. 따라서 레코드 간의 관계는 관계형 모델의 필수 속성입니다.

각 테이블 항목은 동일한 구조를 갖습니다. 예를 들어, 차량 설명이 포함된 테이블에서 모든 레코드는 제조업체, 모델, 연도, 마일리지 등 동일한 필드 집합을 갖습니다. 이러한 테이블은 그래픽으로 표현하기 쉽습니다.

관계형 모델은 정보 및 구조적 독립성을 달성합니다. 레코드 중 하나를 변경하면 나머지에 영향을 줄 정도로 관련이 충분하지 않으며 데이터베이스 구조를 변경한다고 해서 해당 데이터베이스로 작업하는 응용 프로그램의 재컴파일이 반드시 필요한 것은 아닙니다.

관계형 DBMS 사용 SQL 언어, 임의의 임시 쿼리를 공식화할 수 있습니다. 4세대 언어이므로 모든 사용자가 쿼리 작성 방법을 빠르게 배울 수 있습니다. 또한 그래픽 형식으로 논리적 쿼리 체계를 구축할 수 있는 많은 응용 프로그램이 있습니다. 이 모든 것은 컴퓨터 성능에 대한 요구 사항의 강화로 인해 발생합니다. 다행히도 최신 컴퓨팅 성능은 충분합니다.

관계형 데이터베이스관계형 모델의 문제는 아니지만 SQL 언어 구현의 차이로 인해 어려움을 겪습니다. 각 관계형 DBMS는 SQL 표준의 일부 하위 집합과 고유한 명령 집합을 구현하므로 프로그래머가 한 DBMS에서 다른 DBMS로 마이그레이션하는 것을 어렵게 만듭니다. 최대의 휴대성과 최대 성능. 첫 번째 경우에는 각 DBMS에서 지원하는 최소한의 공통 명령 집합을 준수해야 합니다. 두 번째 경우 프로그래머는 고유한 명령과 기능을 활용하여 이 특정 DBMS에서 작업하는 데 중점을 둡니다.

MySQL은 관계형 DBMS이며 이 튜토리얼은 모두 관계형 모델에 관한 것입니다. 그러나 데이터베이스 이론은 여전히 ​​서 있지 않습니다. 관계형 모델을 확장하는 새로운 기술이 등장하고 있습니다.

객체 지향 데이터베이스

객체 지향 데이터베이스(OODB)를 사용하면 3세대 언어로 작업하는 프로그래머가 모든 정보 엔터티를 저장된 객체로 해석할 수 있습니다. 랜덤 액세스 메모리. 추가 인터페이스 추상화 계층은 디스크의 영구 저장소에 있는 데이터베이스 부분에 액세스하는 요청의 가로채기를 제공합니다. 개체에 대한 변경 사항은 메모리에서 디스크로 최적으로 전송됩니다.

OODB의 장점은 단순화된 코드입니다. 응용 프로그램은 데이터가 작성된 프로그래밍 언어의 컨텍스트에서 데이터를 해석할 수 있습니다. 관계형 데이터베이스는 모든 필드의 값을 텍스트로 반환한 다음 로컬 유형데이터. OOBD에서는 이 단계가 제거됩니다. 데이터 조작 방법은 데이터가 디스크에 있든 메모리에 있든 항상 동일합니다.

OODB의 데이터는 사용되는 프로그래밍 언어로 표현할 수 있는 모든 구조의 형태를 취할 수 있습니다. 엔터티 간의 관계도 임의로 복잡할 수 있습니다. OODB는 개체 캐시 버퍼를 관리하여 필요에 따라 버퍼와 디스크 저장소 간에 개체를 이동합니다.

OODB는 두 가지 문제를 해결합니다. 첫째, 복잡한 정보 구조관계형 데이터베이스보다 더 잘 표현되며, 둘째, DBMS에서 지원하는 형식의 데이터를 번역할 필요가 없습니다. 예를 들어, 관계형 DBMS에서 정수의 차원은 11자리가 될 수 있고 사용되는 프로그래밍 언어에서는 16이 될 수 있습니다. 프로그래머는 이 상황을 고려해야 합니다.

객체 지향 DBMS는 많은 추가 기능을 수행합니다. 이는 데이터 간의 관계가 매우 복잡한 경우에 효과적입니다. 이 경우 OODB의 성능은 관계형 DBMS의 성능보다 높습니다. 데이터가 덜 복잡하면 추가 기능중복됩니다. 임시 쿼리는 데이터 개체 모델에서 지원되지만 해당 언어가 SQL일 필요는 없습니다. 데이터의 논리적 표현은 관계형 모델과 일치하지 않을 수 있으므로 SQL 언어의 사용은 의미가 없습니다. 적절한 검색을 수행하여 메모리에서 개체를 처리하는 것이 더 편리한 경우가 많습니다.

객체 지향 데이터베이스의 큰 단점은 사용되는 프로그래밍 언어와 밀접하게 연결되어 있다는 것입니다. 관계형 DBMS에 저장된 데이터는 모든 응용 프로그램에서 액세스할 수 있지만 예를 들어 OODB에 있는 Java 개체는 Java로 작성된 응용 프로그램에만 관심이 있습니다.

개체 관계형 데이터베이스

개체 관계형 DBMS는 관계형 모델과 개체 모델의 기능을 결합합니다. 그들의 발생은 다음 사실로 설명됩니다. 관계형 데이터베이스내장 데이터 유형에서는 잘 작동하고 사용자 정의, 비표준 유형에서는 훨씬 더 나쁩니다. 새로운 중요한 데이터 유형이 나타나면 DBMS에 지원을 포함하거나 프로그래머가 응용 프로그램에서 데이터를 직접 관리하도록 해야 합니다.

모든 정보가 일련의 문자나 숫자로 해석되는 것은 아닙니다. 음악 데이터베이스를 상상해보십시오. 오디오 파일로 인코딩된 노래를 텍스트 필드에 배치할 수 있습니다. 큰 사이즈, 하지만 이 경우 텍스트 검색은 어떻게 수행됩니까?

새로운 데이터 유형에 대한 지원을 포함하도록 DBMS를 재구축하는 것은 최선의 방법이 아닙니다. 대신 객체 관계형 DBMS를 사용하면 "비정형" 데이터를 처리하도록 설계된 코드를 로드할 수 있습니다. 따라서 데이터베이스는 테이블 구조를 유지하지만 테이블의 특정 필드가 처리되는 방식은 외부에서 결정됩니다. 프로그램 제작자.

ORDM(객체 관계형 데이터 모델)은 관계형 테이블을 사용하여 구현되지만 객체 지향 프로그래밍의 객체 개념과 유사한 객체를 포함합니다. ORMD는 사용자 정의 데이터 유형, 캡슐화, 다형성, 상속, 메서드 재정의 등과 같은 객체 지향 구성 요소를 사용합니다.

불행히도 지금까지 개발자들은 ORMD가 제공해야 하는 것에 대한 합의에 이르지 못했습니다. 1999년에는 SQL-99 표준이 채택되었고, 2003년에는 이 표준의 두 번째 릴리스인 SQL-3이 출시되어 ORMD의 주요 특징을 정의했습니다. 그러나 지금까지 다양한 DBMS 벤더에서 지원하는 객체 관계형 모델은 서로 크게 다릅니다. 이러한 방향의 전망은 Oracle, Informix, INGRES 등을 포함한 주요 DBMS 제조업체가 제품의 기능을 ORDBMS(객체 관계형 DBMS)로 확장했다는 사실에서 입증됩니다.

대부분의 ORMD 구현에서 집계 및 다른 테이블의 일부가 될 수 있는 테이블(관계)은 개체로 인식됩니다. 데이터 처리 방법은 저장 프로시저 및 트리거로 표현되며, 이는 데이터베이스 절차 객체이며 테이블과 연결됩니다. 개념적 수준에서 객체 관계형 데이터베이스의 모든 데이터는 관계로 표현되며 ORDBMS는 SQL 언어를 지원합니다.

객체 지향 데이터 모델

데이터베이스를 구축하는 또 다른 접근 방식은 OODM(객체 지향 데이터 모델)을 사용하는 것입니다. OOMD의 데이터 모델링은 개체 개념을 기반으로 합니다. OOMD는 일반적으로 관계형 모델의 기능이 충분하지 않은 모델링을 위한 복잡한 주제 영역(예: 설계 자동화 시스템(CAD), 출판 시스템 등)에서 사용됩니다.

객체지향 DBMS(OODBMS)를 생성할 때 사용 다른 방법, 즉:

  • 데이터베이스와 함께 작동하도록 설계된 객체 지향 언어 도구에 임베딩
  • 객체 지향 기능으로 기존 데이터베이스 언어 확장
  • 데이터베이스 작업을 위한 객체 지향 함수 라이브러리 생성
  • 새로운 언어와 새로운 객체 지향 데이터 모델의 생성

OOM의 장점은 다음과 같습니다. 넓은 기회도메인 모델링, 표현 쿼리 언어 및 고성능. OOMD의 각 개체에는 고유한 개체 식별자(OID)가 있습니다. OID에 의한 검색은 관계형 테이블의 조회보다 훨씬 빠릅니다.



OODB의 단점으로는 일반적으로 수용되는 모델의 부족, OODB 생성 및 운영 경험 부족, 사용의 복잡성 및 데이터 보호 도구의 부족에 주목해야 합니다.

2000년 작업 그룹 OODBMS 제조사들이 결성한 ODMG(Object Database Management Group)는 객체 모델, 쿼리 정의 언어, 객체 쿼리 언어, C++, 스몰토크, 자바 바인딩 언어를 설명하는 OODBMS의 차기 표준(ODMG 3.0)을 발표했다. ODMG 표준은 공식이 아닙니다. 표준화에 대한 ODMG 접근 방식은 ODMG 회원 조직에서 표준의 다음 버전을 채택한 후 표준 텍스트가 포함된 책을 출판하는 것입니다.

이제 실제 데이터베이스 관리 시스템에서 데이터 모델 지원이 구현되는 방법을 살펴보겠습니다.

최신 데이터베이스 관리 시스템(DBMS) 개요

데이터베이스 관리 시스템(DBMS)은 데이터베이스를 기반으로 하는 AIS의 가장 중요한 구성 요소입니다. DBMS는 알고리즘 언어(번역기)로 프로그램을 개발하는 것과 같은 정도로 정보 시스템의 데이터베이스를 만들고 유지하는 데 필요합니다. DBMS의 소프트웨어 구성 요소에는 커널과 서비스 도구(유틸리티)가 포함됩니다.

DBMS 커널세트이다 소프트웨어 모듈, 데이터베이스를 생성하고 유지하는 데 필요하고 충분합니다. 즉, 에 대한 표준 작업을 해결하는 보편적인 부분입니다. 정보 서비스사용자. 서비스 프로그램사용자에게 다양한 추가 기능설명된 주제 영역과 특정 사용자의 요구에 따른 서비스.



DBMS의 근본적으로 중요한 속성은 데이터베이스의 두 가지 독립적인 보기를 구별하고 유지할 수 있다는 것입니다. " 표현(저장된 데이터의 구성) .

데이터베이스를 초기화하기 위해 특정 DBMS를 사용하는 개발자는 데이터베이스의 논리적 구조, 저장소 환경에서의 조직 및 사용자 데이터 표현(각각 개념적 데이터베이스 스키마, 저장소 스키마 및 외부 스키마)을 설명합니다. 이러한 스키마를 처리함으로써 DBMS는 필요한 구조의 빈 데이터베이스를 생성하고 이를 주제 영역의 데이터로 채우고 추가 활용하는 수단을 제공합니다.

DBMS 분류

보편성의 정도에 따라 DBMS는 두 가지로 나뉩니다. 범용(DBMS 켜짐) 및 전문화된 DBMS(SpDBMS).

DBMS OH는 어떤 주제 영역이나 사용자의 특정 정보 요구에 초점을 맞추지 않습니다. 이러한 종류의 각 시스템은 보편적이며 기능적으로 중복된 데이터 작업 집합을 구현합니다. DBMS ON은 특정 주제 영역, 작동 조건 및 사용자 요구 사항에 대한 조정 도구를 통합합니다. 이러한 시스템의 생산은 광범위한 상업적 기반이 됩니다.

기존의 범용 DBMS 중 어느 것도 개발자가 직면한 문제를 만족스럽게 해결할 수 없는 경우 전문 DBMS가 생성됩니다. 다음과 같은 몇 가지 이유가 있을 수 있습니다.

  • 필요한 데이터 처리 속도에 도달하지 못했습니다.
  • DBMS는 심각한 하드웨어 제한에서 작동해야 합니다.
  • 특정 데이터 처리 기능에 대한 지원이 필요합니다.

SpDBMS는 다음을 해결하도록 설계되었습니다. 특정 작업, 이 솔루션의 허용 가능한 매개변수는 다음과 같이 달성됩니다.

  1. 특정 주제 영역의 기능에 대한 지식으로 인해
  2. 시스템의 기능적 완성도를 줄임으로써.

SpDBMS를 만드는 것은 시간이 많이 걸리는 작업이므로 이 경로를 선택하려면 정말 좋은 이유가 있어야 합니다. 다음에서는 범용 DBMS만 고려합니다.

데이터 저장 및 처리를 구성하는 방법에 따라 DBMS는 다음과 같이 나뉩니다. 중앙 집중식그리고 분산. 전자는 물리적으로 한 장소(한 컴퓨터)에 저장된 데이터베이스로 작업합니다. 이것은 사용자가 동일한 컴퓨터에서만 데이터베이스 작업을 할 수 있다는 것을 의미하지 않습니다. 액세스는 원격(클라이언트-서버 모드에서)일 수 있습니다. 대부분의 중앙 집중식 DBMS는 조직의 작업을 이동합니다. 원격 액세스네트워크 제공을 위한 데이터에 대한 표준 기능만 수행하며, 이는 많은 사용자가 데이터에 동시에 액세스하기 때문에 더욱 복잡해집니다.

클라이언트/서버 원칙에 따라 구축된 정보 시스템은 일반적으로 세 가지 주요 구성 요소로 구성됩니다.

1. 데이터베이스 서버. DBMS 자체이며 데이터 저장, 액세스, 보호, 백업을 관리하고 데이터 무결성을 모니터링하고 클라이언트 요청을 이행합니다.

2. 클라이언트,다양한 사용자 애플리케이션을 표시하고 서버에 요청을 수행하고 데이터의 유효성을 확인하고 응답을 수신하는 단계;

3. 네트워크 및 통신 소프트웨어,네트워크 프로토콜을 사용하여 클라이언트와 서버 간에 통신합니다.

데이터베이스 서버의 기능에는 데이터의 직접적인 유지 관리만이 포함됩니다. 다중 사용자 접근을 차단하고 관리하기 위한 시스템, 무단 접근으로부터 데이터를 보호하는 요소, 데이터베이스 쿼리를 최적화하기 위한 구조를 제공하는 것은 필수입니다.

또한 DBMS의 서버 부분의 작업에는 다음을 제공하는 것이 포함됩니다. 참조 무결성그리고 트랜잭션 완료 제어. 참조 데이터 무결성 -데이터베이스에서 관련 데이터의 단일성을 보장하는 시스템 및 일련의 특수 규칙입니다. 거래완료 통제 - DBMS의 임무는 하드웨어 장애와 같은 비상 상황에서 데이터 손상을 제어하고 방지하는 것입니다.

이러한 기능은 다음을 사용하여 구현됩니다. 저장 프로시저, 트리거 및 규칙.저장 프로시저는 서버에 저장되는 일련의 특수 작업 및 데이터 조작이며 클라이언트 프로그램이 이를 수행할 수 있습니다. 트리거는 일종의 저장 프로시저입니다. 이벤트와 연결되며 데이터베이스 서버에서 이러한 이벤트가 발생하는 즉시 자동으로 실행됩니다. 규칙은 데이터가 데이터베이스에 입력되기 전에 데이터를 확인하는 일종의 트리거입니다.

커뮤니케이션 업무에 소프트웨어주로 클라이언트 프로그램이 서버 리소스에 빠르고 쉽게 연결할 수 있는 기능을 제공하는 것입니다. 이 소프트웨어에는 다양한 변형이 있지만 모두 응용 프로그램과 복잡한 상호 작용에서 해방되어야 합니다. 운영 체제, 네트워크 프로토콜및 리소스 서버.

유사한 정보 시스템과 비교하여 클라이언트/서버의 주요 장점은 다음과 같습니다.

첫째, 컴퓨터 네트워크를 통해 전송되는 정보의 양이 감소합니다. 이는 예를 들어 대규모 데이터베이스에서 여러 레코드를 선택할 때 서버가 요청을 처리하고 결과적으로 전체 데이터베이스가 아닌 관심 있는 정보만 클라이언트에 전송하기 때문에 발생합니다.

둘째, 클라이언트/서버 아키텍처의 장점은 액세스 및 처리 규칙을 서버에 저장할 수 있어 코드 중복을 피할 수 있다는 것입니다. 다양한 응용공유 데이터베이스를 사용합니다. 또한 데이터 조작은 이러한 규칙의 프레임워크 내에서만 수행할 수 있습니다. 데이터 처리 코드의 일부는 일반적으로 다음 형식으로 구현됩니다. 저장 프로시저더 빠르게 만드는 서버 클라이언트 애플리케이션크기를 줄임으로써 워크스테이션에 대한 요구 사항이 그렇게 높지 않을 수 있습니다. 이는 궁극적으로 고가의 DBMS와 강력한 데이터베이스 서버를 사용하는 경우에도 정보 시스템의 전체 비용을 절감합니다.

셋째, 현대 DBMS입니다. 클라이언트/서버 플랫폼에서 구현되고 데이터베이스 요소에 대한 액세스를 관리하기 위한 강력한 기능을 가지고 있습니다. 사본 예약, 보관 및 병렬 처리성능을 크게 향상시키는 데이터.

여러 컴퓨터를 사용하여 클라이언트/서버 플랫폼 시스템은 응용 프로그램 작업을 다른 워크스테이션과 서버에 배포합니다. 동시에 각 요소는 네트워크의 다른 컴퓨터와 정보를 공유하는 계산 부하의 자체 부분을 담당하는 반면 시스템 성능은 한 컴퓨터의 성능을 높이지 않고 증가합니다. 별도의 컴퓨터, 그러나 많은 가능성의 합산의 결과로 얻어진다. 무엇보다 클라이언트/서버 아키텍처는 사용자에게 클라이언트 애플리케이션을 구축할 때 더 많은 자율성과 창의성을 부여하는 기술입니다.

데이터 모델에 따르면, 계층적, 네트워크, 관계형, 개체 관계형그리고 객체 지향 DBMS.

관계형 DBMS E.F. Codd는 관계형 데이터 DBMS(RDBMS)가 충족해야 하는 12가지 규칙을 제안하고 정당화했습니다.

관계형 DBMS(RDBMS)에 대한 Codd의 규칙

  1. 명시적 데이터 표현(정보 규칙). 정보는 셀에 저장된 데이터의 형태로 제공되어야 합니다. 셀에 저장된 데이터는 원자성이어야 합니다. 관계형 테이블의 행 순서는 데이터의 의미에 영향을 미치지 않아야 합니다.
  2. 보장된 액세스 규칙. 각 데이터 요소는 테이블 이름, 행 기본 키 및 열 이름의 조합으로 액세스할 수 있도록 보장되어야 합니다.
  3. 알 수 없는 값의 처리(Null 값의 체계적인 처리). 알려진 값 이외의 알 수 없는 NULL 값은 모든 작업의 ​​모든 데이터 유형에 대해 지원되어야 합니다. 예를 들어, 숫자 데이터의 경우 알 수 없는 값은 0으로, 문자 데이터의 경우 빈 문자열로 처리되어서는 안 됩니다.
  4. 관계형 모델에 기반한 동적 온라인 카탈로그. 데이터의 카탈로그(또는 사전)는 관계형 테이블 형식으로 저장되어야 하며 RDBMS는 표준을 사용하여 이에 대한 액세스를 지원해야 합니다. 언어 도구, 사용자 데이터가 포함된 관계형 테이블 작업에 사용되는 것과 동일합니다.
  5. 언어 하위 집합의 완전성(종합 데이터 하위 언어 규칙). RDBMS는 데이터 정의(DDL, 데이터 정의 언어), 데이터 조작(DML, 데이터 조작 언어), 데이터에 대한 사용자 액세스 제어, 트랜잭션 관리 등 데이터에 대한 모든 작업을 수행할 수 있는 단일 언어를 지원해야 합니다.
  6. 업데이트된 보기 지원(보기 업데이트 규칙). 보기는 데이터베이스 테이블에 대한 저장된 쿼리입니다. (보기에 대한 자세한 내용은 에 설명되어 있습니다.) 업데이트된 뷰는 관계형 테이블이 지원하는 모든 데이터 조작 작업(데이터 삽입, 수정 및 삭제)을 지원해야 합니다.
  7. 높은 수준의 데이터 관리 작업의 가용성(높은 수준의 삽입, 업데이트 및 삭제). 데이터를 삽입, 업데이트 및 삭제하는 작업은 테이블의 한 행과 관련하여 뿐만 아니라 임의 테이블의 모든 행 집합과 관련하여 지원되어야 합니다.
  8. 물리적 데이터 독립성. 응용 프로그램은 미디어에 데이터를 저장하는 데 사용되는 방법에 의존해서는 안 됩니다. 하드웨어데이터베이스가 있는 컴퓨터. RDBMS는 데이터의 논리적 표현을 변경할 필요 없이 스토리지 환경에서 데이터베이스가 구성되는 방식을 자유롭게 수정할 수 있어야 합니다. 이를 통해 스토리지 환경을 최적화하여 생성된 응용 프로그램데이터베이스 작업.
  9. 논리적 데이터 독립성. 이 속성을 사용하면 다른 사용자 그룹에 대해 동일한 데이터에 대해 여러 가지 다른 논리적 보기(보기)를 구성할 수 있습니다. 동시에 데이터에 대한 사용자의 관점은 스토리지의 물리적 구조뿐만 아니라 개념적(논리적) 데이터 스키마와도 크게 다를 수 있습니다. 쿼리 처리 중에 저장된 데이터베이스 개체를 기반으로 동적으로 합성할 수 있습니다.
  10. 무결성 독립. 무결성을 유지하는 데 필요한 모든 정보는 데이터 사전에 있어야 합니다. 데이터 언어는 입력 유효성 검사를 수행하고 데이터 무결성을 자동으로 유지해야 합니다. 이것은 무결성 제약 조건과 트랜잭션 메커니즘을 사용하여 구현됩니다(섹션 5.2 및 6.1 참조).
  11. 배포 독립성. 데이터베이스는 분산될 수 있으며(여러 컴퓨터에 있을 수 있음) 이는 응용 프로그램에 영향을 미치지 않습니다. 데이터베이스를 다른 컴퓨터로 전송해도 응용 프로그램에는 영향을 미치지 않습니다.
  12. 언어 수준의 조정(전복 금지 규칙). 데이터 작업을 위한 표준 언어 이외의 데이터 액세스 수단이 없어야 합니다. 낮은 수준의 데이터 액세스 언어가 사용되는 경우 높은 수준의 언어에서 지원하는 보안 및 무결성 규칙을 재정의해서는 안 됩니다.

블라디미르 주립 대학교

Alexander Grigorievich와 Nikolai Grigorievich Stoletov의 이름을 따서 명명되었습니다.

비즈니스 정보 경제학과

수필

"데이터베이스"분야에서

주제: "객체 지향 데이터 모델"

수행:

3학년 학생

그룹 BI-114

Fadeeva A.A.

수락됨:

미술. pr. Vinogradov D.V.

블라디미르 2016

소개. 삼

일반적 특성객체 지향 데이터 모델. 네

개체 관계형 데이터 모델. 5

공간 데이터 모델. 여덟

참고문헌.. 13


소개

최근에는 자동화 기술이 발달하면서 정보 시스템널리 사용되는 객체 지향(OO) 접근 방식. 그것은 사람이 주변 세계를 사물의 집합으로 본다는 가정에 기반합니다. 객체 지향 모델은 원래 진화와 확장을 고려하여 구축되었습니다. 이러한 모델은 객체 지향 프로그래밍(OPP)에서 개발된 기본 개념과 방법을 기반으로 하며 C++, Java 등과 같이 널리 사용되는 객체 지향 프로그래밍 언어로 제공됩니다. 객체 지향 데이터 모델은 해당 조항의 확장입니다. 객체 지향 프로그래밍의.프로그래밍.

이러한 모델은 인터넷 기술의 발전과 관련이 있습니다. 객체 지향 모델에서 데이터를 제시할 때 개별 데이터베이스 레코드를 식별하는 것이 가능합니다. 객체 지향 프로그래밍 언어의 해당 기능과 유사한 메커니즘을 사용하여 데이터베이스 레코드와 처리 기능 간에 관계가 설정됩니다.

객체 지향 데이터 모델의 일반적인 특성

데이터베이스를 구축하는 주요 접근 방식 중 하나는 OODM(객체 지향 데이터 모델)을 사용하는 것입니다. OOMD의 데이터 모델링은 개체 개념을 기반으로 합니다. OOMD는 일반적으로 관계형 모델의 기능이 충분하지 않은 모델링을 위한 복잡한 주제 영역(예: 설계 자동화 시스템(CAD), 출판 시스템 등)에서 사용됩니다.

객체 지향 DBMS(OODBMS)를 생성할 때 다음과 같은 다양한 방법이 사용됩니다.

데이터베이스와 함께 작동하도록 설계된 도구의 객체 지향 언어에 포함

· 객체 지향 기능이 있는 데이터베이스 작업을 위한 기존 언어의 확장.

데이터베이스 작업을 위한 객체 지향 함수 라이브러리 생성

· 새로운 언어와 새로운 객체 지향 데이터 모델의 생성.

OOMD의 장점에는 광범위한 도메인 모델링 기능, 표현 쿼리 언어 및 고성능이 있습니다. OOMD의 각 개체에는 고유한 개체 식별자(OID)가 있습니다. OID에 의한 검색은 관계형 테이블의 조회보다 훨씬 빠릅니다.

OODB의 단점으로는 일반적으로 수용되는 모델의 부족, OODB 생성 및 운영 경험 부족, 사용의 복잡성 및 데이터 보호 도구의 부족에 주목해야 합니다.

2000년에 OODBMS 제조업체에 의해 구성된 ODMG 작업 그룹(Object Database Management Group)은 개체 모델, 쿼리 정의 언어, 개체 쿼리 언어 및 C++ 바인딩 언어인 Smalltalk 및 자바. ODMG 표준은 공식이 아닙니다. 표준화에 대한 ODMG 접근 방식은 ODMG 회원 조직에서 표준의 다음 버전을 채택한 후 표준 텍스트가 포함된 책을 출판하는 것입니다.

개체 관계형 데이터 모델

개체 관계형 데이터 모델은 관계형 모델의 기능과 데이터의 개체 속성을 결합한 하이브리드 모델입니다.

1. 프런트엔드에서 볼 수 있는 개체는 기본 관계형 데이터베이스의 테이블에 매핑됩니다. 반대로, 객체는 사용자 또는 응용 프로그램(하이브리드 접근 방식)이 요청할 때 테이블 형식 스토리지 환경의 표현에서 재생산됩니다.

이 접근법은 1980년대 후반에 유행했습니다. CASE(프로그래밍 자동화), CAD(설계 자동화), 리포지토리(사용자가 아닌 시스템 데이터를 저장하도록 설계된 데이터베이스)용 소프트웨어 제품에 구현됩니다.

2. 데이터 관리의 내부 관계 메커니즘 DBMS는 객체 지향 기능으로 확장됩니다(확장된 관계 접근 방식).

이 접근 방식은 기술적으로 더 발전되었으며 현재 대부분의 RDBMS 개발자가 선호합니다. 그는 1996-1997 년에 구현되었습니다. 여러 개체 관계형 데이터베이스 서버에서

객체-관계형 모델이 OOMD와 구별되는 특징은 관계형 모델의 전략을 기반으로 한다는 점입니다. 관계형 모델에 개체를 포함하는 것은 이 단계에서 데이터베이스 개발의 일반적인 방향으로만 논의할 수 있습니다.

데이터베이스 응용 프로그램의 복잡성 증가와 관계형 모델의 한계로 인해 처음에는 확장 관계형 모델이라고 불렀다가 나중에 개체 관계형 데이터 모델로 발전한 Codd 모델이 개발되었습니다. 이러한 모델을 기반으로 하는 데이터베이스를 일반적으로 3세대라고 합니다.

객체 관계형 접근 방식의 주요 아이디어는 단순 원자 데이터 유형뿐만 아니라 관계형 DBMS의 고전적인 개념과 모순되는 복합 추상 데이터 유형을 속성으로 사용한다는 가정입니다.

ORDM(객체 관계형 데이터 모델)은 관계형 테이블을 사용하여 구현되지만 객체 지향 프로그래밍의 객체 개념과 유사한 객체를 포함합니다. ORMD는 사용자 정의 데이터 유형, 캡슐화, 다형성, 상속, 메서드 재정의 등과 같은 객체 지향 구성 요소를 사용합니다. 대부분의 ORMD 구현에서 집계 및 다른 테이블의 일부가 될 수 있는 테이블(관계)은 개체로 인식됩니다. 데이터 처리 방법은 저장 프로시저 및 트리거로 표현되며, 이는 데이터베이스 절차 객체이며 테이블과 연결됩니다. 개념적 수준에서 객체 관계형 데이터베이스의 모든 데이터는 관계로 표현되며 ORDBMS는 SQL 언어를 지원합니다. 객체 관계형 데이터 모델은 다음과 같은 특징이 있습니다.

객체 관계형 데이터베이스의 객체 클래스는 테이블에 해당합니다.

개체는 테이블의 개별 레코드에 해당합니다.

· 기본 클래스의 테이블에 대한 기본 키로 정수 유형의 필드를 취하는 것이 가장 쉽습니다. 테이블 - 상속인에서는 일반 정수 필드와 일치합니다.

테이블의 기본 키는 객체 ID입니다.

각 개체는 기본 클래스 및 하위 항목의 여러 테이블 레코드에서 조합할 수 있습니다.

객체의 기본 클래스는 객체의 단일 인스턴스로 생성, 로드, 저장, 삭제와 같은 기본 작업을 수행할 수 있어야 합니다. 기본 클래스는 한 번에 많은 개체를 변경하고 삭제할 수 있는 기능을 제공해야 합니다.

불행히도 지금까지 개발자들은 ORMD가 제공해야 하는 것에 대한 합의에 이르지 못했습니다. 1999년에는 SQL-99 표준이 채택되었고, 2003년에는 이 표준의 두 번째 릴리스인 SQL-3이 출시되어 ORMD의 주요 특징을 정의했습니다. 그러나 지금까지 다양한 DBMS 벤더에서 지원하는 객체 관계형 모델은 서로 크게 다릅니다. 이러한 방향의 전망은 Oracle, Informix, INGRES 등을 포함한 주요 DBMS 제조업체가 제품의 기능을 ORDBMS(객체 관계형 DBMS)로 확장했다는 사실에서 입증됩니다.

오늘날 거의 모든 잘 알려진 회사는 개체 기술을 사용합니다. IBM과 Oracle은 시스템의 관계형 코어에 개체 추가 기능을 추가하여 DBMS(각각 DB2 및 ORACLE8)를 완성했습니다. 즉, 개체 관계형 DBMS로 변환했습니다. Informix는 Illustra 개체 관계형 DBMS를 인수하여 이를 그들의 DBMS, 그 이름을 유니버설 서버로 변경합니다.