- •Введение
- •Тема 1. Технологии работы с объектами в базе данных ms Access.
- •Тема 2. Основы разработки приложения в субд access
- •Выражение1: Year(Now()) – Year([Студенты]![Дата рождения])
- •Соunt([Фамилия])
- •Списки студентов по курсам и группам
- •Тема 3. Целостность данных
- •Тема 4. Конструирование запросов
- •Тема 5. Создание вычисляемых полей. Запросы-действия
- •Тема 6. Конструирование отчетов
- •Тема 7. Язык sql
- •Insert into student (Id, city, name) values (101, null, "Туров", 200)
- •Содержание таблицы Авторы
- •Содержание таблицы Сувенир
- •Содержание таблицы Файл Содержание таблицы Дерево
- •Тема 8. Элементы автоматизации приложения
- •Тема 9. Программирование элементов управления формы
- •If Not IsNull(Me![Фото]) Then
- •If Not IsNull(Me![Фото]) Then
- •Тема 10. Конструирование макросов
- •Тема 11. Разработка кнопочной формы
- •Тема 12. Проектирование базы данных
- •Тема 13. Реализация проекта и управление базой данных
- •Литература Основная
- •Дополнительная
- •Содержание
Содержание таблицы Файл Содержание таблицы Дерево
Код |
Имя |
Тип |
Длина |
|
Файл |
Папка |
1 |
IMG_0855 |
jpeg |
1043675 |
|
IMG_0855 |
Фото |
2 |
IMG_0865 |
jpeg |
1017453 |
|
IMG_0865 |
Фото |
3 |
лекция |
doc |
2176582 |
|
лекция |
Documents |
4 |
конспект по СУБД |
Adobe Acrobat |
88314806 |
|
конспект по СУБД |
Documents |
5 |
metod_TOXOD |
hlp |
23444 |
|
metod_TOXOD |
Tanya |
6 |
Lab_Excel |
xls |
18666 |
|
Lab_Excel |
Tanya |
Содержание таблицы Каталог
КодКаталога |
Папка |
Родитель |
Диск |
1 |
Program Files |
|
d: |
2 |
Documents |
|
e: |
3 |
Nick |
|
e: |
4 |
Tanya |
|
flash |
5 |
DrWeb |
Program Files |
d: |
6 |
MSOffice |
Program Files |
d: |
7 |
Фото |
Nick |
e: |
1. По записи на языке SQL нарисовать бланки запросов в режиме Конструктора и описать действия, выполняемые данными запросами.
Запрос 1.1.
SELECT Каталог.Диск, Каталог.Родитель, Каталог.Папка, Файл.Имя, Файл.Тип, Файл.Длина
FROM Файл INNER JOIN (Каталог INNER JOIN Дерево ON Каталог.КодКаталога = Дерево.Папка) ON Файл.Код = Дерево.Файл;
Запрос 1.2.
SELECT Дерево.Папка, Count(Файл.Имя) AS [Count-Имя]
FROM Файл INNER JOIN Дерево ON Файл.Код = Дерево.Файл
GROUP BY Дерево.Папка;
Запрос 1.3.
SELECT [Каталог]![Диск] & "\" & iif([Каталог]![Родитель]<>null, [Каталог]![Родитель] & "\" ) & [Каталог]![Папка] & "\" & [Файл]![Имя] AS Путь
FROM Файл INNER JOIN (Каталог INNER JOIN Дерево ON Каталог.КодКаталога = Дерево.Папка) ON Файл.Код = Дерево.Файл;
Запрос 1.4.
SELECT Папка INTO Подкаталоги
FROM Каталог
WHERE Родитель<>null;
Запрос 1.5.
TRANSFORM Sum(Файл.Длина) AS [Sum-Длина]
SELECT Каталог.Диск
FROM Каталог INNER JOIN (Файл INNER JOIN Дерево ON Файл.Код = Дерево.Файл) ON Каталог.КодКаталога = Дерево.Папка
GROUP BY Каталог.Диск
PIVOT Каталог.Папка;
2. Разработать запросы на языке SQL и нарисовать бланки этих запросов в режиме Конструктора.
Запрос 2.1. Запрос, который подсчитает, сколько файлов на диске (имя диска задать как параметр).
Запрос 2.2. Найти самый длинный файл.
Запрос 2.3. Найти папки, не имеющие вложенных каталогов.
Запрос 2.4. Подсчитать место, занимаемое на каждом диске содержимым файлов.
3. Для запросов 1.1, 1.3, 1.4, 2.4 нарисовать таблицы результатов.
4. Операции реляционной алгебры:
4.1. Нарисовать таблицу результатов для операции 4=flash(Каталог) или Каталог(Диск = flash)
4.2. В таблице К хранится информация о размещении сотрудников по кабинетам. В таблице C хранится информация о сотрудниках. Какой оператор соединения используется для результата, который получен в таблице K __ JOIN C. Описать смысловое значение полученного отношения.
К |
|
|
C |
|
|
К__JOIN С |
|
Кабинет |
Сотрудник |
|
Сотрудник |
Фамилия |
|
Кабинет |
Фамилия |
1 |
1 |
|
1 |
Иванов |
|
1 |
Иванов |
2 |
4 |
|
2 |
Петров |
|
1 |
Петров |
1 |
2 |
|
3 |
Сидоров |
|
2 |
|
Вариант 8. База данных «Дети» имеет схему данных, представленную на рис. 7.10.
Рис. 7.10. Схема базы данных «Дети»
Содержание таблицы Работник
КодРаботника |
ФИО |
Должность |
Отдел |
ГодРождения |
1 |
Разоренова Т.Р. |
ст. преподаватель |
Таможенное дело |
1955 |
2 |
Галай Т.А. |
ст. преподаватель |
Таможенное дело |
1965 |
3 |
Пищик Т.В. |
доцент |
Таможенное дело |
1970 |
4 |
Копко Ю.А. |
преподавтель |
Таможенное дело |
1977 |
5 |
Бухвалова И.А. |
ст. преподаватель |
ПОВТиАС |
1957 |
6 |
Кучерявенко Л.И. |
ст. преподаватель |
ПОВТиАС |
1955 |
7 |
Разоренов Н.А. |
доцент |
ПОВТиАС |
1948 |
8 |
Гурский Н.Н. |
доцент |
ПОВтиАС |
1954 |
9 |
Гурская Л.Б. |
инженер |
ПОВТиАС |
1950 |
Содержание таблицы Ребенок Содержание таблицы Дети
КодРебенка |
Фамилия |
Имя |
ДатаРождения |
|
КодРаботника |
КодРебенка |
1 |
Разоренов |
Дмитрий |
05.03.1983 |
|
5 |
5 |
2 |
Галай |
Виталий |
19.06.1985 |
|
5 |
6 |
3 |
Пищик |
Иван |
18.08.1992 |
|
2 |
2 |
4 |
Пищик |
Алина |
21.12.1995 |
|
9 |
7 |
5 |
Дежурко |
Мария |
11.11.1989 |
|
8 |
7 |
6 |
Дежурко |
Юля |
03.05.1985 |
|
6 |
8 |
7 |
Голубева |
Александра |
12.12.1988 |
|
6 |
9 |
8 |
Кучерявенко |
Полина |
05.06.1990 |
|
3 |
4 |
9 |
Смитт |
Анна |
13.01.1982 |
|
3 |
3 |
|
|
|
|
|
7 |
1 |
|
|
|
|
|
1 |
1 |
1. По записи на языке SQL нарисовать бланки запросов в режиме Конструктора и описать действия, выполняемые данными запросами.
Запрос 1.1.
SELECT Работник.ФИО, Ребенок.Фамилия, Ребенок.Имя
FROM Ребенок INNER JOIN (Работник INNER JOIN Дети ON Работник.КодРаботника = Дети.КодРаботника) ON Ребенок.КодРебенка = Дети.КодРебенка;
Запрос 1.2.
SELECT Работник.ФИО, Count(Дети.КодРебенка) AS [Сколько детей]
FROM Работник INNER JOIN Дети ON Работник.КодРаботника = Дети.КодРаботника
GROUP BY Работник.ФИО;
Запрос 1.3.
SELECT (Left([ФИО], InStr([ФИО]," ")-1)) AS фамилия
FROM Работник
WHERE КодРаботника IN (SELECT КодРаботника FROM Дети);
Запрос 1.4.
SELECT Ребенок.Фамилия, Ребенок.Имя, MonthName(Month([ДатаРождения]),1) AS [Месяц Рождения]
FROM Ребенок;
Запрос 1.5.
TRANSFORM Count(Фамилия) AS [Количество Детей]
SELECT ФИО, Count(Фамилия) AS [Всего Детей]
FROM Ребенок INNER JOIN (Работник INNER JOIN Дети ON Работник.КодРаботника = Дети.КодРаботника) ON Ребенок.КодРебенка = Дети.КодРебенка
GROUP BY ФИО
PIVOT Отдел;
2. Разработать запросы на языке SQL и нарисовать бланки этих запросов в режиме Конструктора.
Запрос 2.1. Запрос, который подсчитает, сколько детей в каждом отделе.
Запрос 2.2. Найти самого взрослого ребенка
Запрос 2.3. Найти тех, кто не имеет детей.
Запрос 2.4. Кому надо сделать новогодний подарок, если их дают детям до 10 лет.
3. Для запросов 1.1, 1.3, 1.4, 2.4 нарисовать таблицы результатов.
4. Операции реляционной алгебры:
4.1. Нарисовать таблицу результатов для операции 3=Дмитрий Or 3=Юля(Ребенок) или Ребенок(Имя = Дмитрий или Имя=Юля)
4.2. В таблице К хранится информация о размещении сотрудников по кабинетам. В таблице С хранится информация о сотрудниках. Какой оператор соединения используется для результата, который получен в таблице К __ JOIN C. Описать смысловое значение полученного отношения.
К |
|
|
C |
|
|
К__JOIN С |
|
Кабинет |
Сотрудник |
|
Сотрудник |
Фамилия |
|
Кабинет |
Фамилия |
1 |
1 |
|
1 |
Иванов |
|
1 |
Иванов |
2 |
4 |
|
2 |
Петров |
|
1 |
Петров |
1 |
2 |
|
3 |
Сидоров |
|
|
|