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

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

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

И ещё совет по делу:
не давай начальнику смотреть структуру базы и сделай всё по уму. т.е. два поля: цех и инв. номер
а уже во вьюхе их можно склеить если это сделает начальника счастливым.
...
Рейтинг: 0 / 0
14.12.2004, 14:50
    #32826827
Smc
Smc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификатор в таблице
Почему инвентарные номера повторяются не знаю, до меня сделано. К тому же их использование в этой задаче не принципиально, т.к., например, схемы не имеют инвентарного номера. А вот эту связку он хочет не видеть, а использовать ее как ключь для связи с другими таблицами. Жаль не показывать ему нельзя, он в должности главный специалист по программному обеспечению!
...
Рейтинг: 0 / 0
14.12.2004, 15:00
    #32826854
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификатор в таблице
SmcЖаль не показывать ему нельзя, он в должности главный специалист по программному обеспечению!
Спроси главного специалиста, что делать при передаче прибора в другой цех.
...
Рейтинг: 0 / 0
14.12.2004, 15:12
    #32826891
Smc
Smc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификатор в таблице
Гы-гы, спрашивал, так он так и сказал, значит поменяется идентификатор...
...
Рейтинг: 0 / 0
14.12.2004, 15:15
    #32826902
Серега
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификатор в таблице
SmcГы-гы, спрашивал, так он так и сказал, значит поменяется идентификатор...
А как он собирается ....
Ну что сказать - только лопата, вернее вилы...
...
Рейтинг: 0 / 0
14.12.2004, 15:19
    #32826918
Smc
Smc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификатор в таблице
Во-во, а то я уже думал может это я дурак - ничего не понимаю.
...
Рейтинг: 0 / 0
14.12.2004, 16:56
    #32827200
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Идентификатор в таблице
Формально начальник прав: если номера цехов уникальны и в рамках цеха уникальны инвентарные номера, - так сделать можно. Но лучше - и грамотнее с точки зрения проектирования - суррогатные ключи.
...
Рейтинг: 0 / 0
15.12.2004, 07:38
    #32827746
mir
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]