내 데이터베이스는 회사 웹 사이트에 대한 설명입니다. 회사 웹 사이트에는 URL,로드 시간 등 여러 속성이 있습니다. 각 웹 사이트는 하나 이상의 국가를 타겟팅합니다. 웹 사이트와 국가의 관계를 표현하는 데 문제가 있습니다.관계형 데이터베이스에서 배열을 피하는 방법은 무엇입니까?
내 설정 번호 (1)은 다음과 같습니다 : 필드
- 회사 테이블
- 국가 테이블, 회사 ID는, 나라 (배열 (Company.id을 말한다) 등 Country.id) 및 URL 등의 여러 가지 속성를, loadTime, 참조 는
내 설정 번호 2는 다음과 같습니다
- A 회사 소개 테이블
- 국가 테이블 필드 WebsiteId와
- 웹 사이트 테이블, 회사 ID는 (Company.id을 의미) 등 URL,를, loadTime,
- WebsiteCountries 테이블과 같은 몇 가지 속성을 가진 필드 WebsiteId, CountryId
나는 두 가지 접근 방식에 문제가있다는 :
는- 설정 번호 (1)는 공동의 배열을 사용하여 untry.id, 유지하기 어렵게 됨
- 설치 번호 1에서 CompanyId는 웹 사이트 테이블에 고유 한 제한 조건을 갖지만 설치 번호 2에서 중복을 허용합니다.보다 일반적으로 CompanyId + Countries는 설정에서 후보 키 역할을 할 수 있습니다 1. 이것은 나에게 약간의 방해가된다. 내가 틀렸고 최선의 접근법인가?
"설정 번호 2"가 맞습니다. 단지 'WebsiteId' ** 및 **'CountryId'에 고유 한 제약이 있습니다. 이것은 기본 키일 수 있습니다. – Jodrell
루크 인 PostgreSQL을 사용하십시오. – Miraage