Что означают на схеме данных 1 и
Перейти к содержимому

Что означают на схеме данных 1 и

  • автор:

Что означает «1..*» и «0..1» на схеме?

Есть схема строения базы данных интернет-магазина. Никак не пойму, что означает связь «1..*» и «0..1» между таблицами «Product» и «Cate_prod». Скорее всего это какое-то общеизвестное обозначение, т.к. я где-то видел его и раньше, но никакой информации сейчас я не нашел. Может есть предположения у кого-нибудь?

6008d638dbbe7913102496.png

  • Вопрос задан более трёх лет назад
  • 1172 просмотра

1 комментарий

Простой 1 комментарий

—>Информационные технологии —>

Схема данных позволяет нам посмотреть на нашу базу как бы сверху, увидеть какие у нас таблицы, какие поля есть в этих таблицах, есть ли ключевые поля, есть ли связи между таблицами и по каким полям произведено связывание, включено ли обеспечение целостности. Можно прямо в схеме данных устанавливать связи или удалять связи, помните только, что можно связывать поля с одинаковой по смыслу информацией и с одинаковым типом данных. Например, нельзя связывать поле №зачетки с полем Группа, хотя тип данных у них одинаковый, но по смыслу информация в этих полях разная. Можно задавать обеспечение целостности или отказываться от него, Кроме того, можно включать или отключать такие дополнительные возможности, как Каскадное обновление связанных полей и Каскадное удаление связанных записей.

  1. Создайте схему данных. Добавьте туда все наши таблицы. Вы увидите, что линии связи между первичными и внешними ключами уже созданы. Они были созданы тогда, когда мы делали поля со списком, но не было задано Обеспечение целостности, что видно по тому, что у линий связи не проставлены знаки «1» и «Бесконечность». Обеспечение целостности нам нужно для того, чтобы одна и та же информация в связанных таблицах была представлена одинаково. Например, человек может при вводе ошибиться и ввести в одном случае код группы 1721, а в другом код группы 1721_. Это разные группы с точки зрения Access. Обеспечение целостности страхует нас от таких ошибок.
  2. Задайте Обеспечение целостности для первичных и внешних ключей. Для этого надо выделить линию связи и правой кнопкой мыши вызвать контекстное меню, в котором выбрать «Изменить связь», поставить галочку для обеспечения целостности. У концов линий связи появятся знаки «1» и «Бесконечность». Таблицы на стороне «1» называются главными, а на стороне «Бесконечность» — подчиненными или связанными. Например, таблица Группы — главная, а таблица Студенты подчиненная. Тип связи между ними «один-ко-многим». Это обозначает, что в одной группе может быть много студентов, а может и ни одного. Бывают еще связи «один-к-одному» и «многие-ко-многим». Например, таблица Успеваемость обеспечивает связь «многие-ко-многим». Один студент сдает экзамены по многим дисциплинам, одну дисциплину сдают многие студенты. Правила целостности гарантируют нам, что первичный ключ (например, поле Группа таблицы Группа не будет содержать повторяющихся значений, а внешний ключ (в нашем примере поле Группа таблицы Студенты) будет содержать только те значения, которые ранее были введены в соответствующий первичный ключ.
  3. Проверьте как работает Обеспечение целостности. Для этого, надо открыть какую-нибудь таблицу, например Группы, и попробовать изменить или удалить код какой-нибудь группы. Если у этой группы есть подчиненные записи в таблице Студенты, то Access не позволит нам это сделать. Действительно, как же можно удалять группу, если в ней есть студенты. А вот если студентов в группе нет, тогда можно и удалить код группы, и изменить его. А теперь откроем подчиненную таблицу Студенты и попробуем изменить код группы у какого-либо студента, если такой группы нет в главной таблице Группы, то Access не позволит нам это сделать, в то же время перевести студента из одной группы в другую можно, Поэкспериментируйте.
  4. Задайте у линии связи таблицы Группы Каскадное обновление связанных полей. А теперь откройте таблицу Группы и измените код какой-нибудь группы. Access позволит нам это сделать, но при этом код группы в таблице Студенты также изменится.
  5. Задайте у линии связи таблицы Группы Каскадное удаление связанных записей. Если вы откроете таблицу Группы и попытаетесь удалить запись с кодом какой-либо группы, то Access позволит нам это сделать, но при этом будут удалены все студенты этой группы, так что пользоваться этой возможностью надо осторожно.

2 вопросы

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

Мастер таблиц автоматически формирует таблицу по одному из шаблонов. Пользователю предлагается для выбора более 40 образцов таблиц. Каждая таблица шаблона содержит соответствующий набор полей, из которого можно выбрать нужные поля для включения их в создаваемую таблицу.

Режим Импорт таблиц позволяет переносить таблицы, созданные в других приложенияхWindows, в базы данных Access. При импорте таблиц следует помнить, что импортируемые таблицы, например электронные таблицы, созданные в Excel, должны иметь стандартный формат баз данных, когда каждая строка представляет собой отдельную запись, а столбцы являются полями.

В Режиме таблицы пользователь может создать новую таблицу, не определяя предварительно её структуру. При выборе этого режима открывается пустая таблица, в которую можно вводить данные. Любое поле этой таблицы можно переименовать в соответствии с требованиями пользователя. Этот способ целесообразно применять для создания небольших таблиц, структура которых будет настраиваться позже. Возможности создания таблиц в этом режиме ограничены, и они, как правило, требуют доработки в режимеконструктора.

2. Что такое ключевое поле? Ключевое поле — это одно или несколько полей, комбинация значений которых однозначно определяет каждую запись в таблице.

3. Как установить несколько ключевых полей?

1. Открыть таблицу в режиме конструктора. 2. выделить необходимые поля, щелкая мышью по серому квадратику перед названием поля, удерживая при этом кл. Ctrl 3. нажать на панели инструментов кнопку «Ключевое поле» (желтый ключ).

4. Как установить связи между таблицами?
Логические связи устанавливаются между одноименными полями таблиц базы данных Access 2007. Связь данных в одной таблице с данными в других таблицах осуществляется через уникальные идентификаторы (ключи) или ключевые поля

5. Какие существуют отношения между таблицами?

Связи «многие ко многим»

При установлении связи «многие ко многим» каждой строке таблицы А может соответствовать множество строк таблицы Б и наоборот. Такая связь создается при помощи третьей таблицы, называемой соединительной, первичный ключ которой состоит из внешних ключей, связанных с таблицами А и Б. Например, между таблицами «Авторы» и «Книги» установлена связь вида «многие ко многим», задаваемая с помощью связей вида «один ко многим» между каждой из этих таблиц и таблицей «АвторыКниг». Первичный ключ таблицы «АвторыКниг» — это сочетание столбцов «ИД_автора» (первичного ключа таблицы авторов) и «ИД_книги» (первичного ключа таблицы заголовков).

Связи «один к одному»

При установлении связи «один к одному» каждой строке таблицы А может соответствовать только одна строка таблицы Б и наоборот. Связь «один к одному» создается в том случае, когда оба связанные столбца являются первичными ключами или на них наложены ограничения уникальности.

Этот вид связи используется редко, поскольку в такой ситуации связываемые данные обычно можно хранить в одной таблице. Использовать связь вида «один к одному» можно в указанных ниже случаях. • Чтобы разделить таблицу, содержащую слишком много столбцов. • Чтобы изолировать часть таблицы по соображениям безопасности. • Для хранения данных кратковременного использования, удалить которые проще всего путем очистки таблицы. • Для хранения данных, имеющих отношение только к подмножеству основной таблицы. В Microsoft Access сторона связи «один к одному», которой соответствует первичный ключ, обозначается символом ключа. Сторона связи, которой соответствует внешний ключ, также обозначается символом ключа.

Создание связей между таблицами

При установлении связи между таблицами связанные поля не обязательно должны иметь одинаковые названия. При этом у них должен быть один и тот же тип данных, если только поле, являющееся первичным ключом, не относится к типу «Счетчик». Поле типа «Счетчик» можно связать с полем типа «Числовой» только в том случае, если для свойства FieldSize (размер поля) каждого из них задано одно и то же значение. Например, можно связать столбцы типов «Счетчик» и «Числовой», если для свойства FieldSize каждого из них установлено значение «Длинное целое». Даже если оба связываемых столбца относятся к типу «Числовой», значение свойства FieldSize для обоих полей должно быть одинаковым.

Создание связей «один ко многим» или «один к одному»

Чтобы создать связь вида «один ко многим» или «один к одному», воспользуйтесь приведенной ниже последовательностью действий:

1. Закройте все открытые таблицы. Создавать или изменять связи между открытыми таблицами нельзя.

2. В Access версий 2002 или 2003 выполните указанные ниже действия.

a. Нажмите клавишу F11, чтобы перейти в окно базы данных. b. В меню Сервис выберите команду Связи.

В Access 2007 нажмите кнопку Связи в группе Показать или скрыть вкладки Инструменты для баз данных.

3. Если в базе данных отсутствуют связи, то автоматически появится диалоговое окно Добавление таблицы. Если окно Добавление таблицы не появилось, но при этом нужно добавить таблицы в список связываемых, выберите команду Добавить таблицу в меню Связи.

4. Дважды щелкните названия таблиц, которые необходимо связать, после чего закройте диалоговое окно Добавление таблицы. Чтобы связать таблицу с самой собой, добавьте ее два раза.

5. Перетащите связываемое поле из одной таблицы на связываемое поле в другой. Чтобы перетащить несколько полей, нажмите клавишу CTRL, щелкните каждое поле, а затем перетащите их.

В большинстве случаев понадобится перетащить поле первичного ключа (выделенное полужирным текстом) из одной таблицы на аналогичное поле (часто с тем же самым названием), называемое внешним ключом, другой таблицы.

6. Появится окно Изменение связей. Убедитесь, что в каждом из столбцов отображаются названия нужных полей. Если нужно, их можно изменить.

При необходимости задайте параметры связи. Если требуются сведения о конкретном элементе окна Изменение связей, нажмите кнопку со знаком вопроса, а затем щелкните соответствующий элемент. Эти параметры будут подробно описаны ниже.

7. Чтобы установить связь, нажмите кнопку Создать.

8. Повторите действия с 5 по 8 для каждой пары связываемых таблиц.

При закрытии диалогового окна Изменение связей Microsoft Access спросит, нужно ли сохранить макет. Вне зависимости от ответа на этот вопрос создаваемые связи сохраняются в базе данных.

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

Создание связей «многие ко многим»

Чтобы создать связь вида «многие ко многим», выполните указанные ниже действия.

1. Создайте две таблицы, которые необходимо связать отношением «многие ко многим».

2. Создайте третью таблицу, называемую соединительной, и добавьте в нее поля с теми же определениями, что и поля первичных ключей в каждой из двух других таблиц. Поля первичных ключей соединительной таблицы служат внешними ключами. В соединительную таблицу, как и в любую другую, можно добавить и другие поля.

3. Задайте первичный ключ этой таблицы таким образом, чтобы он включал в себя поля первичных ключей обеих основных таблиц. Например, первичный ключ соединительной таблицы «АвторыКниг» будет состоять из полей «ИД_заказа» и «ИД_продукта».

Примечание. Чтобы создать первичный ключ, выполните указанные ниже действия.

a. Откройте таблицу в режиме конструктора. b. Выберите одно или несколько полей, которые необходимо определить в качестве первичного ключа. Чтобы выбрать одно поле, щелкните знак выбора строки для нужного поля.

Чтобы выбрать несколько полей, удерживайте нажатой клавишу CTRL и щелкните знак выбора строки для каждого из полей.

c. В Access версий 2002 или 2003 нажмите кнопку Первичный ключ на панели инструментов.

В Access 2007 нажмите кнопку Первичный ключ в группе Сервис вкладки Структура.

Примечание. Чтобы порядок следования полей в первичном ключе, состоящем из нескольких полей, отличался от такового в таблице, нажмите кнопку Индексы на панели инструментов, в результате чего появится диалоговое окно Индексы, в котором можно изменить порядок следования полей индекса под названием Ключевое Поле.

4. Установите связь вида «один ко многим» между каждой из двух главных таблиц и соединительной таблицей.

6. Что означают на схеме данных«1» и«∞»?Отношение, сколько раз поле с одной стороны относится к полю с другой.

7. Зачем нужен Мастер подстановок? Сделать более простым ввод значений в поле позволяет операция подстановки. Используя эту операцию, можно выбирать значения поля из списка. Список значений может быть как фиксированным, так и содержаться в таблице или запросе. Сформировать столбец подстановок для поля помогает Мастер подстановок (Lookup Wizard). Давайте создадим столбец подстановок для поля «КодКлиента» в таблице «Список рассылки оповещений». Это даст нам возможность при вводе данных в эту таблицу вводить не коды клиентов, которые мы не знаем, а выбирать из списка название организации, в которой работает данное лицо.

Связывание таблиц в Access

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

Простейшей и наиболее редкой формой связи между таблицами является связь «один к одному», при которой для каждой записи в одной таблице суще­ствует одна связанная с ней запись в другой таблице. Приме­ром такой ситуации может служить связь ЯВЛЯЮТСЯ _РОДИТЕЛЯМИ между таблицами «Сведения о студентах» и «Сведения о родителях».

Гораздо чаще встречается связь «один ко многим», при которой для каж­дой записи в одной таблице существует одна, несколько или ни одной записи в другой таблице. Примером такой ситуации может служить связь ГОДОВЫЕ_ОЦЕНКИ_УЧЕНИКА между таблицами «Сведения о студентах» и «Годовая успеваемость группы».

Нередко приходится иметь дело также со связью «многие ко многим», при которой отсутствуют ограничения на множества пар записей, принадлежа­щих связи. Такая связь в Access не используется. Ее необходимо представить в виде двух связей «один ко многим».

При установке связи одна из таблиц является главной, а другая — подчи­ненной.

Ясно, что заполняя таблицу « Сведения о студентах», мы можем указать в ней фамилии студентов, для которых в таблице «Сведения о родителях» пока нет записей. Обратное неверно: не имеет смысла включать в таблицу «Сведения о родителях» данные о родителях того студента, для которого нет записи и табли­це «Сведения о студентах». Поэтому в паре Сведения о студентах — Сведения о родителях первая таблица является главной, а вторая — подчиненной.

Как правило, связывают ключевое поле одной таблицы с соответствую­щим ему полем другой таблицы, которое называют полем ключа. Связанные поля могут иметь разные имена, однако у них должны быть одинаковые типы данных и одинаковые значения свойств.

При наличии связи между таблицами Access будет автоматически выби­рать связанные данные из таблиц в отчетах, запросах и формах.

Для каждой связи в Access обязательно должен быть выбран один из па­раметров объединения, который задается в окне Параметры объединения.

Если пользователь не укажет параметр объединения, то программа авто­матически установит один из параметров. В зависимости от того, какой прин­цип объединения выбран, меняется объем выводимых из таблиц данных при их совместном использовании.

Помимо определения параметра объединения, пользователь должен поза­ботиться о дополнительных средствах контроля связанных данных, вводимых в разные таблицы.

Механизм, который обеспечивает согласованность данных между двумя связанными таблицами, называется поддержка целостности данных.

Целостность данных означает:

­ в связанное поле подчиненной таблицы можно вводить только те значе­ния, которые имеются в связанном поле главной таблицы;

­ из главной таблицы нельзя удалить запись, у которой значение связанно­го поля совпадает хотя бы с одним значением того же поля в подчинен­ной таблице.

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

­ каскадное обновление связанных полей;

­ каскадное удаление связанных записей.

Если при определении связи установить флажок Каскадное обновление связанных полей, любое изменение значения в ключевом поле главной табли­цы приведет к автоматическому обновлению соответствующих значений во всех связанных записях. Например, при изменении кода ученика в таблице Сведения об учениках будет автоматически обновлено поле Код ученика во всех записях таблицы Годовая успеваемость класса, поэтому целостность данных не будет нарушена. Microsoft Access выполнит каскадное обновление без ввода предупреждающих сообщений.

Если при определении связи установить флажок Каскадное удаление свя­занных записей, любое удаление записи в главной таблице приводит к автома­тическому удалению связанных записей в подчиненной таблице.

Установить связь между таблицами «Сведения о студентах» и «Сведения о родителях».

1) Из меню Сервис выберем команду Схема данных. На экране появится окно Схема данных, в котором можно создавать, просматривать или удалять связи между таблицами базы данных. При работе с базой дан­ных мы обращаемся к этой команде первый раз, поэтому окно должно быть пустым. Если это не так, то предварительно очистим его, выбрав команду О чистить макет из меню Правка или нажав кнопку Очистить макет на панели инструментов;

2) Чтобы добавить таблицы в окно Схема данных, выберем опцию Д обавить таблицу в меню Связи или нажмем кнопку Добавить на панели инструментов;

3) Укажем системе те таблицы, между которыми устанавливаем связь. В списке таблиц, находящемся на вкладке Таблицы окна Добавление таблицы, маркируем таблицу Сведения о студентах и нажмем кноп­ку Д обавить. Проделав ту же операцию с таблицей Сведения о роди­телях, щелкнем на кнопке З акрыть;

Рис. 21 . Окно добавление таблицы.

4) Переместим используемое для связи поле (в данном случае – Код студента) таблицы « Сведения о студентах» к соответствующему полю (Код студента) «Сведения о родителях» с помощью мыши;

5) На экране появится диалоговое окно Связи, в котором будет предло­жена связь между таблицами «Сведения о студентах» и «Сведения о родителях» через поле Код студента;

6) Теперь путем установления типа отношений между таблицами опреде­лим параметры связи. Щелкнем на кнопке Объединение и в раскрывшемся окне выберем параметр объединения. Затем активизируем оп­цию Обеспечение целостности данных;

7) После нажатия кнопки С оздать в окне Связи созданная связь между таблицами «Сведения о студентах» и «Сведения о родителях» отобра­жается графически.

Самостоятельная работа № 1

1) Свяжите таблицы «Сведения о студентах» и «Годовая успеваемость группы» по полю Код студента.

2) Свяжите таблицы «Сведения о студентах» и «Сведения о родителях» по полю Код студента.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *