0
데이터베이스 디자인에 일부 입력이 필요합니다.다른 테이블의 열에 대한 다중 열 고유 제한 조건
내가 모델링하려고 시도한 것을 요약 해주십시오 (database diagram 참조).
옵션 1 :
File
의 항목이 적용된 하나 개 이상의 비용 요소가있을 수 있습니다.- 비용 요소에는 설명, 수량 (통화 또는 %) 할당 (질량, 부피 등) 및 값 (숫자)이 있습니다.
- 복수 열 고유성은
FileID
과CostDescriptionID
의 조합으로 적용해야합니다. - 전문가 : 위의 요구 사항에 대해 데이터 무결성을 적용하기 위해 고유 색인을 만들 수 있습니다.
- 콘 : 비용 요소 조합은 데이터 중복 - 재사용 할 수 없습니다.
옵션 2 : CostDefault
, CostInput
CostElement
과의 엔트리의 중복을 줄이기 위해
- 가
CostElement2
세 테이블로 구분되어있다. - pro : CostInput을 사용하면
CostDescriptionID
,CostMeasureID
및CostAllocationID
의 조합을 다시 사용할 수 있습니다. - pro :
CostInput
은CostElementID
및ElementValue
조합의 재사용을 허용합니다. - 콘
FileID
과CostDescriptionID
의 조합에 대해 다중 열 고유 제한을 적용 할 수 없습니다.
더 나은 디자인 결정을 통해 두 가지 장점을 모두 누릴 수 있습니까?
도움을 주시면 감사하겠습니다.
감사합니다.
왜 모든 단일 테이블에 Gw_ 접두사를 추가하고 있습니까? 아마도 스키마가 더 좋을까요? 나는 개인적으로 이와 같은 접두사를 싫어한다. 그들은 무의미한 타이핑을 추가하고 아무 것도 추가하지 않습니다. 또한 테이블 이름을 읽는 것이 더 어려워집니다. 그리고 왜 당신의 칼럼 이름 대부분의 중간에 GW가 있습니까? IdGwCostDefault 대신 CostDefaultID 같은 것을 할 것입니다.그리고 모든 비용 (타임 스탬프, 값, 이름, 설명 등 ...)에서 열 이름에 대한 예약어는 사용하지 않아야합니다. 손에 달려있는 질문에 관해서는 ... 글쎄, 당신이 무엇을 요구하고 있는지 정말로 이해하지 못합니다. –
안녕하세요 숀, 내 질문에 답변 할 시간을내어 주셔서 감사합니다. 내가 게시하기 전에 질문을 읽을 때 나 자신에게 "구토물"이라고 생각했다. 제안 된 명명 변경 사항을 게시했습니다. Gw_ 접두어를 사용하는 이유는 이러한 테이블을 기존 ERP 데이터베이스에 추가하기 때문이며 사용자 정의 테이블을 추가하기위한 ERP 권장 지침은 특정 문자열 앞에 접두어를 붙이기 때문입니다. 또한 데이터베이스의 테이블을 그룹화하는 데 도움이됩니다. 나는 그 질문을 다시 말하려고 노력했고, 지금 내가 원하는 것을 분명히하기를 희망한다. 당신이 친절하게 논평 할 수 있다면. 감사. –
나는 그 문서를 무시할 것이다. 그건 좋은 제안이 아닙니다. 새로운 스키마를 만드는 기괴한 접두사 대신에 훨씬 더 좋을 것입니다. 객체 탐색기에서 항목과 같이 그룹화되지만 불합리한 이름과 씨름하지 않아도됩니다. 나는 진실로 당신의 질문을 완전히 이해하지 못한다. 그러나 옵션 2는 그것이 당신이 원하는 것에 더 가까운 것처럼 들린다. 옵션 1은 많은 양의 고통을 유발하는 비정규 화 된 디자인과 같습니다. –