Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические рекомендации к курсу информ.doc
Скачиваний:
68
Добавлен:
16.02.2016
Размер:
6.13 Mб
Скачать

Создание базы данных

Программа 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

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

Создание базы данных

1

Запустите программу Microsoft Access (Пуск–Программы–Microsoft Access)

2

Создайте базу данных: Файл/Создать, в появившемся окне выберите Новая база данных

3

После этого на экране откроется диалоговое окно "Файл новой базы данных", похожее на диалоговые окна открытия/сохранения документов

4

Выберите папку, в которой будет храниться файл с Вашей базой данных, а в поле ввода "Имя файла" укажите имя файла своей базы данных

5

Теперь на экране открылось окно приведенное на рис.1 созданной Вами базы данных с присвоенным именем

Рис 1. Окно созданной учебной базы данных

В этом окне перечисляются объекты, составляющие базу данных. Кроме таблиц, составляющих любую реляционную базу данных, в Access в базе данных хранятся вспомогательные объекты, облегчающие наполнение базы данных, извлечение из нее информации и организацией управления данными, например, Таблицы, Запросы, Формы, Отчеты, Макросы, Модули. Для объектов каждого слева имеется закладка (ярлычок). На рис. 1 выбрана (активна) закладка "Таблицы".

Введем в базу данных таблицу 1 Продавцы, таблицу 2 Покупатели и таблицу 3 Заказы.

Таблица 1 Продавцы

ПОЛЕ

ОПИСАНИЕ ХАРАКТЕРИСТИКИ ПОЛЯ

Номер

Уникальный номер, приписанный каждому продавцу

Имя

Имя продавца

Город

Место расположения продавца

Комиссионные

Вознаграждение (комиссионные) продавца в форме с десятичной точкой

Таблица 2 Покупатели

ПОЛЕ

ОПИСАНИЕ ХАРАКТЕРИСТИКИ ПОЛЯ

Номер

Уникальный номер, присвоенный покупателю

Имя

Имя покупателя

Город

Место расположения покупателя

Рейтинг

Цифровой код, определяющий уровень предпочтения данного покупателя. Чем больше число, тем больше предпочтение.

Номер продавца

Номер продавца, назначенного данному покупателю (из таблицы "Продавцы")

Таблица 3 Заказы

ПОЛЕ

ОПИСАНИЕ ХАРАКТЕРИСТИКИ ПОЛЯ

Номер

Уникальный номер, присвоенный данной покупке

Стоимость

Стоимость покупки (в руб.)

Дата покупки

Дата покупки

Номер покупателя

Номер покупателя, сделавшего покупку (из таблицы "Покупатели")

Номер продавца

Номер продавца, обслужившего покупателя (из таблицы "Продавцы")

Создание таблиц

1

Для добавления в базу данных новой таблицы мышью выберите (активизируйте) закладку Таблицы и выберите Создание таблицы в режиме конструктора

Откроется окно Таблица1: таблица (рис. 2), в котором надо описать структуру (макет) новой таблицы: ввести названия всех полей, выбрать тип данных и описать их характеристики, задать (определить) первичный ключ – ключевое поле. Первичный ключ является идентификатором строк. В ключевом поле значения не могут повторяться.

Рис. 2. Окно "Таблица", предназначенное для определения структуры одной таблицы базы данных.

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

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

1

Заполните поля в окне "Таблица":

В первую ячейку введите название поля – Номер, нажмите ENTER (курсор перейдет в следующий столбец, где по умолчанию программа предложит тип данных Текстовый) из предложенного списка выберите Числовой, опять нажмите ENTER, введите описание этого поля – Уникальный номер, приписанный каждому продавцу.

Примечание: Следует очень внимательно относится к выбору типа данных поля. Он определяет, какие действия можно производить над этим полем. Например, в запросах информации из числовых полей можно использовать операции сравнения "< (меньше)", "> (больше)" и т.п. Текстовые поля могут участвовать в сортировке по алфавиту. Тип данных поля следует выбирать из выпадающего списка, который можно открыть в тот момент, когда курсор находится в колонке "Тип данных".

У каждого поля, кроме имени, типа и описания, имеется еще и набор свойств, перечисленных внизу окна в закладке "Общие". На рис. 3 текущим полем является поле "Номер" (на текущее поле указывает треугольник слева от имени поля). У него есть свойства – "Размер поля", "Формат поля" Число десятичных знаков и т.п. Измените свойство "Размер поля" на "Целое", т.к. номер продавца – целое число. Это свойство у поля "Комиссионные" должно быть "С плав.точкой". Проверьте это

2

Аналогично заполните остальные поля в окне Таблицы1: таблица. После правильного выполнения всех операций по описанию полей таблицы 1 диалоговое окно Таблица1: таблица должно иметь вид, показанный на рис. 3.

3

Необходимо определить первичный ключ (ключевое поле) нашего макета таблицы "Продавцы". Им будет поле "Номер". Щелкните правой кнопкой мыши на первой строке таблицы полей с описанием поля "Номер". Появится контекстно-зависимое меню, из которого выберите команду "Ключевое поле". После этого в сером столбце слева от имени поля "Номер" появится изображение ключа. Таким образом мы задали первичный ключ таблицы. Если в качестве первичного ключа выступает не одно поле, а несколько, надо сначала выделить их все, а затем уже применить команду "Ключевое поле".

4

Закройте конструктор. На вопрос о сохранении изменений в "Таблице1" ответьте "Да", а затем в окне "Сохранение" (рис. 4) введите новое имя таблицы – "Продавцы".

5

Теперь Ваша база данных состоит из одной таблицы Продавцы, но она пока не заполнена данными.

В окне "База данных" теперь появится таблица "Продавцы". Переименовать или удалить таблицу можно в этом окне, щелкнув правой кнопкой на ее имени и выбрав соответствующую команду в контекстном меню. Посмотрите, как выглядит это меню, но не выбирайте никаких команд (чтобы убрать контекстное меню, достаточно нажать на клавиатуре клавишу Esc или щелкнуть левой кнопкой вне меню). Кнопка "Конструктор" в окне "База данных" позволяет перейти в окно "Таблица" и внести изменения в ее структуру. Попробуйте нажать кнопку "Конструктор" и просмотреть описание таблицы "Продавцы".

6

Аналогичным образом создайте макеты для таблиц Покупатели и Заказы.

Рис 3. Окно Таблица с описанием полей Таблицы 1 Продавцы.

Рис. 4. Окно "Сохранение", позволяющее изменить имя таблицы.

Указание. В макете таблицы Заказы:

1

Для поля, содержащего дату, используйте тип данных "Дата/время" и дополнительно укажите ему формат "Краткий формат даты" (в кратком формате не придется указывать время в часах, минутах и секундах).

2

Для поля "Стоимость" укажите тип – "Денежный" и задайте количество десятичных знаков 2.

3

Не забудьте определить ключевое поле в каждой таблице!

Это должно быть поле – Номер.

Теперь Ваша база данных состоит из трех таблиц, но они не содержат никакой информации, необходимо ввести данные в каждую таблицу.

Установление связей между таблицами.

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

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

Типы связей между таблицами.

В MS Access вы можете создать два типа связей: отношение один-ко-многим или отношение один-к-одному. В первом случае, более распространенном, одна запись таблицы связана с множеством записей другой таблицы. Скажем, покупатель может сделать один или несколько заказов. Поэтому одной записи в таблице Покупатели, которая в данной связи будет первичной таблицей, может соответствовать несколько записей в таблице Заказы, которая называется связанной таблицей (рис. 5).

В случае менее распространенного отношения один-к-одному одной записи в первичной таблице соответствует только одна запись связанной таблицы. Например, есть база данных, содержащая сведения о сотрудниках фирмы. Фамилия, имя и должность сотрудников фирмы могут располагаться в одной таблице, а данные о зарплате – в другой. Между этими таблицами будет существовать отношение один-к-одному, поскольку каждой записи в одной из них соответствует единственная запись в другой.

Рис. 5. Связь типа один-ко-многим между двумя таблицами.

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

Создание связи между двумя таблицами.

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

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

Создание и удаление связей производится в окне Схема данных.

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

Рис. 6. Схема данных.

Теперь добавьте таблицы к окну Схема данных:

1

Если MS Access автоматически не выводит на экран диалог Добавление таблицы, выберите команду меню Связи–Добавить таблицу.

2

Во вкладке Таблицы выделите строку Заказы, а затем щелкните на кнопке Добавить.

3

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

4

Щелкните на кнопке Закрыть, чтобы закрыть диалог Добавление таблицы. Расположите таблицы в окне Схема данных так, как показано на рис. 7. Для перемещения таблицы нажмите левую кнопку мыши на названии таблицы и, не отпуская кнопку мыши, переместите таблицу в нужное место.

Рис. 7. Три таблицы в окне Схема данных.

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

1

Находясь в окне Схема данных, перетащите поле Номер (удерживая на нем нажатой левую кнопку мыши) из списка полей таблицы Покупатели на поле Номер покупателя в списке Заказы. Тем самым вы перемещаете поле из первичной таблицы Покупатели в связанную таблицу 3аказы. Когда вы отпускаете клавишу мыши, появляется диалог Связи (рис. 8). Удостоверьтесь, что в списке находятся имена связываемых полей.

2

Установите галочку обеспечении целостности данных

3

Щелкните на кнопке Создать. Теперь таблица Покупатели связана с таблицей Заказы. Вы видите линию, которая соединяет два связанных поля в этих таблицах (рис. 10). Связь будет сохраняться до тех пор, пока вы сами ее не удалите.

Рис. 9. Диалоговое окно Связи. Показана связь поля Номер таблицы Покупатели и поля Номер покупателя таблицы Заказы.

Рис. 10. Связь между таблицами установлена.

Задание. Создайте три связи:

  1. связь таблиц Покупатели и Заказы;

  2. связь таблиц Продавцы и Заказы;

  3. связь таблиц Продавцы и Покупатели.

Сохраните созданные связи:

1

Закройте окно Схема данных. MS Access спросит вас, хотите ли вы сохранить изменения окна Схема данных.

2

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

Ввод данных в таблицу.

1

Откройте таблицу Продавцы (двойной щелчок мыши).

2

Введите данные в поля таблицы, используя сведения из Таблицы 1 Продавцы.

Таблица 1. Продавцы

Номер

Имя

Город

Комиссионные

1001

Дугинов

Липецк

0,12

1002

Ольшевский

Саратов

0,13

1004

Помякушина

Липецк

0,11

1007

Шикин

Бронницы

0,15

1003

Борескова

Новгород

0,1

Аналогично заполните оставшиеся таблицы.

Таблица 2. Покупатели

Номер

Имя

Город

Рейтинг

Номер продавца

2001

Голубев

Липецк

100

1001

2002

Дмитриева

Архангельск

200

1003

2003

Кустов

Саратов

200

1002

2004

Кузьминов

Подольск

300

1002

2006

Кречко

Липецк

100

1001

2008

Фролов

Саратов

300

1007

2007

Каратыгин

Архангельск

100

1004

Таблица 3. Заказы

Номер

Стоимость

Дата покупки

Номер покупателя

Номер продавца

3001

18000,00

10.03.2005

2008

1007

3003

76700,19

10.03.2005

2001

1001

3002

19000,10

10.03.2005

2007

1004

3005

51600,45

10.03.2005

2003

1002

3006

10908,16

10.03.2005

2008

1007

3009

17013,00

10.04.2005

2002

1003

3007

705,00

10.04.2005

2004

1002

3008

47203,00

10.05.2005

2006

1001

3010

13009,00

10.06.2005

2004

1002

3011

989100,00

10.06.2005

2006

1001

Лабораторная работа №2