Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1к 1семестр / INFORMATIKA / Создание БД

.pdf
Скачиваний:
121
Добавлен:
02.04.2015
Размер:
2.76 Mб
Скачать

21

чениями поля ИНН не будет производиться никаких арифметических операций и к тому же они могут начинаться с нулей, которые в числовых значениях аннулируются, следует изменить тип данных на Текстовый (Text).

Обратите внимание

Еще одно важное обстоятельство: для текстового поля автоматически выбирается длина равная 255, что для полей нашей таблицы КОД_ПОК и ИНН многовато, а изменить размер поля можно только в режиме конструктора.

Access распознает и автоматически определяет только следующие типы данных:

для текстовых значений — Текстовый (Text), длиной 255;

для целых числовых значений — Числовой (Namber), Длинное целое (Long Integer);

для числовых значений типа 45,76 или 34,25% или 12% — Числовой (Namber), Двойное с плавающей точкой (Double). Распознаваемый формат чисел зависит от настройки региональных параметров на вашем компьютере. Так если в качестве разделителя целой и дробной частей числа выбрана запятая, а введена точка, полю может быть назначен другой тип данных, например, Дата/время

(Date/Time);

для гиперссылок — Гиперссылка (Hyperlink). Допускается использование любого префикса протокола Интернет, например http://, mailto:;

для даты и времени — Дата/время (Date/Time). Распознаваемый формат даты и времени зависит от настройки региональных параметров на вашем компьютере;

для денежных значений типа 12,50 р. — Денежный (Currency). Распознаваемый знак валюты зависит от настройки региональных параметров на вашем компьютере.

Если на основании введенных данных Access не может точно определить тип данных, задается тип данных Текстовый (Text).

4.Для добавления поля ОПИСАНИЕ в таблицу ПОКУПАТЕЛЬ выполните двойной щелчок на заголовке Добавить поле (Add New Field) (см. рис. 14) и введите имя поля, в ячейку под именем введите текст описания покупателя.

5.Измените тип данных поля на Поле МЕМО, переопределив назначенный Access Текстовый тип данных. Для этого используйте соответствующие команды в группе Форматирование и тип данных (Data Type & Formatting) (см. рис. 11).

При явном определении типа данных для поля будут доступны все используемые Access типы данных. Однако свойства поля в этом режиме не доступны. Перейдите в режим конструктора и выберите в свойстве поля Формат текста значение Формат RTF. Это свойство позволит использовать команды форматирования текста RTF, представленные на вкладке ленты Главная (Home).

6.Если при добавлении полей вы не ввели имя поля, Access автоматически назначает им имена: Поле1 для первого, Поле2 для второго и т. д. Рекомендуется использовать содержательные имена полей. Измените имя поля, выполнив двойной щелчок на его заголовке или команду контекстного меню Переименовать стол-

бец (Rename Column).

22

Добавление полей с помощью шаблонов полей

Access включает набор встроенных шаблонов полей, позволяющих значительно проще и быстрее создавать поля в таблицах. Шаблон поля — это готовый набор характеристик и свойств, описывающих поле. Определение шаблона поля включает имя поля, тип данных, формат поля и ряд других свойств поля.

7.Откройте список стандартных шаблонов полей, выполнив команду Новое поле

(New Field) из группы Поля и столбцы (Fields & Columns) на вкладке ленты Ре-

жим таблицы (Datasheet) (см. рис. 11). В правой части области документов шаблоны полей представлены несколькими категориями: Основные поля, Основные средства, Контакты, Мероприятия, Проекты и др.

8.Вставьте в таблицу ПОКУПАТЕЛЬ поле шаблона, например, Веб-страница из категории Контакты. Для этого выполните двойной щелчок мыши на нем или перетащите шаблон поля в таблицу. В первом случае поле с именем Вебстраница и типом данных Гиперссылка (Hyperlink) будет добавлено в таблицу после поля, на котором стоял курсор. Во втором при появлении линии вставки в нужном месте закончите перемещение поля.

Добавление поля из существующей таблицы

При добавлении поля из существующей таблицы базы данных автоматически устанавливается связь между таблицей, из которой добавляется поле, и открытой таблицей. При этом в открытой таблице создается поле со списком значений уже имеющихся в поле существующей таблицы, что позволяет вводить значения выбором из этого списка. Очевидно, это имеет смысл в том случае, если в подчиненную таблицу добавляется из главной поле связи. Таким образом, непосредственно в режиме таблицы можно не только определять структуру таблицы, но и устанавливать связи между таблицами.

9.Откройте таблицу ДОГОВОР, выбрав ее в области переходов и выполнив команду Открыть. Если в ней уже определено поле код покупателя, удалите его.

10.Откройте список доступных полей из других таблиц базы данных командой До-

бавить поля (Add Existing Fields) из группы Поля и столбцы (Fields & Columns) (см. рис. 11). В области Список полей (Field List) таблицы базы данных сгруп-

пированы в категории: Доступные поля в связанной таблице (Fields available in related tables:) и Доступные поля в другой таблице (Fields available in other tables:). В первой категории перечислены все таблицы, с которыми связана открытая таблица. Во второй категории перечислены все таблицы базы данных, с которыми данная таблица не связана. Если для таблицы еще не установлены связи, отображается только вторая категория таблиц.

11.Щелчком на значке плюс (+) рядом с таблицей ПОКУПАТЕЛЬ откройте список всех ее полей.

12.Перетащите поле КОД_ПОК из области Список полей (Field List) и, когда в нужном месте таблицы появится линия вставки между полями, вставьте поле.

13.Запустится мастер подстановок. Следуя указаниям мастера, создайте поле подстановки. После завершения работы мастера поле со списком появится в табли-

23

це, а в области списка полей появится категория Доступные поля в связанной таблице (Fields available in related tables:).

Двойным щелчком мыши на поле области Список полей (Field List) сразу открывается окно мастера подстановок.

Аналогичные действия могут быть выполнены командой Столбец подстановок

(Lookup Column) из группы Поля и столбцы (Fields & Columns) (см. рис. 11). Эта команда, в отличие от Добавить поля (Add Existing Fields), не открывает область Список полей (Field List) и для построения поля со списком мастер предлагает выбрать источник строк списка. В качестве источника строк списка может быть выбрано не только некоторое поле существующей таблицы или запроса, но и фиксированный набор значений.

Задание 2. Создание таблиц базы данных с составным ключом

Определите структуру еще не созданных таблиц базы данных НАКЛАДНАЯ, ОТГРУЗКА, ПОСТАВКА_ПЛАН. При создании таблиц используйте проектные параметры их структуры (приложение 1).

Для того чтобы узнать, как определить составной первичный ключ в этих таблицах, выполните упражнение 5.

Задание 3. Ввод данных в таблицы базы данных

Введите несколько строк в каждую из таблиц, учитывая, что в записях таблицы значения первичных ключей не должны повторяться. При составном ключе покажите значениями, что только вся совокупность полей составляющих ключ обеспечивает его уникальность.

Для того чтобы узнать, как используются и вводятся в таблицы данные типа Дата/время, Поле объекта OLE, Вложения, Поле МЕМО, выполните упражнение 6.

Упражнение 5. Определение составного первичного ключа

Каждая таблица в реляционной базе данных должна иметь уникальный (первичный) ключ, однозначно определяющий каждую запись в таблице. Это позволяет быстро найти нужную запись, а также связать данные из разных таблиц в запросах, формах и отчетах. Ключевое поле должно содержать уникальные значения, такие как коды или инвентарные номера, и не может содержать значение Null. Если для таблицы определен первичный ключ, то Access предотвращает дублирование ключа или ввод значения Null в эти поля. Ключ может быть простым или составным, включающим несколько полей (до 10).

Для ключевого поля автоматически строится уникальный индекс. Индексы предназначены для осуществления быстрого поиска записей в больших таблицах по значению индексируемого поля. Индексы — это внутренние служебные таблицы, содержащие два столбца. Первый содержит значение индексируемого поля, а второй —

24

адреса всех записей, имеющих это значение в индексируемом поле. В индексной таблице производится упорядочение строк по значениям индексируемого поля, и это позволяет использовать методы быстрого поиска строки с заданным значением вместо последовательного просмотра всех строк таблицы. По адресу, содержащемуся в найденной строке индексной таблицы, осуществляется прямой доступ к искомой записи. Допускается не более 32 индексов на таблицу.

В качестве первичного ключа может быть задано поле с типом данных Счетчик (AutoNumber). В этом случае при добавлении каждой новой записи в таблицу в это поле автоматически вводятся уникальные целые последовательно возрастающие (по умолчанию на 1) или случайные числа. Указание такого поля является наиболее простым способом создания первичного ключа. Значение этого поля нельзя изменить или удалить. Длина поля — 4 байта для длинного целого, для кода репликации — 16 байтов. В таблице не может быть более одного поля этого типа.

Замечание

Если первичный ключ не установлен пользователем, то при сохранении вновь созданной таблицы Access спросит о необходимости создания первичного ключа. При утвердительном ответе будет создан первичный ключ с именем Код и типом данных Счет-

чик (AutoNumber).

Обратите внимание!

При использовании счетчика в качестве ключа в таблице могут существовать одинаковые записи. Например, с одинаковым кодом товара, так как Access отслеживает только повторяющиеся значения ключевого поля.

1.В таблице НАКЛАДНАЯ в составной первичный (уникальный) ключ входят поля НОМ_НАКЛ и КОД_СК. Для определения этого ключа в режиме конструктора таблиц выделите оба эти поля, щелкая кнопкой мыши на области маркировки при нажатой клавише <Ctrl>, а затем нажмите кнопку Ключевое поле (Primary Key) на ленте Работа с таблицами | Конструктор (Table Tools|Design) или вы-

полните аналогичную команду контекстного меню.

2.Убедитесь, что система автоматически сформировала для составного первичного ключа уникальный индекс, включающий поля НОМ_НАКЛ и КОД_СК. Для этого щелкните на кнопке просмотра и редактирования индексов Индексы (Indexes) или выполните аналогичную команду контекстного меню таблицы в режиме конструктора. Информация в окне Индексы (Indexes) должна соответствовать представленной на рис. 16. Индекс первичного ключа имеет имя PrimaryKey, в столбце Имя поля (Field Name) перечисляются имена полей, составляющих индекс. Индекс ключевого поля всегда уникален и не допускает пустых полей в записях.

25

Рис. 16. Уникальный индекс по составному первичному ключу таблицы НАКЛАДНАЯ

3.Аналогично определите составные ключи в таблицах ОТГРУЗКА и ПОСТАВКА_ПЛАН.

Внимание!

Для каждого из полей, составляющих ключ, в свойстве Индексированное поле должно стоять Нет, если только вы не хотите создать вторичный индекс по этому полю. Каждое из полей должно иметь значение Да в строке Обязательное поле и Нет в строке

Пустые строки.

Упражнение 6. Использование данных различных типов

Размещение в поле таблицы объекта OLE (OLE Object)

OLE (Object Linking and Embedding, связывание и внедрение объектов) — это метод передачи информации в виде объектов между приложениями Windows. Поле объекта OLE является средством, позволяющим внедрить объект в базу данных или установить связь с объектами другого приложения. Объектом является документ или его часть, созданная в другом приложении, сохраняющая формат документа источника и информацию о создавшем его приложении. Объектами могут быть тексты, рисунки, диаграммы, файлы звукозаписи (WAV), музыка в формате MIDI (музыкаль- но-инструментальный цифровой интерфейс), файлы анимации (FLI, MMM), видеоклипы (AVI), электронные таблицы и другие элементы различных приложений, поддерживающих этот метод. СУБД Access, поддерживая OLE, полностью интегрирована с другими приложениями Microsoft Windows.

Внедренный объект сохраняется в файле базы данных. Двойным щелчком мыши на ячейке, содержащей внедренный объект, предоставляется возможность редактирования объекта средствами приложения, в котором объект был создан.

Связанный объект сохраняется в отдельном файле. Файл объекта можно обновлять независимо от базы данных. Последние изменения будут выведены на экран при следующем открытии формы или отчета. При работе с базой данных также можно просматривать и редактировать объект. Отредактированный связанный объект будет сохраняться в файле объекта, а не в файле базы данных. Связывание объекта удобно

26

при работе с большими объектами, которые нежелательно включать в файл базы данных, а также с объектами, используемыми в различных документах организации, например, логотип. Если связанный файл объекта перемещен, необходимо повторно установить с ним связь.

В таблице ТОВАР предусмотрено поле ФОТО, которое должно содержать фотографию товара, хранящуюся в формате графического редактора Paint в файле с расширением bmp. Тип данных такого поля должен быть определен как Поле объекта OLE (OLE Object) . Размещение этого объекта в поле производится на этапе заполнения полей таблицы данными в режиме таблицы или через форму. В режиме таблицы Access отобразит тип объекта "Точечный рисунок". Отображение объекта возможно только в форме или отчете. Объект может быть внедренным или связанным.

Рассмотрим вариант внедрения объекта OLE в поле ФОТО в таблице ТОВАР, при котором объект будет сохранен в файле базы данных.

1.Откройте таблицу ТОВАР, выбрав ее в области переходов и выполнив команду

Открыть (Open). Таблица откроется в Режиме таблицы (Datasheet View).

2.Заполните строки (записи) открывшейся таблицы данными в соответствии с названиями столбцов (полей).

3.Для размещения фотографии товара установите курсор в соответствующее поле таблицы. Выполните команду контекстного меню Вставить объект (Insert Object).

4.В открывающемся окне (рис. 17) выберите Тип объекта: Paintbrush Picture и установите переключатель Создать из файла (Create from File).

Рис. 17. Окно для выбора варианта вставки объекта

5.В следующем окне (рис. 18) введите имя файла с фотографией. Для поиска файла воспользуйтесь кнопкой Обзор (Browse), выведется диалоговое окно, позволяющее просмотреть доступные диски и папки и выбрать необходимый файл.

27

Рис. 18. Окно для выбора вставляемого объекта из файла

Внимание!

Флажок Связь (Link) по умолчанию не установлен и, следовательно, содержимое файла будет внедрено в поле и сохранено в файле базы данных. Увидеть содержимое поля можно через форму или отчет. Дальнейшие изменения рисунка в исходном файле не будут отражаться на внедренном объекте. Для ввода в поле связанного объекта надо устанавливать флажок Связь (Link). Это сэкономит место в базе данных и даст возможность отображать все изменения, вносимые в файл с рисунком другими приложениями.

6.В результате внедрения объекта в соответствующем поле таблицы будет указан вид объекта — Точечный рисунок. Для просмотра внедренного объекта в создавшем его приложении установите курсор в это поле и дважды щелкните кнопкой мыши.

7.Для возврата из программы Paint, открывшейся для просмотра рисунка, выполни-

те команду Файл | Выход и возврат к ТОВАР: таблица.

8.Для отображения содержимого поля в виде значка, представляющего файл с рисунком, в окне команды Вставка Объекта (Insert Object) установите флажок В

виде значка (Display As Icon).

9.Если необходимо, чтобы рисунок обновлялся автоматически при его изменении в исходном файле, установите флажок Связь (Link). В этом случае вставленный рисунок будет представлять связанный объект.

Использование данных типа Вложения

Тип данных Вложения (Attachment) можно использовать для хранения нескольких файлов в одном поле, причем в этом поле можно хранить файлы разных типов. Например, в таблице ТОВАР можно в поле с типом данных Вложения добавить несколько файлов со сведениями о товаре: сертификат происхождения, сертификат качества, инструкцию по эксплуатации, рекламации, фотографии, схемы и т. д.

Тип данных Вложения (Attachment) предлагается для хранения изображений и документов вместо использовавшейся в предыдущих версиях Access технологии OLE.

28

Вкладывать файлы можно только в базы данных, созданные в приложении Access 2007 в новом формате файла ACCDB.

Вложениям необходимо значительно меньше места для хранения и не требуется применения программ, называемых OLE-серверами.

В соответствии с правилами нормализации каждое поле в реляционной базе данных должно содержать только один элемент данных. В противном случае поиск данных будет затруднен или даже невозможен. Вложения нарушают правила разработки базы данных, поскольку в поле можно добавлять несколько файлов — элементов данных. Чтобы избежать этих нарушений, Access 2007 по мере добавления файлов вложения создает системные таблицы, которые неявно используются для нормализации данных.

Рассмотрим пример вложения файла в поле таблицы ТОВАР.

1.Поскольку первоначально таблица ТОВАР не содержала поля вложения, добавьте его. Напомним, в Access 2007 можно использовать два способа для добавления поля в таблицу. Поле можно добавить в режиме таблицы или в режиме конструктора. В любом режиме для поля достаточно выбрать тип данных Вложение. В режиме таблицы в строке заголовка поля вложения отображается значок скрепки и в него нельзя ввести текст. В режиме конструктора можно изменить автоматически сформировавшееся имя поля Поле1, и если в свойстве поля ввести подпись, например, Поле вложений, то она заменит значок скрепки в заголовке поля вложения.

Замечание

Преобразовать поле вложения в поле с другим типом данных невозможно. Такое поле можно только удалить.

2.Для добавления вложения выполните двойной щелчок в поле вложения. Откроется диалоговое окно Вложения, представленное на рис. 19.

Рис. 19. Окно для добавления первого файла в поле вложений

29

3.Щелкните на кнопке Добавить и в открывшемся окне выберите файл для добавления его в поле в качестве вложения. После добавления трех файлов в окне Вложения будут перечислены добавленные файлы, а в поле вложений указано их число (рис. 20).

Рис. 20. Окно для управления файлами в поле вложений

4.Для просмотра и редактирования конкретного вложения, выполните для него в окне Вложения команду Открыть. Для открытия вложения используются программы, в которых создавались эти файлы, или программы, поддерживающие файлы такого типа.

5.Если рисунок открылся в программе просмотра, выполните в его контекстном меню команду Изменить. Запустится исходная программа, с помощью которой можно выполнить редактирование рисунка.

6.Отредактируйте открытый файл средствами открывшей его программы. Сохраните внесенные в файл изменения и завершите работу программы. При этом все изменения вложенного файла сохранятся во временной копии файла на жестком диске в папке временных файлов.

7.Чтобы сохранить изменения в базе данных, вернитесь в Access и в диалоговом окне Вложения нажмите кнопку ОК. Окно закроется и появится сообщение с предложением сохранить вложенный файл (рис.21), нажмите кнопку Да.

Рис. 21. Сообщение при завершении работы с вложениями

8.Любой из файлов или все файлы, вложенные в поле записи, можно сохранить на жестком диске или в сети. В диалоговом окне Вложения щелкните соответствен-

30

но Сохранить как или Сохранить все. В диалоговом окне Сохранить вложения

выберите папку для нового расположения файла или всех файлов вложения и нажмите кнопку Сохранить.

Замечание

При использовании поля вложений в форме или отчете, на элементе управления отображаются и могут просматриваться без использования дополнительного программного обеспечения вложения таких форматов графических файлов, как .BMP, .GIF .JPEG,

.JPG, .TIFF, .TIF и ряда других, непосредственно поддерживаемых Access. Для не графических файлов на элементе управления отображается значок программы, создавшей файл. Для элемента управления в форме также как в таблице доступно окно Вложения со всеми его командами управления. В формах и отчетах для перехода по файлам и вызова окна Вложения используется прозрачная мини-панель инструментов

, вызываемая щелчком мыши в элементе управления.

Использование данных типа Поле МЕМО (Memo)

В таблице ПОКУПАТЕЛЬ предусмотрено поле ОПИСАНИЕ, которое должно содержать текстовое данное большой длины — характеристику покупателя. Для такого поля выбран тип данных — Поле МЕМО (Memo).

1.Откройте таблицу ПОКУПАТЕЛЬ. Выполните ввод данных в поле ОПИСАНИЕ непосредственно в таблице либо через область ввода, вызываемую нажатием кла-

виш <Shift>+<F2>.

2.Access 2007 для поля с типом данных MEMO обеспечивает хранение в базе данных форматируемого текста. Это единственный тип данных в Access, который имеет встроенную поддержку хранения и отображения форматированного текста. Поскольку в поле ОПИСАНИЕ удобнее работать с форматированным текстом, выберите для свойства Формат текста (Text Format) значение Формат RTF (Rich Text) вместо Обычный текст (Plain Text). Сообщение системы о преобразовании формата показано на рис. 22.

Рис. 22. Сообщение при выборе для свойства Формат текста значения Формат RTF

3.Текст поля MEMO в формате RTF отображается как форматированный, хранится и интерпретируется как формат HTML, допускает использование общих средств форматирования приложений Microsoft Office 2007. Введите в поле ОПИСАНИЕ текст и примените к нему такие допустимые параметры форматирования, как шрифт, его размер, цвет, различные виды начертания, выравнивания текста, нумерованные и маркированные списки, уменьшение и увеличение отступа абзаца.

Соседние файлы в папке INFORMATIKA