Создание базы данных (установка связей между таблицами)
Содержание:
Ограничения
Ограничения можно использовать для создания основных ключей и целостности ссылок, а также для ограничения значений, которые можно вставить в поле. В общем, ограничения можно использовать для сохранения целостности и согласованности данных в базе данных.
Существует два типа ограничений: ограничение на уровне одного поля или поля и ограничение на уровне нескольких полей или таблиц. Оба типа ограничений можно использовать в заявлении CREATE TABLE или ALTER TABLE.
Ограничение на одно поле, также известное как ограничение на уровне столбцов, объявляется с самим полем после того, как было объявлено поле и тип данных. Используйте таблицу клиентов и создайте основной ключ с одним полем в поле CustomerID. Чтобы добавить ограничение, используйте ключевое слово CONSTRAINT с именем поля.
Обратите внимание, что имя ограничения дано. Можно использовать ярлык для объявления основного ключа, полностью отметаемого в пункте CONSTRAINT
Однако использование метода ярлыка приведет к случайному сгенерировать имя ограничения, что затруднит ссылку в коде. Всегда стоит назвать ограничения.
Чтобы снять ограничение, используйте пункт DROP CONSTRAINT с заявлением ALTER TABLE и укай имя ограничения.
Ограничения также могут использоваться для ограничения допустимых значений для поля. Можно ограничить значения NOT NULL или UNIQUE или определить ограничение проверки, которое является типом бизнес-правила, которое можно применить к полю. Предположим, что необходимо ограничить (или ограничить) значения полей имени и фамилии уникальными, что означает, что никогда не должно быть сочетания имени и фамилии, одинаковой для любых двух записей в таблице. Поскольку это ограничение с несколькими полями, оно объявляется на уровне таблицы, а не на уровне поля. Используйте пункт ADD CONSTRAINT и определите список с несколькими полями.
Ограничение проверки — это мощная SQL, которая позволяет добавлять проверку данных в таблицу, создавая выражение, которое может ссылаться на одно поле или несколько полей в одном или нескольких таблицах. Предположим, что необходимо убедиться, что суммы, вписаные в запись счетов, всегда больше $ 0,00. Для этого используйте ограничение проверки, объявив ключевое слово CHECK и выражение проверки в пункте ADD CONSTRAINT из заявления ALTER TABLE.
Выражение, используемое для определения ограничения проверки, также может относиться к более чем одному полю в одной таблице или к полям в других таблицах и может использовать любые операции, допустимые в access SQL, такие как операторы SELECT, математические операторы и агрегированные функции. Выражение, определяющие ограничение проверки, может быть не более 64 символов.
Предположим, что необходимо проверить кредитный лимит каждого клиента, прежде чем он будет добавлен в таблицу клиентов. Используя заявление ALTER TABLE с оговорками ADD COLUMN и CONSTRAINT, создайте ограничение, которое будет проверять значение в таблице CreditLimit для проверки кредитного лимита клиента. Используйте следующие SQL для создания таблицы tblCreditLimit, добавьте поле CustomerLimit в таблицу tblCustomers, добавьте ограничение проверки в таблицу tblCustomers и проверьте ограничение проверки.
Обратите внимание, что при выполнении заявления UPDATE TABLE вы получаете сообщение о том, что обновление не удалось, так как оно нарушило ограничение проверки. Если вы обновим поле CustomerLimit до значения, равного или менее 100, обновление будет успешным
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Показать все строки из одной таблицы и соответствующие строки другой таблицы
Внешние соединения сообщают, что хотя некоторые строки на обеих сторонах соединения точно соответствуют друг другу, в запросе должны содержаться все строки из одной таблицы, а также строки другой таблицы, которые имеют общее значение на обеих сторонах соединения.
Внешние соединения могут быть левыми внешними соединениями или раздельными внешними соединениями. В левом внешнем соединении запрос включает все строки из первой таблицы в предложении SQL FROM, и только те строки из другой таблицы, в которых присоединено поле, содержащее значения, которые являются общими для обеих таблиц. В правом внешнем соединении запрос включает все строки из второй таблицы в предложении SQL FROM, и только те строки из другой таблицы, в которых присоединено поле, содержащее значения, которые являются общими для обеих таблиц.
Примечание: Вы можете легко узнать, какая таблица является левой или правой таблицей в данном соединении, дважды щелкнув соединение и просматривая диалоговое окно » Свойства объединения «. Вы также можете переключиться в режим SQL, а затем проверить предложение FROM.
Так как некоторые строки на одной стороне внешнего соединения не будут содержать соответствующие строки из другой таблицы, некоторые поля, возвращенные в результатах запроса из этой таблицы, будут пустыми, если строки не соответствуют друг другу.
Как использовать внешнее соединение?
Вы создаете внешнее соединение, изменяя существующее внутреннее соединение. Если внутреннее соединение не существует, создайте его, а затем измените на внешнее соединение.
Изменение внутреннего объединения на внешнее соединение
В режиме конструктора запроса дважды щелкните соединение, которое вы хотите изменить.
Откроется диалоговое окно Параметры соединения.
В диалоговом окне Свойства объединения Обратите внимание на варианты, указанные в разделе Параметры 2 и 3. Выберите нужный вариант и нажмите кнопку ОК
Выберите нужный вариант и нажмите кнопку ОК.
Приложение Access выведет соединение и отобразит стрелку, указывающую на источник данных, в который будут включены все строки, в которых будут включены только те строки, которые удовлетворяют условию соединения.
Неоднозначные внешние соединения
Если вы создаете запрос с левым СОЕДИНЕНИЕм и ВНУТРЕННим СОЕДИНЕНИЕм, Access не сможет определить, какую операцию соединения нужно выполнить в первую очередь. Так как результаты различаются в зависимости от того, выполняется ли левое соединение или внутреннее соединение, Access выводит сообщение об ошибке:
Чтобы исправить эту ошибку, измените запрос так, чтобы он не был понятен для выполнения первой операции.
Синтаксис SQL для внешнего соединения
Внешние соединения задаются в SQL в предложении FROM, как показано ниже.
FROM Таблица1 Join Таблица2для Table1. field1 Compare Table2. поле2
Операции LEFT JOIN и RIGHT JOIN состоят из следующих элементов:
Имена таблиц, содержащих объединяемые записи.
Имена Объединенных полей. Поля должны быть одного и того же тип данных и содержать данные одного и того же типа, но они не должны иметь одинакового имени.
Любой оператор сравнения: (=, , = или <>)
Дополнительные сведения о синтаксисе OUTER JOIN можно найти в разделе Выполнение операций соединения LEFT JOIN и RIGHT JOIN.
Работа с обратными навигационными свойствами
Пока мы использовали по одному навигационному свойству между двумя классами модели, Code-First понимал, как настроить отношения между ними. Существует такие случаи, когда между двумя таблицами базы данных нужно определить несколько отношений. Например, таблица Customers могла бы ссылаться на все заказы, на обработанные заказы (которые оплатил покупатель) и необработанные заказы. Логичнее всего решить данную проблему, это просто добавить новый столбец, например IsProcess, в таблицу Orders, который имел бы логическое значение и указывал бы на то, обработан заказ или нет. Но также эту проблему можно решить использовав три внешних ключа, связывающих эти таблицы.
В модели классов это решение будет выглядеть следующим образом:
В данном примере Code-First не сможет автоматически распознать связь между навигационными свойствами этих классов. Если вы выполните этот пример, то увидите, что в созданной таблице Orders было добавлено пять внешних ключей – по одному для каждого несвязанного навигационного свойства, и один ключ для связанных свойств Orders и Customer (если вы удалите настройку Fluent API, показанную ранее, в которой мы привязали эти свойства и указали внешний ключ, то Code-First сгенерирует 6 внешних ключей).

Согласно соглашениям, Code-First может самостоятельно определить двунаправленную связь между таблицами, только когда существует всего одна пара навигационных свойств. В нашем примере их несколько, поэтому Code-First создаст по одному внешнему ключу для каждого навигационного свойства.
Вы можете исправить эту проблему используя атрибут InverseProperty в аннотациях, в конструкторе которого передается имя навигационного свойства родительской таблицы, или вручную установив отношения между таблицами, с помощью Fluent API. Необходимый для этого код показан в примере ниже:
Теперь будет создано три внешних ключа, как и требовалось:

Изменение размеров полей и строк
Если ваши поля и строки слишком малы или велики для данных, содержащихся в них, вы всегда можете изменить их размер, чтобы отображался весь текст.
Чтобы изменить размер поля:
- 1. Поместите курсор над правой сеткой в заголовке поля. Ваша мышь станет двойной стрелкой.
- 2. Нажмите и перетащите линию сетки вправо, чтобы увеличить ширину поля или влево, чтобы уменьшить ширину поля.
- 3. Отпустите мышь. Ширина поля будет изменена.
Чтобы изменить размер строки:
- 1. Поместите курсор на нижнюю линию сетки в серой области слева от строки. Ваша мышь станет двойной стрелкой.
- 2. Нажмите и перетащите линию сетки вниз, чтобы увеличить высоту строки или вверх, чтобы уменьшить высоту строки.
- 3. Отпустите мышь. Высота строки будет изменена.
Заявление TRANSFORM
Хотя заявление TRANSFORM, также известное как запрос crosstab, также технически не считается соединением, оно включено здесь, поскольку оно включает объединение данных из нескольких источников данных в один набор результатов, который похож на некоторые типы объединений.
Заявление TRANSFORM используется для вычисления суммы, среднего, подсчета или другого типа совокупного общего числа записей. Затем он отображает сведения в формате сетки или таблицы с данными, сгруппными по вертикали (строки) и горизонтально (столбцы). Общая форма для заявления TRANSFORM следующая.
Примером может быть создание таблицы данных, которая отображает итоги счетов для каждого клиента из года в год. Вертикальные заголовки будут именами клиентов, а горизонтальные заголовки — годами. Вы можете изменить предыдущее SQL, чтобы соответствовать заявлению преобразования.
Следует помнить, что функцией агрегации является функция Sum, вертикальные заголовки находятся в пункте GROUP BY в заявлении SELECT, а горизонтальные заголовки определяются полем, указанным после ключевого слова PIVOT.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Оператор UNION
Хотя оператор UNION, также известный как запрос union, технически не является объединением, он включен здесь, так как он включает объединение данных из нескольких источников данных в один набор результатов, аналогичный некоторым типам объединений. Оператор UNION используется для спломбирований данных из таблиц, операторов SELECT или запросов, не оставляя при этом дублирующихся строк. Оба источника данных должны иметь одинаковое количество полей, но поля не должны быть одним типом данных. Предположим, что у вас есть таблица Employees, которая имеет ту же структуру, что и таблица Клиентов, и необходимо создать список имен и адресов электронной почты, объединив обе таблицы.
Чтобы получить все поля из обеих таблиц, можно использовать ключевое слово TABLE, как это.
Оператор UNION не будет отображать записи, которые являются точными дубликатами в обеих таблицах, но это может быть переопределено с помощью предиката ALL после ключевого слова UNION, как это:
Связывание таблиц и удаление связей в Microsoft Access
Работа с базами данных — процесс, требующий определённых навыков и понимания некоторых нюансов. Разработанная компанией Microsoft программа Access даёт пользователям возможность быстро создавать и редактировать БД. Один из важнейших моментов, с которым обязательно нужно разобраться, при создании БД — связывание её элементов. В этой статье разберёмся с тем, как создать или удалить связи между таблицами в Access. Давайте же начнём. Поехали!
Прежде чем мы перейдём к связыванию, необходимо создать так называемые ключевые поля. Что это такое? Ключевое поле — это поле, определяющее каждую запись. Теперь перейдём непосредственно к его созданию. Открыв нужную таблицу, щёлкните правой кнопкой мыши по вкладке и выберите пункт «Конструктор». Затем добавьте новое поле. Например, если у вас есть список сотрудников, то ключевым стоит сделать «код сотрудника», указав тип данных «счётчик» либо «числовой». Чтобы сделать его ключевым, нажмите кнопку «Ключевое поле», расположенную на панели инструментов Microsoft Access. Далее, необходимо проделать то же самое для всех остальных таблиц.

Теперь уже можно связывать наши таблицы. Чтобы сделать это, откройте вкладку «Работа с базами данных» и в разделе «Отношения» ленты инструментов выберите пункт «Схема данных». Перед вами откроется окно, в котором понадобится выбрать все таблицы. Поочерёдно кликните по каждой из них. Закончив, выйдите из этого окна. Теперь нужно определиться с тем, как именно связывать. Например, есть две таблицы: «Бренд» и «Одежда», между которыми необходимо связать между собой. Поле «Код бренда» должно быть и там, и там. Если оно отсутствует — создайте его. При этом для записей категории «Бренд» оно будет ключевым (так называемый первичный ключ), а для «Одежда» — обычным (внешний ключ). Первичный ключ «Код бренда» перетащите на внешний ключ «Код бренда». После этого появится диалоговое окно, в котором нужно отметить галочками пункты: «Обеспечение целостности…», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей». Отметив все пункты, нажмите кнопку «Создать». Появится чёрная линия, соединяющая указанные строки. Созданная связь имеет название «один ко многим». То есть в приведённом примере это будет означать, что один бренд может выпускать много разной одежды.

Далее, аналогичным образом свяжите все остальные, не забывая добавлять поля. Имея минимум три таблицы (среди которых две основных и одна промежуточная), вы можете создать тип связи «многие ко многим». Для заполнения полей, являющихся внешними ключами, можно использовать «Мастер подстановок». Чтобы сделать это, перейдите в режим конструктора и в разделе «Тип данных» выберите пункт «Мастер подстановок». В открывшемся окне выберите откуда будет взята информация для заполнения. Затем укажите нужные поля и нажмите кнопку «Далее». Следующие два окна можно пропустить. В конце кликните по кнопку «Готово». Прежде чем начать заполнение, программа предложит вам сохраниться, щёлкните «Да»
Обратите внимание, что заполнение таким способом возможно только в случае, если связь ещё не установлена. Если у вас так не получилось, то вы можете удалить её и заполнить ячейки
После этого она автоматически появится, однако, вам понадобится кликнуть по ней два раза и отметить галочками пункты: «Обеспечение целостности…», «Каскадное обновление связанных полей» и «Каскадное удаление связанных записей».

Чтобы удалить связь, кликните по кнопке «Схема данных» на панели инструментов, затем щёлкните по линии, показывающей её, и нажмите на клавиатуре клавишу delete.
Параметры форматирования таблиц
Цвет чередующихся строк
По умолчанию фон любой другой строки в таблице Access представляет собой несколько оттенков, более темных, чем фон остальной части таблицы. Этот более темный цвет чередующихся строк упрощает чтение вашей таблицы, предлагая визуальное различие между каждой записью и записями непосредственно выше и ниже нее.
Чтобы изменить цвет другой строки:
- 1. Выберите вкладку «Главная» и найдите группу форматирования текста.
- 2. Нажмите стрелку раскрывающегося списка «Альтернативный ряд».
- 3. Выберите цвет в раскрывающемся меню или выберите «Нет цвета», чтобы удалить цвет другой строки.
- 4. Цвет вашей альтернативной строки будет обновлен.
Понятие о целостности данных
При создании базы данных сведения распределяются по множеству тематически организованных таблиц, чтобы свести к минимуму избыточность данных. После этого в Access предоставляются средства сбора разбросанных данных путем создания в связанных таблицах общих полей. Например, чтобы создать связь «один-ко-многим», добавьте первичный ключ из таблицы на стороне «один» как дополнительное поле в таблицу на стороне «многие». Чтобы соединить данные, Access подставляет значение из таблицы на стороне «многие» в соответствующее поле таблицы на стороне «один». Таким образом, значения таблицы на стороне «многие» связаны с соответствующими значениями на стороне «один».
Предположим, между таблицами «Грузоотправители» и «Заказы» существует связь «один-ко-многим», и нужно удалить грузоотправителя. Если у грузоотправителя, которого нужно удалить, есть заказы в таблице «Заказы, они станут потерянными записями после удаления записи грузоотправителя. В таблице «Заказы» останется код грузоотправителя, но он будет недействителен, поскольку запись, на которую он ссылается, уже не существует.
Задача сохранения целостности данных состоит в предотвращении появления потерянных записей и поддержании ссылок в синхронизированном состоянии, чтобы описанная выше гипотетическая ситуация никогда не возникла.
Вы можете обеспечить целостность данных, активировав эту функцию для связь между таблицами (см. статью Обеспечение целостности данных для пошаговых инструкций). После активации, Access будет отклонять любые операции, нарушающие целостность данных для этой межтабличной связи. Это означает, что Access будет отклонять как любые обновления, изменяющие целевой объект ссылки, так и удаление такого целевого объекта. Возможно, у вас может быть полностью допустимая потребность в изменении первичного ключа для поставщика, у которого есть заказы в таблице «Заказы». В этом случае необходимо, чтобы Access выполнил автоматическое обновление всех задействованных строк в рамках одной операции. Таким образом, Access гарантирует, что обновление будет полностью завершено, а база данных не будет находиться в несогласованном состоянии, когда некоторые строки обновлены, а другие — нет. Для этого в Access имеется параметр Каскадное удаление связанных записей. Если при включении обеспечения целостности данных был включен параметр Каскадное удаление связанных полей, то при последующем обновлении первичного ключа Access автоматически обновляет все связанные с ним поля.
Может понадобиться удалить строку и все связанные записи — например, запись грузоотправителя и все связанные с ним заказы. Для этого в Access имеется параметр Каскадное удаление связанных записей. Если при обеспечении целостности данных выбрать параметр Каскадное удаление связанных записей, а затем удалить запись на стороне первичного ключа в отношении, Access автоматически удалит все записи со ссылкой на первичный ключ.
Как определить связи между таблицами
При создании связи между таблицами связанные поля не должны иметь одни и те же имена. Однако связанные поля должны иметь один и тот же тип данных, если только поле первичного ключа не является полем AutoNumber. Вы можете сопоставить поле AutoNumber с полем Number, только если свойство FieldSize обоих совпадающих полей совпадает. Например, можно сопоставить поле AutoNumber и поле Number, если свойство theFieldSizeproperty обоих полей имеет значение Long Integer. Даже если оба совпадающих поля являются числовыми полями, они должны иметь параметр sameFieldSizeproperty.
Как определить связи «один ко многим» или «один к одному»
Чтобы создать связь «один ко многим» или «один к одному», выполните следующие действия.
-
Закройте все таблицы. Нельзя создавать или изменять связи между открытыми таблицами.
-
В Access 2002 и Access 2003 выполните следующие действия.
- Нажмите F11, чтобы переключиться в окно базы данных.
- В меню Инструменты выберите Связи.
В Access 2007, Access 2010 или Access 2013 нажмите Связи в группе Показать/Скрыть на вкладке Инструменты базы данных.
-
Если вы еще не определили какие-либо связи в базе данных, автоматически отобразится диалоговое окно Показать таблицу. Если вы хотите добавить таблицы, которые нужно связать, но диалоговое окно Показать таблицу не отображается, нажмите Показать таблицу в меню Связи.
-
Дважды щелкните названия таблиц, которые вы хотите связать, а затем закройте диалоговое окно Показать таблицу. Чтобы создать связь между одной и той же таблицей, добавьте эту таблицу два раза.
-
Перетащите поле, которое вы хотите связать, из одной таблицы в связанное поле в другой таблице. Чтобы перетащить несколько полей, нажмите Ctrl, нажмите на каждое поле, а затем перетащите их.
В большинстве случаев вы перетаскиваете поле первичного ключа (это поле отображается жирным текстом) из одной таблицы в аналогичное поле (это поле часто имеет одно и то же имя), которое называется внешним ключом в другой таблице.
-
Откроется диалоговое окно Изменение связей. Убедитесь, что имена полей, отображаемые в двух столбцах, верны. Вы можете изменить имена, если это необходимо.
При необходимости установите параметры связей. Если у вас есть информация о конкретном элементе в диалоговом окне Изменение связей, нажмите кнопку со знаком вопроса, а затем нажмите на элемент. (Эти параметры будут подробно описаны ниже в этой статье.)
-
Нажмите кнопку Создать, чтобы создать связь.
-
Повторите шаги с 4 по 7 для каждой пары таблиц, которые вы хотите связать.
При закрытии диалогового окна Изменение связей Access спрашивает, хотите ли вы сохранить макет. Сохраняете ли вы макет или не сохраняете макет, созданные вами связи сохраняются в базе данных.
Примечание
Можно создавать связи не только в таблицах, но и в запросах. Однако целостность данных связывания не обеспечивается с помощью запросов.
Как определить связь «многие ко многим»
Чтобы создать связь «многие ко многим», выполните следующие действия.
-
Создайте две таблицы, которые будут иметь связь «многие ко многим».
-
Создайте третью таблицу. Это стыковочная таблица. В таблице соединения добавьте новые поля, которые имеют те же определения, что и основные ключевые поля из каждой таблицы, созданной в шаге 1. В связующей таблице основные ключевые поля функционируют как внешние ключи. Вы можете добавить другие поля в связующую таблицу, так же, как и в любую другую таблицу.
-
В связующей таблице установите первичный ключ, чтобы включить основные ключевые поля из двух других таблиц. Например, в связующей таблице «TitleAuthors» первичный ключ будет состоять из полей OrderID и ProductID.
Примечание
Чтобы создать первичный ключ, выполните следующие действия:
-
Откройте таблицу в Конструкторе.
-
Выберите поле или поля, которые вы хотите определить в качестве первичного ключа. Чтобы выбрать одно поле, нажмите на селектор строки для нужного поля. Чтобы выбрать несколько полей, удерживайте клавишу Ctrl, а затем нажмите селектор строки для каждого поля.
-
В Access 2002 или в Access 2003 нажмите на Первичный ключ на панели инструментов.
В Access 2007 нажмите на Первичный ключ в группе Инструменты на вкладке Дизайн.
Примечание
Если вы хотите, чтобы порядок полей в первичном ключе с несколькими полями отличался от порядка этих полей в таблице, нажмите Индексы на панели инструментов для отображения диалогового окна Indexes, а затем заново упорядочите имена полей для индекса с именем PrimaryKey.
-
-
Определите связь один-ко-многим между каждой основной и связующей таблицами.
Ключевое поле
Ключевое поле – это столбец, с неповторяющимися данными, однозначно определяющий каждую запись таблицы. Создается в режиме конструктора. Различают три вида ключевых полей:
Ключевое поле«Счетчик» – в этом поле каждой записи таблицы присваивается уникальный порядковый номер.
Простой ключ – это столбец таблицы, содержащий заведомо уникальные, не повторяющиеся значения.
Составной ключ– несколько столбцов таблицы, комбинация которых является уникальной.
В общем случае ключи бывают двух видов: первичный (уникальный) и вторичный.
Первичный ключ – это одно или несколько полей, однозначно идентифицирующих запись. Первичный ключ не допускает значений Null и всегда должен иметь уникальный индекс. Если первичный ключ состоит из одного поля, он называется простым, если из нескольких полей — составным ключом.
Вторичный (внешний) ключ – это одно или несколько полей в таблице, содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ определяет способ объединения таблиц. Значение вторичного ключа может повторяться в нескольких записях и не является уникальным.
Если по значению первичного ключа может быть найден один-единственный экземпляр записи, то по вторичному ключу – несколько записей.
В поле первичного ключа должны быть только уникальные значения в каждой строке таблицы, т.е. совпадение не допускается, а в поле вторичного ключа совпадение значений в строках таблицы допускается.
Из двух логически связанных таблиц одну называют таблицей первичного ключа или главной таблицей, а другую таблицей вторичного (внешнего) ключа или подчиненной таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и совместно вывести их в форме, отчете или запросе.
Поле Подстановки позволяет организовать ввод значений в поля таблицы путем выбора данных из списка фиксированных значений вводимых пользователем или значений, подставляемых из другой таблицы. ПолеПодстановки создается в режиме конструктора при задании типа данных с помощью мастера подстановок или при задании свойств на вкладке подстановка.
Связи между таблицами базы данных
Реляционная база данных, как правило, состоит из нескольких таблиц, связанных между собой. Установку и настройку связей в БД Access осуществляют в окне Схемы данных. Связь между двумя таблицами осуществляется по двум столбцам этих таблиц с одинаковым содержимым. Связываемые поля могут по-разному называться, но значения, тип и размер данныхв них должны совпадать.
Существует три типа связей:
Связь один к одному (1 – 1) предполагает, что одной записи первой таблицы соответствует только одна запись второй таблицы. Поля связи в обеих таблицах являются ключевыми.
При связи один ко многим (1 – ¥ или ¥ – 1) одной записи главной таблицы (1) могут соответствовать несколько записей подчиненной таблицы (¥). Поле связи в главной таблице должно быть ключевым, а в подчиненной таблице – не ключевым.
Связь многие ко многим (1 – ¥ – 1) означает, что каждой записи первой таблицы может соответствовать несколько записей второй таблицы и наоборот. Связь многие ко многим между двумя «главными» таблицами осуществляется через третью таблицу, подчиненную обеим главным таблицам, с помощью связей один ко многим.
При определении связи дополнительно можно задать условие целостности связанных данных и каскадного обновления связанных полей (при обновлении данных в одной из связанных таблиц меняются связанные данные в другой).
Навигация по столам
Чтобы перемещаться по записям в таблице, вы можете использовать клавиши со стрелками вверх и вниз, прокручивать вверх и вниз или использовать стрелки на панели навигации записи, расположенной в нижней части таблицы. Вы также можете найти любую запись в текущей открытой таблице, выполнив ее поиск, используя окно поиска записей. Просто поместите курсор в поле поиска, введите любое слово, которое появляется в записи, которую вы хотите найти, и нажмите Enter. Чтобы просмотреть дополнительные записи, соответствующие вашему поиску, нажмите Enter еще раз.
Чтобы перемещаться между полями, вы можете использовать клавиши со стрелками влево и вправо или прокручивать влево и вправо.
Вывод
Итак, с уверенностью можно заявить, что создание базы данных в MS Access 2007 мы разобрали полностью. Теперь вам известны все основные функции СУБД: от создания и заполнения таблиц до написания запросов на выборку и создания отчетов. Этих знаний хватит для выполнения несложных лабораторных работ в рамках университетской программы или использования в небольших личных проектах.
Для проектирования более сложных БД необходимо разбираться в объектно-ориентированном программировании и изучать такие СУБД, как MS SQL и MySQL. А для тех, кому нужна практика составления запросов, рекомендую посетить сайт SQL-EX, где вы найдете множество практических занимательных задачек.
Удачи в освоении нового материала и если есть какие-либо вопросы – милости прошу в комментарии!