powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание словарей
17 сообщений из 17, страница 1 из 1
Создание словарей
    #33343959
Yurman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли создавать словари состоящие из одного поля типа varchar или всетаки должно быть также числовое поле id с уникальным значением?

В моем случае есть таблица Анкета трудоустраиваемого, и таблица профессий
трудоустраиваемого(связь один ко многим). Список возможных профессий хранится в словаре. Мне кажется если записывать профессию как
varchar а не ее id поиск и выборки будут проще.
...
Рейтинг: 0 / 0
Создание словарей
    #33343966
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Храни с ID, меньше проблем будет, например, с каскадами. К тому же длина индексируемого поля ограничена.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Создание словарей
    #33343986
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще не понимаю, как могут быть справочные таблицы без ID. Как ссылочную целостность стороить?
...
Рейтинг: 0 / 0
Создание словарей
    #33343996
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаю тему перенести в проектирование.

--
Dik76

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Создание словарей
    #33344010
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arniВообще не понимаю, как могут быть справочные таблицы без ID. Как ссылочную целостность стороить?Так у него и не будет никакой нахрен ссылочной целостности. Впору сказать "РТФМ нормализация".
...
Рейтинг: 0 / 0
Создание словарей
    #33344081
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YurmanМожно ли создавать словари состоящие из одного поля типа varchar или всетаки должно быть также числовое поле id с уникальным значением?

В моем случае есть таблица Анкета трудоустраиваемого, и таблица профессий
трудоустраиваемого(связь один ко многим). Список возможных профессий хранится в словаре. Мне кажется если записывать профессию как
varchar а не ее id поиск и выборки будут проще.
Вот напринимает оператор кучу анкет, а затем вдруг заметит, что в твоем словаре вместо "Проктолог" написано "Практолог". И придется ему, бедному, все анкеты открывать и в каждой ашипку исправлять.
...
Рейтинг: 0 / 0
Создание словарей
    #33344090
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛентяйИ придется ему, бедному, все анкеты открывать и в каждой ашипку исправлять.Нееее... зачем... Он собирается делать
Код: plaintext
Update Set ProktologField = 'Проктолог' Table Where ProktologField = 'Практолог'
...
Рейтинг: 0 / 0
Создание словарей
    #33344126
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лентяй
Л> Вот напринимает оператор кучу анкет, а затем вдруг заметит, что в твоем
Л> словаре вместо "Проктолог" написано "Практолог". И придется ему,
Л> бедному, все анкеты открывать и в каждой ашипку исправлять.
Разве в этом дело? Вопрос о том, что лучше использовать: натуральные или искусcтвенные ключи постоянно обсуждается...
В данном случае использование наименования в качестве первичного ключа не целесообразно из-за необходимости создания каскадных
обновлений, что вызывает массовые апдейты.. А для FB есть еще и ограничение на размерность индекса.

2автар
Выборки от наличия искусственного ключа усложняются не на много, а в более сложных случаях, чем у тебя наоборот облегчают жизнь
(имею ввиду выбор м\у состовным первичным ключом или искусственным). Вопрос ты имхо задаешь из-за отсутствия знаний sql, поэтому
советую начать с его изучения.

--
Dik76

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Создание словарей
    #33344237
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам ЛентяйИ придется ему, бедному, все анкеты открывать и в каждой ашипку исправлять.Нееее... зачем... Он собирается делать
Код: plaintext
Update Set ProktologField = 'Проктолог' Table Where ProktologField = 'Практолог'

Я постарался объяснить разницу между двумя подходами. А как бороться с созданными собой же трудностями - это уже другая тема...
...
Рейтинг: 0 / 0
Создание словарей
    #33344251
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dik76
Разве в этом дело? Вопрос о том, что лучше использовать: натуральные или искусcтвенные ключи постоянно обсуждается...
В данном случае использование наименования в качестве первичного ключа не целесообразно из-за необходимости создания каскадных
обновлений, что вызывает массовые апдейты.. А для FB есть еще и ограничение на размерность индекса.

Чего-то ты не о том... Имхо.
...
Рейтинг: 0 / 0
Создание словарей
    #33344425
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лентяй
Л> Чего-то ты не о том... Имхо.


Список возможных профессий хранится в словаре. Мне кажется если записывать профессию как varchar а не ее id поиск и выборки
будут проще.
Из этого я понял, что у автора имеется справочник профессий,
но он не хочет сажать из него id, а хочет сажать name,
т.е. воспользоваться им как PK.

Может я конечно и не прав...

--
Dik76

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Создание словарей
    #33344427
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не целесообразно из-за необходимости создания каскадных
обновлений

тю. а о дублировании значений такого естественного ПК в столбце FK ты подумал? Тут до каскадной прокто-логии даже не доходит.
...
Рейтинг: 0 / 0
Создание словарей
    #33344450
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
k> не целесообразно из-за необходимости создания каскадных
k> обновлений
k>
k> тю. а о дублировании значений такого естественного ПК в столбце FK ты
k> подумал? Тут до каскадной прокто-логии даже не доходит.
Вот я и хочу донести до автора все минусы.

--
Dik76

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Создание словарей
    #33345234
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно. Но в Вашем случае непрактично.
Классификация, плюсы, минусы
...
Рейтинг: 0 / 0
Создание словарей
    #33345246
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YurmanМожно ли создавать словари состоящие из одного поля типа varchar или всетаки должно быть также числовое поле id с уникальным значением?
В моем случае есть таблица Анкета трудоустраиваемого, и таблица профессий
трудоустраиваемого(связь один ко многим). Список возможных профессий хранится в словаре. Мне кажется если записывать профессию как
varchar а не ее id поиск и выборки будут проще.Судя по задаче, это будет относительно небольшая БД, с относительно низкой интенчивностью использования. Поэтому можете не бояться ни лишнего объема, ни каскадных апдейтов. Смело делайте ваш справочник без суррогатного PK. Получите тот плюс, что запросы попроще будут (на один JOIN поменьше). Другой вопрос, если б вы тряслись над объемом или если бы у вас была нужда в репликации между серверами, тогда однозначо -- суррогатный PK. А каскадные апдейты для справочников мало страшны, справочники по своему определению содержат очень редко меняемую информацию. Один раз в пятилетку поправят "практолог" на "проктолог" и все.
...
Рейтинг: 0 / 0
Создание словарей
    #33345357
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir Один раз в пятилетку поправят "практолог" на "проктолог" и все.Не уверен. Знаю, что больницы держат специальных медицинских статистиков, которых сверху заваливают всевозможными формами и изменениями не меньше бухгалтеров.
...
Рейтинг: 0 / 0
Создание словарей
    #33345736
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mir
m> Смело делайте ваш справочник без суррогатного PK.
Применительно к IB/FB можно легко наткнуться на ограничение размера индекса...

--
Dik76

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание словарей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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