2017-01-31 4 views
0

ER 모델에서 관계형 데이터베이스로 데이터베이스를 전송하는 시험에 대한 연습으로 노력하고 있습니다. 그러나 내 솔루션이 적합한 지 여부는 매우 확신 할 수 없습니다. 특히, locationhas의 두 가지 관계는 큰 문제를 만듭니다. 하나의 ZipCode를 일반 기본 키로 테이블에 추가하고 두 번째 ZipCode를 외래 키로 추가 할 수 있다고 생각했습니다. 누군가가 이것으로 나를 도울 수 있다면 매우 감사 할 것입니다. 지금까지 The ERM하나의 엔티티가 두 개의 관계에 두 번있는 관계형 데이터베이스로의 E-R 모델

내 솔루션 :

Relational database

답변

1

것은이 첸 ER 다이어그램 첸 ER 디자인 다음과 같은 경우에는 당신은 모든 개체 유형 상자와 모든 관계 (연결)를 입력 다이아몬드의 테이블이 필요 및 관계 유형에 대한 모든 참여/역할 라인에 대한 FK (외래 키).

은 (는 다이아몬드/테이블 관계 유형 및 라인/FKS가 참여를 나타냅니다를 대표하기 때문에 첸 맥락에서 "관계"또는 "협회"를 선/FKS를 호출하는 나쁜 생각입니다.)

그래서 당신에게 Ship tourID가 될 것이다 관계/테이블 takes/FKs가 Ship & Tour 인 테이블에 찬성했다. 그리고 에 has 테이블에 두 개의 FK가 있습니다. 관계 테이블에서 participant 테이블과 다른 컬럼 이름이 필요하지 않아도 상관 없습니다. FK는 단지 일부 테이블 & 컬럼 목록의 값이 다른 테이블 & 컬럼 목록에 나타나 있다고 말합니다. 다이어그램에 따르면 이름은 start & target입니다. 그것을 써.

has과 같이 흐트러진 유익한 정보는 사용하지 마십시오. 더 나은 이름을 선택하거나 엔터티의 세 쌍이 has 관계를 만족 시켰을 때 설명하면 합리적인 디자인이 무엇인지 알 수 있습니다. 예를 들어 카디널리티를 올바르게 사용하지 못할 수 있습니다. 첸 방법은 숫자 또는 범위가 엔티티 유형의 인스턴스에 대해 참여할 수있는 관계 인스턴스 수를 나타냅니다. 또 다른 방법은 숫자 또는 범위가 엔티티 인스턴스의 조합을 알려주는 것입니다. 기타 참여 엔티티 행의 엔티티 유형 중 얼마나 많은 인스턴스가이 유형에 참여할 수 있는지 입력합니다. 후자에 0이 있으면 관계 인스턴스에 NULL이 있음을 의미합니다. 그러나 그것은 첸 디자인에서 발생할 수는 없습니다. 참여하는 엔티티 인스턴스 조합은 관계 인스턴스를 식별하고 PK (기본 키)를 형성합니다.

그러나 Chen 디자인은 모든 관계형 디자인을 표현할 수 없습니다. 또한 테이블 재 배열을 통해 Chen ER 스키마와 동일한 데이터를 표현할 수 있습니다. 예를 들어 , Ship & Tour처럼 많은 경우가 아니라 많은 수의 이진 관계 테이블을 삭제하고 대신 엔티티 테이블에 FK (null 허용 가능)를 넣는 경우가 있습니다. 일부 방법에는 이러한 디자인을 직접 표현하는 첸 (non-Chen) 다이어그램이 있습니다. 다른 것들은 Chen 다이어그램에서 스키마로 이동하는 것을 허용합니다. ER 다이어그램의 첸 (Chen) 스타일과 사용자가 허용 한 해당 스키마의 변형이 무엇인지를 교사에게 물어봐야합니다.

은 (는 명시 적으로 1의 비 첸 방법이 떨어지고이다. 많은 관계/협회와 "관계"또는 "협회"라고 잘못 (하지만 일반적 인 FKS)로 연결 FKS하여 자신의 표현)