Что такое схема данных в бд. Схема данных. Разделение пользователей и схем

Таблицы в программе Access 2007 представляют связанную систему. Объединение позволяет вести обработку данных из нескольких таблиц. Для обработки формируются запросы – таблицы, в которых сведения из одной или нескольких таблиц сгруппированы нужным образом, иногда с производством необходимых вычислений. Запросы мы рассмотрим в последующих главах, а здесь поговорим о связях между таблицами.

Схема данных задаёт структуру базы данных. В ней представляются и запоминаются связи между таблицами. Эти связи используются при конструировании запросов и отчётов на основе нескольких таблиц. Схема данных отображает связи графически. Таблицы на схеме представлены в виде прямоугольников со списками полей. Если полей слишком много и они не помещаются в прямоугольник, то автоматически с правой стороны прямоугольника образуется полоса прокрутки , с помощью которой можно просмотреть весь список. Схема данных , используемая в нашей работе, представлена на рис. 6.10.

Рис. 2.11 Виды связей между таблицами: а) один-к-одному, б) один-ко-многим и в) многие-ко-многим

Связи в Access 2007 встречаются трёх видов: а) один-к-одному, б) один-ко-многим и в) многие-ко-многим, как это показано на рис. 2.11. Первый вид связи показывает, что одной записи в Таблице1 соответствует одна же запись в Таблице2 . Такой способ связи применяют, например, для двух таблиц, сделанных из одной, чтобы таблицы не были слишком громоздкими. Тогда Таблица2 – просто продолжение Таблицы1 . Чаще других встречаются связи один-ко-многим. Например, на одной кафедре работает много преподавателей. Поэтому между таблицами Кафедры и Преподаватели устанавливается именно такая связь.

Рис. 2.12 Вкладка Работа с базами данных

Связь типа многие-ко-многим в программе Access 2007 прямо не осуществляется. Чтобы создать такую связь, надо вставить промежуточную таблицу. Например, в нашей базе данных (рис. 6.10) предусмотрена промежуточная таблица Заказано , поскольку между таблицами Клиенты и Товары существует связь многие-ко-многим . Таблица Заказано позволяет избежать такой связи, которая в Access 2007 напрямую не осуществима.

Техника установления связи между таблицами включает в себя три действия: 1) вызов Схемы данных – окна, в котором и будет изображена схема, 2) добавление в окно схемы тех таблиц, между которыми надо установить связи и 3) протягивание связей между таблицами с приданием им необходимых свойств. Рассмотрим эти действия подробно.

Рис. 2.13 Диалоговое окно Добавление таблицы

Схему данных можно вызвать, когда нужные таблицы уже созданы. Для её вызова надо щёлкнуть по кнопке Схема данных на ленте вкладки Работа с базами данных (рис. 2.12). Появится окно Схема данных , пока пустое, и диалоговое окно Добавление таблицы , которое видно на рис. 2.13. С помощью окна Добавление таблицы в окно Схема данных помещают необходимые таблицы.

Рис. 2.14 Контекстное меню, вызванное правой кнопкой мыши, внутри окна Схема данных

Если по каким-то причинам окно Добавление таблицы не появилось, то надо щёлкнуть правой кнопкой в любом месте окна Схема данных . Появится контекстное меню (рис. 2.14). В нём надо щёлкнуть по надписи Добавить таблицу . Появится диалоговое окно Добавление таблицы , которое видно на рис. 2.13.

С появлением диалогового окна Добавление таблицы можно перенести внутрь окна Схема данных нужные таблицы. Мы ограничимся двумя таблицами: Кафедры и Преподаватели . Названия этих таблиц надо выделить, как показано на рис. 2.13, а потом сразу же щёлкнуть по кнопке Добавить . Точно так же поступают и с другими таблицами, которые надо поместить в Схему данных . Окно Добавление таблицы после добавления нужных таблиц следует закрыть. В нашем примере прямоугольники, обозначающие обе нужные нам таблицы, появятся в Схеме данных , как это видно на рис. 2.15.

Обозначения таблиц внутри окна Схема данных содержат список всех полей данной таблицы, причём слева от имени ключевого поля (или ключевых, если их несколько) расположен значок ключ. Обозначения таблиц можно передвигать мышью, ухватив за заголовок таблицы. Можно изменять и размеры прямоугольников, обозначающих таблицы. Для этого надо подвести указатель мыши к одной из границ прямоугольника. Появится двунаправленная стрелка: . Захватив такую стрелку мышью, можно передвинуть границу прямоугольника в любое место, тем самым, изменив его размер.

Рис. 2.15 Законченная Схема данных со связью между таблицами

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

Рис. 2.16 Диалоговое окно Изменение связей

Техника соединения таблиц связями проста: надо щёлкнуть соединяемое поле главной таблицы. Оно выделится. Не отпуская кнопку мыши, надо вести линию к одноимённому полю вспомогательной таблицы. Соединения сначала не произойдёт, а возникнет диалоговое окно Изменение связей (рис. 2.16). Окно помогает утвердить характер связи и настроить целостность данных обеих таблиц. В окне надо убедиться, что связь произошла по одноимённым полям, а затем щёлкнуть по окошечку надписи . В окошечке появится флажок: ü. После этого надо такие же флажки выставить ещё в двух окошечках, находящихся ниже. Таким образом, задаются свойства связи. Свойство Обеспечение целостности данных означает, что удалять данные из ключевого поля главной таблицы нельзя. А свойства Каскадное обновление связанных полей и Каскадной удаление связанных записей – соответственно, что операции редактирования и удаления данных в ключевом поле главной таблицы разрешены, но сопровождаются автоматическим изменениями в связанной таблице. Завершается создание связи щелчком по кнопке [Создать] . Нужная связь появится (рис. 2.15).

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

Рис. 2.17 Окно с предупреждением о невозможности создания связи


Схема данных

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

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

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

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

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

Схемы данных отображаются в области навигации в окне БД лишь в проектах Access, которые работают с базами данных сервера. Чтобы отобразить схему данных в БД Access используют команду Схема данных , размещенную в группе Отношения на вкладке Работа с базами данных .

Пример 1

Рассмотрим модель данных предметной области «Поставка товаров» (рисунок 1). Схема данных Access, построенная для данной модели данных, представлена на рисунке 2.

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

Особенности схемы данных

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

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

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

Таблицы в программе Access 2007 представляют связанную систему. Объединение позволяет вести обработку данных из нескольких таблиц. Для обработки формируются запросы – таблицы, в которых сведения из одной или нескольких таблиц сгруппированы нужным образом, иногда с производством необходимых вычислений. Запросы мы рассмотрим в последующих главах, а здесь поговорим о связях между таблицами.

Схема данных задаёт структуру базы данных. В ней представляются и запоминаются связи между таблицами. Эти связи используются при конструировании запросов и отчётов на основе нескольких таблиц. Схема данных отображает связи графически. Таблицы на схеме представлены в виде прямоугольников со списками полей. Если полей слишком много и они не помещаются в прямоугольник, то автоматически с правой стороны прямоугольника образуется полоса прокрутки , с помощью которой можно просмотреть весь список. Схема данных , используемая в нашей работе, представлена на рис. 6.10.

Рис. 2.11 Виды связей между таблицами: а) один-к-одному, б) один-ко-многим и в) многие-ко-многим

Связи в Access 2007 встречаются трёх видов: а) один-к-одному, б) один-ко-многим и в) многие-ко-многим, как это показано на рис. 2.11. Первый вид связи показывает, что одной записи в Таблице1 соответствует одна же запись в Таблице2 . Такой способ связи применяют, например, для двух таблиц, сделанных из одной, чтобы таблицы не были слишком громоздкими. Тогда Таблица2 – просто продолжение Таблицы1 . Чаще других встречаются связи один-ко-многим. Например, на одной кафедре работает много преподавателей. Поэтому между таблицами Кафедры и Преподаватели устанавливается именно такая связь.

Рис. 2.12 Вкладка Работа с базами данных

Связь типа многие-ко-многим в программе Access 2007 прямо не осуществляется. Чтобы создать такую связь, надо вставить промежуточную таблицу. Например, в нашей базе данных (рис. 6.10) предусмотрена промежуточная таблица Заказано , поскольку между таблицами Клиенты и Товары существует связь многие-ко-многим . Таблица Заказано позволяет избежать такой связи, которая в Access 2007 напрямую не осуществима.

Техника установления связи между таблицами включает в себя три действия: 1) вызов Схемы данных – окна, в котором и будет изображена схема, 2) добавление в окно схемы тех таблиц, между которыми надо установить связи и 3) протягивание связей между таблицами с приданием им необходимых свойств. Рассмотрим эти действия подробно.

Рис. 2.13 Диалоговое окно Добавление таблицы

Схему данных можно вызвать, когда нужные таблицы уже созданы. Для её вызова надо щёлкнуть по кнопке Схема данных на ленте вкладки Работа с базами данных (рис. 2.12). Появится окно Схема данных , пока пустое, и диалоговое окно Добавление таблицы , которое видно на рис. 2.13. С помощью окна Добавление таблицы в окно Схема данных помещают необходимые таблицы.

Рис. 2.14 Контекстное меню, вызванное правой кнопкой мыши, внутри окна Схема данных

Если по каким-то причинам окно Добавление таблицы не появилось, то надо щёлкнуть правой кнопкой в любом месте окна Схема данных . Появится контекстное меню (рис. 2.14). В нём надо щёлкнуть по надписи Добавить таблицу . Появится диалоговое окно Добавление таблицы , которое видно на рис. 2.13.

С появлением диалогового окна Добавление таблицы можно перенести внутрь окна Схема данных нужные таблицы. Мы ограничимся двумя таблицами: Кафедры и Преподаватели . Названия этих таблиц надо выделить, как показано на рис. 2.13, а потом сразу же щёлкнуть по кнопке Добавить . Точно так же поступают и с другими таблицами, которые надо поместить в Схему данных . Окно Добавление таблицы после добавления нужных таблиц следует закрыть. В нашем примере прямоугольники, обозначающие обе нужные нам таблицы, появятся в Схеме данных , как это видно на рис. 2.15.

Обозначения таблиц внутри окна Схема данных содержат список всех полей данной таблицы, причём слева от имени ключевого поля (или ключевых, если их несколько) расположен значок ключ. Обозначения таблиц можно передвигать мышью, ухватив за заголовок таблицы. Можно изменять и размеры прямоугольников, обозначающих таблицы. Для этого надо подвести указатель мыши к одной из границ прямоугольника. Появится двунаправленная стрелка: . Захватив такую стрелку мышью, можно передвинуть границу прямоугольника в любое место, тем самым, изменив его размер.

Рис. 2.15 Законченная Схема данных со связью между таблицами

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

Рис. 2.16 Диалоговое окно Изменение связей

Техника соединения таблиц связями проста: надо щёлкнуть соединяемое поле главной таблицы. Оно выделится. Не отпуская кнопку мыши, надо вести линию к одноимённому полю вспомогательной таблицы. Соединения сначала не произойдёт, а возникнет диалоговое окно Изменение связей (рис. 2.16). Окно помогает утвердить характер связи и настроить целостность данных обеих таблиц. В окне надо убедиться, что связь произошла по одноимённым полям, а затем щёлкнуть по окошечку надписи . В окошечке появится флажок: ü. После этого надо такие же флажки выставить ещё в двух окошечках, находящихся ниже. Таким образом, задаются свойства связи. Свойство Обеспечение целостности данных означает, что удалять данные из ключевого поля главной таблицы нельзя. А свойства Каскадное обновление связанных полей и Каскадной удаление связанных записей – соответственно, что операции редактирования и удаления данных в ключевом поле главной таблицы разрешены, но сопровождаются автоматическим изменениями в связанной таблице. Завершается создание связи щелчком по кнопке [Создать] . Нужная связь появится (рис. 2.15).

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

Рис. 2.17 Окно с предупреждением о невозможности создания связи


Определение связей между таблицами в базе данных Access

Схема данных

Схема данных является графическим образом БД. Она используется различными объектами Access для определения связей между несколькими таблицами. Например, при создании формы, содержащей данные из нескольких взаимосвязанных таблиц, схема данных обеспечивает автоматический согласованный доступ к полям этих таблиц. Она же обеспечивает целостность взаимосвязанных данных при корректировке таблиц.

После того, как созданы таблицы БД, можно установить связи между ними, обратившись к схеме данных. Запуск схемы данных выполняется через значок "Схема данных" на панели инструментов Access.

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

Обязательным условием при установлении связи является совпадение связываемых полей по типу и формату.

Типы связей

Тип отношения в создаваемой Microsoft Access связи зависит от способа определения связываемых полей.

Отношение «один-ко-многим»

Отношение «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В отношении «один-ко-многим» каждой записи в таблице A могут соответствовать несколько записей в таблице B, но запись в таблице B не может иметь более одной соответствующей ей записи в таблице A.

Отношение «один-к-одному»

При отношении «один-к-одному» запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения очень широких таблиц, для отделения части таблицы по соображениям защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.

Отношение «многие-ко-многим»

При отношении «многие-ко-многим» одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы, первичный ключ которой состоит из двух полей, которые являются внешними ключами таблиц A и B. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.

Определение связей между таблицами

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

Предположим, что требуется установить связь между таблицами "Кафедра" и "Преподаватель" через поле ККАФ (код кафедры). В таблице "Кафедра" это поле является уникальным ключом, а в таблице "Преподаватель" — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку "Схема данных" поверх окна схемы данных появится окно "Добавление таблицы" . В этом окне следует выделить требуемые таблицы и нажать "Добавить" .

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

Необходимо перетащить мышью поле ККАФ таблица "Кафедра" на поле ККАФ таблицы "Преподаватель" . В открывшемся окне "Изменение связей" следует установить флажок "Обеспечение целостности данных" . В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы "Преподаватель" будет введено значение, отсутствующее в поле ККАФ базовой таблицы "Кафедра" .

Обратите внимание, что Access автоматически определил тип связи как "один-ко-многим".

Можно также установить флажки "каскадное обновление связей" и "каскадное удаление связей" . В этом случае Access автоматически скорректирует (удалит) записи в подчиненных таблицах, если будут изменены записи в базовой таблице.

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

Для установления связей по составному ключу необходимо в окне "Изменение связей" в полях "Таблица/Запрос" и "Связанная таблица/запрос" вручную выбрать из списков пары связываемых полей. На рисунке показан пример связи по составному ключу.

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

Контрольные вопросы

  1. Что представляет собой схема данных БД?
  2. Каково назначение схемы данных?
  3. Как открыть схему данных в Access?
  4. Как установить связь между таблицами?
  5. Между какими полями таблиц устанавливается связь?
  6. Каково обязательное условие при установлении связи?
  7. Перечислите типы связей между таблицами. Охарактеризуйте их.
  8. Как определить связи между таблицами?
  9. От чего зависит выбор отношения в создаваемой Microsoft Access связи?
  10. В каком случае создается отношение "один-ко-многим"? "Один-к-одному"? "Многие-ко-многим"?
  11. В каком случае создается неопределенное отношение?
  12. К каким последствиям приводит создание неопределенных отношений?

ВВЕДЕНИЕ

Информационная система (ИС) - это система обработки данных какой-либо предметной области со средствами накопления, хранения, обработки, преобразования, передачи, обновления информации с использованием компьютерной и другой техники. В ИС выполняются следующие процессы:

Ввод информации из внешних и внутренних источников;

Обработка входящей информации;

Хранение информации для последующего ее использования;

Вывод информации в удобном для пользователя виде .

Основа ИС, объект ее обработки - база данных (БД). База данных - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области или разделе предметной области. Таким образом, БД выполняет функцию хранения информации в ИС.

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

Информация о работниках;

Информация об организации;

Информация о документах;

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

СТРУКТУРА БАЗЫ ДАНЫХ

информационный система интерфейс сервер

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

Основным средством разработки логической модели данных в настоящий момент являются различные варианты ER-диаграмм (Entity-Relationship, диаграммы сущность-связь).

На рисунке 1 представлена логическая схема базы данных предметной области «Офис». На логической схеме изображены следующие сущности: Organization, Employee, Job_Title, Document, Document_type. Описание сущностей содержится в таблице 1.

Рисунок 1 - Логическая схема БД

Таблица 1 - Описание сущностей логической модели данных

Название

Назначение

Описывает работников находящихся в штате организации. Содержит атрибуты: ФИО, занимаемая должность и организация в штате которой состоит. Связана связью «один к одному» с сущностью «JobTitle» .

Описывает организацию в которой работают сотрудники. Содержит атрибуты: название, адрес. Связана связью «один к одному» с сущностью «Employee».

Справочник должностей. Содержит атрибут: должность (название должности).

Описывает все документы и кто из работников над ними работает. Содержит атрибуты: название, тип документа, работник. Связана связью «один к одному» с сущностью Employee и связью «один к одному» с сущностью DocumentType.

Справочник типов документов. Содержит атрибут тип документа.

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

На рисунке 2 представлена физическая схема БД. На схеме изображены сущности, а также указаны типы данных. Так как сущности «Document_type» и «Employee» связаны с сущностью «Document» связью «один к одному», в физической схеме добавляются сущности-связки «Document_typeDocument»и «EmployeeDocument». Сущности-связки содержат внешние ключи, обеспечивающие вид связи «один к одному».

Рисунок 2 - Физическая схема БД