|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
Добрый день! Прошу помочь советом. Делается набросок для спа-салона. По визиту человека должны отбиваться следующие события: -время прихода; -время начала процедуры; -время завершения процедуры; -время ухода. Дата, естественно, будет одинаковая. Как будет "правильнЕе" хранить данные? Везде оставлять дату и время или же вынести одно поле под дату+четыре поля под время? Или как-то еще? Заранее благодарю за советы! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2015, 15:12 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
Используйте функцию Now Функция Now позволяет быстро узнать текущую дату и время по системному календарю и часам компьютера. Возвращает значение типа Variant(Date), содержащее текущую дату и время Функция не имеет аргументов Пример Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2015, 17:47 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
sssergeДелается набросок для спа-салона. По визиту человека должны отбиваться следующие события: -время прихода; -время начала процедуры; -время завершения процедуры; -время ухода. Дата, естественно, будет одинаковая. Как будет "правильнЕе" хранить данные? например, так: 1. Визит, главная таблица: - ключ_визита, - чистая дата, - бла...бла 2. Параметры_визита, подчиненная таблица: - ключ_параметра, - ключ_визита, - чистое время, - код события (приход, мытьё, бритьё, уход ) - бла... бла ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2015, 19:00 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
Благодарю! Однако, Now() будет хранить и дату, и время. А вот подтаблицу сделать-хорошая идея. Сейчас рассматривается только 4 события (можно все в одной табице сделать)... Но если вдруг нужно будет модернизировать базу (что "иногда" случается), то данная схема будет намного гибче. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2015, 19:55 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
sssergeОднако, Now() будет хранить и дату, и время. Однако, я только предложил близко к оптимальному и строго по ТЗ... sssergeДата, естественно, будет одинаковая. Для меня это уже избыточность... Привычка... для парикмахерской это не критично, а для серьёзных вычислений однако просто показать поле времени будет наверно быстрее, чем много раз его дергать через Time() ... |
|||
:
Нравится:
Не нравится:
|
|||
14.11.2015, 20:34 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
vmag... для парикмахерской это не критично, а для серьёзных вычислений однако просто показать поле времени будет наверно быстрее, чем много раз его дергать через Time() Не могу не согласиться! К тому же-это хороший стиль, как по мне:) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 03:21 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
А смысл разделять хранение? Ведь поле типа Дата/Время – это всегда 8-байтовое число с плавающей точкой, имеющее позиции и для даты, и для времени. Функция Now() заполняет и то, и другое, функция Date() – только дату, функция Time() – только время, при этом “незаполненные” позиции содержат нули. “Нулевая” дата интерпретируется как 30.12.1899. При последующей обработке все зависит только от того, как будут вытаскиваться нужные значения. И все. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 03:58 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
__MichelleА смысл разделять хранение? А никто и не говорил, что нужно разделять, максимум что можно... Тут была небольшая ирония про педантичность при подходе к техническому заданию, всего лишь... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 10:38 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
Ирония иронией, а "защита от прокладки между клавиатурой и табуреткой" не помешает. А вдруг в одном из полей будет внесена дата, отличная от трех остальных? Вот и ищи потом:) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 11:56 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
ssserge"защита от прокладки между клавиатурой и табуреткой" не помешает.Это Вы так про пользователя? Однако... sssergeА вдруг в одном из полей будет внесена дата, отличная от трех остальных? Вот и ищи потом:)А от кого это зависит, как не от разработчика? Если, он, конечно, выражаясь Вашим языком, не "прокладка между пользователем и компьютером". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 12:11 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
__MichelleА от кого это зависит, как не от разработчика? таки вы сами отвечаете на свои вопросы: __MichelleА смысл разделять хранение? сами спрашиваете, сами отвечаете... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 16:41 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
vmag, Я отвечаю не на свои вопросы (с чего бы это вдруг?), а на заявление ТС (цитирую, если не заметили) ssserge"А вдруг в одном из полей будет внесена дата, отличная от трех остальных? Вот и ищи потом:)". Где Ваша логика? Или Ваша внимательность? К чему перевирать смысл? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 16:50 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
__Michelle, я не перевирал, только цитировал... на вопрос: __MichelleА смысл разделять хранение? ответы: sssergeА вдруг в одном из полей будет внесена дата, отличная от трех остальных? Вот и ищи потом:) __MichelleА от кого это зависит, как не от разработчика? Если, он, конечно, выражаясь Вашим языком, не "прокладка между пользователем и компьютером". ругательства про прокладки я выкинул... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 16:56 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
vmag, А я считаю, что ТС отвечал не на мои слова "А смысл разделять хранение?", а на Ваши одно поле даты и четыре поля времени. Ведь там всегда (если ТС, конечно, будет пользоваться полем типа Дата/Время, а не текстовым или, чего доброго, MEMO ))) будет и дата и время. А дальше уже - вопрос интерпретации содержимого и его визуального представления. Говоря о том, что все зависит от разработчика, если он таковым является, я имела в виду как заполнение полей без ручного ввода, так и обеспечение входного контроля, если без ручного ввода обойтись нельзя. Ну и, естественно, последующее правильное использование данных. Думала, это очевидно. Ну что ж, объясняю, раз нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 17:11 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
__MichelleГоворя о том, что все зависит от разработчика, если он таковым является, ну я поясню... глупые ошибки (типа не та дата - не туда попала) можно отсечь уже на стадии проэкторования БД и разработчик начинается именно отсюда... потом это уже не разработчик, а штопальщик дыр (чужих или своих) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 17:17 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
??? Ну, пожалуйста, храните дату на 00:00 и четыре времени на 30.12.1899. Я разве против. Но сама так делать не буду.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 17:33 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
sssergeДелается набросок для спа-салона. По визиту человека должны отбиваться следующие события: -время прихода; -время начала процедуры; -время завершения процедуры; -время ухода. Скорее, чтобы закрыть вопрос - вот вам реальная ситуация из практики на примере розничной торговли или сферы услуг... Ваш визит, примерно тоже самое что чек у меня... Ваши процедуры, примерно тоже самое что позиции товара у меня в чеке... У меня в чеке тупо: - просто дата (краткий формат даты) - просто время открытия чека (краткий формат времени) - просто время закрытия чека (краткий формат времени) (как там оно хранится, мне абсолютно по барабану, зато можно даже открыв просто таблицу, понять что где и когда даже визуально ибо на экране не будет времени 00.00 и дат типа 30.12.1899..., будет только то, что требовалось...) Соответственно в продажах (подчиненная таблица) : - только время продажи этой позиции товара (краткий формат времени) Используется эта хрень примерно (+/-) везде в основном в следующих целях: 1. изучение интенсивности потока потребителей (часы пик)... знать когда нужно большее количество продавцов в зале... некоторые после анализа меняют график работы, вместо с 8.00 до 20.00 начинают работать например с 10.00 до 22.00 2. ну и разбор полётов: - По предъявленному чеку (квитанции) вычисляется время обслуживания и находится сам чек в БД, потом печатается содержимое чека с привязкой по времени и все вместе идут смотреть кино (временной кусок из видео наблюдения) Больше у меня это никак не используется... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 19:47 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
Наконец-то! О том и речь, что нет никакой надобности вычленять Time() для полей времени. Записав Now(), можно в одном и том же поле с помощью формата увидеть хоть чистую дату, хоть чистое время. И работать с ними соответственно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 20:05 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
__Michelle, Таки да... однако, есть вопросы на счет ваших " четыре времени на 30.12.1899. " :) Time() тока реально секунды дописывает в базу, однако... товарищ Билл тут лицом в грязь не упал, думаю даёт сэкономить немного... Код: plsql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 21:03 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
vmag, Не особо поняла насчет экономии. Поле ведь так и будет 64 бита занимать. Или это о чем-то другом? Остальное посмотрю, когда доберусь до компьютера, часа через два-три. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 21:22 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
__MichelleНе особо поняла насчет экономии. Поле ведь так и будет 64 бита занимать. Или это о чем-то другом? ну, что касается памяти - это вряд ли... Чтоб записать время можно и так и эдак (Now() и Time()), Чтоб потом его достать, в первом случае опять нужен тот же Time() или Format, а во втором уже ничего не нужно, ибо в ту же таблицу, в тоже поле Now() пишет уже так ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2015, 22:00 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
vmag... однако, есть вопросы на счет ваших " четыре времени на 30.12.1899. " :)] Попробуйте для начала в окне отладки выполнить, например, такое Код: vbnet 1.
Что получилось?))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 01:12 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
__MichelleПопробуйте для начала в окне отладки выполнить, например, такое а при этом кувыркнуться вперед и три раза хлопнуть в ладоши не нужно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 01:18 |
|
Хранение даты/времени
|
|||
---|---|---|---|
#18+
vmag, Делайте, как удобнее. На конечный результат не влияет.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2015, 01:39 |
|
|
start [/forum/topic.php?fid=45&fpage=121&tid=1614256]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 332ms |
total: | 479ms |
0 / 0 |