32 Установить связь между таблицами СТИПЕНДИЯ и СЕССИЯ. Для этого протащить указатель мыши от поля Результат таблицы СТИПЕНДИЯ к полю Результат таблицы СЕССИЯ. Здесь отношение «Один ко многим».
33 Закрыть окно Схема данных, при выходе сохранить связи.
Лабораторная работа №23
Создание базы данных, ввод и редактирование данных
Цель: привить навыки оптимального проектирования базы данных и практической реализации базы данных сложной структуры в СУБД MS Access.
Краткие теоретические сведения
Сразу после запуска Access на экране появляется окно, в котором можно установить флажок Новая база данных и затем нажать кнопку OK. После этого на экране появится окно Файл новой базы данных, в котором надо ввести название новой базы данных, выбрать папку, где она будет храниться и затем нажать кнопку Создать. После этого на экране появится окно базы данных, в котором перечислены объекты базы данных: Таблицы, Запросы, Формы, Отчеты, Макросы, Модули.
Перед созданием новой базы данных обязательно необходимо хорошо продумать следующие вопросы:
- какие данные будут храниться в БД и как их организовать наилучшим образом? - Это позволит определить, какие потребуются таблицы и какие связи необходимо организовать между ними;
- какие действия с данными необходимо будет производить в процессе эксплуатации БД? - это позволит определить, какие потребуются формы;
- какие документы необходимо будет выводить на печать? - Это позволит определить, какие потребуются отчеты.
Таблицы и связи между ними представляют собой так называемую модель данных, которая является основой любой БД. В теории БД существуют так называемые правила нормализации данных, которые позволяют устранить избыточность, противоречивость и непоследовательность модели данных.
При проектировании таблиц базы данных рекомендуется:
- Избегать повторения информации;
Если информация повторяется то логичнее разбить информацию в две таблицы, задать ключевые поля и связать таблицы по ключевым полям.
- Избегать повторяющихся групп.
Повторяющаяся группа - это столбцы, которые повторяются в пределах одной и той же строки для хранения нескольких значений данных одного вида.
Например, мы храним таблицу со списком зарегистрированных фирм, и в ней 10 столбцов с наименованиями фирм-учредителей. Но количество учредителей чаще всего меньше 10-ти и поэтому многие поля в этой таблице будут пустыми.
С другой стороны, если когда-нибудь придется зарегистрировать фирму с количеством учредителей больше 10-ти, то придется заводить новый столбец. Если наша таблица связана с другими, и мы уже разработали много форм и отчетов, то такая ситуация повлечет за собой переделку всей базы данных.
- Каждая таблица должна описывать одну сущность реального мира;
Не следует смешивать, например, в одной таблице сведения о сотрудниках фирмы и заключенных ими договорах.
- Там, где это возможно, следует использовать коды (первичные ключи);
Первичные ключи помогают связывать таблицы.
- Справочную информацию следует помещать в отдельные таблицы.
Создание таблиц в Access. Для создания новой таблицы в базе данных необходимо в окне базы данных выбрать объект Таблица, а затем нажать кнопку Создать. В появившемся окне будет предложено выбрать один из следующих способов создания:
- режим таблицы;
- конструктор;
- мастер таблиц;
- импорт таблиц;
- связь с таблицами.
Конструктор таблиц. Чтобы добавить поле, в верхней части окна таблицы в режиме конструктора следует ввести имя поля и определить его тип.
Имя поля должно содержать не более 64 символов и может включать любые комбинации букв, цифр и пробелов, а также специальных символов, за исключением точки, восклицательного знака, надстрочного символа и прямых скобок. Имя не должно начинаться с пробела и содержать управляющие символы.
Тип данных определяет, какого вида данные допускается вводить в поле.
Уникальная метка, называемая ключом, используется для определения каждой записи таблицы. Подобно тому, как номерной знак однозначно определяет автомобиль, ключ определяет запись.
Ключевые поля в таблицах используются для создания межтабличных связей. Чтобы определить ключ, необходимо выделить строку с описанием нужного поля и нажать пиктограмму
Ключ.Для задания свойства поля надо выбрать его в верхней части окна конструктора таблиц и в нижней части окна ввести значения этого свойства или выбрать его из списка.
По окончании описания полей таблицы, необходимо закрыть окно конструктора.
Для наполнения таблицы данными откройте ее в режиме таблицы (двойной щелчок по значку таблицы в окне база данных) и внесите информацию, соответственно типам данных каждого поля.
Задание
1 Создайте новую базу данных Microsoft Access. Назовите ее «Продажа товаров»
2 В режиме конструктора создайте таблицу ОПЕРАЦИИ следующей структуры
Таблица 55 – Перечень полей таблицы Операции
Название поля | Тип поля | Описание |
КодОперации | Счетчик | Уникальное поле БД |
Дата | Дата/Время | Дата продажи |
КодТовара | Числовой | Шифр товара |
КодПокупателя | Числовой | Шифр фирмы покупателя |
Цена | Числовой | |
Кол_во | Числовой | |
Сумма | Числовой | |
Ф_опл | Текстовый | Форма оплаты |
3 Для поля Дата установите свойство Значение по умолчанию. Удобно, если при заполнении таблицы в это поле автоматически будет проставляться текущая дата (а если необходимо, то ее можно будет изменить). Для этого щелкните кнопкой мыши в поле ввода для свойства Значение по умолчанию и введите туда следующий текст: =Date(). Для свойства Формат поля установите значение Краткий формат даты.
4 Для поля Сумма удалите в свойстве Значение по умолчанию число 0, оставив это свойство пустым, а формат данного поля установите как Денежный.
5 Задайте для поля Дата Условие на значение ( дата должны быть не позже сегодняшней); заполните поле Сообщение об ошибке.
6 Задайте для полей Количество, Цена и Сумма Условие на значение (Значения этих полей должны быть обязательно больше нуля); заполните поле Сообщение об ошибке.
7 Задайте в качестве ключевого поля - поле КодОперации. Воспользуйтесь пиктограммой
Ключевое поле или командой Правка – Ключевое поле.8 Закройте окно конструктора и сохраните таблицу под именем Операции.
9 По аналогии создайте вторую таблицу базы данных ТОВАР в режиме конструктора.
Таблица 56 – Перечень полей таблицыТовар
Название поля | Тип поля | Описание |
КодТовара | Счетчик | Уникальное поле БД |
Наименование | Текстовый | |
Ед_изм | Текстовый | Единица измерения |
10 Для удобства заполнения данных в поле Ед_Изм создадим поле с раскрывающимся списком значений. Для этого в свойстве этого поля Тип элемента управления выберите значение Поле со списком. Свойство Тип источника строк - Список значений. Число строк списка задайте равное пяти.(так как в таблице используется всего пять единиц измерения товара). Свойство Источник строк заполните следующим образом – кг.;бул.;пач.;шт.;лит. Задайте в качестве ключевого поля - поле КодТовара.
11 Закройте окно конструктора и сохраните таблицу под именем Товары.
12 Откройте таблицу ОПЕРАЦИИ в режиме Конструктора. Аналогично создайте поле с раскрывающимся списком значений Ф_опл (см. таблицу ОПЕРАЦИИ)- б/р (безналичный расчет), н/р (наличный расчет),бар (бартер).
13 Создайте третью таблицу базы данных ПОКУПАТЕЛИ следующей структуры:
Таблица 57 – Перечень полей таблицы Покупатели
Имя поля | Тип данных | Описание |
КодПокупателя | Счетчик | Уникальный код в БД |
Покупатель | Текстовый | Наименование покупателя |
РНН | Числовой | |
р/с | Числовой | Расчетный счет |
Адрес | Текстовый | |
Телефон | Текстовый |
14 Для поля Телефон в свойстве Маска ввода задайте ###\-##\-##.
15 Задайте маску для заполнения полей РНН и р/с, с учетом того, что РНН состоит из 12 цифр, а расчетный счет из 6 цифр.
16 Задайте в качестве ключевого поля - поле КодПокупателя.
17 Закройте окно конструктора и сохраните таблицу под именем Покупатели.
18 В окне базы данных появится только что созданные таблица. Открывайте таблицы двойным щелчком мыши и заполняйте их данными:
Таблица 58 - Операции
КодОперации | Дата | КодТовара | КодПокупателя | Цена | Кол_во | Сумма | Ф_опл |
1 | 01.01.04 | 1 | 1 | 20 | 550 | 11000 | б/р |
2 | 01.01.04 | 2 | 1 | 68 | 200 | 13600 | б/р |
3 | 03.01.04 | 1 | 2 | 20 | 900 | 18000 | б/р |
4 | 03.06.04 | 3 | 3 | 25 | 300 | 7500 | н/р |
5 | 04.01.04 | 6 | 5 | 150 | 26000 | 3900000 | бар |
6 | 04.01.04 | 4 | 4 | 150000 | 250 | 37500000 | б/р |
7 | 13.01.04 | 3 | 3 | 25 | 520 | 13000 | н/р |
8 | 03.02.04 | 2 | 2 | 68 | 4580 | 311440 | б/р |
9 | 12.02.04 | 3 | 2 | 26 | 300 | 7800 | н/р |
10 | 12.02.04 | 7 | 2 | 59 | 12000 | 708000 | б/р |
11 | 02.03.04 | 4 | 1 | 120000 | 15 | 1800000 | б/р |
12 | 02.03.04 | 4 | 4 | 120520 | 520 | 62670400 | бар |
13 | 05.03.04 | 6 | 5 | 250 | 5 | 1250 | б/р |
14 | 05.03.04 | 5 | 2 | 25 | 150 | 3750 | б/р |
15 | 04.04.04 | 7 | 3 | 53 | 200 | 10600 | н/р |
16 | 13.04.04 | 5 | 2 | 20 | 200 | 4000 | бар |
17 | 13.03.04 | 1 | 1 | 25 | 500 | 12500 | н/р |
Таблица 59 - Товары