데이터베이스를 설계 중입니다. 나는 시간 기록을위한 모든 속성을 갖는 하나의 관계를 가진다. 그리고 항목이있는 다른 관계에서 외래 키로 만들어야합니다. 하지만 별도의 특성으로 날짜와 시간을 사용하여 기본 키 (복합 키)를 만들거나 기본 dateTime 특성을 기본 키로 사용할지 여부는 확실하지 않습니다. 감사합니다하나의 속성으로 날짜와 시간을 저장하는 것이 좋습니다.
답변
데이터베이스 쿼리를 최적화 할 때는 언제나 다른 관계와 테이블 간의 조인이 적어야합니다. 또한 DATETIME 형식의 특성을 저장하면 두 개의 열을 가져오고 응용 프로그램 논리를 적용하는 대신 열을 한 번 가져 와서 수행 할 수있는 작업을보다 잘 제어 할 수 있습니다. 또한 데이터베이스의 메타 데이터 크기를 전반적으로 작게 유지하는데도 도움이됩니다.
위의 관점에서 두 속성을 DATETIME과 같은 데이터 유형의 단일 열에 보관하는 것이 좋습니다.
희망 하시겠습니까?
속성 자체는 단일 datetime 열을 사용하십시오. 따로 따로 취한 날짜와 시간 뒤에 어떤 의미가있는 경우에만 분할하는 것이 좋습니다.
그렇다고해서 datetime 열을 키로 사용하는 경우는 거의 없습니다. 일반적으로 숫자 (대용) 기본 키가 있고 datetime은 속성 일뿐입니다. 어쩌면 정확히 같은 순간에 두 개의 레코드가 발생한다고 기대하지 않을 수도 있습니다. 대부분의 경우 결국 결국 잘못된 가정으로 판명됩니다.
감사합니다. 나는 "날짜와 시간 뒤에 의미"를 이해하지 못했습니다. 그게 무슨 뜻 이니? 또한 나는 그것을 강조하고 싶다, 나는 시간 로그에 대해 완벽한 관계를 사용하고있다. 나는 두 개의 항목이 동시에 발생할 수 있음을 의미하는 timeLog와 item relation 사이에 일대일 관계가 있습니다. 그래서 이것은 timelog 관계의 모든 데이터와 항목 관계에서 중복을 제거하는 데 도움이됩니다. 또한 이것은 timeLog 관계에 새로운 키를 도입하는 것을 피합니다. –
의미 :이 속성과 관련된 유일한 질문은 이벤트가 발생했을 때 (datetime), 즉 원자입니까? 또는 날짜 및/또는 시간이 혼자 비즈니스 의미가 있고 당신이 그것/필터에 의해 그것을 쿼리해야합니다 - 그래서 당신은 datetime에서 그것을 추출해야할까요? –
예, 파생 속성에 datetime을 사용해야합니다. –
- 1. 개체 속성으로 요소를 저장하는 것이 좋습니다?
- 2. 직렬화 할 수없는 객체를 HttpSession 속성으로 저장하는 것이 좋습니다.
- 3. MVVM에 RelayCommand를 저장하는 것이 좋습니다.
- 4. 이미지를 데이터베이스에 저장하는 것이 좋습니다.
- 5. 이미지를 DB에 저장하는 것이 좋습니다.
- 6. 메모리에 데이터를 저장하는 것이 좋습니다.
- 7. 세션에 개체를 저장하는 것이 좋습니다.
- 8. FlipClock의 시간을 하나의 속성으로 설정하십시오.
- 9. 다음과 같은 방법으로 시간을 확인하는 것이 좋습니다.
- 10. 가장 작은 공간으로 날짜와 시간을 저장하는 방법
- 11. mysql이 날짜와 시간을 저장하는 형식은 무엇입니까?
- 12. UITableViewCell에서 현재 날짜와 시간을 표시하고 저장하는 방법
- 13. 변수에 날짜와 시간을 저장하는 방법은 무엇입니까?
- 14. Django 서비스에서 여러 객체를 저장하는 것이 좋습니다
- 15. JackRabbit에 임시 파일을 저장하는 것이 좋습니다.
- 16. 문서 ID를 데이터 속성에 저장하는 것이 좋습니다.
- 17. 스택 트레이스를 데이터베이스에 저장하는 것이 좋습니다?
- 18. 비공개 Github 저장소에 비밀번호를 저장하는 것이 좋습니다.
- 19. 데이터베이스에 URL 인코딩 텍스트를 저장하는 것이 좋습니다.
- 20. 데이터베이스에 IP 주소를 저장하는 것이 가장 좋습니다
- 21. 플래시에서 데이터를 저장하는 것이 가장 좋습니다.
- 22. mysql에 varchar에 double과 date를 저장하는 것이 좋습니다.
- 23. UserDefaults에 사용자 정의 데이터를 저장하는 것이 좋습니다.
- 24. 버킷에 물을 저장하는 것이 좋습니다 - 알고리즘 제안?
- 25. iOS에 개체를 저장하는 것이 가장 좋습니다?
- 26. int의 목록을 mssql에 저장하는 것이 가장 좋습니다
- 27. 채팅 메시지를 mongodb 컬렉션에 저장하는 것이 좋습니다.
- 28. 함수 내부에서 $ _SESSION에 데이터를 저장하는 것이 좋습니다.
- 29. 쿠키에 OAuth 토큰을 저장하는 것이 좋습니다.
- 30. WeakReference에서 활동 인스턴스를 저장하는 것이 좋습니다.
감사합니다. Shuja. 날짜와 시간에 다른 속성을 사용하면 데이터베이스 성능에 영향을 미칠 수 있습니다. 당신이 말했듯이 우리는 2 개의 속성에 대한 관계 사이의 조인을 수행해야합니다. 반면에 우리는 하나의 속성 dateTime 만 조인 할 것입니다. 또한이 단일 속성에서 여러 속성을 파생시켜야 할 경우 어떻게됩니까? 이 경우 오버 헤드 비용이 들지 않을까요? –
그렇습니다. 데이터 정규화 및 결합은 모든 데이터베이스의 성능에 영향을 미치는 2 가지 핵심 요소입니다. DATETIME 특성을 가진 단일 열은 항상 데이터베이스의 동일한 수준에 created_at 및 updated_at 열을 저장하는 데 사용했습니다. 어떤 추가 쿼리 나 조인을 수행하지 않아도 날짜 나 시간을 기반으로 데이터를 평가할 수 있습니다. 그래서 그것은 분명히 성능에 영향을줍니다. –
감사합니다. –