МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗ...
128 downloads
208 Views
416KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «Кузбасский государственный технический университет» Кафедра вычислительной техники и информационных технологий
ПРОЕКТИРОВАНИЕ, СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ БАЗ ДАННЫХ MS ACCESS Часть 2. ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ Методические указания к лабораторной работе по дисциплине “Информационные системы в экономике” для студентов экономических специальностей
Составители В.В. Крюкова В.О. Жемчужин
Утверждены на заседании кафедры Протокол № 8 от 30.04.03 Рекомендованы к печати учебно-методической комиссией по специальности 060800 протокол № 12 от 21.05.03 Электронная копия хранится в библиотеке главного корпуса ГУ КузГТУ
Кемерово 2003
1 Цель работы: приобрести умение создавать реляционные таблицы в среде СУБД MS Access. ЭТАП ФИЗИЧЕСКОГО ПРОЕКТИРОВАНИЯ БАЗЫ ДАННЫХ Итак, к этому моменту СУБД реализации базы данных (БД) выбрана MS Access. Логическая модель данных (МД) (рис. 1) отображается на физическую модель, которая определяет размещение и наполнение БД в памяти компьютера средствами СУБД. ЖХО № операции ∞ Код валюты Дата ∞ Операция Дебет Кредит ∞ Сумма в валюте Сумма в рублях ∞ Код контрагента
Контрагент Код контрагента 1 Название Телефон Адрес ФИО Расчётный счёт Фото
Валюты 1 Код валюты Дата
1 Наименование Обозначение Курс
План счетов Номер счёта
1 Название
Тип Журнал-ордер Ведомость
Рис. 1. Логическая модель ПО “Бухгалтерский учёт на предприятии” СУБД MS Access – реляционная система управления базами данных, поэтому БД MS Access – это совокупность взаимосвязанных реляционных таблиц (фундаментальные свойства отношений выполнены), в каждой из которых содержатся сведения об одной сущности. Каждый столбец таблицы называют полем, строку – записью. Понятия первичного и внешнего ключей общей теории проектирования реляционных БД совпадают с аналогичными понятиями в MS Access, что вполне естественно.
2 В СУБД Access процесс физического проектирования БД включает создание таблиц (определение структуры) и создание связей между ними с помощью схемы данных. Схема данных – графическое представление физической МД – полный аналог логической модели (рис. 1). MS Access ориентирована на работу с различными объектами, которые включают таблицы БД, запросы и объекты приложений для манипулирования данными: формы, отчёты, страницы, макросы и модули. Все объекты БД, как правило, хранятся в одном файле формата *.mdb. Страницы доступа к данным MS Access хранит в отдельных файлах с расширением *.htm, в файле БД сохраняются только ссылки на них. ТЕХНОЛОГИЯ СОЗДАНИЯ БД В MS ACCESS Для запуска MS Access нажать кнопку Пуск, выбрать Программы, MS Access или на рабочем столе операционной системы Windows щёлкнуть мышью ярлык приложения MS Access (или другим способом). Открывается диалоговое окно (ДО) приложения, которое имеет все элементы стандартного графического интерфейса приложений, работающих под управлением ОС Windows (строка меню, панели инструментов и т.д.). Одновременно с окном приложения выводится первое ДО, позволяющее создать новую БД или открыть существующую (рис. 2). Это ДО появляется, если в меню Сервис, Параметры, на вкладке Вид в группе Отображать установлен флажок Окно запуска. Следует выбрать способ создания БД (пустую или с помощью мастера) или открыть существующую. Если выбрать Новая БД, появляется ДО, в котором надо выбрать папку для Рис. 2. ДО Microsoft Access хранения БД (z:\) и в поле Имя
3
Рис. 3. Окно БД
ввести свою фамилию (или содержательное имя), нажать кнопку Создать, открывается ДО пустой БД (рис. 3). Если ДО Microsoft Access (рис. 2) не выводится после запуска MS Access, надо выполнить команду меню Файл, Создать, открывается окно Создание, имеющее две
вкладки: Общие и Базы данных (рис. 4, рис. 5).
Рис. 4. Окно выбора варианта создания БД, вкладка Общие
4
Рис. 5. Окно выбора варианта создания БД, вкладка Базы данных Вкладка Базы данных содержит шаблоны типовых БД для предметных областей различных сфер деловой и личной жизни, которые включают все необходимые таблицы, формы, запросы и отчёты. Мастер баз данных создаёт на основе выбранного шаблона пользовательскую БД в процессе диалога. БД, созданную мастером, можно изменить и расширить, но эта работа требует от пользователя практически тех же знаний, что и создание новой БД. Вкладка Общие имеет четыре ярлыка – четыре способа создания БД и приложения: База данных создаёт новую пустую БД; Страница доступа к данным позволяет создавать Web-страницы для опубликования данных в Интернете или Интранете; Проект (существующая БД) или Проект (новая БД) позволяют создать проект-приложение пользователя, которое работает с БД, размещенной на SQL-сервере. Выбираем способ создания Новая БД в ДО Microsoft Access (рис. 2), открывается окно БД (рис. 3). В этом окне вертикально представлены два раздела вкладок (страниц окна): Объекты и Группы. Раздел Объекты содержит вкладки для всех объектов, которые могут быть созданы в БД: Таблицы, Запросы, Формы, Отчёты, Страницы, Макросы, Модули. При выборе вкладки в рабочем поле окна справа отображается список имён соответствующих объектов, уже созданных, и перечень способов создания объектов выбранного типа.
5 Объекты различных типов могут объединяться в группы – объекты одной темы. Сразу создаётся группа Избранное. Чтобы создать новую группу, можно использовать команду Новая группа контекстноориентированного меню, вызываемого правой кнопкой мыши. Для внесения объектов в группу выделить нужный объект, выполнить из контекстного меню команду Добавить в группу. Группа содержит ярлыки объектов (ссылки на объекты). СОЗДАНИЕ ТАБЛИЦ Создание таблицы состоит из двух этапов: определение её структуры (состав полей, их имена, тип и размер каждого поля, ключевые поля и другие свойства) и создание записей таблицы, т.е. заполнение её данными. Существуют три способа создания новой таблицы: с помощью мастера, путём ввода данных (в режиме таблицы) и в режиме конструктора (рис. 3). Ориентируясь на логическую модель БД “Бухгалтерский учёт на предприятии” (рис. 1), создадим таблицы Журнал хозяйственных операций (ЖХО), Валюты, План счетов, Контрагенты разными способами. 1 способ: В режиме конструктора Открываем вкладку Таблицы, выбираем “Создание таблицы в режиме конструктора”, появляется ДО Конструктора таблиц, в котором определяется структура новой таблицы (рис. 6). При переходе в режим конструктора автоматически панель инструментов (ПИ) БД заменяется на ПИ Конструктора таблиц. Окно конструктора состоит из двух частей: верхняя часть определяет структуру таблицы – перечень полей и их типов, нижняя часть – окно свойств выделенного поля. Переход в окно свойств и назад осуществляется мышью или клавишей F6. Создадим таблицу ЖХО (рис. 6). В верхней части конструктора в первую строку столбца Имя поля введём идентификатор поля – № операции. Имя поля должно быть уникальным в таблице, может содержать не более 64 символов, оно должно удовлетворять соглашениям об именах объектов в Access. Имя не может начинаться с пробела и содержать управляющие символы, нельзя использовать в качестве имён зарезервированные слова MS Access. Надо избегать длинных имён.
6
Рис. 6. ДО Конструктора таблиц ЖХО Затем выбираем в списке Тип данных – Счётчик (или Числовой). Тип данных определяется значениями, которые предполагается вводить в поле. Список возможных типов данных содержит: • текстовый – строка до 255 символов; • поле MEMO – тоже поле текстового типа, может содержать до 65535 символов, предназначено для хранения комментариев, не может быть ключевым полем; ввод данных в это поле можно осуществить в режиме таблицы непосредственно в поле либо через область ввода, которая открывается при нажатии клавиши <Shift+F2>; • числовой – хранит числовую информацию, длина поля зависит от значения свойства Размер поля; • дата/время – хранит значение времени и даты, с помощью свойства Формат поля задаётся способ представления значения; • денежный – используется для проведения денежных расчётов с точностью до 15 знаков в целой и 4 знаков в дробной частях;
7 • счётчик – по умолчанию значения поля уникальные целые числа, последовательно возрастающие на единицу; значение этого поля нельзя изменить или удалить (ввести); используется в качестве первичного ключа таблицы; • логический – хранит логические данные, имеющие одно из двух возможных значений: да/нет, истина/ложь, вкл./выкл.; • поле объекта OLE – используется для вставки объекта другого приложения, например, рисунка, фотографии, звука и т.д. (меню Вставка, Объект); • гиперссылка – можно указать путь к файлу на жёстком диске или адрес (универсальный указатель ресурса) Web-страницы в сети Интернет; • мастер подстановки – выбор этого типа данных запускает Мастер подстановок, обычно используется для внешних ключей, реализует первый способ создания поля подстановки (поле с раскрывающимся списком) в режиме конструктора таблиц. Параметр Описание в верхней части окна Конструктора является необязательным, можно указать кратко назначение поля – “номер операции” (будет использоваться в качестве всплывающей подсказки этого поля в форме). Для установки свойств этого поля переходим в нижнюю часть окна, которая имеет две вкладки: Общие и Подстановка. Вкладка Подстановка реализует второй способ создания полей подстановок для внешних ключей таблицы. Вкладка Общие содержит набор свойств для каждого типа данных, некоторые свойства являются общими для всех типов. Свойства полей
Размер поля – задаёт максимальный размер данных, хранимых в поле в соответствии с выбранным типом данных. Для поля № операции таблицы ЖХО, имеющего тип Счётчик, выберем из списка Длинное целое. Рекомендуется задавать минимально допустимый размер поля. Формат поля – задаёт вид отображения значений полей всех типов, кроме Поля объекта OLE. В Access определены в виде раскрывающихся списков встроенные стандартные форматы для полей типов: Числовой, Дата/Время, Логический и Денежный. Пользователь может создать собственный формат с помощью символов форматирования [2].
8 Маска ввода (МВ) – свойство предназначено для облегчения ввода и контроля вводимой информации. МВ строится с помощью мастера, выбирается из списка (для некоторых типов полей) или самостоятельно пользователем на основе таблицы специальных символов, которую можно увидеть в справочной системе MS Access. Примеры: 1) для ввода номера телефона \(000”)”000\-00\-00 => (065) 123-45-67; 2) для ввода почтового индекса “Index ” 000 “ “ 000 => Index 123 456; 3) для ввода имён >L< => Иван, Сергей – первая буква прописная, остальные строчные. Оба свойства Формат поля и Маска ввода задают шаблон, в котором данные вводятся в таблицу. Свойство Формат поля используется для данных числового и денежного типа и не определено для текстовых полей, полей MEMO и гиперссылок. Свойство Маска ввода используется для отображения символьных констант и при вводе данных в пустые графы. Маска обеспечивает сохранение информации в определённом формате. Обычно задано одно из свойств. Если заданы одновременно оба свойства, то свойство Маска ввода применяется при вводе и редактировании данных, а Формат поля – при отображении сохранённых данных. Если щёлкнуть кнопку построителя у свойства МВ, запустится Мастер маски ввода. Лучше задавать вручную, используя таблицу кодов. Главное отличие свойств: Формат поля влияет на всё содержимое поля, а МВ – на часть. Подпись – свойство задаёт заголовок столбца при выводе в таблицах, формах, отчётах; если значение не задано, используется имя поля. Значение по умолчанию – свойство, присущее полям всех типов, за исключением полей типа Счётчик и Объект OLE. Значение этого свойства автоматически подставляется при создании новой записи. Можно использовать выражение, например, =Date() – вывод по умолчанию текущей даты, знак “равно” обязателен. Условие на значение и Сообщение об ошибке – эти свойства применимы ко всем типам полей, кроме Счётчик и Объект OLE. При переходе на другую запись проверяется указанное условие; если оно не выполняется, выдаётся сообщение об ошибке – значение второго свойства. Например, условие “>#01.01.2002# and <#01.01.2003#” задаёт диа-
9 пазон введённой даты. Константа типа Date обрамляется с обеих сторон знаком диеза “#”. Обязательное поле – свойство можно указать для всех полей, кроме Счётчика (оно задано по умолчанию). Возможные значения “Да”, “Нет” выбираются из списка. Если указано “Да”, то ввод значения поля обязателен, иначе появляется сообщение об ошибке. Пустые строки – разрешает или запрещает ввод пустых строк, возможны два значения: “Да”, “Нет”. Значение “Да” обычно используется для текстовых полей, MEMO и гиперссылок. Индексированное поле – указывает, будет ли создан индекс по этому полю. Возможные значения: “Нет”, “Да (Допускаются совпадения)”, “Да (Совпадения не допускаются)”. Индекс – вспомогательная таблица, в которой хранится порядок следования записей, упорядоченных по этому полю. Для первичного ключа таблицы указываем – “Да (Совпадения не допускаются)”. Access автоматически индексирует таблицу по значению ключа. При создании запросов и отчётов может потребоваться создать дополнительные индексы по значениям других полей. Индексы позволяют ускорить поиск данных в больших таблицах. Каждая таблица может иметь до 32 индексов, 5 из которых могут быть составными, в составной индекс могут входить не белее 10 полей. Чтобы создать дополнительный простой ключ, надо в режиме Конструктора задать свойство Индексированное поле – “Да (Совпадения допускаются)”. Чтобы создать дополнительный составной ключ, надо в режиме Конструктора открыть окно Индексы, нажав соответствующую кнопку Индексы на ПИ. В этом окне (рис. 7) выводятся все индексы таблицы. Надо в поле Индекс внести имя индекса (произвольное), в поле Имя поля выбрать из списка сначала одно поле, перейти на строку ниже, выбрать другое и т.д. Закрыть окно, подтвердить сохранение структуры таблицы. Сжатие Юникод – включает и отключает Рис. 7. ДО Индексы сжатие текстовых
10 полей, полей MEMO и гиперссылок, используя универсальный международный код. По умолчанию включено. Можно отключить, тем самым сэкономить память. Число десятичных знаков – указывает количество десятичных знаков после запятой в числовых и денежных типах полей; если выбрать значения свойства Авто, то число отображается так, как было введено в поле. Новые значения – свойство определено только для поля Счётчик и указывает, какие значения автоматически будут подставляться в поле при создании новой записи. Возможные значения: последовательные, случайные (числа). Принято по умолчанию первое значение и лучше использовать его. Определим другие свойства поля № операции таблицы ЖХО (рис. 6). Переходим в верхнюю часть конструктора, выделим поле № операции, щелкнув мышью слева от поля в области стрелки (если ключ простой, можно не выделять поле, но оно должно быть выбрано), и нажимаем кнопку Ключевое поле на ПИ, значок ключа появляется слева от имени поля (рис. 6), автоматически создаётся соответствующий индекс таблицы. Для остальных полей внесём: - для внешних ключей Дебет и Код контрагента значения свойства Индексированное поле – “Да (Совпадения допускаются)” или значение – “Нет”, в первом случае создаются индексы таблицы, используемые для организации быстрого поиска записей; - для внешнего составного ключа Код валюты, Дата и других полей значения этого свойства – “Нет”; - для всех полей значения свойств Обязательное поле – “Да”, Пустые строки – “Нет”; выберем соответствующий тип и размер данных, обязательно заполним Рис. 8. Окно конструктора таблицы Валюты свойство Подпись, для поля Дата зада-
11 дим Маску ввода, выбрав из списка соответствующее значение. Для сохранения таблицы следует нажать кнопку Сохранить на ПИ Стандартная, появляется ДО, в котором ввести имя таблицы – ЖХО, ОК. Аналогично создадим структуру таблиц Валюты, Контрагенты, План счетов (рис. 8, 9, 10).
Рис. 9. Окно конструктора таблицы Контрагенты
Рис. 10. Окно конструктора таблицы План счетов
12 Для определения составного ключа в таблице Валюты надо выделить оба поля Код валюты и Дата, щёлкая мышью при нажатой клавише , затем нажать кнопку Ключевое поле. Для этих полей значение свойства Индексированное поле – “Да (Совпадения допускаются)”, а для первичных ключей таблиц Контрагенты, План счетов – Индексированное поле – “Да (Совпадения не допускаются)”, для остальных полей указанных таблиц значение – “Нет”. Для полей Наименование валюты, Курс, Название контрагента, Название счёта значения свойств Обязательное поле – “Да”, Пустые строки – “Нет”, для оставшихся полей наоборот (“Нет”, “Да” соответственно). Для поля Фото таблицы Контрагенты тип – Поле объекта OLE, для заполнения поля данными используется меню Вставка, Объект. Для поля таблицы Контрагенты Фамилия задана Маска ввода “>L??????????????”, для поля Номер телефона – “\(000\)00\-00\-00”. Сразу после сохранения структуры таблицы можно заполнить её данными (создать записи), для этого нажать кнопку Вид, на ПИ Конструктор таблиц выбрать Режим таблицы или в ДО База данных на вкладке таблицы выбрать нужную и нажать кнопку Открыть. Лучше наполнить таблицу данными позже, иначе можно нарушить её целостность. ИСПОЛЬЗОВАНИЕ ПОЛЕЙ ПОДСТАНОВОК ПРИ СОЗДАНИИ ТАБЛИЦ В связанных таблицах внешний ключ подчинённой таблицы должен иметь значение первичного ключа главной таблицы, иначе нарушаются параметры целостности БД, например, в таблице План счетов поле Номер счёта – первичный ключ главной таблицы, а в таблице ЖХО поле Дебет – внешний ключ подчинённой таблицы. При заполнении поля Дебет (и поля Кредит тоже) в таблице ЖХО необходимо выбирать значения из поля Номер счёта таблицы План счетов. Для этой цели используется поле подстановки. Подстановка в режиме конструктора таблиц
Первый способ. Таблица ЖХО, поле Дебет, тип данных – текстовый, переходим в окно свойств. Вкладка Общие – свойство Размер поля – 6, открываем вкладку Подстановка, определим свойства: Тип элемента управления – Поле со списком, Источник строк – таблица План счетов, Присоединенный столбец – 1, Число столбцов – 1 (рис. 11).
13
Рис. 11. Определение поля подстановки
Второй способ. Выбрать поле Код контрагента таблицы ЖХО, в свойстве Тип данных указать: Мастер подстановок. Появится ДО, в котором надо указать вариант: Объект “столбец подстановки” будет использовать значения из таблицы или запроса. или Будет введён фиксированный набор значений.
Нажать кнопку Далее. Если выбран первый вариант, появится следующее ДО, в котором надо указать Таблицы и в списке выделить таблицу Контрагенты, нажать кнопку Далее. В следующем ДО выбрать поле Код контрагента , которое определит столбец подстановки, кнопка Далее; в кнопкой следующем ДО появится столбец значений, в этом ДО можно изменить ширину столбца, кнопка Готово. Можно формировать значение столбца подстановки из разных полей и разных таблиц, например, из полей Код контрагента и Название контрагента; при этом первый столбец (Код контрагента) можно скрыть, тогда выбираем значение из списка Наименование контрагента, а подставляется в поле Код контрагента значение кода, при отображении данных, например в форме, будем видеть наименование. Если выбран второй вариант (Будет введён фиксированный набор значений), появляется ДО, в котором надо установить Число столбцов, равное 1, и внести в список Столбец 1 конкретные значения. Кнопка Далее.
14 Подстановка в режиме таблицы
Надо открыть таблицу ЖХО в режиме таблицы. Курсор поместить в поле Код валюты, выполнить команду меню Вставка, Столбец подстановок, появится первое ДО Мастера подстановок и т.д. Выполнить те же операции, что и в режиме конструктора. Определить поля подстановок внешних ключей таблицы ЖХО. 2 способ: Создание новой таблицы в режиме таблицы В режиме таблицы создаётся новая таблица без предварительного определения её структуры. Надо выбрать в рабочем поле окна БД строку Создание таблицы путём ввода данных или в окне Новая таблица строку Режим таблицы. Сразу появится пустая таблица, в которую вводят данные (рис. 12). Введённые данные автоматически определяют тип поля таблицы, т.е. автоматически создаётся структура таблицы. По умолчанию создается таблица из 10 столбцов и 21 строки. Имя поля можно изменить, дважды щёлкнув левой кнопкой мыши по имени в области заголовков или использовав команду меню Формат, Переименовать столбец. Можно вставить (команда меню Вставка, Столбец) или удалить (команда меню Правка, Удалить столбец) столбцы. Для перемещения столбца надо выделить имя и мышью перетащить заголовок поля в нужное место. Все столбцы и строки, оставленные пустыми, будут удалены при сохранении таблицы. Действующие форматы полей можно увиРис. 12. Создание таблицы в режиме таблицы деть в окне конструктора таблиц, свойство Формат поля. По окончании ввода данных нужно сохранить таблицу. При сохранении таблицы появится сообщение: “Создать ключевое поле? Да, Нет”. Надо выбрать “Нет”, затем открыть таблицу в режиме конструктора, изменить при необходимости структуру и свойства полей, задать ключи.
15 В режиме таблицы надо вводить данные правильно в соответствии с допустимыми типами данных и форматами их отображения. В окне конструктора таблиц можно просмотреть их определение. 3 способ: Создание таблицы с помощью мастера таблиц (МТ) МТ автоматически создаёт таблицу на основе шаблона. Надо в рабочем поле окна БД выбрать строку Создание таблицы с помощью мастера или в окне Новая таблица, вызываемом кнопкой Создать, выбрать Мастер таблиц (всего шаблонов – 50). Каждая таблица шаблона имеет набор – список полей. Надо выбрать шаблон таблицы из списка Образцы таблиц, затем из списка Образцы полей выбрать нужные, выили (для одного или всех полей деляя поле и нажимая кнопку соответственно). Поле попадает в список Поля новой таблицы (рис. 13). Выделяя в этом списке нужное поле, его можно переименовать, нажав кнопку Переименовать поле. Поля можно выбирать из разных таблиц. Нажимая кнопку Далее, переходя к следующему шагу мастера, можно: определить ключ таблицы Microsoft Access автоматически определяет ключ (или Пользователь определяет ключ самостоятельно); создать связь новой таблицы с уже имеющимися в базе данных, при этом ключ новой таблицы добавляется в таблицу, с которой устанавливается связь; осуществить ввод данных в режиме таблицы; сразу создать форму для ввода данных в таблицу. Созданную мастером таблицу можно доработать в режиме конструктора.
Рис. 13. Создание таблицы с помощью мастера
16 УСТАНОВКА СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ Создание связей между таблицами – последний этап физического проектирования БД. Связь между таблицами устанавливает отношение между совпадающими значениями в ключевых полях. В большинстве случаев связывают первичный ключ главной таблицы с внешним ключом подчинённой таблицы (часто имеющим то же имя), например, первый ключ Код контрагента таблицы Контрагенты и внешний ключ Код контрагента таблицы ЖХО. Существуют четыре типа отношений: 1. Один – к одному 1 ↔ 1. Запись таблицы А может иметь не более одной связанной записи в таблице В и наоборот. Ключевое поле в таких таблицах должно быть уникальным. 2. Многие – к одному ∞ ↔ 1. Одной записи в таблице А может соответствовать одна запись в таблице В, а одной записи в таблице В – несколько записей в таблице А. В таблице В ключевое поле должно быть уникальным. 3. Один – ко многим 1 ↔ ∞. Каждой записи в таблице А могут соответствовать несколько записей в таблице В, а запись в таблице В не может иметь более одной соответствующей записи в таблице А. В таблице А ключевое поле должно быть уникальным. Отношения вида 1 ↔ ∞ и ∞ ↔ 1 отличаются тем, какая таблица является главной. 4. Многие – ко многим ∞ ↔ ∞. Такая таблица не нормализована. Одной записи таблицы А может соответствовать несколько записей таблицы В и наоборот. Уникальных ключей нет. Все ключи внешние. В этом случае таблицу надо нормализовать, используя инструмент Анализатор таблиц (меню Сервис, Анализ, Таблица, запускается мастер). Связанные поля не обязательно должны иметь одинаковые имена (поле Номер счёта таблицы План счетов и поле Дебет таблицы ЖХО), но обязательно должны иметь одинаковые типы данных. Поля типа Числовой должны иметь одинаковые значения свойства Размер поля. Разрешается связывать типы полей Счётчик и Числовое, Длинное целое (или Счётчик и Числовое поле, если код репликации задан для обоих полей). Перед установкой связей следует закрыть все таблицы.
17 Находясь в окне БД, нажать кнопку Схема данных, затем Добавить таблицу (или команда меню Связи, Добавить таблицу), появится окно Добавление таблицы (рис. 14). Выбрать таблицу из списка (один раз щёлкнуть левой Рис. 14. ДО Добавление таблицы кнопкой мыши) и нажать кнопку Добавить, выбрать следующую таблицу, нажать кнопку Добавить и т.д. Выбрать все таблицы, затем нажать кнопку Закрыть. Затем уцепить левой кнопкой мыши поле первой таблицы со стороны связи 1 и тащить, опустить на то же поле другой таблицы, появится ДО Изменение связей (рис. 15), внизу указан тип отношения один – ко многим, нажать кнопку Создать. Для удаления связи – щёлкнуть правой кнопкой мыши нужную связь и выбрать команду Удалить, для изменения – два раза щёлкнуть линию связи, появится ДО Изменение связей, которое имеет три флажка: Обеспечение целостности данных означает выполнение условий корректного внесения записей, Каскадное обновление связанных полей, Каскадное удаление связанных полей означают, что при изменении (или удалении) значений первичного ключа главной таблицы автоматически меняются (или удаляются) соответствующие значения внешнего ключа подчиненной таблицы. Связи следует создавать при пустых таблицах, иначе нельзя будет установить эти параметры целостности БД (или какой-либо из них). При составном Рис. 15. ДО Изменение связей ключе в окне Изменение
18 связей необходимо для каждого ключа главной таблицы (Таблица) выбрать соответствующее поле подчинённой таблицы (Связанная таблица). При установлении связи по составному ключу необходимо выделить все поля, входящие в ключ главной таблицы, и перетащить их на одно из полей связи в подчинённой таблице. При выделении полей удерживать клавишу . Установленные связи используются при создании запросов, форм и отчётов, их называют постоянными. Надо сохранить макет схемы данных, нажав кнопку Сохранить. Закрыть окно Схема данных. Установим связи между всеми таблицами в соответствии с логической моделью данных. Если в ДО Изменение связей нажать кнопку Объединение, откроется ДО Параметры объединения – критерии для отбора записей (рис. 16). Например, для любого типа связи можно выбрать: 1. Объединение только тех записей, в которых связанные поля обеих таблиц совпадают (внутреннее объединение). 2. Объединение всех записей из таблицы А и только тех из таблицы В, в которых связанные поля совпадают (левое внешнее объединение). 3. Объединение всех заРис. 16. Параметры объединения писей из таблицы В и только тех из таблицы А, в которых связанные поля совпадают (правое внешнее объединение). Для связей между таблицами на уровне БД лучше использовать только внутреннее объединение, а оба внешние объединения – при создании запросов. В MS Access 2000 существуют два способа организации связи: создание непосредственных связей (вручную) с помощью инструмента Схема данных и создание вложенных таблиц. Чтобы создать вложенную таблицу, надо открыть главную таблицу в режиме просмотра, активизировать поле первичного ключа (необязательно) и выполнить команду меню Вставка, Подтаблица, появится ДО, в котором выбрать подчинённую таблицу и указать: в списке Подчинённые поля – внешний ключ (первичный ключ подчинённой таблицы) и в списке Основные поля – первичный ключ главной таблицы, ОК. Рядом с именем поля пер-
19 вичного ключа главной таблицы появится знак . При щелчке мыши по нему открывается подчинённая (связанная) таблица. Установим связи между таблицами БД “Бухгалтерский учёт на предприятии” (рис. 17). Если в ДО Изменение связей вид связи определяется неправильно или вообще не определён, следует вернуться к этапу конструирования таблиц, проверить свойства первичных и внешних ключей, изменить при необходимости. Рис. 17. Схема данных Схема данных – графическое представление физической модели БД, полностью соответствует логической МД (рис. 1). МАКЕТ ТАБЛИЦЫ Для более приятного восприятия таблицы на экране можно её отформатировать: изменить ширину столбцов, высоту строк, шрифт, цвет текста, линий сетки, фона, оформление, которое может быть обычным, приподнятым или утопленным и др. Эти параметры отображения таблицы на экране называются макетом таблицы и сохраняются вместе с ней. Настройка макета выполняется в режиме таблицы, используется: команда меню Формат и ПИ Формат (режим таблицы). Многие операции можно выполнять мышью: изменить ширину, высоту, скрыть столбцы (перетащив правую границу влево до исчезновения столбца), изменить порядок следования – выделить столбец (мышью щелкнуть по заголовку) и перетащить в нужное место, удалить столбцы, закрепить столбцы (команда меню Формат). Сохранить изменения: ответить Да на вопрос “Сохранить макет таблицы?”
20 ИМПОРТ И ПРИСОЕДИНЕНИЕ ВНЕШНИХ ТАБЛИЦ Импорт и присоединение таблиц – ещё один способ создания таблиц в активной (открытой) БД. Можно импортировать или присоединить таблицу из другого файла БД MS Access, рабочий лист (список) MS Excel, таблицу из файла БД в других форматах (например, .dbf и др.). Разница между импортом и присоединением внешней таблицы заключается в том, что при импорте таблица физически помещается в активную БД и последующие изменения в ней не отражаются на источнике, а в результате присоединения в активную БД помещается только ссылка на внешнюю таблицу. Присоединённая таблица сохраняет связь с источником, и любое изменение данных в ней автоматически сохраняется во внешней БД-источнике. Импорт и присоединение таблиц осуществляется из меню Файл, Внешние данные командами Импорт и Связь с таблицами соответственно. ЛАБОРАТОРНАЯ РАБОТА № 2 Создание таблиц БД в MS Access 1. 2. 3. 4. 5. 6.
Задание: Используя Режим конструктора, Режим таблицы и Мастер таблиц, создать таблицы БД своей предметной области разными способами в соответствии с логической МД. Определить типы данных полей, включая MEMO, объект OLE и выбор из списка (Мастер подстановок). Для некоторых полей задать свойства Маска ввода. Для каждой таблицы определить первичные и внешние ключи. Для внешнего ключа подчинённой таблицы определить поле подстановки, указав в качестве столбца данных поле первичного ключа главной таблицы. Создать схему данных. В диалоговом окне Изменение связей включить флажки: Обеспечение целостности данных, Каскадное обновление и удаление связанных полей.
21 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ 1. Новиков Ф.А. Microsoft Office 2000 в целом / Ф.А. Новиков, А.Д. Яценко. – СПб.: БХВ – Петербург, 2001. – 728 с. 2. Программирование в среде Access 2000: Энциклопедия пользователя; Пер. с англ. / Стивен Форт, Том Хоун, Джеймс Релстон. – Киев: ДиаСофт, 2000. – 544 с. 3. Дубнов П.Ю. Access 2000. Проектирование баз данных. – М.: ДМК, 2000. – 272 с. 4. Послед Б.С. Access 2000. Базы данных и приложения. – Киев: ДиаСофт, 2000. – 512 с. 5. Бекаревич Ю.Б. Самоучитель Microsoft Access 2000 / Ю.Б. Бекаревич, Н.В. Пушкина. – СПб.: БХВ-Санкт-Петербург, 1999. – 480 с.
Составители Валентина Валентиновна Крюкова Владислав Олегович Жемчужин
ПРОЕКТИРОВАНИЕ, СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ БАЗ ДАННЫХ MS ACCESS Часть 2. ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ
БАЗЫ ДАННЫХ
Методические указания к лабораторной работе по дисциплине “Информационные системы в экономике” для студентов экономических специальностей
Редактор А.В. Дюмина Подписано в печать 02.06.03 Формат 60×84/16. Бумага офсетная. Отпечатано на ризографе. Уч.-изд. л. 1,3. Тираж 100 экз. Заказ ГУ КузГТУ. 650026, Кемерово, ул. Весенняя, 28. Типография ГУ КузГТУ. 650099, Кемерово, ул. Д. Бедного, 4а.