- •Создание баз данных в субд ms access
- •Часть 1 Создание базы данных. Работа с таблицами. Формирование запросов
- •Введение
- •Лабораторная работа №1. Создание базы данных. Работа с таблицами Основные теоретические сведения
- •Основные понятия реляционных бд: нормализация, связи и ключи
- •Создание бд. Этапы проектирования
- •Порядок выполнения работы
- •Создание таблиц
- •Создание таблицы покупатель в режиме конструктора
- •Создание таблицы товары с помощью мастера
- •Создание таблицы поставщик путём ввода данных
- •Создание таблицы поставщик_товар в режиме конструктора
- •Создание таблиц покупатель_товар и сотрудники
- •Понятие целостности данных и связей
- •Создание связей между таблицами
- •Ввод данных в таблицы
- •Сортировка записей в таблице
- •Отбор данных с помощью фильтров
- •Корректировка записей базы данных
- •Контрольные вопросы
- •Лабораторная работа №2. Создание запросов Основные теоретические сведения
- •Режимы создания запросов
- •Создание запроса в режиме Конструктора
- •Формирование условий отбора
- •Выполнение и сохранение запроса
- •Задания и методические указания к формированию запросов Создание запросов выбора
- •Создание запросов действий
- •Создание перекрестных запросов
- •Контрольные вопросы
- •Литература
- •Приложения
- •Создание баз данных в субд ms access
- •Часть 1 Создание базы данных. Работа с таблицами. Формирование запросов
Создание бд. Этапы проектирования
Создание БД начинается с проектирования. Этапы проектирования БД:
Исследование предметной области;
Анализ данных (сущностей и их атрибутов);
Определение отношений между сущностями и определение первичных и вторичных (внешних) ключей.
В процессе проектирования определяется структура реляционной БД (состав таблиц, их структура и логические связи). Структура таблицы определяется составом столбцов, типом данных и размерами столбцов, ключами таблицы.
К базовым понятиями модели БД «сущность – связь» относятся: сущности, связи между ними и их атрибуты (свойства).
Сущность – любой конкретный или абстрактный объект в рассматриваемой предметной области. Сущности – это базовые типы информации, которые хранятся в БД (в реляционной БД каждой сущности назначается таблица). К сущностям могут относиться: студенты, клиенты, подразделения и т.д. Экземпляр сущности и тип сущности - это разные понятия. Понятие тип сущности относится к набору однородных личностей, предметов или событий, выступающих как целое (например, студент, клиент и т.д.). Экземпляр сущности относится, например, к конкретной личности в наборе. Типом сущности может быть студент, а экземпляром – Петров, Сидоров и т. д.
Атрибут – это свойство сущности в предметной области. Его наименование должно быть уникальным для конкретного типа сущности. Например, для сущности студент могут быть использованы следующие атрибуты: фамилия, имя, отчество, дата и место рождения, паспортные данные и т.д. В реляционной БД атрибуты хранятся в полях таблиц.
Связь – взаимосвязь между сущностями в предметной области. Связи представляют собой соединения между частями БД (в реляционной БД – это соединение между записями таблиц).
Сущности – это данные, которые классифицируются по типу, а связи показывают, как эти типы данных соотносятся один с другим. Если описать некоторую предметную область в терминах сущности – связь, то получим модель сущность - связь для этой БД.
Рассмотрим предметную область: Торговый центр.
Торговый центр осуществляет продажу товаров как оптом так и клиентам. Любая фирма, занимающаяся продажей товаров в розницу, закупает необходимые ей товары в торговом центре, который служит посредником между производителями и продавцами.
В торговый центр товар поступает от некоторой фирмы-поставщика, в свою очередь торговый центр продает товар фирме-покупателю, заключая с ней сделку о продаже товара.
Деятельность торгового центра характеризуется следующей информацией, которую можно объединить в группы следующим образом:
поставщики (код поставщика, название фирмы-поставщика, адрес, телефон);
покупатели (код покупателя, название фирмы-покупателя, адрес, телефон);
товар (код товара, поставщик, название товара, количество, стоимость за единицу товара);
сделки о продаже (код товара, покупатель, количество проданного товара);
поставки товара (поставщик, товар, дата поставки, количество)
сотрудники (код сотрудника, фамилия, имя, отчество, должность, внутренний телефон, рабочий и личный телефон).
На основании описанных данных необходимо вести учет поставщиков, покупателей, продаж, а также информацию о сотрудниках. Кроме того, можно делать выводы о работе торгового центра, спросе на определенные товары, выгодности работы с некоторыми поставщиками и покупателями.
Проектирование базы данных начнём с определения сущностей:
Поставщики;
Товары;
Покупатели;
Сотрудники.
В нашей задаче данные о связях сущностей сведем в таблицу 1 следующего вида:
Таблица 1 – Связи между сущностями
Тип сущности |
Тип связи |
Тип сущности |
Класс принадлежности |
Степень связи |
поставщики |
поставляют |
товары |
н : о |
М : М |
покупатели |
покупают |
товары |
о : н |
М : М |
сотрудники |
оформляют покупку |
товаров |
н : о |
1:М |
Поясним степень связи:
Каждый поставщик может поставлять несколько видов товара, а один вид товара может поставляться несколькими поставщиками;
Каждый покупатель может купить несколько товаров, а один вид товара могут купить несколько покупателей;
Один сотрудник может оформить несколько сделок на покупку товаров, но каждую сделку оформляет только один сотрудник.
Поясним класс принадлежности экземпляра сущности к связи:
Каждый поставщик не обязательно поставляет какой-либо товар (могут быть поставщики, которые временно не работают), а товар обязательно имеет поставщика;
Любой покупатель обязательно покупает товар, а определенный товар может быть не куплен ни одним покупателем;
Сотрудники торгового центра не обязательно оформляют сделки о продажах (например, водитель), но каждая сделка обязательно оформляется.
Далее необходимо определить атрибуты каждой сущности.
Таблица 2 – Атрибуты сущностей
Сущность |
Первичный ключ |
Атрибуты |
поставщики |
номер поставщика |
номер поставщика название адрес телефон оператор |
товары |
номер товара |
номер товара наименование стоимость единицы |
покупатели |
номер покупателя |
номер покупателя фамилия имя отчество адрес телефон оператор |
сотрудники |
код сотрудника |
код сотрудника фамилия имя отчество должность рабочий телефон личный телефон |
На основании выше приведённых данных построим ER-диаграмму базы данных торгового центра.
Рисунок 1 – ER-диаграмма базы данных
Далее построенную ER – диаграмму необходимо преобразовать в набор безаномальных отношений. Выделенные поля являются ключевыми.
1) Сущности поставщики - товары имеют степень связь М:М, значит их можно преобразовать в три безаномальные отношения: ТОВАРЫ, ПОСТАВЩИКИ И ПОСТАВЩИКИ_ТОВАР.
ТОВАРЫ
№товара |
наименование |
стоимость |
ПОСТАВЩИКИ
№ поставщика |
название |
адрес |
телефон |
оператор |
ПОСТАВЩИКИ_ТОВАР
№поставщика |
№ товара |
количество |
дата |
2) Сущности товары – клиенты имеют степень связи М:М, значит их можно преобразовать в три безаномальные отношения: ТОВАРЫ, ПОКУПАТЕЛЬ и ПОКУПАТЕЛЬ_ТОВАР.
ПОКУПАТЕЛЬ
№ клиента |
Фамилия имя отчество |
пол |
адрес |
телефон |
оператор |
ПОКУПАТЕЛЬ_ТОВАР
№ клиента |
№ товара |
дата |
количество |
доставка |
Отношение ТОВАРЫ уже существует.
3) Сущности сотрудники – товары имеют степень связи 1:М значит, их можно преобразовать в два безаномальные отношения (класс принадлежности М-связного экземпляра сущности обязательный): ТОВАРЫ, СОТРУДНИКИ и ПОКУПАТЕЛЬ_ТОВАР
В отношение ПОКУПАТЕЛЬ_ТОВАР необходимо добавить поле № сотрудника для связи с отношением СОТРУДНИКИ.
№ клиента |
№ товара |
дата |
количество |
доставка |
№ сотрудника |
СОТРУДНИКИ
№ сотрудника |
Фамилия |
имя |
отчество |
должность |
Рабочий телефон |
Личный телефон |
Составим проекты таблиц, которые будут в дальнейшем реализовываться в СУБД. База данных «Торгового центра» будет содержать 6 следующих таблиц:
Таблица 3 – Структура таблицы ПОСТАВЩИКИ
наименование поля |
размер |
тип |
№поставщика |
целое |
числовой |
название |
20 |
текстовый |
адрес |
40 |
текстовый |
телефон |
7 |
текстовый |
оператор |
10 |
текстовый |
Таблица 4 – Структура таблицы ПОСТАВЩИКИ_ТОВАР
наименование поля |
размер |
тип |
№товара |
|
числовой (мастером подстановки из таблицы товары) |
№поставщика |
|
числовой(мастером подстановки из таблицы поставщики) |
Дата |
Короткий формат даты |
дата/время |
количество |
|
числовой |
Таблица 5 – Структура таблицы ПОКУПАТЕЛЬ_ТОВАР
наименование поля |
размер |
тип |
№покупателя |
|
числовой(мастером подстановки из таблицы покупатели) |
№товара |
|
числовой(мастером подстановки из таблицы товары) |
дата |
Короткий формат даты |
дата/время |
количество |
5 |
числовой |
доставка |
|
логический |
№сотрудника |
|
числовой(мастером подстановки из таблицы сотрудники) |
Таблица 6 – Структура таблицы ТОВАРЫ
наименование поля |
размер |
тип |
№товара |
|
счетчик |
наименование |
30 |
текстовый |
стоимость |
15 |
денежный |
Таблица 7 – Структура таблицы ПОКУПАТЕЛИ
наименование поля |
размер |
тип |
№клиента |
|
счетчик |
Фамилия имя отчество |
30 |
текстовый |
пол |
2 |
Текстовый (список значений) |
адрес |
20 |
текстовый |
телефон |
10 |
текстовый |
оператор |
10 |
Текстовый (список значений) |
Таблица 8 – Структура таблицы СОТРУДНИКИ
наименование поля |
размер |
тип |
№сотрудника |
|
счетчик |
фамилия |
30 |
текстовый |
имя |
|
текстовый |
отчество |
|
текстовый |
пол |
2 |
Текстовый (список значений) |
должность |
|
текстовый |
адрес |
20 |
текстовый |
рабочий телефон |
10 |
текстовый |
