| Для добавления в базу данных новой таблицы мышью выберите (активизируйте) закладку Таблицы и выберите Создание таблицы в режиме конструктора
Откроется окно Таблица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 спросит вас, хотите ли вы сохранить изменения окна Схема данных.
|
| Щелкните на кнопке Да, чтобы сохранить представление окна связей. Открыв в следующий раз окно Схема данных, вы увидите его таким, каким только что сохранили.
|