База данных (3 таблицы)
Порядок работы.
1. В соответствии с заданием разработать схему данных.
2. Используя LibreOffice Base создать базу данных.
3. К каждой таблице создать форму.
4. Используя формы внести в каждую таблицу не менее 10 записей.
5. В соответствии с заданием создать запросы для вычисления требуемых данных.
1. В соответствии с заданием разработать схему данных.
а) В каждой таблице предусмотреть создание ключевого поля (Название: "код"+"имя таблицы", тип: Целое)
б) Распределить указанные в задании поля по таблицам. Определить типы полей (устно)
в) Определить типы связей между таблицами.
г) В подчиненной(ых) таблице(ах) предусмотреть создание полей связи (Название: "связь"+"имя таблицы главной таблицы", тип: Целое)
д) Начертить схему данных.
Пример:
Задание
База данных «Оптовый магазин. Учет продаж»
База данных должна включать таблицы ТОВАРЫ, ПРОДАВЦЫ, ПРОДАЖИ, содержащие следующую информацию:
Наименование товара
Единица измерения товара
Цена закупки единицы товара
Дата продажи товара
Цена продажи единицы товара
Кол-во проданных единиц товара
Фамилия продавца, оформившего продажу
Имя продавца, оформившего продажу
Отчество продавца, оформившего продажу
Процент комиссионных продавца, оформившего продажу
Определяем состав полей таблиц (и их типы):
ТОВАРЫ |
ПРОДАЖИ |
|
ПРОДАВЦЫ |
|
КодТовары (целое, автозн.-да) | КодПродажи (целое, автозн.-да) | КодПродавцы (целое, автозн.-да) |
||
Наименование (текст) | Дата_продажи (дата) | Фамилия (текст) | ||
Единица_изм (текст) | Цена_продажи (десятичное,2зн) | Имя (текст) | ||
Цена_закупки (десятичное,2зн) | Кол_во (десятичное,2зн) | Отчество (текст) |
Устанавливаем связи между таблицами:
Одной записи в таблице ТОВАР может соответствовать много записей в таблице ПРОДАЖИ, но каждой записи в таблице ПРОДАЖИ должна соответствовать только одна запись в таблице ТОВАР. Таким образом связь между таблицами ТОВАР - ПРОДАЖИ - один ко многим, главная таблица ТОВАР, подчиненная ПРОДАЖИ. В подчиненной таблице создаем поле для установления этой связи.
Аналогично, одной записи в таблице ПРОДАВЦЫ может соответствовать много записей в таблице ПРОДАЖИ, но каждой записи в таблице ПРОДАЖИ должна соответствовать только одна запись в таблице ПРОДАВЦЫ. Таким образом связь между таблицами ТОВАР - ПРОДАВЦЫ - один ко многим, главная таблица ПРОДАВЦЫ, подчиненная ПРОДАЖИ. В подчиненной таблице создаем поле для установления этой связи.
Окончательно получаем следующий состав таблиц и связи между ними:
2. Используя LibreOffice Base создать базу данных.
а) Открыть LibreOffice Base. Файл БД сохранить на Рабочем столе и назвать "класс"+"Фамилия".
б) В соответствии с ранее определенной схемой данных создать три таблицы.
в) Используя команду СЕРВИС - СВЯЗИ открыть окно "Связи" в котором установить связи между таблицами, связывая ключевые поля главных таблиц и поля связи подчиненных таблиц.
3. К каждой таблице с помощью мастера форм создать форму.
расположение элементов управления - любое, отличное от табличного.
Имена форм могут совпадать с именами таблиц, с которыми они связаны.
4. Создание списков для заполнения данными подчиненной таблицы
Действия должны повториться для каждой связи.
В примере рассмотрена связь Товары - Продажи.
а) В режиме дизайнера создается запрос к главной таблице в связи. В примере - ТОВАРЫ
В запрос включаются два поля:
На 1 месте Название (будет отображаться в списке)
На 2 месте КодТовары (значения будут сохраняться в поле связи)
Порядок полей важен.
б) После создания запроса на вкладке Формы открывается форма для подчиненной таблицы в режиме Правка (в примере в обеих связях форма Продажи).
в) На форме требуется выделить элемент управления Поле СвязьТовары. Он сгруппирован с надписью Связь товары. Необходимо или войти в группу или разгруппировать элементы.
г) Сделав активным элемент управления Поле СвязьТовары его необходимо заменить на элемент управления Список.
д) Открыть окно свойств элемента Список СвязьТовары (двойной щелчок по списку) и изменить свойства:
Вкладка общие: Раскрываемый - "ДА"
Вкладка данные: Тип содержимого списка - Запрос, Содержимое списка - выбрать имя созданного ранее запроса.
Выполнив этот алгоритм для каждой связи, получится следующее:
Вкладка запросы:
Вид формы к подчиненной таблице:
5. Используя формы внесите по 10 записей в каждую таблицу. Заполнение начинается с главных таблиц.
6. Для вычисления необходимых данных, указанных в заданиях создаем запросы с вычиляемыми полями и (или) групповыми операциями. (Создание форм к этим запросам только приветствуется).
а) Каждый продавец получает комиссионное вознаграждение за проданный товар. Размер этого вознаграждения равен:
Цена продажи единицы товара * Кол-во проданных единиц товара * Процент комиссионных продавца.
Создается запрос к двум талицам ПРОДАВЦЫ, ПРОДАЖИ, с вычисляемым полем, соответствующим формуле задания.
б) Прибыль от продажи партии товара вычисляется как
(Цена продажи единицы товара - Цена закупки единицы товара) * Кол-во проданных единиц товара.
Для выполнения этого задания необходимо создать два запроса. Первый, с вычисляемым полем, ответит на вопрос сколько прибыли получено от каждой сделки. Второй, с группировкой по полю название первого запроса, ответит на вопрос задания.
Результат:
Не забыть сдать файл на проверку в папку Proverka