Главная » Просмотр файлов » Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009

Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 96

Файл №1084484 Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009) 96 страницаХомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484) страница 962018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 96)

Межтабличные связи БД BdutJ12. СУБД Visual FoxPro 8.0457Для установления постоянной связи между родительской и дочерней таблицей необходимо:• установить указатель мыши на первичный ключ родительской таблицы;• нажав левую кнопку мыши, переместить указатель на индекс дочернейтаблицы, по которому устанавливается связь;• отпустить кнопку.На экране появится диалоговое окно Edit Relationship (правка связей),содержащее имена связываемых таблиц с раскрывающимися списками индексов.

В списках уже выбраны индексы, по которым должна осуществляться связь. Здесь же указывается тип связи между таблицами «один к одному»или «один ко многим». Для сохранения связи нажмем ОК, а при отказе —Cancel (отмена).Для удаления межтабличной связи требуется выполнить следующее:• навести указатель мыши на линию связи таблиц;• нажать правую кнопку мыши, что приведет к утолщению линии и появлению всплывающего меню;• выполнить команду Remove Relationship (удалить связь) всплывающего меню.В результате выделенная связь будет удалена. Напомним, что установленные постоянные связи между таблицами используются прежде всего для обеспечения ссылочной целостности (непротиворечивости) БД при обновленииее содержимого. Для снижения возможных потерь данных рекомендуетсясначала устанавливать правила ссылочной целостности, а затем вводить данные в таблицы.12.9.

Обеспечение ссылочной целостностиОбеспечение ссылочной целостности означает определение допустимыхопераций над связанными между собой таблицами. Главное требование ссылочной целостности заключается в том, чтобы записи дочерних таблиц имели ссылки на записи в родительской таблице (дети должны иметь родителей). В родительской таблице могут быть записи, не имеющие связанных сними записей в дочерних таблицах (может быть семья без детей). В VisualFoxPro поддержка ссылочной целостности выполняется с помощью одноименного Построителя.

Чтобы открыть Построитель ссылочной целостности, достаточно выполнить следующее:• открыть БД с таблицами, для которых необходимо установить ссылочную целостность;• в контекстном меню Конструктора БД задать команду ReferentialIntegrity (ссылочная целостность), что и приведет к открытию окнаПостроителя ссылочной целостности данных (рис.

12.6).Часть 3. Современные458СУБД и ихприменениеR e f e r e n t i a l Integrity BuilderRules for Updating | Rules for DeletingRules for Inserting jWhich rule do you want to apply when a new record is inserted or an existing record isupdated in the child table?С Restrict: prohibits the insert if a matching key value does not exist in the parent table,ignore: allows the insert.Parent Tablet_dolgnt_prep* t_stagChild Tablet_prept_zagrt_prepUpdateCascadeCascadeRestrictDeleteRestrictRestrictIgnoreInsertRestrictRestrictШ Я ЕParent Tagi_dolgni_fioi_stagChild Tagi_dolgni fioi_stag•HelpOKCancelРис. 12.6. Диалоговое окно Referential Integrity BuilderВ окне Построителя перечислены все постоянные связи между таблицамиБД Bdu. Информация по каждой связи размещена в отдельной строке.

Первыедва столбца содержат имена родительских и дочерних таблиц. Следующие тристолбца содержат правила поддержания ссылочной целостности в случае редактирования, удаления и добавления записей соответственно. Изначально всеправила содержат Ignore, но они определяются для каждой связи и каждой изтрех перечисленных операций. Последние два столбца содержат индексы (теги)родительской и дочерней таблиц, по которым осуществляется связь.В диалоговом окне Построителя ссылочной целостности коррективам могут быть подвергнуты только столбцы с правилами. Наша задача — для каждой связи (пары родительской и дочерней таблицы) определить правила поддержания ссылочной целостности при выполнении каждой из трех возможныхопераций с данными этих таблиц (редактирования, добавления и удаления).Этот выбор можно осуществить двумя способами:• при выборе поля одного из столбцов с правилами Update (обновить),Delete (удалить) и Insert (вставить) появляется кнопка, нажатие которой приводит к появлению списка возможных правил;• при выборе одной из вкладок Rules for Updating (правила обновления), Rules for Deleting (правила удаления), Rules for Inserting (правила вставки) в верхней части таблицы появляются переключатели скомментариями для каждого из правил.Например, при выборе вкладки Rules for Updating (правила обновления)выбираются правила, связанные с изменениями значения первичного ключа12.

СУБД Visual FoxPro 8.0459или ключа-кандидата в родительской таблице. При этом возможен выбор одного из трех правил, приведенных в табл. 12.7.Т а б л и ц а 12.7Правила изменения значений первичного ключаНаименованиеОписаниеCascadeП р и и з м е н е н и и з н а ч е н и й полей первичного ключа или ключакандидата в родительской таблице автоматическиосуществляется и з м е н е н и е всех соответствующих значений вдочерней таблице — каскадное изменение.RestrictЗ а п р е щ а е т с я и з м е н е н и е п е р в и ч н о г о ключа или к л ю ч а - к а н д и д а т ав родительской таблице, если в д о ч е р н е й таблице и м е е т с я хотябы о д н а з а п и с ь , в н е ш н и й к л ю ч к о т о р о й с о д е р ж и т и з м е н я е м о езначение.IgnoreДопускается произвольное изменение значений полейпервичного ключа или ключа-кандидата родительской таблицы.Целостность данных не поддерживается.Выбор любого из правил осуществляется установкой соответствующегопереключателя.

Выбранное правило отображается в соответствующей строке столбца Update (обновить).При удалении записей из связанных таблиц (вкладка Rules for Deleting —правила удаления) требуется использование также трех правил (табл. 12.8).Таблица 12.8Правила удаления записей из связанных таблицОписаниеНаименованиеCascadeУдалениеприводиттаблицы,внешнегозаписей в родительской таблице автоматическик каскадному удалению всех записей дочернейимеющих аналогичные значения соответствующегоключа.RestrictЗ а п р е щ а е т с я удаление записи в родительской таблице, если вд о ч е р н е й т а б л и ц е и м е е т с я х о т я бы о д н а з а п и с ь , в н е ш н и й ключкоторой содержит значение, совпадающее со значениемпервичного ключа или ключа-кандидата в удаляемой записи.

Припопытке удаления записи выдается с о о б щ е н и е об ошибке,которую можно обработать программно.IgnoreДопускается неограниченное удаление записей родительскойтаблицы. Целостность данных не поддерживается.Часть 3. Современные СУБД и их применение460Правила для добавления записей применимы со стороны дочерней таблицы. Их всего два (табл. 12.9).Т а б л и ц а 12.9Правила добавления записейНаименованиеОписаниеRestrictЗапрещается добавление записи к дочерней таблице, если вродительской таблице отсутствует запись, значение первичногоключа или к л ю ч а - к а н д и д а т а к о т о р о й н е с о в п а д а е т со з н а ч е н и е мвнешнего ключа добавляемой записи.IgnoreДопускается неограниченное добавление записей в дочернюютаблицу.

Целостность данных не поддерживается.По окончании выбора правил выйдем из Построителя, нажав ОК. Привыходе появляется запрос подтверждения сделанных изменений. В случаеподтверждения в БД создается ряд хранимых процедур и триггеров. Если такие процедуры и триггеры уже существуют, то перед их перезаписью создается резервная копия. Теперь все наши требования по обеспечению ссылочнойцелостности данных сохраняются в словаре БД и реализуются при работе сней.При формировании правил ссылочной целостности (рис. 12.6) мы рассуждали следующим образом:1. Изменение значений ключевых полей родительских таблиц. ТаблицаТ Р г е р является дочерней по отношению к таблицам T D o l g n и T_Stag,в свою очередь, для нее дочерней является таблица T Z a g r . Не будемисключать возможность изменения названия должности или фамилиипреподавателя.

Соответствующие поля являются ключевыми. При необходимости такие изменения необходимо произвести в родительскихтаблицах соответственно: должность в — T_Dolgn, а фамилию в —Т Ргер. В этом случае они синхронно (каскадно) изменятся в дочернихтаблицах. Запретим изменения значений ключевого поля stag (стаж) вродительской таблице T Stag.2. Удаление записей в родительских таблицах. Запретим удаление записей в родительских таблицах, имеющих в дочерних таблицах записи ссовпадающими значениями внешних ключевых полей.3. Изменение (добавление) записей в дочерней таблице. Запретим вводзаписей в дочерние таблицы, не соответствующие одной из записей вродительской таблице.Проверим средства обеспечения ссылочной целостности в действии.12.

СУБД Visual FoxPro 8.0461Откроем БД Bdu с помощью команды File | Open (файл | открыть) системного меню Visual FoxPro (если она закрыта). В появившемся окне Конструктора БД откроем для просмотра таблицу Т_ргер. Для этого установим курсорна эту таблицу и, вызвав всплывающее меню, зададим команду Browse (просмотр).Выполним изменение, например, название должности (преп па сг. преп.)сначала в дочерней, а затем в родительской таблице. Изменения будут виднытолько после обновления изображения таблицы (закрытия и повторного открытия таблицы).Замечание.При необходимости произвести добавление или изменение защищенныхданных (режим Restrict) нужно снять защиту и после выполнения требуемых действий повторно установить защиту.12.10.

Создание запросовПосле создания таблиц БД и ввода в них данных требуется организоватьдоступ к хранящейся в БД информации для просмотра и обработки. Одним изосновных способов решения названной задачи является создание запросов.СредстваформированиязапросовВыборка информации из БД может осуществляться: с помощью командыSELECT SQL языка Visual FoxPro, которая является аналогом соответствующей команды языка SQL; с помощью Мастера запросов и с помощью Конструктора запроса.Команда SELECT имеет множество возможностей (опций).

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6489
Авторов
на СтудИзбе
303
Средний доход
с одного платного файла
Обучение Подробнее