русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-07-09; просмотров: 706; Нарушение авторских прав


Реляционная модель была разработана Коддом в начале 70-х гг. С созданием реляционной модели был начат новый этап в эволюции СУБД. Реляционные СУБД стали промышленным стандартом «де-факто». Доминирование реляционной модели в современных СУБД обусловлено рядом причин, в числе которых:

1)простота и гибкость реляционной модели, поддержка теоретическими исследованиями в большей степени по сравнению с другими моделями;

2)наличие аппарата сведения к реляционной других моделей данных;

3)наличие стандартизованного высокоуровневого языка запросов к базам данных.

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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



<== предыдущая лекция | следующая лекция ==>
Системы управления базами данных | Виды связей в БД


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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