위치의 시작 및 종료 시간을 DB 테이블에 저장하려고합니다. 다음 중 표 디자인이 더 이상하다고 생각합니까? 나는 MySQL 또는 어쩌면 PostgreSQL을 사용하고있다. (중요 할까?).스키마 디자인에 대한 조언
하루에 한 번 기록 하시겠습니까? (1-7 결과 반환)
id, location_id, weekday, start_time, closing_time
또는 위치 당 레코드 하나?
id, location_id, mon_start, mon_end, tue_start, tue_end, ... ... ... sun_start, sun_end
가장 일반적인 쿼리는 단순히이 같은 내용 (항상 전체 주)을 표시합니다 (항상 한 결과를 반환) :
Location: blablabla
Operating Hours:
Monday: 8 AM to 8 PM
... ...
Sunday: 8 AM to 12 PM
예를 들어,이 옵션을 사용하면 하루에 두 개의 영업 시간을 가질 수 있습니다. (예 : 오전 8 시부 터 오후 10 시까 지, 오후 4 시부 터 오후 6 시까 지). 다른 솔루션에서 구현해보십시오. – podiluska
"day"필드는 실제로 평일 0-6 (월 - 일)입니다. 이미 이것을 반영하기 위해 질문을 편집했습니다. 나는 실제로 당신이 휴일을 위해 그것을 확장함으로써 무엇을 의미하는지 모른다. – dashmug
정규화 된 형식에서는 비표준 영업일을 처리하기 위해 공휴일 (또는 시스템에 -1) 또는 기타 코드 값을 시스템에 추가하는 것이 쉽습니다. 더 많은 작업이 필요한 비정규 화 형식입니다. –