Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> На что опираться на первичный ключ или на поле? 
:(
    Опции темы
NikeDeForest
Дата 11.9.2009, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 15.9.2007

Репутация: нет
Всего: 2



Вот вопрос такой возник. Есть две таблицы, допустим одна таблица имеет внешний ключ на другую. 
Например,  есть таблица, характеризующая заказ, и в ней есть поле перевозка. У поля должны быть строго определенные значения. Делаем таблицу-справочник для перевозки
id| name | description|...
0 | по договоренности | ......
1 | за счет поставщика | ...... 
2 | за счет получаетля | ......
3 | за счет посредника | ......
...

Итак, я могу передать только имя или могу передать клиенту и имя и идентификатор. Врезультате пользователю я отображу имя, но когда он будет производить какой-то выбор (клики и прочее) я смогу воспользоваться идентификатором и передать его при запросе чего-то еще. Соответсвенно упростится запрос  и писать немного легче и базе телодвижений меньше. 
Вопрос, как рекомендуется все таки делать, оперировать только именем или все таки можно тащить с собой идентификатор. 
Не буду ли я, передавая идентификатор, раскрывать какие-то подробности своей БД, в случае перехвата трафика.
Если ориентироваться на имена, какие здесь ждут камни?

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

--------------------
Еще один вопрос ...
PM   Вверх
luxadevianta
Дата 11.9.2009, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 14.12.2007

Репутация: нет
Всего: 2



Если ориентироваться на имена, то ждут два камня:
Первый - существенное увеличение времени редактирования (ибо серверу надо по имени вычислить ключ, чтоб к записи обратиться)
Второй - проблема возможности дублирования имён, решение которой упирается в первый камень.

Посему, я считаю, что айдишник нужно передавать клиенту. Если боишься злоумышленников, то можно идти на разные хитрости (например, хитро шифровать его, или ещё чего). Всё зависит от того, кто заказчик и насколько ему  нужна конспирация. Но в любом случае ему хочется быстроты работы, так что передавать в любом случае надо и имя и ключ (айдишник)
PM   Вверх
NikeDeForest
Дата 14.9.2009, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 15.9.2007

Репутация: нет
Всего: 2



Понял, спасибо.
--------------------
Еще один вопрос ...
PM   Вверх
Akina
Дата 14.9.2009, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: нет
Всего: 454



Цитата(NikeDeForest @  11.9.2009,  16:57 Найти цитируемый пост)
Не буду ли я, передавая идентификатор, раскрывать какие-то подробности своей БД

Ну вот подумай сам...
Значение этого ID есть совершенно отфонарное число, зависящее в основном от того, в каком порядке записи заносились в справочную таблицу и не было ли тестовых и правочных занесений-удалений. Много ли оно может раскрыть?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0739 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.