Понятие ключа и индекса применительно к базам данных и их назначение.
При создании новой таблицы Access всегда предлагает определить для нее первичный ключ. Для многих таблиц нам придется создать искусственный первичный ключ.
База данных хорошо спроектирована в том случае, если каждая запись в любой таблице однозначно идентифицируется. Это означает, что значение некоторого поля (или нескольких полей) не повторяется ни в одной записи в таблице. Такой идентификатор называется первичным ключом(или просто ключом).
Каждая таблица должна иметь уникальный идентификатор, или первичный ключ, который может состоять из одного или нескольких полей.
Всегда, когда это возможно, в качестве первичного ключа следует использовать самые простые данные, имеющие «естественные» уникальные значения. Почти всем публикуемым в мире книгам присваивается относительно короткий (12 символов) код ISBN (International Standard Book Number), который однозначно идентифицирует каждую книгу.
После определения первичных ключей для каждой таблицы нужно проверить, чтобы все данные, включенные в таблицы, относились к соответствующим объектам. Другими словами, следует убедиться, что каждое поле функционально зависит от первичного ключа, который идентифицирует исходный объект таблицы.
Для каждого значения первичного ключа значения в столбцах данных должны относиться к объекту таблицы и полностью его описывать.
Вы должны иметь возможность изменять значения любого поля (не входящего в первичный ключ) без воздействия на данные других полей
При создании новой таблицы в существующую таблицу каждый раз включается поле, связывающее старую и новую таблицы.
Эти «связующие» поля называются внешними ключами.
В хорошо спроектированной базе данных использование внешних ключей обеспечивает эффективность работы приложения. В процессе проектирования нужно внимательно следить за созданием внешних ключей. Задаваемые при создании таблиц в Access связи первичных ключей с внешними ключами используются для объединения данных из нескольких таблиц. Для ускорения поиска можно создать индексы по внешним ключам. Кроме того, можно установить режим обеспечения целостности связей между таблицами (например, Access может не разрешить пользователю создать заказ на несуществующее изделие), при этом для обеспечения целостности данных Access автоматически создает индексы.
11. Определение связей между таблицами базы данных.
Связи “один-к-одному” и “один-ко-многим”
Иногда возникает потребность разбить одну таблицу на более мелкие, потому что некоторые сведения из нее используются не слишком часто или какие-то данные не предназначены для всеобщего доступа. Например, часть данных о заказчиках в таблице Заказчики нужна только для маркетинга и будет использоваться очень редко. С другой стороны, сведения о финансовой надежности заказчиков должны быть доступны далеко не всем сотрудникам. В любом из этих случаев можно создать отдельную таблицу (например, Сведения о заказчиках или Финансы заказчиков), которая имеет тот же первичный ключ Код заказчика. Связь между исходной таблицей Заказчики и таблицей Сведения о заказчиках или Финансы заказчиков - это связь типа «один-к-одному». Это означает, что любая запись в первой таблице связана только с одной записью во второй, и наоборот.
Если запись исходной таблицы может быть связана со многими записями в другой таблице, то такая связь определяется как «один-ко-многим».
Заключительный этап проектирования базы данных заключается в создании связей между таблицами. Для каждого объекта необходимо рассмотреть столбец “Связь” в рабочем бланке и обратить внимание на случаи, когда связь помечена как «многие». Проверьте, чтобы у соответствующего объекта была указана связь «один». Если вы обнаружите «многие» с обеих сторон отношения, придется создать дополнительную таблицу пересечения, с помощью которой одна связь «многие-ко-многим» будет сведена к двум связям типа «один-ко-многим». (Access не позволяет определить прямую связь «многие-ко-многим» между двумя таблицами.) В задаче «Создание заказа» заказ может содержать «много» книг, а книга может появиться во «многих» заказах.
Покончив со связями «многие-ко-многим», нужно создать связи между таблицами базы данных. Для этого необходимо поместить копии первичных ключей из таблиц со стороны «один» в таблицы, находящиеся на стороне «многие». Например, основываясь на информации рабочего бланка для объекта Заказы, приведенного на рис. 8.6 поле Код заказа (первичный ключ таблицы Заказы) должно присутствовать и в таблице Содержание заказа.
Дата добавления: 2021-12-14; просмотров: 348;