Студопедия

КАТЕГОРИИ:


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

Реляционная модель данных




Основные функции СУБД

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

· управление данными непосредственно в БД – функция, обеспечивающая хранение данных, непосредственно входящих в БД, и служебной информации, обеспечивающей работу СУБД;

· управление данными в памяти компьютера – функция, связанная в первую очередь с тем, что СУБД работают с БД большого размера. В целях ускорения работы СУБД используется буферизация данных в оперативной памяти компьютера. При этом пользователь СУБД использует только необходимую для его конкретной задачи часть БД, а при необходимости получает новую "порцию" данных;

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

· поддержка языков БД – для работы с БД используются специальные языки, в целом называемые языками баз данных. В СУБД обычно поддерживается единый язык, содержащий все необходимые средства – от создания БД до обеспечения пользовательского интерфейса при работе с данными. Наиболее распространенным в настоящее время языком СУБД является язык SQL (Structured Query Language).

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

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

· все элементы столбца имеют одинаковый тип данных;

· столбцам присвоены уникальные имена;

· в таблице нет двух одинаковых строк;

· порядок расположения строк и столбцов в таблице не имеет значения.

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

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

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

Связи между таблицами бывают трех типов: «один – к – одному», «один – ко – многим» или «многие – ко – многим». Если мы составляем список сотрудников, то отношение между конкретным сотрудником и его адресом – «один к – одному». А название учреждения по отношению к списку сотрудников – «один ко многим», так как в одном учреждении работает много (больше одного) сотрудников. А если составить список учителей учреждения образования со списком преподаваемых предметов, которые в этом учреждении образования преподаются, придется использовать связь типа «многие ко многим»: одну дисциплину могут преподавать разные учителя, и в тоже время один учитель может преподавать разные предметы. При организации связи типа «один – ко – многим» таблицу «один» принято называть главной, а таблицу «многие» – подчиненной. Ключ главной таблицы называют первичным, а подчиненной – внешним.

Любую таблицу реляционной базы данных можно назвать отношением, так как в таблицах с данными также реализованы связи между атрибутами записей типа «один – к – одному».

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

Для работы с данными используются программные пакеты, которые называют системами управления базами данных (СУБД). Используя такие программы, можно создавать структуру базы данных, то есть, во-первых, таблицы, и, во-вторых, правила связи между этими таблицами. Кроме того, СУБД позволяет выполнять следующие операции с данными (записями):

· добавление записей в таблицы;

· изменение или обновление некоторых полей;

· удаление записей;

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

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

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

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

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

Операции с данными обычно выполняют с помощью специального стандартного языка запросов – SQL (Structured Query Language – структурированный язык запросов). Существуют различные пакеты для работы с данными – dBASE, FoxPro, Oracle и другие. Все они поддерживают язык SQL. СУБД, входящая в пакет MS Office, – это MS Access. Ее характерным отличием является то, что большинство операций с данными можно выполнять методом визуального конструирования запросов к базе данных. При этом запрос на языке SQL генерируется самой программой. Это не означает, что изучение языка SQL становится ненужным. Но изучение как самого языка, так и в целом основ работы с базами данных сильно упрощается.

Такими возможностями обладает не только MS Access, но для пользователей ОС Windows этот пакет является наиболее распространенным и доступным средством работы с данными. Именно поэтому работу с базами данных MS Access применяют в учебных заведениях.

Основными достоинствами реляционной модели данных являются:

· простота и доступность;

· независимость данных;

· гибкость;

· возможность непроцедурных запросов.

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

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

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

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

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




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


Дата добавления: 2014-12-16; Просмотров: 421; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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