Проектирование реляционной базы данных средствами СУБД Access. Проектирование реляционной базы данных средствами Access, страница 3

Проектирование базы данных средствами Access заключается в построении универсального отношения, создании базы данных на основе этого отношения и нормализации базы средствами Access. Данный метод часто приводит не к лучшему решению. К тому же заполнение данными таблицы универсального отношения крайне не удобно. Этот метод имеет смысл применять только если уже существует заполненная база данных. 


Создание запросов.

Запрос 1. Изменить данные определенного туриста.

PARAMETERS [Введите код туриста] Long, [Новое ФИО] Text ( 255 ), [Новый адрес] Text ( 255 ); UPDATE Туристы SET Туристы.fio = [Новое ФИО], Туристы.address = [Новый адрес] WHERE (((Туристы.id_tourist)=[Введите код туриста]));

Запрос 2. Ввести дату окончания похода и его результат.

PARAMETERS [Введите номер группы] Long; UPDATE Группы SET Группы.[end] = [Дата окончания], Группы.success = [Результат], Группы.plan = [Дата окончания] WHERE (((Группы.id_group)=[Введите номер группы]));

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

SELECT Группы.id_group, Руководители.FIO_leader, Туры.tour_name, [Объекты покорения].object_name, Страны.country_name, Туры.difficult, Туры.tour_cost, Группы.success, Группы.begin, Группы.end INTO [Законченные походы] FROM (Страны INNER JOIN ([Объекты покорения] INNER JOIN Туры ON [Объекты покорения].id_object = Туры.id_object) ON Страны.id_country = [Объекты покорения].id_country) INNER JOIN (Руководители INNER JOIN Группы ON Руководители.id_leader = Группы.id_leader) ON Туры.id_tour = Группы.id_tour WHERE (((Year([end]))=Year(Date())-1));

Запрос 4. Удалить информацию обо всех законченных походах прошедшего года.

DELETE Year([end]) AS Выражение1, Группы.* FROM Группы WHERE (((Year([end]))=Year(Date())-1));

Запрос 5. Создав таблицу для хранения данных о неудачных походах, создать запрос на добавление данных в эту таблицу.

INSERT INTO [Неуспешные походы] ( id_group, id_tour, id_leader, success, [begin], [end], plan ) SELECT Группы.id_group, Группы.id_tour, Группы.id_leader, Группы.success, Группы.begin, Группы.end, Группы.plan FROM Группы WHERE (((Группы.success)="Неуспешный"));

Запрос 6. Создать перекрестный запрос вида:

Название объекта

Общее количество походов

Распределение по месяцам

TRANSFORM Count(Группы.id_group) AS [Count-id_group] SELECT [Объекты покорения].object_name, Count(Группы.id_group) AS [Итоговое значение id_group] FROM ([Объекты покорения] INNER JOIN Туры ON [Объекты покорения].id_object = Туры.id_object) INNER JOIN Группы ON Туры.id_tour = Группы.id_tour GROUP BY [Объекты покорения].object_name PIVOT Format([begin],"mmm") In ("янв","фев","мар","апр","май","июн","июл","авг","сен","окт","ноя","дек");
Список литературы

1. Горев а., Ахаян Р., Макашарипов С. Эффективная работа с СУБД. – СПб.: Питер, 19997. – 704 с.

2. Дейт К. Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 2000. – 848 с.

3. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ: Пер. с англ. – М.: Мир, 1991. – 252 с.

4. Диго С.М. Проектирование и использование баз данных: Учебник. – М.: Финансы и статистика, 1995. – 208 с.

5. Коннолли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер. с англ.: Уч. пос. – М.: Издательский дом «Вильямс», 2000. – 1120 с.

6. Мейер Д.  Теория  реляционных  баз  данных: Пер. с англ. – М.: Мир, 1987. – 608 с.

7. Хансен Г., Хансен Д. Базы данных: разработка и управление: Пер. с англ. – М.:ЗАО «Издательство БИНОМ», 1999. – 704 с.

8. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. Проф. А.Д. Хомоненко. – СПб.: КОРОНА принт, 2000. – 416 с.

9. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. Проф. А.Д. Хомоненко. – Издание второе, дополненное и переработанное – СПб.: КОРОНА принт, 2002. – 672 с.