좋아, 이제는 "상자 항목"에 대한 표를 만들고 있습니다.비슷한 디자인의 두 필드가있는 데이터베이스 디자인의 욕망
이제 상자 항목은 항목의 상태/용도에 따라 "배송"상자 또는 "반품"상자와 관련이 있습니다.
상자 항목에 결함이있을 수 있음 : 상자 항목의 행 (IsDefective)에 플래그가 설정되고 상자 항목이 "반환"상자에 표시됩니다 (다른 항목은 해당 공급 업체). 그렇지 않으면 상자 항목은 결국 "배송"상자에 넣어집니다 (다른 항목도 함께 제공됩니다). (배송 및 반품 상자에는 자체 테이블이 있습니다. 모든 상자에 공통된 테이블이 하나도 없습니다. 가능하면 3 번째 가능성을 고려해야합니다.)
어쩌면 나는 분명히 생각하고 있지 않을 수도 있습니다. 오늘 나는이 상황에서해야 할 일을 묻기 시작했다.
BoxItemID :
내 직감은 내가 박스 항목에 대한 스키마를 만들 것 주어진 시간에 일어날 수있는 관계, 단 하나의 모양을 경우에도 가능한 각 관계에 대해 별도의 필드가 있어야 하더군요 설명 IsDefective 는 이는 관계가 명확하게,하지만 그것 (하나의 관계의 이후 언제든지 사용) 낭비 보인다 등 ...
을 ReturnBoxID ShippingBoxID.
BoxItemID 설명 IsDefective BoxID 등 : 그럼 본인은 BoxID에 대한 하나 개의 필드가, 그것이 (A 배송 또는 반환 박스 ID)를 IsDefective 필드를 기준으로 참조 것 BoxID 결정할 수 있다고 생각 ..
이것은 덜 낭비되는 것처럼 보이지만 나와 함께 앉아 있지 않습니다. 그 관계는 분명하지 않습니다.
그래서 저는 여러분에게 Stackoverflow의 데이터베이스 전문가를 소개합니다. 이 상황에서 당신은 무엇을 할 것입니까?
편집 : 입력 해 주셔서 감사합니다. 생각할 시간이 많이 주어졌습니다. 하나는 다음에이 프로젝트를 시작할 때 ORM을 사용할 것입니다. =) 2의 경우, 지금 당장은 아니기 때문에 4 바이트를 물어보고 두 개의 필드를 사용합니다.
다시 한 번 감사드립니다.
예 ... 당신이 옳다고 생각합니다. 내가 ORM을 가졌다면 다른 사람들이 말하는 것을 확실히 볼 수있다. 그리고 나는 정말로 하나를 사용하기 시작했다. =) 그러나 지금은 모든 육체 노동입니다 ... 그리고 이것은 그 일에 더 잘 맞는 것 같습니다. – EdgarVerona