Лабораторная работа №1
Создание базы данных
Программа Microsoft Access, входящая в состав пакета Microsoft Office, относится к классу систем управления базами данных - СУБД. СУБД предназначены для создания баз данных и обеспечения доступа к ним с целью поиска информации по запросам.
База данных (БД) – это совокупность особым образом упорядоченных данных, описывающих какие-либо объекты. В качестве примера баз данных, существующих в бумажном виде, можно привести библиотечный каталог и данные о пациентах в регистратуре больницы. Эти базы данных содержат информацию об однотипных объектах – книгах и пациентах.
CУБД значительно облегчают работу с базами данных, хотя этап наполнения базы данных является, как и в случае с неавтоматизированными базами данных, самым трудоёмким этапом. Доступ к базе данных подразумевает возможность извлечения из неё информации, удовлетворяющей задаваемым пользователем критериям.
Доступ к неавтоматизированным базам данных возможен только в соответствии со способом упорядочения носителей информации. Например, в библиотечном каталоге поиск осуществляется только по алфавитному каталогу авторов книг. Компьютерные СУБД предоставляют возможность упорядочения данных в базах данных и доступа к ним практически любыми способами.
СУБД бывают разных типов – реляционные, сетевые, иерархические. От типа СУБД зависит, как связаны между собой данные, составляющие базу данных. MS Access относится к реляционным СУБД. В них база данных состоят из отдельных таблиц, хранящих информацию об однотипных объектах. Для знакомства с Access мы создадим простую базу данных. Чтобы сделать это, сначала необходимо рассмотреть основные понятия реляционных баз данных.
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ.
Реляционная база данных – это информация, представленная в виде связанных двумерных таблиц. Представьте себе адресную книгу. Она содержит множество строк, каждая из которых соответствует данному индивидууму. Для каждого из них в ней представлены некоторые независимые данные, например, имя, номер телефона, адрес. Представим такую адресную книгу в виде таблицы, содержащей строки и столбцы. Каждая строка (называемая также записью) соответствует определенному индивидууму, каждый столбец содержит значения соответствующего типа данных: имя, номер телефона и адрес, – представленных в каждой строке. Адресная книга может выглядеть таким образом:
Адресная книга
Имя | Телефон | Адрес |
Яншин Алексей | (095)570-12-15 | Москва, пр. Космонавтов, 35, 7 |
Калинин Василий | (127)5-35-53 | Апатиты, ул. Северная, 2б 17 |
Маслов Евгений | (261)12-15-65 | Коломна, ул. Весенняя, 127б 35 |
То, что мы получили, является основой реляционной базы данных, определенной в начале нашего обсуждения двумерной (строки и столбцы) таблицей информации. Однако, реляционная база данных редко состоит из одной таблицы, которая слишком мала по сравнению с базой данных. При создании нескольких таблиц со связанной информацией можно выполнять более сложные и мощные операции над данными. Мощность базы данных заключается, скорее, в связях, которые вы конструируете между частями информации, чем в самих этих частях.
Создание базы данных
Запустите программу Microsoft Access (Пуск–Программы–Microsoft Access) | |
Создайте базу данных: Файл/Создать, в появившемся окне выберите Новая база данных | |
После этого на экране откроется диалоговое окно "Файл новой базы данных", похожее на диалоговые окна открытия/сохранения документов | |
Выберите папку, в которой будет храниться файл с Вашей базой данных, а в поле ввода "Имя файла" укажите имя файла своей базы данных | |
Теперь на экране открылось окно приведенное на рис.1 созданной Вами базы данных с присвоенным именем |
Рис 1. Окно созданной учебной базы данных
В этом окне перечисляются объекты, составляющие базу данных. Кроме таблиц, составляющих любую реляционную базу данных, в Access в базе данных хранятся вспомогательные объекты, облегчающие наполнение базы данных, извлечение из нее информации и организацией управления данными, например, Таблицы, Запросы, Формы, Отчеты, Макросы, Модули. Для объектов каждого слева имеется закладка (ярлычок). На рис. 1 выбрана (активна) закладка "Таблицы".
Введем в базу данных таблицу 1 Продавцы, таблицу 2 Покупателии таблицу 3 Заказы.
Таблица 1 Продавцы
ПОЛЕ | ОПИСАНИЕ ХАРАКТЕРИСТИКИ ПОЛЯ |
Номер | Уникальный номер, приписанный каждому продавцу |
Имя | Имя продавца |
Город | Место расположения продавца |
Комиссионные | Вознаграждение (комиссионные) продавца в форме с десятичной точкой |
Таблица 2 Покупатели
ПОЛЕ | ОПИСАНИЕ ХАРАКТЕРИСТИКИ ПОЛЯ |
Номер | Уникальный номер, присвоенный покупателю |
Имя | Имя покупателя |
Город | Место расположения покупателя |
Рейтинг | Цифровой код, определяющий уровень предпочтения данного покупателя. Чем больше число, тем больше предпочтение. |
Номер продавца | Номер продавца, назначенного данному покупателю (из таблицы "Продавцы") |
Таблица 3 Заказы
ПОЛЕ | ОПИСАНИЕ ХАРАКТЕРИСТИКИ ПОЛЯ |
Номер | Уникальный номер, присвоенный данной покупке |
Стоимость | Стоимость покупки (в руб.) |
Дата покупки | Дата покупки |
Номер покупателя | Номер покупателя, сделавшего покупку (из таблицы "Покупатели") |
Номер продавца | Номер продавца, обслужившего покупателя (из таблицы "Продавцы") |
Создание таблиц
Для добавления в базу данных новой таблицы мышью выберите (активизируйте) закладку Таблицы и выберите Создание таблицы в режиме конструктора Откроется окно Таблица1: таблица (рис. 2), в котором надо описать структуру (макет) новой таблицы: ввести названия всех полей, выбрать тип данных и описать их характеристики, задать (определить) первичный ключ – ключевое поле. Первичный ключ является идентификатором строк. В ключевом поле значения не могут повторяться. |
Рис. 2. Окно "Таблица", предназначенное для определения структуры одной таблицы базы данных.
Для каждого поля обязательноуказываетсяимя (в колонке Имя поля), типхранимых в этом поле данных (в колонке Тип данных). В колонке Описание, хотя и не обязательно, можно дать характеристику (описать назначение) поля в качестве комментария, облегчающего впоследствии понимания содержимого таблицы.
Создадим макет будущей таблицы Продавцы, используя ее описание, которая будет состоять из четырех столбцов с названиями, совпадающими с Именами полей и содержать данные, тип данных которых задается в окне "Таблица".
Заполните поля в окне "Таблица": В первую ячейку введите название поля – Номер, нажмите ENTER (курсор перейдет в следующий столбец, где по умолчанию программа предложит тип данных Текстовый) из предложенного списка выберите Числовой, опять нажмите ENTER, введите описание этого поля – Уникальный номер, приписанный каждому продавцу. Примечание: Следует очень внимательно относится к выбору типа данных поля. Он определяет, какие действия можно производить над этим полем. Например, в запросах информации из числовых полей можно использовать операции сравнения "< (меньше)", "> (больше)" и т.п. Текстовые поля могут участвовать в сортировке по алфавиту. Тип данных поля следует выбирать из выпадающего списка, который можно открыть в тот момент, когда курсор находится в колонке "Тип данных". У каждого поля, кроме имени, типа и описания, имеется еще и набор свойств, перечисленных внизу окна в закладке "Общие". На рис. 3 текущим полем является поле "Номер" (на текущее поле указывает треугольник слева от имени поля). У него есть свойства – "Размер поля", "Формат поля" Число десятичных знаков и т.п. Измените свойство "Размер поля" на "Целое", т.к. номер продавца – целое число. Это свойство у поля "Комиссионные" должно быть "С плав.точкой". Проверьте это | |
Аналогично заполните остальные поля в окне Таблицы1: таблица. После правильного выполнения всех операций по описанию полей таблицы 1 диалоговое окно Таблица1: таблица должно иметь вид, показанный на рис. 3. | |
Необходимо определить первичный ключ (ключевое поле) нашего макета таблицы "Продавцы". Им будет поле "Номер". Щелкните правой кнопкой мыши на первой строке таблицы полей с описанием поля "Номер". Появится контекстно-зависимое меню, из которого выберите команду "Ключевое поле". После этого в сером столбце слева от имени поля "Номер" появится изображение ключа. Таким образом мы задали первичный ключ таблицы. Если в качестве первичного ключа выступает не одно поле, а несколько, надо сначала выделить их все, а затем уже применить команду "Ключевое поле". | |
Закройте конструктор. На вопрос о сохранении изменений в "Таблице1" ответьте "Да", а затем в окне "Сохранение" (рис. 4) введите новое имя таблицы – "Продавцы". | |
Теперь Ваша база данных состоит из одной таблицы Продавцы, но она пока не заполнена данными. В окне "База данных" теперь появится таблица "Продавцы". Переименовать или удалить таблицу можно в этом окне, щелкнув правой кнопкой на ее имени и выбрав соответствующую команду в контекстном меню. Посмотрите, как выглядит это меню, но не выбирайте никаких команд (чтобы убрать контекстное меню, достаточно нажать на клавиатуре клавишу Esc или щелкнуть левой кнопкой вне меню). Кнопка "Конструктор" в окне "База данных" позволяет перейти в окно "Таблица" и внести изменения в ее структуру. Попробуйте нажать кнопку "Конструктор" и просмотреть описание таблицы "Продавцы". | |
Аналогичным образом создайте макеты для таблиц Покупатели и Заказы. |
Рис 3. Окно Таблица с описанием полей Таблицы 1 Продавцы.
Рис. 4. Окно "Сохранение", позволяющее изменить имя таблицы.
Указание.В макете таблицы Заказы:
Для поля, содержащего дату, используйте тип данных "Дата/время" и дополнительно укажите ему формат "Краткий формат даты" (в кратком формате не придется указывать время в часах, минутах и секундах). | |
Для поля "Стоимость" укажите тип – "Денежный" и задайте количество десятичных знаков 2. | |
Не забудьте определить ключевое поле в каждой таблице! Это должно быть поле – Номер. |
Теперь Ваша база данных состоит из трех таблиц, но они не содержат никакой информации, необходимо ввести данные в каждую таблицу.
Установление связей между таблицами.
В учебной базе данных связи между таблицами осуществляются через целочисленные ключевые поля Номер, хранящие уникальные номера записей каждой таблицы. Например, в каждой записи таблицы Заказы хранится номер покупателя, сделавшего заказ и номер продавца, оформившего этот заказ. Если вас интересует более подробная информация о покупателе, сделавшем определенный заказ, то вы должны, зная номер покупателя, обратиться к соответствующей записи таблицы Покупатели.
При заполнении таблиц данными вы ясно видели связи между таблицами и поэтому можете их использовать для поиска данных в таблице вручную, открывая связанные таблицы и отыскивая нужные данные. Чтобы MS Access смог автоматически извлечь нужную вам информацию, необходимо сообщить ему о существующих в базе данных связях между таблицами.
Типы связей между таблицами.
В MS Access вы можете создать два типа связей: отношение один-ко-многимили отношение один-к-одному. В первом случае, более распространенном, одна запись таблицы связана с множеством записей другой таблицы. Скажем, покупатель может сделать один или несколько заказов. Поэтому одной записи в таблице Покупатели, которая в данной связи будет первичной таблицей, может соответствовать несколько записей в таблице Заказы, которая называется связанной таблицей (рис. 5).
В случае менее распространенного отношения один-к-одному одной записи в первичной таблице соответствует только одна запись связанной таблицы. Например, есть база данных, содержащая сведения о сотрудниках фирмы. Фамилия, имя и должность сотрудников фирмы могут располагаться в одной таблице, а данные о зарплате – в другой. Между этими таблицами будет существовать отношение один-к-одному, поскольку каждой записи в одной из них соответствует единственная запись в другой.
Рис. 5. Связь типа один-ко-многим между двумя таблицами.
Связи между таблицами часто помогают убедиться в том, что таблицы лишены противоречивых сведений: например, что в таблице Заказы нет заказов, которым не соответствовал бы какой-либо покупатель из таблицы Покупатели.
Создание связи между двумя таблицами.
Если вы хотите создать связь между двумя таблицами, следует прежде убедиться, что в них есть совпадающие поля. Ключевое поле первичной таблицы соответствует аналогичному полю связанной таблиц, последнее иногда называют внешним ключом.
Определите, какая из таблиц будет первичной, а какая - связанной. Если связанная та6лица не содержит поля данных, совпадающего с ключевым полем первичной таблицы, необходимо добавить его к связанной таблице – лишь в этом случае вы сможете создать связь между таблицами. Связанные поля должны содержать совпадающие данные и характеризоваться одинаковым типом данных. Поля данных цифрового типа должны также иметь одинаковый формат.
Создание и удаление связей производится в окне Схема данных.
Если вы открываете его не впервые, окно появится точно в таком виде, в каком вы сохранили его в последний раз. При первом установлении связи окно будет пустым, и сразу же появится диалог Добавление таблицы.
Рис. 6. Схема данных.
Теперь добавьте таблицы к окну Схема данных:
Если MS Access автоматически не выводит на экран диалог Добавление таблицы, выберите команду меню Связи–Добавить таблицу. | |
Во вкладке Таблицы выделите строку Заказы, а затем щелкните на кнопке Добавить. | |
Таким же образом поступите с таблицами Покупатели и Продавцы. Названия каждой из таблиц со списками полей появятся в окне Схема данных. | |
Щелкните на кнопке Закрыть, чтобы закрыть диалог Добавление таблицы. Расположите таблицы в окне Схема данных так, как показано на рис. 7. Для перемещения таблицы нажмите левую кнопку мыши на названии таблицы и, не отпуская кнопку мыши, переместите таблицу в нужное место. |
Рис. 7. Три таблицы в окне Схема данных.
Теперь установим связь между таблицами Заказы и Покупатели. Т.е. установим связь списка всех покупателей с заказами, которые они сделали, а в качестве сравнительного параметра используем уникальный номер покупателя. Для этого проделайте следующее:
Находясь в окне Схема данных, перетащите поле Номер (удерживая на нем нажатой левую кнопку мыши) из списка полей таблицы Покупатели на поле Номер покупателя в списке Заказы. Тем самым вы перемещаете поле из первичной таблицы Покупатели в связанную таблицу 3аказы. Когда вы отпускаете клавишу мыши, появляется диалог Связи (рис. 8). Удостоверьтесь, что в списке находятся имена связываемых полей. | |
Установите галочку обеспечении целостности данных | |
Щелкните на кнопке Создать. Теперь таблица Покупатели связана с таблицей Заказы. Вы видите линию, которая соединяет два связанных поля в этих таблицах (рис. 10). Связь будет сохраняться до тех пор, пока вы сами ее не удалите. |
Рис. 9. Диалоговое окно Связи. Показана связь поля Номер таблицы Покупатели
и поля Номер покупателя таблицы Заказы.
Рис. 10. Связь между таблицами установлена.
Задание. Создайте три связи:
1. связь таблиц Покупатели и Заказы;
2. связь таблиц Продавцы и Заказы;
3. связь таблиц Продавцы и Покупатели.
Сохраните созданные связи:
Закройте окно Схема данных. MS Access спросит вас, хотите ли вы сохранить изменения окна Схема данных. | |
Щелкните на кнопке Да, чтобы сохранить представление окна связей. Открыв в следующий раз окно Схема данных, вы увидите его таким, каким только что сохранили. |