powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите определиться с ключами.
9 сообщений из 9, страница 1 из 1
Помогите определиться с ключами.
    #32765725
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобще начну с того что для таблиц я определил ключи первичный и тд. Теперь вопрос а зачем они нужны ? Вот пример есть таблица с организациаями, есть таблица с услугами и есть таблица с поставщиками услуг. В каждой организации разные услуги могут поставлятся разными поставщиками. Вот напримере этого можно объяснить зачем здесь ключи и практическая выгода от их использования.
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32765767
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximZaikinВобще начну с того что для таблиц я определил ключи первичный и тд. Теперь вопрос а зачем они нужны ? Вот пример есть таблица с организациаями, есть таблица с услугами и есть таблица с поставщиками услуг. В каждой организации разные услуги могут поставлятся разными поставщиками. Вот напримере этого можно объяснить зачем здесь ключи и практическая выгода от их использования.
Если честно, то я тоже этого не понимаю.
Но по всей видимости это идет из теории о нормализации таблиц а это в свою очередь базируется на математическом обосновании реляционной модели баз данных... Посмотрите соответствующие учебники - там это должно быть описано...

Удачи!
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32766034
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай здесь

Раздел "Ключевое поле"
http://www.foxclub.ru/kb/index.php?sid=24056&aktion=artikel&rubrik=001&id=6&lang=ru
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32766674
MaximZaikin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неь ребята теорию я знаю. Ну более или менее. И литературы по этому делу у меня навалом. Просто я вот о чем подумал, вот например в этом случае как я привел ключи вобще не нужны тем более в FoxPro где я програмно могу отследить события и сформировать нужную реакцию программы. Но все же я чуствую что они очень нужны. Где вот рядом в осознании, но я пока не понял не увидел для чего они действительно мне нужны. Вот я ирешил об этом спросить у вас. Я попрежнему буду рад услышать ваши объяснения по этому поводу
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32766722
kdanylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для обоснования необходимости ключей ответь на такие вопросы:

- Есть организация А, какие поставщики работали с этой организацией в прошлом году;
- Какие товары поставлял поставщик Б организации А;
- Сколько поставщиков поставляет товар С

Таких вопросов может быть много, и правильно спроектированная база данных это такая база, которая даст возможность найти ответ на каждый вопрос в виде набора команд SQL.

Такой подход описан в любой книге по проектированию базы данных.
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32766750
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если не использовать реляционную теорию и засунуть все данные в плоскую таблицу то ключи не нужны.

если использовать:

вероятно схемы БД такова
автор
-------------------------------------------------
видыУслуг
^
|
поставленныеУслуги-->поставщикиУслуг
|
V
организации
-------------------------------------------------

т.е. если у организации ключём является название (естественный ключ) то в таблице "поставленныеУслуги" хранится только название организации. Все данные об организации (например ИНН, юр.адрес и пр.) можно получить из таблицы "организации" найдя её по имени. В противном случае пришлось бы хранить эти данные для каждой поставленной услуги. И если какие-то данные об организации менялись то пришлось бы перепроверять всю таблицу "поставленныеУслуги", например услуга поставлялась организации ЧП Иванов с контактн.тел 12345 а теперь у них тел.54321.

можно так же использовать суррогатные ключи например rand() - это спасает от ситуаций когда естественный ключ меняется (на то он и естественный, было ЧП Иванов а стало ОАО Иванов).

Но лучше конечно что-нить почитать.
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32767708
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi 1024!

Надеюсь про суррогатный ключ на основе RAND() это была шутка?

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32768030
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это пример. В ряде случаев простой rand() подойдёт, во многих случаях нет. Так же как и название организации в качестве ключа в реальности использовать нецелесообразно.
...
Рейтинг: 0 / 0
Помогите определиться с ключами.
    #32770773
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi 1024!

RAND() не подойдёт НИКОГДА. Даже объяснять почему, как-то дико :(

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


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