| Тема: Проектирование базы данных «Прокат фильмов».
 
 
 
 Лабораторная работа Задание 1.Разработать базу данных «Прокат фильмов», состоящую из трех таблиц: Таблица 1. Фильм Таблица 2. Клиент Таблица 3. Выдача фильмов (Квитанция) 1.1 Проектирование логической структуры БД Определите, из каких полей будет состоять каждая таблица, их тип и размер. Описание полей таблицы «КЛИЕНТ»:                                           | Ключ | Имя поля | Тип данных | Размер |                       |  | Код клиента | Текстовый |  |                       |  | Фамилия | Текстовый |  |                       |  | Имя | Текстовый |  |                       |  | Отчество | Текстовый |  |                       |  | Адрес | Текстовый |  |                       |  | Телефон | Текстовый |  |    Описание полей таблицы «ФИЛЬМ»:                                           | Ключ | Имя поля | Тип данных | Размер |                       |  | Код фильма | Текстовый |  |                       |  | Название фильма | Текстовый |  |                       |  | Страна производитель | Текстовый |  |                       |  | Режиссер | Текстовый |  |                       |  | Время показа | Числовой | Длинное целое |                       |  | Жанр | Текстовый |  |    Описание полей таблицы «ВЫДАЧА ФИЛЬМОВ»:                                           | Ключ | Имя поля | Тип данных | Размер |                       |  | № | Текстовый |  |                       |  | Код фильма | Текстовый |  |                       |  | Дата выдачи | Дата/Время |  |                       |  | Залог | Денежная | Денежная |                       |  | Код клиента | Текстовый |  |                       |  | Количество дней | Числовой | Длинное целое |                       |  | Цена проката в день | Денежная | Денежная |                       |  | Просрочено (дней) | Числовой | Длинное целое |                       |  | Итого (руб.): | Денежная | Денежная |    1.2 Создание БД Запускаем Access  и выбираем «Создание базы данных» - «Новая база данных»: 
 Дайте имя вашей БД «Прокат фильмов». 1.3 Создание таблиц Создайте таблицы вашей базы в режиме конструктора: «Объект» - «Таблицы» - «Создание таблицы в режиме конструктора» 
     1.4 Таблица «КЛИЕНТ» 
 Сохраните таблицу под именем «КЛИЕНТ»: 
 Аналогично создайте таблицы «ФИЛЬМ» и «ВЫДАЧА ФИЛЬМОВ» 1.5 Таблица «ФИЛЬМ» 
 Для удобства ввода информации создайте для поля «Страна производитель» поле со списком. Исходные данные для формирования списка могут задаваться различными способами: из таблиц, запросов или вводиться через точку с запятой. В вашем случае исходные данные задаются во вкладке «Подстановка» через точку с запятой. 1.6 Таблица «ВЫДАЧА ФИЛЬМОВ»  
 1.7 Установите связи между таблицами Выберите в меню команду «Сервис» - «Схема данных»  . Из окна «Добавление таблицы» добавляем три таблицы в окно «Схема данных». Ставим указатель на поле «Код клиента» в таблице «КЛИЕНТ» и не отжимая кнопку мыши переносим указатель на то же поле «Код клиента» таблицы «ВЫДАЧА ФИЛЬМОВ». В появившемся окне отмечаем флажками: - Обеспечение целостности данных; - Каскадное обновление связанных полей; - Каскадное удаление связанных полей; √ Тип отношения «один – ко - многим»; √ «Создать» 
 Туже операцию произведите с полем «Код фильма», связывая таблицы «ВЫДАЧА ФИЛЬМОВ» и «ФИЛЬМ». Для удаления связей достаточно выделить ее нажать на клавише «Delete» или вызвав контекстное меню, выбрать «Удалить»: 
 1.8 Проектирование форм Форма – это наиболее удобное средство отображения данных. Формы удобна и наглядна, она использует графические возможности Windows (шрифты, графика и т. д.) 
                                          
 При конструирование формы определяется, из каких таблиц будет отображаться данные, пояснительный текст и т. д. Для простоты создания формы воспользуйтесь возможностью автоматического создания автоформы в столбец. Выберите «Объекты» - «Форма» - «Создать», появится окно «Новая форма»: 
 Подключите операцию «Автоформа в столбец» и выберите в качестве источника данных таблицу «ФИЛЬМ». Появиться форма: 
 Доработайте эту форму в режиме «Конструктора»  : 
 Вызовите «Панель элементов»  : 
 Раздвиньте «Заголовок формы» и «Область данных» и на освободившемся месте с помощью элемента  сделайте надпись «Все о фильме». Выделив эту область, отформатируйте надпись. Поле «Код фильма» перетяните в область «Заголовок формы». Форма преобразуется: 
 Добавьте в форму кнопку «Закрытия формы», воспользовавшись «Панелью элементов». Нажмите на пиктограмму «Кнопка»  и вычертите прямоугольник на поле формы. После рисования кнопки появится окно «Создание кнопок». Выберите «Категории» - «Работа с формой» и «Действия» - «Закрыть форму» - «Далее»: 
 В окне «Создание кнопок» выберите «Текст» или «Рисунок» - «Далее»: 
 Имя кнопки можно не задавать. Получившаяся форма, готова к заполнению: 
 Сохраните форму под именем «ВСЁ О ФИЛЬМЕ»: 
 Аналогично создайте форму для заполнения таблицы «КЛИЕНТ» : 
 Заполните через форму ВСЁ О ФИЛЬМЕ» таблицу «ФИЛЬМ» (не менее 10 записей): 
 Заполните через форму «КАРТОЧКА КЛИЕНТА» таблицу «КЛИЕНТ» (не менее 10 записей): 
 Создайте форму для заполнения таблицы «ВЫДАЧА ФИЛЬМОВ»: 
 Добавляем форму «БЛАНК ВЫДАЧИ ФИЛЬМОВ»: & Вместо поля «Код фильма» укажите название фильма посредствам поля со списком. Включите дополнительные поля для фильма: время показа, жанр фильма и режиссера. & Вместо поля «Код клиента» укажите фамилию клиента посредствам поля со списком. Включив дополнительные поля для клиентов – укажите имя и телефон. В режиме конструктора преобразуйте поле «Код фильма» в поле со списком, т. е. вместо самого кода выбирайте из наименование фильма. В таблицу же будите записывать код:   Для этого: < Удалите поле «Код фильма». < На панели элементов управления выберите инструмент «Поле со списком»  . < Вычертите на освободившемся месте новое поле. После этого заработает мастер и появится последовательность из 5 диалоговых окон. < В первом окне проверьте способ получения значений для поля со списком, должен быть подключен способ «Объект «поле со списком» будет использовать значения из таблицы или запроса» - «Далее»; 
 < Во втором окне выберите таблицу, из которой будите брать значения поля со списком, так как вы удалили поле «Код фильма», то таблицу должны выбрать «ФИЛЬМ» - «Далее»; 
 < В третьем окне перенесите поле «Код фильма» и «Название фильма» из окна «Доступные поля» в окно «Выбранные поля» с помощью кнопки  ; 
 < В четвертом окне выберите, нужно ли скрывать ключевой столбец – «Далее»; 
 < В пятом окне укажите, где сохранить выбранное из объекта поле со списком – в поле «Код фильма» - «Далее»; 
 < В шестом окне задайте надпись «Название фильма» - «Готово». 
 Проверьте работу «Поля со списком» в режиме формы: 
 Включите дополнительные поля для фильма – укажите время показа, жанр фильма и режиссера. Данные в этих полях будут появляться автоматически при смене названия фильма: < В режиме конструктора посредством нажатия правой клавиши мыши на черный квадрат в левом верхнем углу формы, выберите команду «Свойства»: 
 < В появившемся диалоговом окне «Форма» на закладке «Данные» выберите строку «Источник записей» и вызовите «построитель запросов»  
 Подтвердите создание запроса на основе этой таблицы. < Выберите пиктограмму «Отобразить таблицу»  добавляем в рабочее поле построителя таблицу «ФИЛЬМ», т. к. из нее будете брать дополнительные данные: 
 < Перетащите в пустографку все поля из таблицы «ВЫДАЧА ФИЛЬМОВ» и поля «Время показа», «Жанр фильма»и «Режиссер»из таблицы «ФИЛЬМ» (т. е. поля, которые вы планируете вывести в дополнительные поля формы). < Сохраните изменения: 
 <  Подключите пиктограмму «Список полей»  и перетяните нужные поля в форму «БЛАНК ВЫДАЧИ ФИЛЬМОВ» и красиво разместите их на рабочем поле:   Проверьте свою работу: 
 < Аналогично включите дополнительные поля для клиентов из таблицы «КЛИЕНТ» - укажите имя и телефон, доработайте форму. < Спроектируйте кнопку закрытия формы. < В результате получите:     
   1.9 Макросы В вашей задаче вы будите программировать макрос подсчета итоговой суммы, которую должен заплатить клиент за прокат фильма. Эта цена будет считаться по формуле: (Количество дней + Просрочено) * Цена проката в день - Залог 1.10 Процедура создания макроса Ø В окне БД выберите «Объекты» - «Макросы» - «Создать». Ø Выберите Макрокоманду «Задать значение». 
 Ø Выберите Аргумент макрокоманды «Элемент» и в «Построителе выражений»  выполните последовательность действий: - указателем мыши щелкаем 2 раза по команде «Forms»; - указателем мыши щелкаем 2 раза по команде «Все формы»; - выберите форму «БЛАНК ВЫДАЧИ ФИЛЬМОВ»; - в среднем окне щелкните 2 раза по полю «Итого». 
 Ø Выберите Аргумент макрокоманды «Выражение» и с помощью «построителя выражения»  повторите те же действия «Forms» - «Все формы» - «БЛАНК ВЫДАЧИ ФИЛЬМОВ» запишите формулу подсчета итоговой суммы: 
 Ø Сохраните макрос под именем «Сумма»: 
 Ø Макрос готов. Теперь надо его привязать к полям формы, которые использовались для данного макроса. 1.11 Подключение макроса Срабатывание макроса можно выполнить по нажатию кнопки, соответственно определив «Категорию кнопки» - «Разное», «Действие» - «Выполнить макрос «Сумма»»: 
 Можно выполнить срабатывание макроса автоматически, связав его с изменением событий, от которых зависит макрос. Для этого надо выполнить последовательность действий: - открыть форму «Бланк выдачи фильмов»; - подключить в «Конструктор»; - поставить указатель на поле «Итого» и вызвать контекстное меню; - выбрать команду «Свойства»; - подключить вкладку «События»; - в поле «После обновления» подключить макрос «Сумма». 
 То же самое проделать с полями «Залог», «Количество дней», «Просрочено», «Цена проката в сутки». Вновь открыть форму «БЛАНК ВЫДАЧИ ФИЛЬМОВ» и проверить работу макроса.   Задание 2. Доработать форму «БЛАНК ВЫДАЧИ ФИЛЬМОВ»: 1. Добавить вычисляемое поле «Дата возврата» (Дата возврата = Дата выдачи + Количество дней) 2. Создайте поле «Просрочено» автоматически вычисляемым. 3. Создайте запрос для вывода всех должников на текущую дату.   
 
 
 
 |