Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Связи в схеме данных




Классификация по способу хранения данных

Традиционная: средой постоянного хранения является периферийная энергонезависимая память— как правило жёсткий диск. В оперативную память СУБД помещает лишь данные для текущей обработки. В оперативной памяти: все данные на стадии исполнения находятся в оперативной памяти.

3. Классификация по содержимому: географическая, историческая, научная, экономическая, мультимедийная.

4. Классификация по степени распределённости

· Централизованная, или сосредоточенная: БД, полностью поддерживаемая на одном компьютере.

· Распределённая: БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием: неоднородная - фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД; однородная - фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД; фрагментированная, или секционированная: методом распределения данных является фрагментирование (партиционирование, секционирование), вертикальное или горизонтальное; тиражированная - методом распределения данных является тиражирование (репликация).

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

К функциям БД относятся:

1. Собственно хранение информации.

2. Просмотр и поиск.

3. Выборка информации по заданным критериям.

4. Ввод и редактирование информации.

5. Отчеты, запросы.

6. Контроль правильности информации.

В БД данные являются интегрированными и общими.

· Интегрированные данные подразумевается возможность представить БД как объединение нескольких отдельных файлов данных.

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

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

· увеличение объема информации, а значит, потребность в дополнительных ресурсах для хранения и обработки дополнительных объемов данных;

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

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

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

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

Типы данных:

· Текстовый — символьные или числовые данные, не требующие вычислений. Поле данного типа может содержать до 255 символов. Размер текстового поля задается с помощью свойства Размер поля, в котором указывается максимальное количество символов, которые могут быть введены в данное поле.

· Поле MEMO предназначено для ввода текстовой информации, по объему превышающей 255 символов (до 65 535 символов). Этот тип данных отличается от типа Текстовый тем, что в таблице хранятся не сами данные, а ссылки на блоки данных, хранящиеся отдельно. За счет этого ускоряется обработка таблиц (сортировка, поиск и т. п.). Поле типа MEMO не может быть ключевым или проиндексированным.

· Числовой тип применяется для хранения числовых данных, используемых в математических расчетах. Имеет много подтипов. От выбора подтипа (размера) данных числового типа зависит точность вычислений. Для установки подтипа числовых данных служит свойство Размер поля. Данные этого типа могут содержаться в 1, 2, 4, 8 или 16 байтах. Обычно по умолчанию используется подтип Длинное целое, который занимает 4 байта и представляет собой число в пределах от -2 147 483 648 до +2 147 483 647. Но, кроме этого типа, можно указать Байт — 1 байт, Целое — 2 байта, Одинарное с плавающей точкой — 4 байта, Двойное с плавающей точкой — 8 байтов, Десятичное — 12 байтов, Код репликации — 16 байтов.

· Дата/Время — тип для представления даты и времени. Позволяет вводить даты с 100 по 9999 год. Даты и время хранятся в специальном фиксированном числовом формате. Дата является целой частью значения поля типа Дата/Время, а время — его дробной частью.

· Денежный тип данных, предназначенный для хранения данных, точность представления которых колеблется от 1 до 4 десятичных знаков. Целая часть данного типа может содержать до 15 десятичных знаков.

· Счетчик поле содержит 4-байтный уникальный номер, определяемый Access автоматически для каждой новой записи либо случайным образом, либо путем увеличения предыдущего значения на 1. Значения полей типа счетчика обновлять нельзя. Максимальное число записей в таблице с полем счетчика не должно превышать двух миллиардов.

· Логический — логическое поле, которое может содержать только два значения, интерпретируемых как Да/Нет, Истина/Ложь, Включено/Выключено. Поля логического типа не могут быть ключевыми, но их можно индексировать.

· Поле объекта OLE — содержит ссылку на OLE-объект (лист Excel, документ Word, звук, рисунок и т. п.). Тип объекта OLE не указывается в свойствах поля объекта OLE. Он зависит от приложения, использованного для создания объектов OLE, которые хранятся в этом поле. В поле объекта OLE могут храниться произвольные данные, в том числе и данные нескольких типов. Это позволяет обойти основное ограничение реляционных баз данных, которое требует, чтобы в каждом поле хранились данные только одного типа

· Гиперссылка — дает возможность хранить в поле ссылку, с помощью которой можно ссылаться на данных внутри файла или Web-стр. на том же компьютере, в интранет или в Интернет. Гиперссылка состоит из четырех частей: отображаемый текст, адрес (путь к файлу или странице), дополнительный адрес (положение внутри файла или страницы) и текст всплывающей подсказки. Каждая часть гиперссылки может содержать до 2048 символов. Поле типа Гиперссылка не может быть ключевым или индексированным.

Различного рода графические изображения, являющиеся атрибутами сущностей, — это пример сложного атрибута.

Свойства полей данных.

1. Размер. Определяет максимальную длину текстового или числового поля, так как если размер подобран неоптимальное, расходуется, лишня память.

2. Формат поля. Свойство Формат поля на вкладке Общие позволяет указать форматы вывода текста, чисел, дат и значений времени на экран и на печать. Для каждого типа поля существует свой набор встроенных стандартных форматов. Например форматы даты: полный формат даты - 01.01.2008 12:08:02, краткий формат даты 01.09.08

3. Число десятичных знаков. Количество знаков после запятой в десятичном числе.

4. Подпись. Задает подпись поля, которое выводиться в формах, отчетах, таблицах (не путать с именем поля). С помощью этого свойства можно задать названия полей таблицы, которые выводятся в различных режимах (в надписях, присоединенных к элементам управления формы, в заголовке столбца в режиме Таблицы; в строке заголовка в режиме Формы; в заголовке отчета).

5. Обязательное поле. Определяет необходимость ввода данных в это поле. И определяет, может ли поле быть пустым или нет.

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

7. Индексированное поле. Задает индексы, для ускоренного поиска информации в таблице. Существуют два режима индексирования: Совпадения допускаются и Совпадения не допускаются.

8. Сообщение об ошибке. Задается текст, сообщение выводится в диалоговом окне, если вводимые данные не соответствуют, заданному условию на значение.

9. Условие на значение. Позволяет задать то условие, которое проверяется при вводе данных в поле.

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

Схема данных

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

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

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

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

Основными объектами схемы являются таблицы и связи.

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

1. Конечные точки. Конечные точки линии показывают вид (тип) связи: "один к одному" или "один ко многим".

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

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

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

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

3. Связанные таблицы. Линия связи показывает, что две таблицы связаны с помощью внешнего ключа. Для связи "один ко многим" таблица, связанная с помощью внешнего ключа — это таблица, расположенная рядом с символом цифры 8 данной линии. Если обе конечные точки линии присоединены к одной таблице, это указывает рефлексивную связь.


Если все это: сущности, атрибуты сущностей и связи между сущностями определено, то схема БД может выглядеть примерно так, как представлено на рис. 1.2. На нем показан пример схемы базы данных, которую можно назвать ФАКУЛЬТЕТ.

Схема, состоит из следующих компонентов:

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

ФАКУЛЬТЕТ: (Код_факультета, Назв_факультета, ФИО_декана);

КАФЕДРА: (Назв_кафедры, Зав_кафедрой);

СПЕЦИАЛЬНОСТЬ: (Код_специальности);

ПРЕПОДАВАТЕЛЬ: (ФИО, Должность);

ГРУППА: (Код_группы, ФИО_старосты);

СТУДЕНТ: (Ном_зач_книжки, ФИО);

· пяти связей, которые обозначены стрелками и связывают те сущности, на которые они направлены:

связь ВКЛЮЧАЕТ показывает, что на факультете несколько кафедр;

связь ВХОДИТ изображает, что одна и та же кафедра готовит специалистов по нескольким специальностям;

связь РАБОТАЕТ определяет то, что на кафедре работает ряд преподавателей;

связь ОБУЧАЕТ с двойными стрелками в обоих направлениях поясняет тот факт, что один и тот же преподаватель преподает в разных группах, а одна и та же группа занимается с разными преподавателями;

связь ОБУЧАЕТСЯ определяет, что каждая группа включает в себя ряд студентов.

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

Проектируемая БД должна обладать определенными свойствами. Назовем основные свойства БД.

· Целостность понимается как правильность (непротиворечивость) данных в любой момент времени (в каждый момент времени существования БД сведения, содержащиеся в ней, должны быть непротиворечивы). Поддержание целостности БД может рассматриваться как защита данных от неверных изменений или разрушений.

Установить проверку целостности данных можно, если выполнены следующие условия:

  • связанное поле главной таблицы является ключевым полем или имеет уникальный индекс;
  • связанные поля имеют один тип данных. Здесь существует два исключения. Поле счетчика может быть связано с числовым полем, если в последнем поле в свойстве Размер поля указано значение Длинное целое, или в обоих полях свойство Размер поля имеет значение Код репликации;
  • обе таблицы принадлежат одной базе данных Microsoft Access.

Чтобы обеспечить целостность, работа с данными должна придерживаться ряд правил.

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

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

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

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

 

· Восстанавливаемость. Данное свойство предполагает возможность восстановления БД после сбоя системы или отдельных видов порчи системы.

· Безопасность. Безопасность БД предполагает защиту данных от преднамеренного и непреднамеренного доступа, модификации или разрушения. Применяется запрещение несанкционированного доступа, защита от копирования и криптографическая защита.

· Эффективность. Свойство эффективности обычно понимается как: минимальное время реакции на запрос пользователя; минимальные потребности в памяти; сочетание этих параметров.

 




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


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


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



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




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