КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Создание реляционной базы данных
Связывание таблиц После создания различных таблиц, содержащих данные, относящиеся к различным аспектам базы данных, необходимо обеспечить целостность базы данных. Для этого надо связать таблицы между собой. При связи «один-ко-многим» каждой записи в одной (главной) таблице могут соответствовать несколько записей в другой (подчиненной) таблице, а запись в подчиненной таблице не может иметь более одной соответствующей ей записи в главной таблице. Если одной записи в первой таблице могут соответствовать несколько записей во второй таблице и, наоборот, одной записи во второй таблице — несколько записей в первой таблице, то реализуется связь «многие-ко-многим». В нашем случае реализуется именно такая связь. Одной записи в таблице «Комплектующие» соответствуют две записи в таблице «Поставщики», так как устройства одного типа продаются двумя фирмами. Одной же записи таблицы «Поставщики» соответствуют четыре записи таблицы «Комплектующие», так как одна фирма продает устройства четырех типов. Две таблицы, находящиеся в отношении «многие-ко-многим», могут быть связаны только с помощью третьей (связующей) таблицы. Таблицы «Комплектующие» и «Поставщики» можно связать в отношении «многие-ко-многим» путем создания двух связей «один-ко-многим» по отношению к таблице «Цена». Таблицы «Комплектующие» и «Поставщики» будут являться главными по отношению к таблице «Цена». Связь между таблицами устанавливает отношения между совпадающими значениями в полях с одинаковыми именами. С ключевым полем главной таблицы (первичный ключ) связывается одноименное поле подчиненной таблицы (внешний ключ). В главной таблице «Комплектующие» поле «Код комплектующих» является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одноименное поле, которое является внешним ключом. Таблица «Поставщики» также является главной по отношению к таблице «Цена». Ее поле «Код поставщика» является первичным ключом, соответственно в подчиненной таблице «Цена» должно существовать одноименное поле, которое является внешним ключом. Таким образом, таблица «Цена» должна содержать следующие поля (табл. 4 ): • «Номер п/п» (ключевое поле); • «Код комплектующих» (поле внешнего ключа для таблицы «Комплектующие»); • «Код поставщика» (поле внешнего ключа для таблицы «Поставщики»); • «Цена» (денежное поле). Таблица 4. Цена
Межтабличная связь обеспечивает целостность данных. Связанные таблицы представляют собой единую базу данных, в которой можно создавать новые таблицы, а также запросы и отчеты, содержащие данные из связанных таблиц. Базы данных, состоящие из связанных двумерных таблиц, принято называть реляционными. Прежде чем приступить к созданию реляционной базы данных, необходимо продумать ее проект. Проект представляет собой модель будущей БД, состоящей из объектов и их связей, необходимых для выполнения поставленных задач. Процесс проектирования включает, прежде всего, определение перечня необходимых таблиц и задание их структуры, а также установление типа связей между этими таблицами. Система управления реляционными базами данных Microsoft Ассеss позволяет создавать реляционные базы данных, а также обеспечивать их обработку с помощью запросов, форм и отчетов. Создадим реляционную базу данных «Компьютер», в качестве основных объектов которой будут использованы три таблицы: «Комплектующие», «Поставщики» и «Цена». Таблицы «Комплектующие» и «Поставщики» должны быть связаны отношением «многие-ко-многим» с помощью таблицы «Цена». Итак, прежде всего, необходимо создать три таблицы: «Комплектующие» «Поставщики» и «Цена». 3.4.Создание реляционной базы данных «Компьютеры» 1. Создадим в приложении Ассеss новую базу данных с помощью команды Пуск-Все программы-Microsoft Office- Microsoft Office Ассеss 2007- Новая база данных и присвоим ей имя «Компьютеры». 2. В окне Компьютеры: база данных выберем вкладку Создание и щелкнем команду Конструктор таблиц в группе Таблицы. Таблица «Комплектующие» должна содержать три текстовых поля: «Код комплектующих», «Наименование» и «Описание». Ключевым полем является поле «Код комплектующих». 3. В окне макета таблицывведем имена полей, тип данных и параметры полей. В качестве ключевого поля зададим поле «Код комплектующих». Для сохранения таблицы введите команду Сохранить . Присвоим таблице имя «Комплектующие» (рис.1).
Рис.1. Макет таблицы «Комплектующие» 4. Для ввода данных в таблицу щелкнем на значке Режимы таблицы в группе Режимы во вкладке Главная. Введем данные в таблицу (рис.2). Рис. 2. Таблица «Комплектующие» Таблица «Поставщики» должна содержать три текстовых поля: «Код поставщика», «Название фирмы» и «Адрес». Ключевым полем является поле «Код поставщика». 5. Создадим таблицу «Поставщики», выполнив рассмотренную выше последовательность действий. Введем данные.
Рис. 3. Таблица поставщики Таблица «Цена» должна содержать поля Номер п/п, Код комплектующих, Код поставщика, а также поле Цена. В качестве ключа этой таблицы будет использоваться поле Номер п/п. 6. С помощью аналогичных действий создадим таблицу «Цена» и введем в нее данные. В полях внешних ключей не могут содержаться значения, отсутствующие в соответствующих ключевых полях главных таблиц (рис.4).
Рис. 4. Таблица Цена Таблицы «Комплектующие» и «Поставщики» должны быть связаны отношением «один-ко-многим» с таблицей «Цена». Таблица «Цена» содержит однотипные с полями первых двух таблиц поля «Код комплектующих» и «Код поставщика», являющиеся внешними ключами исходных таблиц. Установим связи между таблицами с помощью окна Схема данных. Но перед этим закроем созданные таблицы, иначе связи между таблицами не получится установить. 7. Введем команду Схема данных в группе Показать и скрыть из вкладки Работа с базами данных. Появится диалоговая панель Добавление таблицы. Выделим в этом окне нужные таблицы и щелкнуть по кнопке Добавить Рис. 5. Окно Добавление таблицы
8. Выделенные таблицы будут добавлены в специальное окно — Схема данных.
Рис. 6. Окно Схема данных
Для установки между таблицами «Комплектующие» и «Поставщики» связи в отношении «многие-ко-многим» необходимо связать их с таблицей «Цена» в отношении «один-ко-многим». 9. Перетащим мышью из таблицы «Комплектующие» ключевое поле — «Код комплектующих» (оно выделено жирным шрифтом) к одноименному полю внешнего ключа таблицы «Цена». 10. На появившейся диалоговой панели Изменение связей установим опцию Обеспечение целостности данных, азатем опции каскадное обновление связанных полей и каскадное удаление связанных записей. В завершение щелкнем по кнопке Создать. Рис. 7. Окно Изменение связей Теперь установим связь в отношении «один-ко-многим» между таблицами «Поставщики» и «Цена». 11.Перетащим мышью из таблицы «Поставщики» ключевое поле — «Код поставщика» (оно выделено жирным шрифтом) к одноименному полю — внешнему ключу таблицы «Цена». 12.На появившейся диалоговой панели Связи установим опцию Обеспечение целостности данных, а затем опции каскадное обновление связанных полей и каскадное удаление связанных записей. В завершение щелкнем на кнопке Создать. Теперь связь в отношении «многие-ко-многим» между таблицами «Комплектующие» и «Поставщики» через таблицу «Цена» установлена. 13.Это наглядно представлено в окне Схема данных.
Рис. 8. Окно Схема данных с установленными связями Созданная реляционная база данных «Компьютеры» состоит из трех связанных таблиц и поэтому обладает целостностью данных. Это значит, что можно создавать запросы, формы и отчеты, которые используют данные из разных таблиц. Создадим, например, запрос, который осуществляет выбор информации, необходимой для закупки дешевого системного блока. 3.5.Создание запроса в реляционной базе данных «Компьютеры» 1. Из вкладки Создание выберем Конструктор запросов в группе Другие и щелкнем по кнопке Добавить с целью добавления всех таблиц. Щелкнем по кнопке Закрыть. 2. В таблице «Комплектующие» для поля «Наименование» введем условие «Системный блок», в таблице «Поставщики» для поля «Название фирмы» установим вывод на экран, в таблице «Цена» для поля «Цена» введем условие <10500.
Рис.9. Создание запроса в режиме Конструктор 3. На вкладке Конструктор щелкнем по кнопке Выполнить из группы Результаты. Появится результат выполнения запроса.
Рис.10. Результат выполнения запроса 4.Создадим отчет по результату созданного запроса. Рис. 11. Отчет по результату созданного запроса
4. Задание 4.1. Создайте в приложении Microsoft Ассеss новую базу данных и присвойте ей имя «Компьютеры». 4.2. Используя Конструктор таблиц, сформируйте в этой базе данных три таблицы «Комплектующие», «Поставщики» и «Цена» с данными, представленными на рис. 1-4. 4.3. На базе этих трех таблиц разработайте реляционную базу данных «Компьютеры», организовав связи между таблицами с помощью команды Схемы данных (рис. 5-8). 4.4.Создайте запрос в реляционной базе данных «Компьютеры» для выбора дешевого системного блока со стоимостью менее 10500р. и названием фирмы, которая его выпускает (рис. 9-10). 4.5. Сформируйте отчет по результату созданного запроса (рис.11).
Дата добавления: 2015-05-09; Просмотров: 1688; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |