저는 사람들이 SMS 메시지를 보낼 수있는 프로그램을 작성하고 있습니다. 우리가 보낸 단어를 인식하면 작업을 수행합니다. 우리가 인식 (취급)하는 키워드는 날짜를 기준으로 변경됩니다. 예를 들어 제가 일하는 교회는 항상 부활절 자원 봉사자가 많이 필요하기 때문에 부활절 2 개월 전부터 '부활절'을 키워드로 지정하고 부활절 이후에는 사용을 중지하고 싶습니다.날짜 범위를 사용하는 SQL Server 기본 키
따라서 기본 키는 <keyword, date-range>
이어야합니다. 나는 <keyword, date-start, date-end>
으로 설정할 수 있지만 동일한 키워드와 날짜 - 시작 또는 날짜 - 끝으로 새 레코드를 삽입하려고하면 PK 충돌 (또는 적어도 일종의 제약 조건 충돌)이 발생합니다. 행의 날짜 - 시작 및 종료 날짜.
내 최선의 행동 강령은 무엇인가요? SQL Server에이 기능이 내장되어 있습니까? .NET에서 일종의 사용자 정의 유형을 만들어야합니까? 기본 키 또는 2 차 점검 제한 조건으로이 작업을 수행합니까?
나는 항상 속도를 위해 최적화하는 것을 좋아하지만, 사실이 앱은 실제로는 필요하지 않습니다.
내장 아무것도 없다 당신이 할 필요가 만드는 것입니다. 용어 및 날짜 필터 테이블. – durbnpoisn
@durbnpoisn 날짜 필터 란 무엇을 의미합니까? – dfoverdx
"[dateIs] [beginDate]와 [endDate] 사이의 위치"를 포함하는 select 문을 실행합니다. 오늘 날짜로 전달합니다. 귀하의 테이블에는 해당 범위에 나타나는 키워드의 시작일과 종료일이 있습니다. – durbnpoisn