powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Идентификатор в таблице
10 сообщений из 10, страница 1 из 1
Идентификатор в таблице
    #32826682
Smc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос стал принципиально. Нужен идентификатор в таблице тех паспортов приборов, схем и т.д. Я предлагаю сквозной номер типа int, а мой начальник текстовое поле типа 74/44067, где 74 - код цеха, а 44067 - инвентарный номер, который повторяется в разных цехах. Код цеха в любом случае будет присутствовать как поле, т.к. кроме того что он показывает за каким цехом закреплен прибор, он еще необходим для указания места установки прибора. Кто что скажет?
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32826712
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmcКто что скажет?
Я скажу - лопата.
По сабжу - начальник лох.
По делу - ИД - первичный ключ. Цех+ИнвНомер - альтернативный.

А еще
инвентарный номер, который повторяется в разных цехах
ИМХО глупость
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32826765
Dmitry Biryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега SmcКто что скажет?
Я скажу - лопата.
По сабжу - начальник лох.
По делу - ИД - первичный ключ. Цех+ИнвНомер - альтернативный.

А еще
инвентарный номер, который повторяется в разных цехах
ИМХО глупость
Присоединяюсь

И ещё совет по делу:
не давай начальнику смотреть структуру базы и сделай всё по уму. т.е. два поля: цех и инв. номер
а уже во вьюхе их можно склеить если это сделает начальника счастливым.
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32826827
Smc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему инвентарные номера повторяются не знаю, до меня сделано. К тому же их использование в этой задаче не принципиально, т.к., например, схемы не имеют инвентарного номера. А вот эту связку он хочет не видеть, а использовать ее как ключь для связи с другими таблицами. Жаль не показывать ему нельзя, он в должности главный специалист по программному обеспечению!
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32826854
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmcЖаль не показывать ему нельзя, он в должности главный специалист по программному обеспечению!
Спроси главного специалиста, что делать при передаче прибора в другой цех.
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32826891
Smc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гы-гы, спрашивал, так он так и сказал, значит поменяется идентификатор...
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32826902
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmcГы-гы, спрашивал, так он так и сказал, значит поменяется идентификатор...
А как он собирается ....
Ну что сказать - только лопата, вернее вилы...
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32826918
Smc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-во, а то я уже думал может это я дурак - ничего не понимаю.
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32827200
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Формально начальник прав: если номера цехов уникальны и в рамках цеха уникальны инвентарные номера, - так сделать можно. Но лучше - и грамотнее с точки зрения проектирования - суррогатные ключи.
...
Рейтинг: 0 / 0
Идентификатор в таблице
    #32827746
mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SmcВопрос стал принципиально. Нужен идентификатор в таблице тех паспортов приборов, схем и т.д. Я предлагаю сквозной номер типа int, а мой начальник текстовое поле типа 74/44067, где 74 - код цеха, а 44067 - инвентарный номер, который повторяется в разных цехах. Код цеха в любом случае будет присутствовать как поле, т.к. кроме того что он показывает за каким цехом закреплен прибор, он еще необходим для указания места установки прибора. Кто что скажет?

Теория гласит, что существование нескольких потенциальных ключей - норма, и все потенциальные ключи формально равноправны. Поэтому вопрос о выборе первичного ключа должен решаться исключительно прагматически. То есть с точки зрения:
1) экономии места в БД (помним, что основной объем набегает не столько за счет самого ПК, сколько за счет внешних ссылок на него, которых обычно на порядок больше, и индексов как по ПК, так и по внешникм ключам);
2) повышения производительности запросов и
3) практического удобства разработки и сопровождения системы.

С этой точки зрения сравним твой вариант (сквозной номер типа int) и вариант начальника (текстовое поле типа 74/44067).

По п. 1) твой вариант экономнее, т.к. займет всего 4 байта против 8 или более.
По п. 2) твой вариант быстрее, так как индексирование и поиск по типу int самые быстрые, а по строкам - самые медленные
По п. 3) примерно одинаково, но в варианте начальника есть доп гемор по изменениям ключей в случае переноса прибора в другой цех. Поэтому этот вариант здесь тоже похуже.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Идентификатор в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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