Открыть таблицу в режиме Конструктора можно одним из двух следующих способов:
· выделить таблицу в списке таблиц в окне базы данных и нажать кнопку Конструктор в верхней части окна базы данных;
· щелкнуть правой кнопкой мыши на имени таблицы и из контекстного меню выбрать команду Конструктор.
После выполнения указанных действий на экране появится окно таблицы в режиме Конструктора, а также панель инструментов Конструктор таблиц Окно таблицы в режиме Конструктора состоит из двух панелей.
· Верхняя панель содержит таблицу из трех столбцов: Имя поля,Тип данных и Описание. В столбце Имя поля содержатся имена полей таблицы, в столбце Тип данных указывается тип данных для каждого поля. Заполнение двух первых столбцов является обязательным.
· На нижней панели располагаются две вкладки свойств полей: Общие и Подстановка, а также область контекстной справки.
Ключевое поле таблицы помечается специальным значком — ключик в поле выделения в левой части окна. Чтобы выделить поле, достаточно просто щелкнуть мышью по строке, в которой описывается данное поле. При этом в нижней части окна будут показаны параметры именно для этого поля. Перемещаться между столбцами в верхней панели окна можно с помощью клавиши <Таb>, а для перемещения по списку полей вверх и вниз пользуйтесь клавишами со стрелками. С помощью клавиши <F6> можно перемещаться между панелями.
2.1 Определение ключевых полей
Ключевое поле — это одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице. Если для таблицы определены ключевые поля, то Microsoft Access предотвращает дублирование или ввод пустых значений в ключевое поле. Ключевые поля используются для быстрого поиска и связи данных из разных таблиц при помощи запросов, форм и отчетов.
В Microsoft Access можно выделить три типа ключевых полей: счетчик, простой ключ и составной ключ. Рассмотрим каждый из этих типов.
Для создания ключевого поля типа Счетчик необходимо в режиме Конструктора таблиц:
1. Включить в таблицу поле счетчика.
2. Задать для него автоматическое увеличение на 1.
3. Указать это поле в качестве ключевого путем нажатия на кнопку Ключевое поле на панели инструментов Конструктор таблиц .
1. Если до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. При нажатии кнопки. Да будет создано ключевое поле счетчика с именем Код (ID) и типом данных Счетчик
2.2 Связывание таблиц на схеме данных
После создания различных таблиц Books,Janre, Oblojka, Izdatelstvo, содержащих данные, относящиеся к различным аспектам базы данных, следующим шагом будет объединение этих данных при их извлечении из базы данных. Вторым шагом при этом является определение связей между таблицами. После этого становится возможным создание запросов, форм и отчетов, в которых выводятся данные из нескольких таблиц сразу.
Как работает связь между таблицами?
Связь между таблицами устанавливает отношения между совпадающими значениями в ключевых полях, обычно между полями разных таблиц, имеющими одинаковые имена. В большинстве случаев с ключевым полем одной таблицы, являющимся уникальным идентификатором каждой записи, связывается внешний ключ другой таблицы. Например, для сопоставления сведений о сотрудниках и о принятых ими заказах, следует определить связь по полям «КодКниги» в двух таблицах.
Отношение «один-ко-многим»
В нашей базе данных использовался тип связи «один-ко-многим»
Связь с отношением «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице A могут соответствовать несколько записей в таблице B, а запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.
Определение связей между таблицами
Для того чтобы определить связь между таблицами, следует добавить таблицы в окно Схема данных и перенести с помощью мыши ключевое поле одной таблицы в другую таблицу. Для того чтобы было удобно просматривать, создавать, удалять и модифицировать связи между таблицами, в Microsoft Access используется схема данных.
Описание ниже приведенной таблицы.
В эту таблицу занесены все данные по книжному магазину: Автор, название книг, жанр, издательство, кол-во стр., дата издания, обложка, цена, описание, поставщик, дата поставки.
Id_tovar | autor | nazvanie | janr | izdatelstvo | k_vo_str | data_izd | oblogka | cena | postavshic | data_post | prnjal |
1 | Э.Радзинский | Нерон | Автобиография | «Энергия»Москва | 350 | 03.09.2001 | Мягкая | 150,00р. | Ростов | 25.10.2004 | Морозова |
2 | Мэри Спенсер | «Поверь в любовь» | Роман | «АСТ» Москва | 349 | 01.12.2000 | Твердая | 90,00р. | Москва | 28.04.2001 | Морозова |
3 | Фиби Конн | «Ураган страсти» | Роман | «АСТ» Москва | 429 | 04.07.2001 | Твердая | 126,55р. | Оренбург | 04.08.2002 | Морозова |
4 | Н.Корнилова | Воровки | Детектив | «Экспресс»Москва | 508 | 01.06.2002 | Мягкая | 120,00р. | Ростов | 05.04.2004 | Морозова |
5 | Джейн Фрейзер | Возлюбленный враг | Детектив | «АСТ» Москва | 461 | 20.12.2002 | Мягкая | 366,00р. | Ростов | 07.11.2003 | Кравцов |
6 | Дарья Истомина | «Торговка» | Роман | «Олимп» Москва | 300 | 01.01.2001 | Твердая | 196,00р. | Воркута | 23.06.2002 | Морозова |
7 | Екатерина Маркова | «Блудница» | Роман | «Астрель» Москва | 348 | 20.02.2001 | Мягкая | 88,00р. | Львов | 30.01.2004 | Лебедев |
8 | Аманда Квик | «Искушение» | Роман | «Квест» Москва | 316 | 29.09.2003 | Мягкая | 129,00р. | Калининград | 23.09.2003 | Кузьменко |
9 | Джеки Алессандро | «Свадебный водоворот» | Роман | «Аист» Москва | 317 | 14.03.2002 | Мягкая | 56,00р. | Москва | 27.03.2003 | Красников |
10 | Джудит Ливори | «Право первой ночи» | Роман | «Квест» Москва | 316 | 02.05.2001 | Твердая | 156,00р. | Москва | 24.05.2002 | Тевиков |
11 | Лора Эштон | «Тайна прекрасной Марии « | Роман | «Диалог» Москва | 421 | 09.08.2002 | Твердая | 55,00р. | Ростов | 03.04.2003 | Тевиков |
12 | _лизабет Филлипс | «Блестящая девочка» | Роман | «АСТ» Москва | 444 | 01.02.2000 | Твердая | 63,00р. | Орёл | 02.02.2002 | Лебедев |
13 | М.Серёгин | Разговорчики в строю | Детектив | «ЭКСМО»Москва | 347 | 03.09.2001 | Мягкая | 57,00р. | Москва | 19.01.2003 | Кравцов |
14 | Н.Кровцова | Группа особого назначения | Детектив | «Нева»С.-Петербург | 349 | 12.05.2004 | Твердая | 88,00р. | Москва | 01.02.2004 | Сривцунов |
15 | С.Маршак | Машина для пахана | Детектив | «Олма»Москва | 382 | 30.03.2001 | Мягкая | 96,00р. | Донецк | 23.03.2003 | Соколенко |
16 | А.Каменская | Антикиллер 5 | Детектив | «АСТ»Москва | 289 | 12.06.2003 | Твердая | 153,00р. | Каменск | 05.09.2004 | Макаренко |
17 | С.Луганова | Сталин | Автобиография | «Арго»Орёл | 293 | 04.05.2003 | Твердая | 171,00р. | Москва | 30.12.2004 | Морозова |
Общая таблица книжного магазина
Далее делаем нормализацию таблицы (вторая нормальная форма). Находим те поля, которые будут повторяться, и выносим их в отдельные таблицы:
id_tovar | postavshic | data_post | prnjal |
1 | Ростов | 25.10.2004 | Морозова |
2 | Москва | 28.04.2001 | Морозова |
3 | Оренбург | 04.08.2002 | Морозова |
4 | Ростов | 05.04.2004 | Морозова |
5 | Ростов | 07.11.2003 | Кравцов |
6 | Воркута | 23.06.2002 | Морозова |
7 | Львов | 30.01.2004 | Лебедев |
8 | Калининград | 23.09.2003 | Кузьменко |
9 | Москва | 27.03.2003 | Красников |
10 | Москва | 24.05.2002 | Тевиков |
11 | Ростов | 03.04.2003 | Тевиков |
12 | Орёл | 02.02.2002 | Лебедев |
13 | Москва | 19.01.2003 | Кравцов |
14 | Москва | 01.02.2004 | Сривцунов |
15 | Донецк | 23.03.2003 | Соколенко |
16 | Каменск | 05.09.2004 | Макаренко |
17 | Москва | 30.12.2004 | Морозова |
janr |
Автобиография |
Детектив |
Детская |
Журналы |
Исторический |
Роман |
Словари |
Справочники |
Учебный |
Фантастика |
Энциклопедии |
oblogka |
Мягкая |
Твердая |
Создаем связь между таблицами:
Внутреннее соединение двух таблиц по одному полю в реляционной базе данных строится на основе отношения «один-ко-многим». Примером может служить демонстрационная база данных “books” ,в которой все соединения являются внутренними соединениями по одному полю на основе указанного отношения. Каждая таблица должна иметь первичный ключ с уникальными значениями. Отсутствие повторений значений поля или полей первичного ключа в таблице Access устанавливает автоматически.
И получаем вторую нормальную форму:
id_tovar | autor | nazvanie | janr | izdatelstvo | k_vo_str | data_izd | oblogka | opisanie | Cena |
1 | Э.Радзинский | Нерон | Автобиография | «Энергия»Москва | 350 | 03.09.2001 | Мягкая | 150,00р. | |
2 | Мэри Спенсер | «Поверь в любовь» | Роман | «АСТ» Москва | 349 | 01.12.2000 | Твердая | 90,00р. | |
3 | Фиби Конн | «Ураган страсти» | Роман | «АСТ» Москва | 429 | 04.07.2001 | Твердая | 126,55р. | |
4 | Н.Корнилова | Воровки | Детектив | «Экспресс»Москва | 508 | 01.06.2002 | Мягкая | 120,00р. | |
5 | Джейн Фрейзер | Возлюбленный враг | Детектив | «АСТ» Москва | 461 | 20.12.2002 | Мягкая | 366,00р. | |
6 | Дарья Истомина | «Торговка» | Роман | «Олимп» Москва | 300 | 01.01.2001 | Твердая | 196,00р. | |
7 | Екатерина Маркова | «Блудница» | Роман | «Астрель» Москва | 348 | 20.02.2001 | Мягкая | 88,00р. | |
8 | Аманда Квик | «Искушение» | Роман | «Квест» Москва | 316 | 29.09.2003 | Мягкая | 129,00р. | |
9 | Джеки Алессандро | «Свадебный водоворот» | Роман | «Аист» Москва | 317 | 14.03.2002 | Мягкая | 56,00р. | |
10 | Джудит Ливори | «Право первой ночи» | Роман | «Квест» Москва | 316 | 02.05.2001 | Твердая | 156,00р. | |
11 | Лора Эштон | Тайна прекрасной Марии | Роман | «Диалог» Москва | 421 | 09.08.2002 | Твердая | 55,00р. | |
12 | Э_лизабет Филлипс | «Блестящая девочка» | Роман | «АСТ» Москва | 444 | 01.02.2000 | Твердая | 63,00р. | |
13 | М.Серёгин | Разговорчики в строю | Детектив | «ЭКСМО»Москва | 347 | 03.09.2001 | Мягкая | 57,00р. | |
14 | Н.Кровцова | Группа особого назначения | Детектив | «Нева»С.-Петербург | 349 | 12.05.2004 | Твердая | 88,00р. | |
15 | С.Маршак | Машина для пахана | Детектив | «Олма»Москва | 382 | 30.03.2001 | Мягкая | 96,00р. | |
16 | А.Каменская | Антикиллер 5 | Детектив | «АСТ»Москва | 289 | 12.06.2003 | Твердая | 153,00р. | |
17 | С.Луганова | Сталин | Автобиография | «Арго»Орёл | 293 | 04.05.2003 | Твердая | 171,00р. |
Мы использовали в своей работе следующие типы данных: