등산 수송 경제적인 스토브

이 장치의 본질은 동일합니다. 엔터티 및 엔터티 간의 연결을 식별합니다. 데이터 베이스. 정의

ER 모델의 개념. 엔터티의 개념. 속성. 속성 유형

1. 개발자가 데이터베이스를 설계할 때 어떤 문제에 직면할 수 있습니까?

데이터베이스를 설계하고 소프트웨어 제품을 개발할 때 가장 중요한 문제개발자와 고객 사이의 상호 작용에 문제가 있습니다. 개발자의 임무는 데이터베이스 관리 소프트웨어 제품을 개발할 때 고객의 희망 사항을 가장 정확하게 재현하는 것입니다. 개발자가 해결해야 할 주요 문제는 올바른 건축데이터베이스 또는 오히려 데이터베이스 스키마(구조)입니다.

또한 개발자는 다음과 같은 다른 어려움에도 직면합니다.

  • 효율적인 알고리즘을 검색합니다.
  • 적절한 데이터 구조 선택;
  • 복잡한 코드 디버깅 및 테스트;
  • 애플리케이션 인터페이스의 디자인 및 유용성.

개발 단계 소프트웨어데이터베이스를 관리하는 개발자는 고객의 요구사항을 자세히 파악해야 합니다. 데이터베이스는 이해하기 쉽고, 해결 중인 문제를 가장 정확하게 반영하며, 중복된 데이터를 포함하지 않도록 설계되어야 합니다.

소위 데이터베이스 개발(설계) 프로세스를 용이하게 하기 위해 의미론적 모델데이터. 을 위한 다른 유형가장 유명한 데이터베이스는 ER 데이터 모델(Entity-Relationship 모델)입니다.

2. ER 모델(엔티티 관계 모델)이란 무엇입니까? 왜 ER 모델을 개발해야 합니까?

ER 모델(엔티티 관계 모델 또는 엔터티 관계 다이어그램)은 데이터베이스 설계 프로세스를 단순화하기 위한 의미론적 데이터 모델입니다. 관계형, 계층형, 네트워크, 개체 등 모든 유형의 데이터베이스를 ER 모델에서 생성할 수 있습니다. ER 모델은 "개체", "관계" 및 "속성"의 개념을 기반으로 합니다.

대규모 데이터베이스의 경우 ER 모델을 구축하면 특히 데이터베이스가 이미 작동 중이거나 테스트 단계에 있는 경우 수정하기 매우 어려운 설계 오류를 피할 수 있습니다. 데이터베이스 구조 개발 오류로 인해 이 데이터베이스를 관리하는 소프트웨어 코드가 재작업될 수 있습니다. 결과적으로 시간, 돈, 인적 자원이 비효율적으로 사용됩니다.

ER 모델은 데이터베이스를 시각적인 그래픽 다이어그램 형태로 표현한 것입니다. ER 모델은 특정 주제 영역을 정의하는 프로세스를 시각화합니다. 엔터티-관계 다이어그램은 엔터티, 속성 및 관계를 그래픽으로 나타내는 다이어그램입니다.

ER 모델은 모델링의 개념적 수준일 뿐입니다. ER 모델에는 구현 세부 정보가 포함되어 있지 않습니다. 동일한 ER 모델의 경우 구현 세부 사항이 다를 수 있습니다.

3. 데이터베이스의 엔터티란 무엇입니까? 예

데이터베이스의 엔터티는 해당 데이터베이스가 개발되는 주제 영역의 본질을 기반으로 식별될 수 있는 데이터베이스의 모든 개체입니다. 데이터베이스 디자이너는 엔터티를 올바르게 정의할 수 있어야 합니다.

예시 1.서점 데이터베이스에서 다음 항목을 구별할 수 있습니다.

  • 책;
  • 공급자;
  • 매장 내 배치.

예시 2.특정 교육 기관의 교육 과정 회계 데이터베이스에서 다음 엔터티를 구별할 수 있습니다.

  • 학생 (학생);
  • 교사;
  • 여러 떼;
  • 연구되는 학문.
4. 엔터티 유형에는 어떤 유형이 있나요? ER 모델의 엔터티 유형 지정

"엔티티"-"관계" 모델에서는 두 가지 유형의 엔터티 유형이 구별됩니다.

  • 약한 유형. 이러한 유형의 엔터티는 강력한 엔터티에 종속됩니다.
  • 강한 유형. 이것은 누구에게도 의존하지 않는 독립적인 유형의 실체입니다.

그림 1은 ER 모델에서 약한 엔터티 유형과 강한 엔터티 유형의 지정을 보여줍니다.

쌀. 1. 강하고 약한 유형의 엔터티 지정

5. 속성이란 무엇입니까? 속성 유형. ER 모델의 속성 지정

각 엔터티 유형에는 특정 속성 집합이 있습니다. 속성은 특정 엔터티를 설명하기 위한 것입니다.

다음 유형의 속성이 구별됩니다.

  • 단순한속성. 이는 복합 속성의 일부가 될 수 있는 속성입니다. 이러한 속성은 단일 구성 요소로 구성됩니다. 예를 들어, 단순 속성에는 도서관의 책 코드 또는 교육 기관의 학생 학습 과정이 포함됩니다.
  • 합성물속성. 이는 몇 가지 간단한 속성으로 구성된 속성입니다. 예를 들어, 거주지 주소에는 국가 이름, 지역, 거리, 집 번호가 포함될 수 있습니다.
  • 모호하지 않은속성. 이는 일부 엔터티에 대해 하나의 단일 값만 포함하는 속성입니다. 예를 들어, "학생" 엔터티 유형에 대한 "성적부 번호" 속성은 명확합니다. 학생은 하나의 시험지 번호(하나의 값)만 가질 수 있기 때문입니다.
  • 다의미적속성. 이는 여러 값을 포함할 수 있는 속성입니다. 예를 들어, 학생이 여러 전화번호(집, 휴대폰 등)를 가질 수 있으므로 "학생" 엔터티에 대한 다중 값 속성 "전화 번호"입니다.
  • 임의의속성. 이는 다른 속성의 값을 기반으로 값이 형성되는 속성입니다. 예를 들어, 학생의 현재 학습 과정은 현재 학습 연도와 학생이 입학한 연도의 차이를 기반으로 계산될 수 있습니다. 교육 기관(학생이 연구에 문제가 없고 "데이터베이스 및 지식 조직" 분야를 공부한 경우) 잘 됩니다.

ER 다이어그램에서 속성은 그림 2와 같이 지정됩니다. 그림에서 볼 수 있듯이 모든 속성은 타원 내부에 이름이 있는 타원으로 지정됩니다. 속성이 기본 키인 경우 해당 이름에 밑줄이 표시됩니다.

그림 2. ER 모델 다이어그램의 속성 표현

6. ER 모델의 개체 유형과 속성은 실제 데이터베이스와 이들이 관리하는 프로그램에서 어떻게 구현됩니까?

데이터베이스 관리 프로그램을 개발할 때 엔터티 유형과 해당 속성은 여러 가지 접근 방식을 준수하면서 다양한 방식으로 표현될 수 있습니다.

  • 이미 연구, 테스트, 표준화되었으며 방대한 데이터베이스 관리 세트를 갖춘 잘 알려진 기술을 데이터 소스(예: Microsoft SQL Server, Oracle Database, Microsoft Access, Microsoft ODBC 데이터 소스 등)로 선택합니다. 도구;
  • 자신만의 데이터베이스 형식을 개발하고 이를 처리하기 위한 방법을 구현하며, 가져오기/내보내기와 같은 특수 명령의 형태로 알려진 데이터 소스와의 상호 작용을 구현합니다. 이 경우 데이터베이스의 안정적인 작동을 유지하고 보장하는 모든 일상적인 작업을 직접 프로그래밍해야 합니다.
  • 위의 두 가지 접근 방식을 조합하여 구현합니다. 최신 소프트웨어 개발 도구에는 복잡한 세트를 처리하고 그 안에 있는 데이터(컬렉션, 배열, 시각화 구성 요소 등)를 시각화하기 위한 강력한 라이브러리 세트가 있습니다.

데이터베이스가 잘 알려진 관계형 DBMS(예: Microsoft Access, Microsoft SQL Server 등)에서 구현된 경우 엔터티 유형은 테이블로 표시됩니다. ER 모델의 속성은 테이블의 필드에 해당합니다. 데이터베이스 테이블의 한 항목은 엔터티의 한 인스턴스를 나타냅니다.

각 유형의 속성은 다음과 같이 구현됩니다.

  • 단순 속성또는 단일 값 속성은 모든 프로그래밍 언어에서 볼 수 있는 액세스 가능한 기본 유형 세트로 표현될 수 있습니다. 예를 들어 정수 속성은 int, 정수, uint 등의 유형으로 표시됩니다. 소수 부분을 포함하는 속성은 float, double로 표시될 수 있습니다. 문자열 유형의 문자열 속성 등;
  • 복합 속성여러 개의 중첩된 단순 속성을 포함하는 객체입니다. 예를 들어, Microsoft Access DBMS에서는 테이블의 복합 속성이 단순 유형(필드) 집합을 기반으로 형성될 수 있습니다. 프로그래밍 언어에서 필드 결합은 구조나 클래스로 구현됩니다.
  • 다중값 속성단순 또는 복합 속성의 배열이나 컬렉션으로 구현될 수 있습니다.
  • 임의의 속성테이블에 액세스할 때 계산되는 추가 필드로 구현됩니다. 이러한 필드를 계산된 필드라고 하며 테이블의 다른 필드를 기반으로 형성됩니다.
  • 기본 키인 속성정수, 문자열 또는 기타 순서 유형일 수 있습니다. 이 경우 기본 키에 해당하는 각 테이블 셀의 값은 고유합니다. 대부분의 경우 기본 키는 정수 유형(int, 정수)입니다.

데이터베이스가 고유한 형식으로 구현된 경우 엔터티 유형은 클래스나 구조로 가장 편리하게 표현됩니다. 엔터티 속성은 클래스의 필드(내부 데이터)로 구현됩니다. 클래스 메소드는 클래스 필드(속성)에 필요한 처리를 구현합니다. 클래스 간의 상호 작용(통신)은 잘 알려진 디자인 패턴을 사용하여 특별히 설계된 인터페이스를 사용하여 구현됩니다.

7. "학생" 엔터티 유형에 대한 ER 모델의 일부 예

위의 예는 "학생" 엔터티 유형에 대한 ER 모델의 일부를 보여줍니다.

그림 3. "학생" 엔터티 유형에 대한 ER 모델의 조각

위 그림은 DBMS(프로그램)에서 다음 유형을 가질 수 있는 다음 속성을 선언합니다.

  • 기본 키 속성은 자동으로 생성되는 고유한 정수 값입니다. DBMS에서 이는 카운터 필드입니다.
  • 항목 연도 속성은 정수 값(int, 정수)으로 구현될 수 있는 간단한 속성입니다.
  • 전화번호 속성은 배열이나 컬렉션 등으로 구현될 수 있는 다중값 속성입니다.
  • 기인하다 음반번호– 기록부 번호에는 숫자 외에 문자도 포함될 수 있으므로 문자열로 구현될 수 있는 간단한 속성입니다.
  • 국가, 도시, 거리, 집 번호 속성은 복합 속성 주소를 형성하는 속성입니다. 이러한 모든 속성은 문자열(텍스트) 유형(문자열, 텍스트)일 수 있습니다.
  • 속성 성, 이름, 후원 – 이는 복합 속성인 학생 이름의 일부인 단순 속성입니다. 이러한 모든 속성은 문자열(텍스트) 유형(문자열, 텍스트)일 수 있습니다.
  • 생일 속성은 날짜 유형(DateTime)의 단순 속성입니다.
  • 기인하다 학생 연령– 현재(시스템) 날짜와 생일 속성 값 간의 차이로 정의되는 계산된 필드입니다.

기본 규칙엔터티 테이블을 생성할 때 이는 "엔티티마다 별도의 테이블"입니다.

엔터티 테이블 필드는 두 가지 유형이 될 수 있습니다. 열쇠그리고 비열쇠.거의 모든 관계형 DBMS에서 테이블에 키를 입력하면 키별로 테이블 레코드 값의 고유성을 보장하고, 테이블 레코드 처리 속도를 높일 수 있으며, 키 필드 값별로 레코드를 자동으로 정렬할 수도 있습니다.

일반적으로 정의만으로 충분합니다. 단순한키, 덜 자주 - 입력 합성물열쇠. 예를 들어 복합 키가 있는 테이블은 이름이 같은 사람이 있는 직원 목록(성, 이름 및 부칭)을 저장하는 테이블일 수 있습니다. 일부 DBMS는 자동으로 생성된 키 번호 매기기 필드(Access에서는 "카운터" 유형 필드)를 정의하는 옵션을 사용자에게 제공하여 테이블 레코드의 고유성 문제에 대한 솔루션을 단순화합니다.

엔터티 테이블에는 개체의 속성이나 특징을 설명하는 필드가 있는 경우도 있습니다. 테이블의 이러한 필드에서 상당한 반복 횟수가 있고 이 정보의 양이 상당한 경우 이를 별도의 테이블로 분리하는 것이 좋습니다("각 엔터티에는 별도의 테이블이 있습니다"라는 규칙을 준수함). 또한 속성이 서로 연관되어 있는 경우 추가 테이블을 생성해야 합니다.

엔터티 테이블을 처리할 때 다음 사항에 유의하세요. 새 엔터티를 추가하고 변경하는 것은 쉽지만 삭제 시 링크 테이블에서 해당 엔터티에 대한 모든 참조를 삭제해야 합니다. 그렇지 않으면 링크 테이블이 올바르지 않게 됩니다. 많은 최신 DBMS는 이러한 작업에서 잘못된 동작을 차단합니다.

게시물 링크 테이블해당 엔터티 테이블에 있는 정보인 엔터티 간의 관계를 표시하기 위한 것입니다.

일반적으로 하나의 관계 테이블은 두 엔터티 간의 관계를 설명합니다. 가장 간단한 경우 엔터티 테이블에는 각각 하나의 키 필드가 있으므로 두 테이블의 관계 테이블에는 관계 레코드의 고유성을 보장하기 위해 두 개의 키가 있어야 합니다. 키 없이 개체 테이블과 같은 관계 테이블을 만들 수 있지만 레코드의 고유성을 모니터링하는 기능은 사용자에게 있습니다.

더 복잡한 관계(비이진)는 이진 관계로 축소되어야 합니다. N개 객체의 관계를 기술하기 위해서는 N-1개의 관계 테이블이 필요하다. 전이적 연결이 없어야 합니다. 연결이 너무 많으면 모순이 발생합니다(이전 하위 섹션의 EMPLOYEE-DEPARTMENT, EMPLOYEE-PROJECT 및 DEPARTMENT-PROJECT 관계의 예 참조).

엔터티의 특성은 관계 테이블에 포함되어서는 안 됩니다. 그렇지 않으면 예외가 불가피합니다. 별도의 엔터티 테이블에 저장하는 것이 좋습니다.


연결 테이블을 사용하면 선형 연결 또는 약한 연결과 같은 다소 구체적인 연결 유형을 설명할 수도 있습니다. 선형 연결의 예는 엔터티가 더 높은 수준의 다른 엔터티(노드로 구성된 시스템, 구성 요소로 구성된 의약품, 금속 합금 등)에 속하는 관계로 간주될 수 있습니다. 이 경우 연결을 설명하는 데 하나의 연결 테이블이면 충분합니다.

링크 테이블로 작업할 때 엔터티는 한동안 링크 없이 작업할 수 있으므로 링크 테이블의 모든 항목은 쉽게 삭제될 수 있다는 점을 명심해야 합니다. 테이블 레코드의 내용을 추가하거나 변경할 때는 개체 없이는 관계가 존재할 수 없으므로 기존 개체에 대한 참조가 올바른지 확인해야 합니다. 대부분의 최신 DBMS는 객체 참조의 정확성을 제어합니다.

아래에 진실성데이터베이스의 속성을 이해합니다. 이는 데이터베이스가 주제 영역 정보를 완전하고 일관되며 적절하게 반영하고 있음을 의미합니다.

구별하다 물리적, 논리적진실성. 물리적 무결성은 데이터에 물리적으로 액세스할 수 있고 데이터가 손실되지 않음을 의미합니다. 논리적 무결성은 데이터베이스 또는 해당 객체의 구조 위반, 객체 간 설정된 연결의 삭제 또는 변경 등을 포함하여 데이터베이스에 논리적 오류가 없음을 의미합니다. 앞으로는 논리적 무결성에 대해 이야기하겠습니다.

데이터베이스의 무결성 유지에는 무결성을 확인(모니터링)하고 데이터베이스에서 불일치가 감지된 경우 이를 복원하는 것이 포함됩니다. 데이터베이스의 무결성은 다음을 사용하여 설정됩니다. 무결성 제약데이터베이스에 저장된 데이터가 만족해야 하는 조건의 형태로.

무결성 제약조건 중에서 두 가지 주요 제약조건 유형을 구분할 수 있습니다. 가치 제한관계 속성 및 구조적 한계관계의 튜플에.

가치 제한 관계 속성은 속성의 비어 있거나 중복된 값을 허용할 수 없으며 속성 값이 지정된 범위에 속하도록 제어하는 ​​요구 사항입니다. 따라서 직원에 대한 관계 기록에서 Birth_Date 속성 값은 Reception_Date 속성 값을 초과할 수 없습니다.

속성 값에 대한 제어를 구현하는 가장 유연한 방법은 다음과 같습니다. 저장 프로시저그리고 트리거,일부 DBMS에서 사용 가능합니다.

구조적 한계요구 사항 정의 엔터티의 무결성그리고 링크 무결성.관계에 표현된 각 엔터티 인스턴스에는 해당하는 튜플이 하나만 있습니다. 요구 사항 엔터티의 무결성관계의 모든 튜플은 이 관계의 다른 튜플과 구별 가능해야 합니다. 즉, 모든 관계에는 기본 키가 있어야 합니다.

링크 무결성 요구 사항의 공식화는 개념과 밀접하게 관련되어 있습니다. 외래 키.관계(데이터베이스 테이블)를 서로 연결하는 데 외래 키가 사용된다는 점을 기억해 보겠습니다. 이 경우 한 관계(부모)의 속성을 호출합니다. 외래 키 이 관계라면, 주요한또 다른 관계(자녀)의 열쇠. 외래 키가 정의된 릴레이션은 동일한 속성이 기본 키인 릴레이션을 참조한다고 합니다.

참조 무결성을 위해서는 상위 테이블의 모든 외래 키 값에 대해 동일한 기본 키 값을 가진 하위 테이블의 행이 있어야 합니다. 예를 들어, 관계 R1에 부서 직원에 대한 정보가 포함되어 있고 이 관계의 속성 Must가 관계 R2의 기본 키인 경우 R1의 각 직위에 대한 이 관계에는 해당 급여가 있는 행이 있어야 합니다.

많은 최신 DBMS에는 데이터베이스 무결성을 모니터링하는 도구가 있습니다.

모든 다이어그램에서 데이터베이스 모델의 기본은 엔터티와 관계이며, 이는 나중에 데이터베이스 테이블과 관계로 변환됩니다. 데이터베이스 모델 다이어그램이 생성될 때 엔터티가 생성됩니다. 모델의 시각적 표현은 데이터베이스 설계의 필수적인 부분입니다. 이를 통해 개발자는 모델에서 나타나는 부정확성을 더 쉽게 분석하고 고객과 다른 개발자가 검토할 수 있는 편리한 형식으로 모델을 제시할 수 있습니다.

다이어그램의 요소를 형성하기 위해 요소 팔레트("팔레트", 그림 3.49)가 사용되며, 여기에는 "엔티티" 개체 및 연결이 있는 "데이터" 영역이 있습니다. "엔티티" 팔레트 항목을 선택하면 사용자에게 엔터티 이름을 입력해야 하는 다이어그램에 "엔티티" 개체를 생성할 수 있는 기회가 제공됩니다.


엔터티 생성은 "패키지..." 폴더의 컨텍스트 메뉴를 통해 구현할 수도 있습니다. 여기서 "데이터 개체/엔티티 추가" 메뉴 항목은 프로젝트 트리에 엔터티를 생성하고 개발자에게 다음과 같은 기회를 제공합니다. 다이어그램에서 엔터티 이름을 입력합니다(그림 3.50).


상황에 맞는 그래픽 메뉴를 사용하여 다이어그램에서 직접 엔터티를 생성하는 것도 가능합니다. 이렇게 하려면 마우스 커서를 다이어그램의 빈 공간 위로 이동하고 잠시 동안 움직이지 않아야 합니다. 그러면 유효한 요소를 생성할 가능성을 나타내는 아이콘이 있는 영역이 나타납니다. 논리적 데이터베이스 모델의 경우 엔터티를 생성하는 기능을 나타내는 아이콘이 하나만 표시됩니다. 이전 경우와 마찬가지로 이를 선택하면 이름을 입력하라는 메시지가 표시되는 새 엔터티가 생성됩니다.

"볼륨" 엔터티의 속성 탭에서 개발자는 다음을 포함하여 해당 엔터티의 인스턴스 수를 변경하기 위한 매개변수를 지정할 수 있습니다(그림 3.51).

  • 초기 행 수 - 테이블 생성 후 즉시 추가해야 하는 데이터(인스턴스) 수를 나타냅니다.
  • 월별 행 증가(월별 인스턴스 추가) - 월별로 추가해야 하는 인스턴스 수를 나타냅니다.
  • 최대 행 수( 최대 금액인스턴스) - 해당 엔터티가 설명하는 테이블에 저장할 수 있는 최대 인스턴스 수를 나타냅니다.


쌀. "3.51.변경 매개변수 설정
실체의 양적 지표

엔터티 속성 섹션에서 "일반" 탭의 매개 변수 중 개발자는 추가 매개 변수 "영구"를 설정하라는 요청을 받습니다. 이 매개 변수는 논리적 데이터베이스 모델에서 물리적 데이터베이스 모델로 이동할 때 엔터티를 테이블로 변환할 가능성을 결정합니다. . 그러나 미래 데이터베이스의 구조에 대한 모든 정보는 훨씬 더 많은 수의 매개변수를 특징으로 하는 엔터티와 속성 간의 연결에 포함됩니다. "속성" 탭을 사용하면 엔터티 속성을 생성하고 해당 기본 매개변수를 정의할 수 있습니다.

또한 엔터티를 생성하는 것과 마찬가지로 속성도 다양한 방법으로 생성할 수 있습니다(그림 3.52).

  • - 상황에 맞는 메뉴 사용 - 엔터티의 상황에 맞는 메뉴는 속성, 대체 키, 제약 조건 등 생성할 개체를 선택할 수 있는 프로젝트 트리에서 사용됩니다.
  • - 엔터티 속성 사용 - 속성 영역은 "속성" 탭에서 사용되며, 여기에서 사용 가능한 도구를 사용하여 속성이 생성되고 지정됩니다.

홍채의 그래픽 메뉴 사용 - 아이콘이 있는 그래픽 메뉴는 개체 위로 마우스를 가져갈 때 사용되며, 이를 통해 속성 이름을 지정하는 기능과 함께 기본 키와 단순 속성이 생성됩니다.


푸크. 3.52.속성 생성의 예
엔터티 속성을 통해

엔터티 속성을 사용할 때 개발자는 "속성" 탭에서 "+" 기호가 있는 아이콘을 사용하여 새 속성을 생성한 후 생성된 속성의 기본 매개변수를 정의해야 합니다.

  • 이름 - 설명된 데이터의 의미 있는 의미를 결정하는 속성의 이름입니다.
  • 기본 키 - 속성이 기본 키의 요소이고 이에 대한 적절한 무결성 제약 조건이 생성되어야 함을 나타내는 기호입니다.
  • 대리 키 - 속성이 주제 영역의 요소는 아니지만 데이터베이스를 효과적으로 사용하는 데 필요하며 산술 진행 규칙에 따라 자동으로 생성된 값을 포함함을 나타내는 기호입니다.
  • 유형(type) - 속성이 나타내는 값을 설명하는 데이터 유형입니다.
  • 길이/정밀도(size/precision) - 설명된 속성의 최대값을 저장하는 데 필요한 문자(바이트) 수를 나타내는 숫자 값입니다.
  • Scale은 실수로 작업할 때 소수점 이하 자릿수를 설명하는 숫자 속성에 사용되는 숫자 값입니다.
  • 필수 - 속성에 빈 NULL 값을 저장할 수 없다는 표시입니다.
  • 파생됨(계산됨) - 수학적, 언어적 연산 및 DBMS 언어의 다양한 기능을 사용하여 특정 표현의 값을 계산해야 함을 나타냅니다.
  • 기본값 - 데이터를 추가하거나 변경할 때 속성에 데이터가 지정되지 않은 경우 기록되어야 하는 값입니다.
  • 파생 표현식 - 데이터가 추가되거나 변경될 때 평가되어야 하는 공식 표현식입니다.

이 도구는 개발자가 원하는 순서로 엔터티의 속성을 정렬하는 기능을 제공한다는 점에 유의하는 것이 중요합니다. 이는 다방향 화살표 형태의 제어 아이콘을 사용하여 수행됩니다. 그러나 Codd의 규칙이 속성 순서의 독립성을 결정한다는 사실을 고려하면 순서 설정은 데이터베이스 모델에서 필수 구성 요소가 아닙니다. 필요한 속성 순서를 작성하는 데는 두 가지 이유가 있습니다.

사용 용이성 - 특정 규칙에 따라 속성의 순서를 정렬하면(예: 기본 키를 나타내는 속성이 먼저 오고, 외래 키가 배치된 다음, 대체 키와 단순 속성이 배치되어야 함) 읽기가 더 쉽습니다. 모델 다이어그램을 작성하고 발생할 수 있는 몇 가지 문제 상황을 식별합니다. 실무데이터베이스 사용, 특수 처리 기술 사용 - SQL 언어로 데이터를 추가할 때 목록을 지정하지 않을 수 있음

명령에 지정된 데이터가 입력될 테이블의 0입니다. 이를 위해서는 프로그램 코드 개발자가 테이블 필드의 정확한 순서를 알아야 하며, 이는 논리 모델 수준에서 속성 정렬을 통해 결정할 수 있습니다.

계산을 위한 기본값 및 수식 표현식 지정을 포함하여 각 속성에 대한 특성을 지정하는 것 외에도 모든 엔터티에는 해당 속성의 값이 올바르게 저장되도록 보장하는 무결성 제약 조건이 있을 수 있습니다. 예를 들어 연도 값을 저장하는 속성의 경우 최소값을 제한할 수 있습니다. 논리 모델을 구성하는 수준에서 개발자는 어떤 DBMS가 구현에 사용될지 알 수 없으므로 모든 프로그래밍 언어의 기능 사용이 올바르지 않습니다. 그러나 IBM InfoSphere Data Architect 도구를 사용하면 개발자는 여러 언어로 제약 조건을 지정할 수 있습니다(그림 3.53).

  • OCL(Object Constraint Language)은 데이터 및 응용 프로그램의 객체 지향 표현에 사용되는 객체 제한 언어로, 관계형 데이터베이스 구현에서는 거의 사용되지 않으며 표준 논리 표현과 엔터티 속성 표시를 사용합니다(예: 엔터티 연도 >= 2000 ):
  • SQL(Structured Query Language)은 관계형 데이터베이스를 처리하는 데 사용되는 구조화된 쿼리 언어로 일반적으로 특정 DBMS를 중심으로 선택된 DBMS에만 고유한 많은 기능을 갖고 있으며 논리 연산(AND(AND), OR(OR) 등을 사용합니다. ) 이를 문제의 엔터티의 특성 수준에 적용합니다(예: 연도 >= 2000 및 연도)
  • 영어는 프로그래밍 언어로 번역할 수 없는 자연어입니다. 일반적으로 제약 조건을 설명하고 적절한 논리 표현으로 프로그래밍하는 동안 이를 표현하는 데 사용됩니다(예: 연도는 범위의 값으로 표시됩니다).