Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Разработка БД в приложении СУБД Access. Логическая модель БД. Связи между сущностями




Логическая модель базы данных – это модель реального мира, данные о котором занесены в таблицы и подлежат хранению и обработке в базе данных. Каждая отдельная таблица – это сущность (класс с однотипными объектами) реального мира, обладающая определенным набором свойств (наименования полей таблицы).

Между объектами реального мира существуют определенные отношения (связи), например, продавец (сущность Продавцы (свойства – код продавца, наименование, адрес)) продает товар (сущность Товар (свойства – код товара, наименование товара, цена за единицу)), а клиент (сущность Клиенты (свойства - код клиента, наименование, адрес)) - покупает его. Для того, чтобы отобразить эти отношение в терминах СУБД вводятся специальные понятия отношений – «один –ко-многим», «многие–ко-многим», «один-к-одному».

1. Связь “один к одному” ­ это такой тип связи между сущностями А и В, когда каждому экземпляру сущности А соответствует один и только один экземпляр сущности В и, наоборот, каждому экземпляру сущности В соответствует один и только один экземпляр сущности А.

2. С помощью связи “один ко многим” определяется такой тип связи между сущностями А и В, когда одному экземпляру сущности А может соответствовать 0, 1 или несколько экземпляров сущности В, однако каждому экземпляру сущности В соответствует один и только один экземпляр сущности А.

3. Связь “многие ко многим” определяет такой тип связи между сущностями А и В, при котором каждому экземпляру сущности А может соответствовать 0, 1 или несколько экземпляров сущности В и наоборот.

Рассмотрим отношения между сущностями в приведенном выше примере:

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

- каждый клиент может быть обслужен одним продавцом, но каждый продавец может обслужить много клиентов – связь “один ко многим”;

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

Необходимо отметить, что связь «многие-ко-многим» не поддерживается реляционными СУБД, поэтому для реализации такой связи вводится дополнительная сущность, которая обеспечивает выполнение связей “один-ко-многим” между первоначальными сущностями, например, для реализации отношения товар-клиент можно ввести третью сущность –Покупка со свойствами –код клиента, код товара, количество, дата продажи. В этом случае между сущностями Клиенты, Товар и Покупка будет отношение один-ко-многим (каждая покупка совершается конкретным клиентом с необходимым списком товаров).

Для определения связей между таблицами в СУБД существуют понятия первичного и внешнего ключей базовых таблиц.

Первичный ключ - это поле таблицы, обеспечивающее уникальность каждой записи, предназначен для поддержания целостности данных в пределах одной таблицы. Таблица, содержащая первичный ключ, называется главной. В главных таблицах связей обычно содержится информация о реальных объектах реального мира, причем каждому объекту соответствует только одна запись.

Таблица, содержащая внешний ключ называется связанной или связываемой таблицей.

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

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

- типы данных полей внешнего и первичного ключей совпадают;

- размеры полей внешнего и первичного ключей совпадают.

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

Внешний ключ, также как и первичный ключ, определяется с помощью свойства ‘Индексированное поле’, только в этом случае его значение примет вид – “Да (совпадения допускаются)”.

Для того, чтобы построить логическую модель надо:

Из меню Сервис выбрать команду Схема данных;

В диалоговом окне «Добавление таблицы» выбрать все таблицы (используя клавишу Shift) и нажать кнопку Добавить, либо можно добавить каждую из таблиц поочередно;

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

 
 

Рис.15. Создание ссылочных ограничений

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

- установление флажка "Каскадное обновление связанных полей" означает, что при изменении значений в первичных ключах соответствующие значения внешних ключей будут также изменены.

- установление флажка "Каскадное удаление связанных полей" означает, что при удалении значения первичного ключа соответствующие значения внешнего ключа будут удалены.

 

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 1194; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.