Форум программистов, компьютерный форум, киберфорум
Visual FoxPro
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
 Аватар для ashvinZL0
5 / 5 / 0
Регистрация: 07.06.2012
Сообщений: 135

Индексирование и связь таблиц

08.08.2012, 08:50. Показов 7368. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех!
Я только начал знакомство с фокс и столкнулся с проблемой. Не могу никак понять каким образом индексировать и связывать таблицы кодом. Объясните пожалуйста на примере.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.08.2012, 08:50
Ответы с готовыми решениями:

связь таблиц
здравствуйте.подскажите, пожалуйста, как связать 2 таблицы(желательно подробнее насколько это возможно) не используя классы,одна из которых...

База данных, связь таблиц
Помогите связать правильно таблицы.

Связь таблиц и запрос на вывод из множеств таблиц
Добрый день! Вот решил создать базу данных и связать их, а потом вывести из нескольких таблиц значения. 1. Правильно ли все связано как...

5
187 / 180 / 29
Регистрация: 26.05.2011
Сообщений: 856
08.08.2012, 14:12
ну смотри, есть два варианта:
вариант 1: взять умные книжки и почитать их, потом перечитать, а потом вдумчиво перечитать, делая все примеры и разжевывая каждый шаг (например с помощью яндекс, гугл, кому как).
вариант 2: спросить
Так вот второй вариант не рулит (!!!), я, конечно, попробую объяснить, но не факт, что я хороший учитель и преподаватель, лучше все таки вумные учебники

Есть БД с двумя таблицами а и б
таблица а содержит поле ид и поле фамилия
таблица б содержит поле ид, имя и ид поля фамилия из таблицы а

предположим, что фамилия без имени может быть, а вот имя без фамилии нет.
то есть в переводе, удаление записи из таблицы а должно повлечь удаление всех записей из таблицы б с идэшником удаляемой записи из таблицы а. Вроде понятно объяснил.
Теперь как сделать это в фоксе (версия 9): Таблицы у нас уже есть. Встать на таблицу а в проекте, нажать модифи, в строке ид в столбце ид выбрать стрелку вверх, перейти во вкладку индесес и выбрать тип индекса примари. Нажать ок.
Выбрать таблицу б, нажать модифи, поставить индекс на полях ид и ид_фамилия, сохранить.
теперь нужно открыть БД кнопкой модифи. выбрать таблицу а, встать на ключ ид и перетащить мышой его на ключ ид_фамилия таблицы б. Появилась связь.
Но как таковая связь никому не нужна, нужно сказать правила для этой связи.
Нажать правой по связи, выбрать эдит релэйшеншип, нажать на референтиал интегрити. Открылось окно написаний правил индексов БД. Выбрать в таблице в поле делит каскаде и сохранить изменения.

Готово, поставленная мною задача выполнена, какая задача у вас, я не знаю, объяснил как умел, но все же смотрите первый вариант решения.

Добавлено через 7 минут
Да, про умные книжки забыл, поищите по форуму его сообщения: Redglow, он много раз давал ссылки
На фоксклаб точка ру есть учебник в цифре по 9 фоксу прямо из рук автора в пдф, очень рекомендую
0
 Аватар для ashvinZL0
5 / 5 / 0
Регистрация: 07.06.2012
Сообщений: 135
08.08.2012, 14:33  [ТС]
Что касается связывания таблиц таким способом - понял, но мне нужно связать их кодом. Я довольно много читал, но все же не понимаю от чего зависит задание тех или иных индексов, плюс там какие-то команды перед самим индексом, объяснения для новичков которым я не нашел. Да и проблема возникла. Таблицы просто не хотят связываются путем, который описан выше.
0
 Аватар для Alchi09
206 / 135 / 6
Регистрация: 15.11.2009
Сообщений: 1,654
08.08.2012, 17:24
Так делай через order by, а связывать таблицы с помощью условий при выборке данных. Если я правильно понял суть вопроса
0
 Аватар для Redglow
107 / 107 / 0
Регистрация: 06.05.2011
Сообщений: 277
09.08.2012, 10:04
Цитата Сообщение от ashvinZL0 Посмотреть сообщение
Приветствую всех!
Я только начал знакомство с фокс и столкнулся с проблемой. Не могу никак понять каким образом индексировать и связывать таблицы кодом. Объясните пожалуйста на примере.
Переписывать сюда пол-учебника нет никакого смысла. Рекомендую изучить для начала пару-тройку книг по теории баз данных.
Например:
Д.Ульман, Д. Уидом - Введение в системы баз данных
К.Дж.Дейт - Введение в системы баз данных
Ребекка Райордан - Основы Реляционных Баз Данных
Горев, Макашарипов, Ахаян - Эффективная работа с СУБД
Г.Гурвиц Разработка реального приложения в среде клиент-сервер
Клепинин, Агафонова - Visual Foxpro 9

У Гурвица довольно подробно разжевывается проектирование БД и связь таблиц именно в контексте использования фокспро. Все книги достаточно легко находятся для скачивания поиском, если жаль денег на покупку.

В навигационном подходе для индексирования используется
INDEX ON eExpression TO IDXFileName | TAG TagName [BINARY]
[COLLATE cCollateSequence] [OF CDXFileName] [FOR lExpression]
[COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]
Примеры использования можно посмотреть в примерах фокса: ...\Samples\Solution\Db\Index2.scx

Связь между таблицами устанавливается с помощью
SET RELATION TO [eExpression1 INTO nWorkArea1 | cTableAlias1
[, eExpression2 INTO nWorkArea2 | cTableAlias2 ...] [IN nWorkArea | cTableAlias] [ADDITIVE]]
и
SET SKIP TO [TableAlias1 [, TableAlias2] ...]
или же визуально в дизайнере.

Для реляционных БД сортировка и связь таблиц осуществляется в одном SQL-запросе: сортировка - в секции ORDER BY, связь таблиц - в секциях FROM и JOIN.
Подробнее в хелпе или учебной литературе.
1
 Аватар для ashvinZL0
5 / 5 / 0
Регистрация: 07.06.2012
Сообщений: 135
09.08.2012, 10:48  [ТС]
Спасибо, только вот визуально не получается почему-то. Буду пробовать писать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.08.2012, 10:48
Помогаю со студенческими работами здесь

Индексирование и индексирование с дополнительным упорядочиванием
Добрый день! Что значит с дополнительным упорядочиванием?

Связь таблиц
Всем привет! Ребят, нужно создать бд, которая имеет две сущности с определенными атрибутами: 1)студент (имя,фамилия,отчество,дата...

Связь таблиц
Привет. Есть 2 таблицы - куплено-продано. Подскажите где копать чтоб реализовать вычисление разницы товаров между двумя таблицами.

Связь таблиц
есть база данных по складе, 2 таблицы я звязав еще раньше. теперь начальство придумало еще задание. нужно создать третью таблицу и звязати...

Связь таблиц
Подскажите пожалуйста, каким образом мне можно связать таблицу "Прайс" со всеми остальными?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru