Курсовая работа: Проектирование базы данных "Книжный каталог"
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.
Главная таблица
Мы использовали в своей работе следующие типы данных:
· Текстовый — символьные или числовые данные, не требующие вычислений. Поле данного типа может содержать до 255 символов. Размер текстового поля задается с помощью свойства Размер поля, в котором указывается максимальное количество символов, которые могут быть введены в данное поле.
· Поле MEMO — поле MEMO предназначено для ввода текстовой информации, по объему превышающей 255 символов. Такое поле может содержать до 65 535 символов. Этот тип данных отличается от типа Текстовый тем, что в таблице хранятся не сами данные, а ссылки на блоки данных, хранящиеся отдельно.
· Числовой — числовой тип применяется для хранения числовых данных, используемых в математических расчетах.
· Дата/Время — тип для представления даты и времени. Позволяет вводить даты с 100 по 9999 год.
· Денежный — тип данных, предназначенный для хранения данных, точность представления которых колеблется от 1 до 4 десятичных знаков.
· Счетчик— поле содержит 4-байтный уникальный номер, определяемый Microsoft Access автоматически для каждой новой записи либо случайным образом, либо путем увеличения предыдущего значения на 1.
3. Создание вычисляемых полей в запросах
Создание запросов интересно не только тем, что вы можете в виде одной таблицы представить данные из нескольких связанных таблиц и отобрать нужные записи из этих таблиц. Вы можете создавать столбцы в запросе, которые являются результатом вычислений над значениями других столбцов. Такие столбцы называются вычисляемыми. Это существенно расширяет возможности запросов. Чтобы создать вычисляемое поле, нужно ввести выражение, которое вычисляет требуемое значение, в строку Поле свободного столбца бланка запроса. В данном примере это выражение представляет собой конкатенацию полей, содержащих имя и фамилию сотрудника, с пробелом между ними.