Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPORA_BD_i_SUBD.docx
Скачиваний:
6
Добавлен:
24.04.2019
Размер:
196.39 Кб
Скачать

6,Изложите материал по индексам в субд FoxPro. Опишите процесс создания первичного ключа. Опишите процесс создания составного индекса.

1. Откройте окно конструктора таблиц для таблицы customer. Для этого в окне проекта установите курсор на модифицируемую таблицу и нажмите кнопку Modify (Модифицировать) конструктора проекта.

2. В окне TableDesigner (Конструктора таблиц) перейдите на вкладку Indexes (Индексы). 3. В поле Name (Имя) введите имя индекса icdcustomer. 4. Из списка возможных типов индекса в поле Туре (Тип) выберите значение Primary (Первичный). 5. Перейдите в поле Expression (Выражение) и введите выражение для индекса icdCustomer. 6. Установите переключатель столбца Order (Упорядочение) в значениеПо возрастанию. 7. Для завершения создания индекса нажмите кнопку ОК.

Рассмотрим создание индекса для таблицы Сustomer, который будет упорядочивать данные в таблице по фамилии, имени и отчеству. Для создания такого индекса воспользуемся индексным выражением.

  1. Откройте окно конструктора TableDesigner (Конструктор таблиц) для таблицы customer и перейдите на вкладку Indexes (Индексы).

  2. В поле Name (Имя) введите имя индекса СustName.

  3. Из списка возможных типов индекса в поле Туре (Тип) выберите значение Regular (Обычный).

  4. Для задания индекса нажмите кнопку открытия построителя выражений для поля Expression (Выражение). В окне построителя сформируйте следующее выражение: cLastName + cFirstName + cSecondName

  5. Проверьте синтаксис выражения, воспользовавшись кнопкой Verify (Проверить), и закройте окно построителя выражений.

  6. Для завершения создания индекса нажмите кнопку ОК.

7,Изложите материал по отношениям между таблицами в субд FoxPro. Опишите процесс создания отношений между таблицами.

Между таблицами существует четыре типа отношений. Это "один-к-одному", "один-ко-многпм", "много-к-одному", "много-ко-многим". Все эти типы отношений поддерживаются в VisualFoxPro.

Отношение "один-к-одному" означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице.

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

Наиболее часто встречающимся является тип отношения "один-ко-многим". В качестве примеров могут быть рассмотрены отношения между покупателем и купленными им товарами, между предприятием и работающими на нем сотрудниками.Отношение "много-к-одному" можно сравнить с отношением "один-ко-многим", рассматриваемое с другой точки зрения. Например, между клиентами и сделанными им заказами существует отношение "один-ко-многим". С другой стороны, если в качестве исходной точки рассматривать заказы, то между сделанными заказами и клиентами подучается отношение "много-к-одному".В качестве примера отношения "много-ко-многим" можно привести пример магазина оптовой торговли. Данный тип отношений существует между списком товаров, производимых предприятиями-поставщиками, и списком товаров, заказанных потребителями.

Для создания отношений между таблицами customer и Phoncust выполните следующие действия:

  1. Откройте окно конструктора базы данных, и которой эти таблицы размещены.

  2. Откройте таблицу customer в конструкторе таблиц. Для этого щелкните на ней правой кнопкой мыши и в контекстном меню выберите команду Modify (Модифицировать).

  3. На вкладке Indexes (Индексы) создайте первичный ключ для поля icdcustomer. Для этого в поле столбца Name (Имя) пиелите наимснова-ние индекса icdcustomer. Для простого индекса в качестве ею имени удобно использовать наименование поля, по которому индекс создайся.

  4. В столбце Туре (Тип) выберите из списка значение Primary (Первичный).

  5. В столбце Expression (Выражение) нажмите кнопку построителя. В открывшемся диалоговом окне ExpressionBuilder (Построитель выражений) в списке Fields (Поля) дважды щелкните мышью на поле icdcustomer. Оно будет перенесено в поле Expression (Выражение). Нажмите кнопку ОК для закрытия диалогового окна.

  6. Индекс для таблицы customer создан. Нажмите кнопку ОК для закрытия окна конструктора таблицы.

  7. Откройте в конструкторе таблицу PhonCust.

  8. Перейдите на вкладку Indexes (Индексы) и создайте ключ типа Regular (Обычный) для поля icdcustomer.

  9. Нажмите кнопку ОК для закрытия окна конструктора таблицы.

  10. Выберите родительскую таблицу. В нашем примере это таблица Customer.

  11. Установите курсор мыши на первичный ключ таблицы icdcustomer.

Замечание Таблицы в конструкторе базы данных обозначаются прямоугольниками, в нижней части которых после надписи Indexes (Индексы) расположен список индексов, созданных для данной таблицы. Первичный ключ в этом списке выделяется значком ключа, расположенным с левой стороны от наименования индекса.

  1. Нажмите кнопку мыши и, не отпуская ее, переместите курсор мыши на индекс дочерней таблицы PhonCust, по которому устанавливается связь.

  2. Отпустите кнопку мыши.

  3.  В окне конструктора базы данных отображается в виде линии созданное отношение между таблицами (рис. 4.20). Если дважды щелкнуть левой кнопкой мыши на линии, то откроется диалоговое окно EditRelationship (Редактирование отношения) (рис. 4.21), в котором слева приведено наименование родительской таблицы и расположен раскрывающийся список индексов таблицы, а справа размешена аналогичная информация о дочерней таблице. Используя раскрывающиеся списки, можно изменять индексы, по которым связываются таблицы. В этом диалоговом окне указан также тип установленного отношения между таблицами. Для сохранения отношения нажмите кнопку ОК, а для отказа — кнопку Cancel (Отмена).

8,Изложите материал по целостности данных в СУБД FoxPro. Опишите процесс редактирования целостности данных.

Целостность данных является одним из самых важных требований, предъявляемых к базам данных.Для определения условия целостности данных используется окно построителя условий целостности данных ReferentialIntegrityBuilder (Построитель целостности данных), которое содержит перечень всех установленных отношений между таблицами. Для ею открытия выполните одно из следующих действий:

в окне конструктора базы данных установите курсор на линию, отображающую отношения таблиц, и выберите в контекстном меню команду EditReferentialIntegrity (Редактирование целостности .чанных);

в меню Database (База данных) выберите команду EditReferentialIntegrity (Редактирование целостности данных);

в диалоговом окне EditRelationship (Редактирование отношений) нажмите кнопку ReferentialIntegrity (Целостность данных).

После завершения определения в диалоговом окне ReferentialIntegrityBuilder (Построитель целостности данных) условий целостности данных вся введенная информация сохраняется в базе данных.

Определим условия целостности данных для таблиц customer и ordsaiem.

1. Откройте окно конструктора базы данных.

2. Создайте отношение между родительской таблицей customer и дочерней таблицей Ordsaiem.

3. Выделите линию, соединяющую таблицы.

4. Нажмите правую кнопку мыши и выберите команду контекстного меню EditReferentialIntegrity (Редактировать целостность данных). На экране откроется диалоговое окно ReferentialIntegrityBuilder (Построитель целостности данных).

5. Предположим, что в процессе эксплуатации нашего приложения колы клиента могут изменяться, поэтому в поле Update (Изменить) установите тип действий Cascade (Каскадное изменение).

6. Для обеспечения целостности данных при удалении записей в таблице Customer в поле Delete (Удалить) установите тип действий Restrict (Запрет изменения).

7. Для сохранения выполненных действий нажмите кнопку ОК.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]