Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Datetime или нет ? / 15 сообщений из 15, страница 1 из 1
06.03.2006, 19:54
    #33585285
Datetime или нет ?
Есть ли приимущества при использовании в таблице поля содержащего дату и время ( как datetime в MSSQL или timestamp в Firebird). Не лучше ли использовать к примеру целочисленное значение как количестве секунд с 01.01.1970 (как в Java или С)
Если данные извлекается то в вышеупомянутых языках получение соответсвующей переменной элементарно Если данные извлекаются в более других языках с другим представлением даты времени то, и здесь преобразование не на много сложнее - сдвиг даты от точки отсчета на кол-во секунд и разницу между точкой и 01/01/1970. Процесс превращения серверной Д/В в переменную Д/В языка в этом случае всеравно происходит и вряд ли происходит быстрее но при этом менне контролируемо. А полученная целочисленная переменная она и есть целочисленная переменная от капризов сервера/ODBC/JDBC/ ИлиКтоЕщеТам мало зависит.
Зато при использовании значения в запросе всегда и во всех языках - дату в число, число в строку. А для даты и времени нужно преобразовать дату и время в строку и потом еще скорей всего нужно воспользоваться функцией преобразования строки в Д/В на сервере, а значит текст запроса будет зависить от специфики СУБД.
Думаю что сортировка и выборка по критерию по целочисленному полю будет не медленней чем по Д/В
То есть мне кажется что целочисленное представление Д/В делает структуру БД независимой от конкретной СУБД и при этом оболочку для данных не делает сильно зависимой от конкретного языка программирования даже если используется точка отсчета конкретного языка.
...
Рейтинг: 0 / 0
06.03.2006, 20:23
    #33585324
PVP
PVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
Datetime он и в Африке DateTime . Какая разница, что за СУБД. Те различия в синтаксисе, это такие мелочи, которые не сыграют роли при смене СУБД. А на интерфейсную часть будет значительная нагрузка - это явный отказ от стандартных компонент.

Смысл имеет преобразовать в Int или SmallInt , когда дату требуется включить в индекс. Иметь в индексе 2 байта вместо 8 - это существенно. И не обязательно выражать в секундах. Часто достаточно в месяцах, например, начиная с 2000-го года.
...
Рейтинг: 0 / 0
06.03.2006, 23:00
    #33585525
awhiler
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
да во всех базах оно как инт и хранится
как смысл городить?
...
Рейтинг: 0 / 0
07.03.2006, 00:25
    #33585602
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
В MS SQL - как numeric. Но это совершенно не важно.

Иоанн Джипегов
... капризов сервера/ODBC/JDBC/ ИлиКтоЕщеТам ...

У вышеперечисленых капризов не бывает. Бывает неумение их настроить.
...
Рейтинг: 0 / 0
07.03.2006, 00:39
    #33585611
Datetime или нет ?
К примеру в оболочке имеется параметр полученный от пользователя в переменную DTVar типа Д/В необходимо выбрать из таблицы записи для которых поле DTField типа Д/В после значения этой переменной.
...
Рейтинг: 0 / 0
07.03.2006, 10:43
    #33586083
---------
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
А потом подключись каким-нибудь отчетником типа CristalReports и огреби кучу удовольствия
...
Рейтинг: 0 / 0
07.03.2006, 12:36
    #33586524
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
Иоанн ДжипеговНе лучше ли использовать к примеру целочисленное значение как количестве секунд
Нет, не лучше. Усложнение на пустом месте и без какой бы то ни было выгоды. По сути есть предложение в нескольких сотнях мест программы добавить конвертацию в/из этого формата.

Пожалуй, неплохим аналогом является предложение хранить datetime в виде xml-изированной строки.

Иоанн Джипегов Если данные извлекается то в вышеупомянутых языках получение соответсвующей переменной элементарно
Угу. Например, берешь любое высокоуровневое API и начинаешь ему объяснять, что это не int, а datetime, поэтому дефолтовым редактором для него должен быть календарик, формат вывода тоже не совсем int-овый...

Иоанн Джипегов Процесс превращения серверной Д/В в переменную Д/В языка в этом случае всеравно происходит и вряд ли происходит быстрее но при этом менне контролируемо.
Главное - он происходит верно. Этого достаточно.

Иоанн ДжипеговА полученная целочисленная переменная она и есть целочисленная переменная от капризов сервера/ODBC/JDBC/ ИлиКтоЕщеТам мало зависит.
Ну, если предположить, что есть плохая технология (или, что более вероятно - неумение работать с этой технологией), то это нисколько не повод придумывать костыль. Это повод:

1. Научиться работать с этой.
2. Выкинуть эту и взять хорошую.

Иоанн ДжипеговЗато при использовании значения в запросе всегда и во всех языках - дату в число, число в строку.
Чч-чего? Не понял :(

Иоанн ДжипеговА для даты и времени нужно преобразовать дату и время в строку и потом еще скорей всего нужно воспользоваться функцией преобразования строки в Д/В на сервере,
Ну если так работать, то неудивительно, что начинаются проблемы. Вы случаем никогда не пробовали работать с датой именно как с датой, без каких бы то ни было дополнительных конвертаций?

Иоанн ДжипеговТо есть мне кажется что целочисленное представление Д/В делает структуру БД независимой от конкретной СУБД
Этот идиотизм потребует куда более сильных решений, нежели отказ от datetime. Впрочем, как раз для datetime я почти не видел специфики в работе с разными серверами.

Иоанн Джипегови при этом оболочку для данных не делает сильно зависимой от конкретного языка программирования даже если используется точка отсчета конкретного языка.
Подозреваю, Вам стоит отойти от теоретических размышлений в сторону решения практических задач с использованием подходящих для этого средств.

Лично меня float-формат datetime устраивает куда больше, нежели указанный Вами целочисленный. Например потому, что я знаю: если мне потребуется записывать тысячные доли секунды, я буду использовать все тот же формат, а не колбасить всю ранее наработанную технологию.
...
Рейтинг: 0 / 0
07.03.2006, 12:38
    #33586538
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
Иоанн ДжипеговК примеру в оболочке имеется параметр полученный от пользователя в переменную DTVar типа Д/В необходимо выбрать из таблицы записи для которых поле DTField типа Д/В после значения этой переменной.
Совершенно стандартная задача. Никаких конвертаций, никаких проблем. Или код

Код: plaintext
select * from table where date_something > :date_something

слишком сложен?
...
Рейтинг: 0 / 0
07.03.2006, 12:55
    #33586611
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
Пожалуйста, покажите мне как в MS SQL будет выглядеть таблица в которой находится ежедневное расписание движения ну... поездов хотябы...
...
Рейтинг: 0 / 0
07.03.2006, 13:07
    #33586649
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
gardenmanПожалуйста, покажите мне как в MS SQL будет выглядеть таблица в которой находится ежедневное расписание движения ну... поездов хотябы...А как расписание может быть связано с Datetime? По-моему, здесь обсужались вопросы хранения даты с временем. А в расписании дата как-то нигде не применима. Разве только в специальных ограничениях - типа, вводится с 7-го марта 2006 года.
...
Рейтинг: 0 / 0
07.03.2006, 13:19
    #33586705
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
alexeyvg gardenmanПожалуйста, покажите мне как в MS SQL будет выглядеть таблица в которой находится ежедневное расписание движения ну... поездов хотябы...А как расписание может быть связано с Datetime? По-моему, здесь обсужались вопросы хранения даты с временем. А в расписании дата как-то нигде не применима. Разве только в специальных ограничениях - типа, вводится с 7-го марта 2006 года.

Вы мне пожалуйста дайте оператор CREATE TABLE который создает такую таблицу, а потом мы порассуждаем где должна быть дата, а где должно быть время в MS SQL и вообще какой дебил изобрел отвечал за встроенные типы в этой "крутой" "промышленной" базе данных.
...
Рейтинг: 0 / 0
07.03.2006, 13:21
    #33586716
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
gardenmanВы мне пожалуйста дайте оператор CREATE TABLE который создает такую таблицу, а потом мы порассуждаем где должна быть дата, а где должно быть время в MS SQL и вообще какой дебил изобрел отвечал за встроенные типы в этой "крутой" "промышленной" базе данных. Я это всё понимаю, просто как это с вопросом топика связано???
...
Рейтинг: 0 / 0
07.03.2006, 14:21
    #33586940
Datetime или нет ?
softwarer Иоанн ДжипеговК примеру в оболочке имеется параметр полученный от пользователя в переменную DTVar типа Д/В необходимо выбрать из таблицы записи для которых поле DTField типа Д/В после значения этой переменной.
Совершенно стандартная задача. Никаких конвертаций, никаких проблем. Или код

Код: plaintext
select * from table where date_something > :date_something

слишком сложен?

Нет, только Вы забыли упомянуть что параметр :date_something нужно еще установить. Точно также еще одна строка на каждый параметр в каждом запросе. Те самые сотни строк конвертаций, хотя и независящих от субд.
...
Рейтинг: 0 / 0
07.03.2006, 14:48
    #33587009
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
Иоанн ДжипеговНет, только Вы забыли упомянуть что параметр :date_something нужно еще установить. Точно также еще одна строка на каждый параметр в каждом запросе. Те самые сотни строк конвертаций, хотя и независящих от субд.А чем вас так тревожат эти "сотни строк конвертаций"? Никому они до сих пор не мешали, а вас беспокоят. И откуда эти цифры про сотни строк? Каких, кстати, строк?
...
Рейтинг: 0 / 0
07.03.2006, 15:11
    #33587082
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Datetime или нет ?
Иоанн ДжипеговНет, только Вы забыли упомянуть что параметр :date_something нужно еще установить. Точно также еще одна строка на каждый параметр в каждом запросе. Те самые сотни строк конвертаций,
Не конвертаций, а максимум "неявных конвертаций".
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Datetime или нет ? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]