저는 저와 내 집에있는 사람들을 위해 요리 스케줄을 설정할 수있는 작은 asp.net mvc 응용 프로그램을 만들고 있습니다. 나는 날짜가 누구인지를 추적하는 DishDates라는 테이블을 가지고 있습니다. 현재 3 개의 열 (DishDateId, PersonId 및 Date)이 있습니다. DishDateId는 PK이고 PersonId는 Person 테이블의 FK이며 Date는 요리가있는 날짜입니다.날짜와 외래 키를 사용하는 ID 열을 추가해야합니까?
우리는 주어진 하루에 한 명의 요리사 만 있습니다. PersonId는 날짜에 연결됩니다. 내 앱에서 자동으로 한 달 동안 요리 달력을 생성 할 수 있습니다. 이제는 이미 생성 된 한 달 동안 새 요리 목록을 다시 생성 할 수 있으며 응용 프로그램은 해당 달의 기존 기록을 삭제 한 다음 작성합니다. 이 작업을 수행 할 때마다 DishDateId 필드는 ID 열이므로 증가합니다.
나는이 앱의 수명보다 길기에 충분할 20 억 개의 행을 여전히 가질 수 있기 때문에 이것이 실제로 문제가되지 않는다는 것을 안다. 그러나 ID 열을 사용하지 않고 PersonId 및 Date 필드가 있고 Date가 PK가되도록하는 것이 더 스마트 한 경우입니까? 신원 열이 어떤 방식 으로든 무언가 또는 불필요한 것처럼 느껴집니다. 그 다음 사람에게 매일 새로운 날짜를 지정하고 당신이 말한대로 또한 ID 열이 그대로
날짜 열은 식별 열이 아닙니다. DishDateId 열은 ID 열입니다. 이 데이터베이스가 연결된 앱은 접시 날짜를 생성하고이 테이블로 보냅니다. 다시 한번 말하지만, 요구 사항이 주어지면 요리에 대해 하루에 한 명씩 만 있기 때문에 요리 시간은 독특합니다. – kcon90