powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / формирование уникального кода
13 сообщений из 13, страница 1 из 1
формирование уникального кода
    #35943803
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто-нибудь привести простейшие примеры(алгоритмы) формирования уникального кода для записи таблицы или где можно почитать(для начального уровня), автокримент не походит...
...
Рейтинг: 0 / 0
формирование уникального кода
    #35943917
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все сильно зависит от СУБД, кстати почему автоинкремент не подходит?
С уважением, Naf
...
Рейтинг: 0 / 0
формирование уникального кода
    #35944036
gR4mm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пример простейшего формирования уникального кода, например в mssql

Код: plaintext
select NewID()
...
Рейтинг: 0 / 0
формирование уникального кода
    #35944302
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naf,

Никогда им не пользовался, но вот с нового года решил попробовать, код стал автокриментным и я не смог перенести записи с копии таблицы(таблица запортилась) в основную...(т.е. автокримент хорош, если всё делается через программу пользователя, а вот какое-нибудь обслуживание, туда сюда записи, структуры и т.д. тут уже проблемы

select NewID(), что-то страшное число получается...мне что-нибудь попроще..., тем более в VFP нет такой функции, есть Random, в общем-то вопрос не в функциях, а в принципах формирования уникального кода...но в общем я подумал...меня вполне устроит имя username+max число этого юзера+1, только тоже как-то получается по делитански Vasya00001 может сделать как-нибудь покрасивее...:-), ну может ещё какие есть минусы, которые я не вижу
...
Рейтинг: 0 / 0
формирование уникального кода
    #35944525
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Naf,

Никогда им не пользовался, но вот с нового года решил попробовать, код стал автокриментным и я не смог перенести записи с копии таблицы(таблица запортилась) в основную...(т.е. автокримент хорош, если всё делается через программу пользователя, а вот какое-нибудь обслуживание, туда сюда записи, структуры и т.д. тут уже проблемы
Честно говоря по Вашему абзацу видно только одну проблему - не знание работы инкремента в конкретно взятой СУБД и не желание в RTFM найти всю информацию, как правильно с ними работать. Без обид, но сколько не знаю СУБД, во всех и инкременты и генераторы замечательно работают вне зависимости от того, с чем - с программой пользователя, с запросами, еще с чем то ... :)
...
Рейтинг: 0 / 0
формирование уникального кода
    #35944889
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортем более в VFP нет такой функции
спросите на тематическом форуме - я Вам покажу

авторне знание работы инкремента в конкретно взятой
+1

автора вот какое-нибудь обслуживание, туда сюда записи, структуры и т.д. тут уже проблемы
спросите по туды-сюды в нужном форуме
...
Рейтинг: 0 / 0
формирование уникального кода
    #35945207
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автонумерация не может использоваться в качестве реляционного ключа.
стр 49 глава 3 книга "Стиль программирования Джо Селко на SQL"
...
Рейтинг: 0 / 0
формирование уникального кода
    #35945245
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
там же стр 51
Использование автонумерации в качестве первичного ключа является признаком отсутствия модели данных. После какого - либо сбоя такую БД, скорее всего, придется воссоздавать с нуля.
...
Рейтинг: 0 / 0
формирование уникального кода
    #35945321
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не всем надписям стоит верить, ога
...
Рейтинг: 0 / 0
формирование уникального кода
    #35945327
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
давняя битва , посвящённая этому религиозному вопросу
...
Рейтинг: 0 / 0
формирование уникального кода
    #35945687
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автордавняя битва, посвящённая этому религиозному вопросуну не зря же говорят что новое это хорошо забытое старое.
...
Рейтинг: 0 / 0
формирование уникального кода
    #35945888
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошелмимо,

не, спорить с Вами в вашем же форуме, где вы авторитет(это не секрет что в каждом форуме есть свои авторитеты и законодатели....но можно сталкивая эти авторитеты из различных форумов, получить искру здравого смысла...:-)), бесполезно..:-), у меня не хватит аргументов, лучше более-менее нейтральный форум, где есть и другие авторитеты...:-), тем более я сделал вывод, что ошибся при выборе автокримента, как первичного ключа идентифицирующего запись..., да и использование каких-нибудь генераторов id, тоже не good
Вопрос теперь можно сформулировать следущим образом, как можно имея атрибуты (например наименование, цена и т.д.) идентифицирующие однозначно запись, преобразовать в primary key, чтоб потом на этот ключ ссылались другие таблицы(ну не будешь же в таблицу, которая ссылается, заносить все поля другой таблицы, которые однозначно идентифицируют запись другой таблицы...)
...
Рейтинг: 0 / 0
формирование уникального кода
    #35946122
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Вопрос теперь можно сформулировать следущим образом, как можно имея атрибуты (например наименование, цена и т.д.) идентифицирующие однозначно запись, преобразовать в primary key, чтоб потом на этот ключ ссылались другие таблицы(ну не будешь же в таблицу, которая ссылается, заносить все поля другой таблицы, которые однозначно идентифицируют запись другой таблицы...)
Primary key изначально означает, что это ключ, который однозначно во времени и пространстве идентифицирует запись. Чем и автоинкременты или генераторы хороши, так тем, что они всегда уникальны и не изменяются в пространстве (таблице) и времени (наполнении таблицы записями). Все приведенные Вами аттрибуты (наименование, цена и т.д.) изначально никогда не будут уникальны одновременно во времени и пространстве - или появится товар с таким же именем и ценой или же через месяц выявится ошибка, что у товара другая цена и надо ее поменять. Любое нарушение уникальности или попытка смены первичного ключа процесс забавный, интересный и увлекательный ... но только для тех, кто в силу религии или чтения умных книжек находит в себе силы боротся за чистоту и правильность кода. Я к примеру не борец и не гнушаюсь воспользоваться "не правильными" суррогатными (синтетическими) ключами уже лет -нацать и не смотря на то, что в базы данные попадают веденные пользователями, импортируемые с других систем, рассчитываемые на ходу бизнес логикой сервера, получаемые репликацией с удаленных баз и т.д. и т.п. - ни разу не получилось получить столько увлекательного и интересного, как это было бы с натуральными ключами ;)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / формирование уникального кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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