Смекни!
smekni.com

Проектирование базы данных "Книжный каталог" (стр. 2 из 5)

Открыть таблицу в режиме Конструктора можно одним из двух следующих способов:

· выделить таблицу в списке таблиц в окне базы данных и нажать кнопку Конструктор в верхней части окна базы данных;

· щелкнуть правой кнопкой мыши на имени таблицы и из контекстного меню выбрать команду Конструктор.

После выполнения указанных действий на экране появится окно таблицы в режиме Конструктора, а также панель инструментов Конструктор таблиц Окно таблицы в режиме Конструктора состоит из двух панелей.

· Верхняя панель содержит таблицу из трех столбцов: Имя поля,Тип данных и Описание. В столбце Имя поля содержатся имена полей таблицы, в столбце Тип данных указывается тип данных для каждого поля. Заполнение двух первых столбцов является обязательным.

· На нижней панели располагаются две вкладки свойств полей: Общие и Подстановка, а также область контекстной справки.

Ключевое поле таблицы помечается специальным значком — ключик в поле выделения в левой части окна. Чтобы выделить поле, достаточно просто щелкнуть мышью по строке, в которой описывается данное поле. При этом в нижней части окна будут показаны параметры именно для этого поля. Перемещаться между столбцами в верхней панели окна можно с помощью клавиши <Та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р.

Далее мы заносим эти данные в MicrosoftAccess 2003.

Главная таблица

Мы использовали в своей работе следующие типы данных: