Создание файла базы данных в СУБД MicrosoftAccess 2003



Создадим файл спроектированной БД в СУБД MicrosoftAccess 2003. Для этого запустим программу MicrosoftAccess 2003, выберем в окне команду Создать файл, затем в окне Создание файла выберем пункт Новая база данных и укажем диск, каталог и имя «Деятельность музея».

Создадим таблицы, для этого выберем объект Таблицы и кнопку Создать. В режиме Конструктор создадим таблицы со следующей структурой:

Изменение структуры таблиц с помощью SQL запроса

С помощью SQL-запроса изменим структуру таблицы Залы. Добавим атрибут Площадь, тип данных – числовой.

ALTER TABLE Залы ADD COLUMN Площадь FLOAT;

Внесение данных в таблицы.

В окне базы данных выберем объект Таблицы, установим курсор на нужную таблицу и нажмем кнопку Открыть. В режиме Таблицы введем записи в таблицы:

Изменение данных с помощью SQL запросов в MS Access

Запрос на добавление данных в таблицу Залы:

INSERT INTO Залы ( [Код зала], Наименование, [Код ответственного], Площадь )

VALUES (6, "Серебряный", 1, 145);

Запрос на удаление данных из таблицы Сотрудники Удалим записи с фамилией сотрудника, содержащей « Мечникова»:

DELETE ФИО

FROM Сотрудники

WHERE ФИО LIKE “Мечникова”;

Запрос на обновление данных. В таблице Издания увеличим стоимость объявлений изданий с кодами 1711 и 1712.

UPDATE Сотрудники SET Оклад = Оклад*1.2

WHERE (Сотрудники.ДолжностьLike "*контроллер");

Запрос на создание таблицы Расписание:

SELECT Экскурсии.[Время проведения], Экскурсии.График, Сотрудники.ФИО INTO Расписание

FROM Сотрудники INNER JOIN Экскурсии ON Сотрудники.[Код сотрудника] = Экскурсии.[Код ответственного];

Получим:

Расписание

Время проведения График ФИО
10:00:00 суббота Лисина Л.Б.
11:30:00 ежедневно Лисина Л.Б.
15:15:00 по четным Коваленко Т.Ю.
12:00:00 выходные Коваленко Т.Ю.
15:00:00 по нечетным Лисина Л.Б.
11:00:00 ежедневно Быков А.М..
17:00:00 с 1-3 каж. мес. Быков А.М..
14:00:00 среда Быков А.М..
12:45:00 среда Лисина Л.Б.
16:00:00 вторник Быков А.М..

SQL запросы в Access для выборки данных

Напишем запросы SQL для выборки данных.

SELECT Сотрудники.ФИО, Залы.Наименование, Залы.Площадь

FROM Сотрудники INNER JOIN Залы ON Сотрудники.[Код сотрудника] = Залы.[Код ответственного];

Получим:

Запрос4

ФИО Наименование Площадь
Мухина Д.Н. Главный 185
Мухина Д.Н. Современный 80
Бондаренко А.С. Серебряный 145
Бондаренко А.С. Золотой 68
Астахов Е.А. Бронзовый 84
Лучко К.С. Рубиновый 112

Выберем экскурсии, стоимость которых больше 100р и отсортируем по возрастанию цены:

SELECT [Код экскурсии], [Время проведения], График, [Срок действия], Стоимость

FROM Экскурсии

WHERE (Стоимость>100)

ORDER BY Стоимость;

Получим:

Запрос5

Код экскурсии Время проведения График Срок действия Стоимость
10 16:00:00 вторник 01.08.2010 120,00р.
4 12:00:00 выходные 30.06.2010 120,00р.
7 17:00:00 с 1-3 каж. Мес. 01.08.2010 130,00р.
1 10:00:00 суббота 31.05.2010 150,00р.

Вычислим средний оклад сотрудников музея по должностям:

SELECT Должность, Avg(Оклад) AS [Средний оклад]

FROM Сотрудники

GROUP BY Должность;

Запрос6

Должность Средний оклад
гл. контроллер 9 120,00р.
искусствовед 9 000,00р.
контроллер 8 040,00р.
тех. сотрудник 4 500,00р.
экскурсовод 9 266,67р.

Вычислим, сколько экскурсий закреплено за каждым экскурсоводом с помощью групповой операции Count:

SELECT Сотрудники.ФИО, Count(Экскурсии.[Код ответственного]) AS [Количество экскурсий]

FROM Сотрудники INNER JOIN Экскурсии ON Сотрудники.[Код сотрудника] = Экскурсии.[Код ответственного]

GROUP BY Сотрудники.ФИО

ORDER BY Count(Экскурсии.[Код ответственного]);

Запрос7

ФИО Количество экскурсий
Коваленко Т.Ю. 2
Лисина Л.Б. 4
Быков А.М.. 4

Созданиеоднотабличногоподзапроса:

SELECTСотрудники.ФИО, Экскурсии.График, Экскурсии.Стоимость

FROMСотрудникиINNERJOINЭкскурсииONСотрудники.[Код сотрудника] = Экскурсии.[Код ответственного]

WHERE (Экскурсии.[Код экскурсии]) In (SELECT [Код экскурсии]

FROMЭкскурсии

WHERE ([Времяпроведения]<#12:0:0#));

Запрос8

ФИО График Стоимость
Лисина Л.Б. суббота 150,00р.
Лисина Л.Б. ежедневно 60,00р.
Быков А.М.. ежедневно 60,00р.

Создание многотабличного подзапроса:

Выберем тех сотрудников, которые ответственны за залы с площадью большей 100 м2:

SELECT Сотрудники.[Код сотрудника], Сотрудники.ФИО, Сотрудники.Должность

FROM Сотрудники

WHERE (Сотрудники.[Код сотрудника]) In (SELECT Залы.[Код ответственного

FROM Залы

WHERE (Залы.Площадь)>100);

Запрос9

Код сотрудника ФИО Должность
1 Мухина Д.Н. контроллер
3 Бондаренко А.С. гл. контроллер
7 Лучко К.С. контроллер

 


Дата добавления: 2018-04-04; просмотров: 336; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!