2014-02-21 3 views
-1

입니다. 저는 개인 레포트 앱을 만들고 있습니다. 날짜를 저장해야하므로 그 달의 특정 월 세부 사항에 대한 데이터베이스를 호출 할 수 있습니다. 그러나 나는 필요를 reoccuring 그리고 만약 그게 더 나은 그냥 하루에 더 많은 날짜를 추가하는 유지하는 것이 더 나은지 알아 내기 위해 노력하고있다 또는 더 많은 행을하거나 1 개월/일 간격으로 함께 저장하는 것이 좋습니다?데이터베이스에 날짜를 저장하는 가장 좋은 방법은

그것은

같은 저장 날짜에 더 좋을 것이다

그냥 영원히 매달

  1. 2014년 1월 1일
  2. 2014년 2월 1일 시간이 끝날 때까지 데이터 당 새 행을 추가
  3. 2014년 3월 1일

또는 한 달에 좋을 것 | 하루 | 간격을 계산하고 PHP와 쿼리를 통해 어떻게 든 계산할 수 있습니다. 이제는 모든 것을 끌어 당기고 이제는 모든 시간에 대입합니다.

  • 01 | 01 | 30
  • 01 | 01 | 120
+1

두 가지 옵션의 레이아웃을 게시 할 수 있습니까? 당신이하려고하는 것은 약간 불명확합니다 ... – dethtron5000

+0

주어진 정보로 말하기 란 불가능합니다. 나는 당신이 * dates *를 저장하고 싶지는 않지만, 다른 것들 사이에 날짜를 가지고있는 몇몇 레코드를 추측 할 것입니다. 그런 다음 각 레코드를 날짜 열이있는 행에 저장하고 필요에 따라 SQL 쿼리를 사용하여 필터 및 그룹화 및 병합하십시오. – deceze

+0

저는 항상 날짜를 1970 년 1 월 1 일 (유닉스 시대)부터 경과 된 초 수로 저장합니다. 이는 정수입니다. 두 번에 걸쳐 항목을 매우 빠르고 쉽게 쿼리 할 수 ​​있습니다. 또한 디스플레이 용으로 포맷 할 때 유연성을 제공합니다. StackOverflow는 "x 초 전", "x 분 전"또는 _formatted_date_와 같은 방식으로 게시물이 표시되는 것과 같은 동일한 작업을 수행합니다. 'time()'함수를 사용하여 현재 순간의 초 수를 구할 수있다. – enhzflep

답변

2

나는 테이블에 개별 날짜를 저장하는 경향이 있습니다.

노트의 몇 : 누군가가 반복 이벤트를 설정할 때

, 내가 "규칙"로, 별도의 테이블에 그것을 저장하는 것, (해당 월의 첫 번째 일요일, 매월 15 일 이상한 날짜가있는 달 등)을 입력하고 달력 날짜를 생성하여 '이벤트'표에 추가하십시오. 또한 사용자가 지정한 재사용 종료 (1 년 또는 5 년 같은 것으로 제한됨)가 필요합니다.

[이벤트] 테이블에서 ' d 외래 키를 되풀이 시리즈에 다시 저장합니다. FK 열의 값은 "반복"이벤트임을 나타내며 [이벤트] 행을 특정 반복 시리즈로 다시 묶습니다.

누군가가 변경 또는 반복 이벤트를 삭제하는 경우

, 나는 적절한이었다 무엇 [이벤트] 테이블의 관련 행을 찾아 할 것입니다.

하나의 장점은이 날 각각에 고유 한 정보를 기록 할 수 있도록 할 것입니다 발생, 정보 abo 반복 이벤트.

하나의 이벤트 발생을 취소하거나 연기해야하는 경우 반복 규칙을 변경하지 않아도되고, 취소 또는 연기 된 이벤트로 표시됩니다.

+0

의미가 있습니다. 어떤 이유로 든 다른 사람을 위해 두뇌를 두들겨 사용할 수없는 배터 시나리오가 될 수는 없습니다. – chris

+0

@chris : 그것은 정말로 요구 사항에 따라 달라집니다. "Mom 's Birthday"와 같은 연례 캘린더 날짜를 표시하려면 별도의 "규칙"표를 구현하고 개별 이벤트 행을 저장하지 않을 것. (이벤트 테이블을 돌고 싶습니다. 행을 생성하는 "규칙"테이블, 반드시 그 행을 [이벤트]로 저장할 필요는 없습니다. 일정에 "일정"(메모, 장소, 시간). 그러나 전날의 표기법과 같습니다. 캘린더에서 "보름달"과 동일한 방식으로 표시합니다. – spencer7593

관련 문제