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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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