
- •Глава 3. Создание базы данных
- •Создание файла базы данных Access
- •Создание таблицы базы данных
- •Определение структуры новой таблицы в режиме конструктора
- •Определение полей таблицы
- •Определение первичного ключа
- •Создание таблиц базы данных "Поставка товаров”
- •Создание структуры таблицы
- •Непосредственный ввод данных в таблицы
- •Макет таблицы
- •Ввод данных в таблицы бд "Поставка товаров"
- •Размещение объекта ole
- •Ввод логически связанных записей
- •Использование поля со списком при вводе записей
- •Создание схемы базы данных "Поставка товаров"
- •Включение таблиц в схему данных
- •Создание связей между таблицами схемы данных
- •Обеспечение целостности данных
- •Каскадное обновление и удаление связанных записей
- •Объединение записей взаимосвязанных таблиц
- •Выбор способа объединения записей
- •Отображение записей подчиненных таблиц в главной таблице
- •Модификация структуры базы данных
- •Изменение структуры таблиц
- •Изменение схемы данных
Создание таблиц базы данных "Поставка товаров”
Напомним, что все объекты базы данных Access создаются и сохраняются в одном файле, который создается щелчком мыши в области задач на строке Новая база данных (New Database). В окне Файл новой базы данных (File New Database) выбирается папка, в которой будет размещен файл, и задается имя файла новой БД — "Поставка товаров. mdb" (см. рис. 3.2).
В результате открывается окно (см. рис. 3.3) новой базы данных Поставка товаров: база данных (формат Access 2002 - 2003).
В соответствии с технологией проектирования реляционной БД структура каждой таблицы базы данных "Поставка товаров" должна определяться составом реквизитов соответствующего информационного объекта в ИЛМ
Основные параметры структуры таблицы, соответствующей информационному объекту товар, представлены далее в табл. 3.1.
Создание структуры таблицы
Начнем создание таблицы товар с определения ее структуры в режиме конструктора таблиц. В окне базы данных (см. рис. 3.3) выберем объект Таблицы (Tables) и нажмем кнопку Создать (New). В окне Новая таблица (New Table) (см. рис. 3.4) выберем строку Конструктор (Design View). Еще проще перейти в режим конструирования таблицы, дважды щелкнув на строке Создание таблицы в режиме конструктора (Create table in Design View) в рабочем поле окна базы данных.
В соответствии с приведенными в табл., 3.1 проектными параметрами структуры, последовательно для каждого поля таблицы товар в окне конструктора Таблица 1: таблица (см. рис. 3.8) определим Имя поля (Field Name) и Тип данных (Data Type).
Денежный тип поля цена используют для предотвращения округления во время вычислений. В денежных полях обеспечивается 15 знаков слева от десятичной запятой и 4 знака справа. Денежное поле занимает 8 байт на диске.
На вкладке Общие (General) зададим свойства полей:
Размер поля (Field Size):
для числового поля ставка__ндс выберем, нажав в нем кнопку списка, значение Одинарное с плавающей точкой (Single);
для текстовых полей зададим размеры, указанные в соответствующем столбце;
Формат поля (Format):
для поля цена выберем значение Денежный (Currency). Денежные суммы в соответствии с установленным по умолчанию в Microsoft Windows значением будут отображаться в таком виде: 123 456 789,00 р;
для поля ставка_ндс выберем значение Процентный. При отображении одинарных с плавающей точкой чисел в поле ставка_ндс, для которых выбран встроенный формат поля Процентный, их значения умножаются на 100 и к ним добавляется знак процента. Ввод ставки НДС должен осуществляться в формате отображения, например, 15%, 7,5%;
Число десятичных знаков (DecimalPlaces) для поля цена — 2, для ставка_ндс — 0;
Подпись поля (Caption), Условие на значение (ValidationRule), Сообщение об ошибке (ValidationText) — для каждого из этих полей выберем значения, указанные в табл. 3.1.
Таблица 3.1. Основные параметры структуры таблицы товар
Имя поля |
Признак первичного ключа |
Обязательное поле |
Тип данных |
Размер |
Формат |
Число десятичных знаков |
Подпись поля |
КОД_TOB |
Простой |
Да |
Текстовый |
5 |
|
|
Код товара |
НАИМ_ТОВ |
|
Нет |
Текстовый |
25 |
|
|
Наименование товара |
ЦЕНА |
|
Нет |
Денежный |
|
|
2 |
Цена |
ЕИ |
|
Нет |
Текстовый |
8 |
|
|
Единица измерения |
СТАВКА_НДС |
|
Нет |
Числовой |
Одинарный с плавающей точкой |
|
|
Ставка НДС |
ФОТО |
|
Нет |
Поле объекта OLE |
|
|
|
Фото товара |
Для поля ставка_ндс необходимо предусмотреть условие на значение: >=0,05 And <=0, 35 и сообщение об ошибке: "Ставка НДС должна быть >=5% и <=35%". Для поля цена следует предусмотреть условие на значение: >=0 And <=35000 и сообщение об ошибке: "Цена должна быть >=0 и <=35 000".
Условие на значение, которое задается в свойство поля, является выражением. Оно может быть сформировано с помощью построителя выражений (рис. 3.9). Построитель вызывается нажатием кнопки справа от строки Условие на значение (ValidationRule), в которую должно быть введено выражение в окне конструктора таблиц (см. рис. 3.8).
Рис. 3.7 Определение свойств поля ставка_ндс
Рис. 3.7 Окно построителя выражений с выеденным списком операторов
Для ввода операторов <больше равно и <меньше равно существуют специальные знаки. Не допускайте пробелов при вводе выражения. Нужные пробелы построитель введет сам.
После ввода выражения в окно построителя и нажатия кнопки OK Access выполнит синтаксический анализ выражения и отобразит его в строке Условие на значение (ValidationRule).
Теперь определим первичный ключ таблицы. Выделим поле КОД_TOB, щелкнув кнопкой мыши на области маркировки слева от имени поля, и нажмем кнопку Ключевое поле (Primary Key). Признаком установки ключа является
Теперь определим первичный ключ таблицы. Выделим поле КОД_TOB, щелкнув кнопкой мыши на области маркировки слева от имени поля, и нажмем кнопку Ключевое поле (Primary Key). Признаком установки ключа является изображение ключа слева от имени поля. Определим свойства ключевого поля в соответствии с табл. 3.1.
Сохраним созданную структуру таблицы и присвоим имя новой таблице — товар. Для этого выполним команду Файл|Сохранить (File|Save) или нажмем кнопку панели инструментов конструктора Сохранить (Save). В окне Сохранение (Save As) заменим имя таблицы таблица 1 на товар.
При сохранении таблицы происходит обновление файла базы данных, в которую. помещается созданная таблица.
Таблица тровар: появится в списке объектов Таблицы (Tables) в окне Поставка товаров: база данных.
После сохранения структуры таблицы становится доступным режим, позволяющий перейти ко второму этапу создания таблицы — созданию записей. Переход в этот режим, называемый режимом таблицы, осуществляется на Вид (View) на панели инструментов конструктора таблиц (см. рис. 3.6) или выбором этого режима при открытии списка на этой кнопке.
ЗАДАНИЕ 1. Создание таблиц базы данных
Создайте структуру таблиц склад, накладная, отгрузка, покупатель, договор, поставка__план. При создании таблиц используйте проектные параметры их структуры (см. Приложение 1).
Рассмотрим некоторые особенности структуры таблиц товар, накладная, отгрузка, покупатель, договор, поставка__план базы данных "Поставка товаров".
Использование данных типа Поле объекта OLE
В таблице товар предусмотрено поле ФОТО, которое должно содержать фотографию товара, хранящуюся в формате графического редактора Paint в файле с расширением bmp. Тип данных такого поля должен быть определен как Поле объекта OLE (OLE Object). Размещение этого объекта в поле производится на этапе заполнения полей таблицы в режиме таблицы или через форму. В режиме таблицы Access отобразит название объекта точечный рисунок. Отображение объекта возможно только в форме или отчете. Объект может быть внедренным или связанным.
OLE (Object Linking and Embedding — связывание и внедрение объектов) — это метод передачи информации в виде объектов между приложениями Windows, Поле объекта OLE является средством, позволяющим установить связь с объектами другого приложения или внедрить объект в базу данных. Объектом является документ или его часть, созданная в другом приложении, сохраняющая формат документа источника и информацию о создавшем его приложении. Объектами могут быть простые и форматированные тексты, рисунки, диаграммы, файлы звукозаписи (WAV), музыка в формате MIDI (музыкально-инструментальный цифровой интерфейс), файлы анимации (FLI, МММ), видеоклипы (AVI), электронные таблицы и другие элементы различных приложений, поддерживающих это средство. Access, поддерживая OLE, полностью интегрирован с другими приложениями Microsoft.
Внедренный объект сохраняется в файле базы данных. Щелкнув дважды мышью на ячейке, содержащей внедренный объект, можно отредактировать объект средствами приложения, в котором он был создан.
Связанный объект сохраняется в отдельном файле. Файл объекта можно обновлять независимо от базы данных. Последние изменения будут выведены на экран при следующем открытии формы или отчета. При работе с базой данных также можно просматривать и редактировать объект. Отредактированный связанный объект будет сохраняться в файле объекта, а не в файле базы данных. Связывание объекта удобно при работе с большими объектами, которые нежелательно включать в файл БД, а также с объектами, используемыми в различных документах организации, например, с логотипом. Если связанный файл объекта перемещен, необходимо повторно установить связь с ним.
Использование данных типа Поле MEMO
В таблице покупатель предусмотрено поле описание, которое будет содержать текстовые данные большой длины — характеристику покупателя. Для такого поля выберите тип данных Поле MEMO (Memo). Ввод данных в это поле можно выполнить непосредственно в таблице либо через область ввода, вызываемую нажатием клавиш <Shift>+<F2>.
Если тексты описаний покупателей подготовлены в некотором текстовом редакторе, например,.в Microsoft Word, и хранятся в отдельных файлах, для этого поля удобно задать тип Поле объекта OLE (OLE Object). При вводе объекта в поле можно внедрить его в базу данных или установить связь с файлом объекта.
Использование данных типа Гиперссылка
Специальный тип данных Гиперссылка (Hyperlink) позволяет хранить гиперссылки в полях таблиц БД.
Поля с типом данных Гиперссылка (Hyperlink) используются для перехода к объектам той же самой или другой базы данных Access к документам, созданным в различных приложениях Microsoft Office и расположенным на локальных или сетевых дисках, к страницам Web-серверов и документам других ресурсов в Интернете или локальной сети. При щелчке мышью на гиперссылке осуществляется переход к документу, который открывается создавшим его приложением. Подробно создание гиперссылок в таблицах будет рассмотрено далее (включая создание гиперссылки в поле иев_адрес таблицы покупатель).
Определение составного первичного ключа
В таблице накладная в составной первичный (уникальный) ключ входят поля ном_накл и код_ск. Для определения этого ключа в режиме конструктора таблиц надо вьщелить оба эти поля, щелкая кнопкой мыши на области маркировки при нажатой клавише <Ctrl>, а затем нажать кнопку панели инструментов Ключевое поле (Primary Key). ^
Аналогично определяются составные ключи в таблицах отгрузка и
ПОСТАВКА_ПЛАН.
Использование данных типа Дата/время
В таблице договор для сохранения даты заключения договора предусмотрено поле дата_дог. Выберите для этого поля тип данных Дата/время. Для отображения данных этого типа может быть выбран Краткий, Средний или Длинный формат даты. Образцы дат в каждом из форматов показаны в строках списка при выборе формата.
Маска ввода для даты и текста
Для удобства ввода даты в таблице договор целесообразно в свойствах поля дата__дог определить маску ввода. Маска ввода задает формат, состоящий из постоянных символов (таких как скобки, точки или дефисы) и специальных символов маски, указывающих, в какие позиции, в каком количестве и какого типа данные могут быть введены. Например, маска для > ввода даты в кратком формате имеет вид 00.00;0000, в среднем формате — QO->L<LL-0000. Специальный символ "О" указывает, что в данную позицию на его место должна быть введена цифра от 0 до 9 и ввод ее обязателен. Специальный символ "9" указывает на необязательный ввод цифры или пробела. Специальный символ "L" указывает на обязательный, ввод буквы, от А др Я или от А до Z. Специальные символы ">" и "<" указывают на: перевод всех следующих знаков в верхний и нижний регистр соответственно. Воспользуйтесь значком построителя в конце строки Маска ввода для вызова мастера, который позволит без труда сформировать маску ввода.
Для ввода номера телефона в поле тел таблицы покупатель определите маску (999)000-0099, также воспользовавшись мастером. Эта маска позволит вводить номера телефонов с кодами городов и без них. Число цифр в номере телефона не может быть менее 5 и более 7. Знак 9 означает, что вместо цифр кода можно ввести пробелы, а последние две цифры номера вводить необязательно.