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

Также в отдельные таблицы были выделены образование военнообязанного и группа здоровья, что приводит к уменьшению объема хранимой информации, т.к. вместо названий образований и групп здоровья мы подставляем числовой идентификатор. Связь таблиц Дети – Данные и Увлечения – Данные осуществляется через таблицу Повестка. Таким образом, чтобы получить доступ к данным Дети и Увлечения  из таблицы Данные (военнообязанного) нам приходится обращаться к таблице Повестка, что не очень удобно, т.к. если военнообязанного еще не вызывали, то мы не получим данные о детях и увлечениях.

Отсутствует таблица с названиями увлечений, что приводит к увеличению объема хранимой информации, т.к. нам часто приходится повторять названия увлечений. В первом и втором проектных наборах мы использовали числовой идентификатор (Код названия увлечения) вместо текстовых данных (Название увлечения).

Вывод

Проектирование базы данных методом декомпозиции заключается в выявлении универсального отношения, содержащего все представляющие интерес атрибуты, и разбиении его на простые отношения, находящиеся в НФБК-форме. Данный метод удобен для проектирования баз с небольшим количеством атрибутов (не больше 20).

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

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

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


Построение запросов.

Запрос 1.

Изменить адрес и телефон определенного лица.

PARAMETERS [Введите паспортные данные] Text ( 255 ), [Улица] Text ( 255 ), [Дом] Short, [Квартира] Short, [Телефон] Long;

UPDATE Dannie SET Dannie.ulica = [Улица], Dannie.dom = [Дом], Dannie.kv = [Квартира], Dannie.telefon = [Телефон]

WHERE (((Dannie.pvo)=[Введите паспортные данные]));

Запрос 2.

Изменить место работы/учебы определенного лица;.

PARAMETERS [Ввестите паспортные данные] Text ( 255 ), [Место работы] Text ( 255 );

UPDATE Dannie SET Dannie.mestorab = [Место работы]

WHERE (((Dannie.pvo)=[Ввестите паспортные данные]));

Запрос 3.

Добавить еще одно увлечение для определенного призывника

PARAMETERS [Введите паспорт] Text ( 255 ), [Увлечение] Long;

INSERT INTO Uvlechenie ( pvo, nazvUV, sp )

SELECT Dannie.pvo, Uvl_1.ku, [Разряд] AS Выражение1

FROM Uvl AS Uvl_1, Dannie

WHERE (((Dannie.pvo)=[Введите паспорт]) AND ((Uvl_1.ku)=[Увлечение]));

Запрос 4.

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

SELECT Dannie.pvo, Dannie.fio, Dannie.datarog, Dannie.ulica, Dannie.dom, Dannie.kv, Dannie.telefon, Dannie.obraz, Dannie.grupzdor, Dannie.rost, Dannie.mestorab, Dannie.ves, Dannie.rv INTO [больше 27]

FROM Dannie

WHERE (((Dannie.datarog)<Date()-365*27));

Запрос 5.

Из журнала призывников удалить информацию о лицах, достигших 27-летнего возраста.

DELETE Dannie.pvo, Dannie.fio, Dannie.datarog, Dannie.ulica, Dannie.dom, Dannie.kv, Dannie.telefon, Dannie.obraz, Dannie.grupzdor, Dannie.rost, Dannie.mestorab, Dannie.ves, Dannie.rv

FROM Dannie

WHERE (((Dannie.datarog)<Date()-365*27));

Запрос 6. Перекрестный запрос.

Код инструктора

Количество вызовов

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

TRANSFORM Count(povestka.pvo) AS [Count-pvo]

SELECT INSTRUCTOR.KodINS, Count(povestka.pvo) AS [Количество вызовов]

FROM INSTRUCTOR INNER JOIN povestka ON INSTRUCTOR.KodINS = povestka.inst

GROUP BY INSTRUCTOR.KodINS

PIVOT Format([dv],"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 с.