2017-10-07 3 views
0

저는 SQL을 처음 접했을 때 몇 가지 관계를 만들고 다음과 같은 것을 찾으려고합니다. 사람 - - PHONENUMBERS -SQL의 다 대다 관계

나는 3 개 테이블 이 PhoneNumberCategories

사람과 PHONENUMBERS 자체가 내가이 PHONENUMBER 사무실, 가정, 모바일, 팩스 등입니다 여부를 표시하는 데 사용하는 생각 PhoneNumberCategories 설명이 필요

이제이 다 대 다 관계를 만들기 위해 네 번째 테이블을 만들었습니다. 이 테이블은 4 개의 C 럼이

  • ID
  • PersonID
  • PhoneNumberID
  • PhoneNumberCategoryID

을 그리고 난 여기에 설정 3 조 관계가있다. ID 열을 제외한 모든 열에 하나. 그것은 효과가있는 것처럼 보이지만 그것은 단지 저에게 이상한 느낌을줍니다. 누군가가 내가 라이트 트랙에 있는지 또는 내가 이것에 대해 모든 잘못을하고 있는지 말해 줄 수 있습니까?

내가 원하는 이유는 다음과 같습니다. 물론 사람과 전화 번호를 연결해야합니다. 그러나 일반 사무실 (전화 번호 'OfficeGeneral') 번호 인 전화 번호가있을 수 있으며 거기에서 일하기 때문에 나와 연결됩니다. 나는 또한 직계 사무실 (그리고 이것은 'OfficeDirect'열이 될 것이다) 번호를 가지고있다. 이것은 물론 나에게도 연결되어있다. 그러나 일반적인 숫자는 사무실의 모든 사람들에게 'OfficeGeneral'과 연결되어 있습니다. 안내 원을 제외하고 여기에 'OfficeDirect'로 연결됩니다. 이것이 제가 다 - 다 - 다 - 다 관계를 생각해 낸 이유입니다. 나는 웹상에서 그것에 관해 많이 알 수 없다. 이것이 이것이 올바른 방법인지 의심하기에 충분합니다. 어쨌든 이것은 단지 예일뿐입니다. 나는 내가 유연하고 가능한 한 많은 예외를 잡을 수 있는지 확인하고 싶다. 일단 데이터베이스가 사용 중이면 사람들이 예상하지 못한 상황이 올 것이라고 확신합니다. 사람들은 내가 지난 몇 년간 배운 것을 잘 알고 있습니다. 응답에서

대한 설명은 아래에 의견을합니다 :

  • 사람이 1 개 이상 PHONENUMBER을 가질 수 있습니다.
  • PhoneNumber는 1 인을 초과 할 수 있습니다.
  • PhoneNumber를 가진 사람은 PhoneNumberCategory를 두 개 이상 가질 수 있습니다. (예 : 전화와 팩스 모두에 사용되는 개인 전화 번호)
  • 여러 PhoneNumberCategory를 사용하여 여러 사람을 동일한 PhoneNumber에 연결할 수 있습니다. (나를위한 OfficeMain은 접수처의 OfficDirect입니다.)

앞으로 연락 드리겠습니다.

답변

1

모델이 좋아 보입니다. 귀하의 설명은 아마도 그렇지 않습니다.

PersonPhoneNumber은 많은 관계가 있습니다. 이 관계는 주어진 전화 번호가 둘 이상의 카테고리에 속할 수없는 한 PhoneNumberCategory의 1-many입니다.

Person/PhoneNumber이이 테이블에서 고유하게 선언되어 특정 전화 번호를 한 번만 사용할 수 있다고 생각합니다. 그러나 그 구조를 보는 방법이 아닐 수도 있습니다.

+0

빠른 응답을 보내 주셔서 감사합니다. 나는 분명하지 않았다고 동의했다. 이에 따라 게시물을 업데이트하십시오. –