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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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