русс | укр

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

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

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

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


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

Тема 3.2 Базовые понятия реляционных баз данных. Проектирование реляционных баз данных с использованием нормализации


Дата добавления: 2013-12-24; просмотров: 1582; Нарушение авторских прав


 

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

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

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

 

 

На рис. 1.4 приведен пример таблицы catalog базы данных электронного магазина компьютерных комплектующих, которые распределены по разделам. Каждая строка этой таблицы представляет собой один вид товарных позиций, для описания которых используется поле id_catalog - уникальный номер раздела, name название раздела и description discription- его описание.

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

Определение__________________________________

Реляционной базой данных называется такая база данных, в которой все данные организованы в виде таблиц, а все операции над этими данными сводятся к операциям над таблицами.



Объектно-ориентированные и гибридные базы данных

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

Особенности реляционных баз данных

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

-Данные хранятся в таблицах, состоящих из столбцов и строк.

-На пересечении каждого столбца и строки находится только одно значение.

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

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

-Запросы к базе данных возвращают результат в виде таблиц, которые тоже могут выступать как объект запросов.

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

Примечание__________________________________

Правила Кодда и их разъяснение приведены в конце данной главы. Они не являются догматическими — реляционные базы данных постоянно развиваются и совершенствуются, на рынке появляются новые продукты, которые поддерживают не все требования к реляционным базам данных. Например, MySQL долго не соответствовала многим стандартам SQL. Исторически сложилось так, что последним стандартам SQL не соответствует ни одна из баз данных.

Первичные ключи

Строки в реляционной базе данных неупорядочены. То есть в таблице нет "первой", "последней", "тридцать шестой" и "сорок третьей" строки, а есть просто неупорядоченный набор строк. Возникает вопрос: "Каким же образом выбирать в таблице конкретную строку?" Для этого в правильно спроектированной базе данных для каждой таблицы создается один или несколько столбцов, значения которых во всех строках различны. Такой столбец называется первичным ключом таблицы. Первичный ключ обычно сокращенно обозначают как РК (primary key). Никакие из двух записей таблицы не могут иметь одинаковых значений первичного ключа— т. е., благодаря наличию первичных ключей, каждая строка таблицы обладает своим уникальным идентификатором.

Примечание______________________________________

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

По способу задания первичных ключей различают логические (естественные) ключи и суррогатные (искусственные).

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

Если подходящих примеров для естественного задания первичного ключа не находится, пользуются суррогатным ключом. Суррогатный ключ представляет собой дополнительное поле в базе данных, предназначенное для обеспечения записей первичным ключом. Таким ключом, к примеру, является столбец id_products, базы данных товаров компьютерного магазина (см. рис. 1.4).



<== предыдущая лекция | следующая лекция ==>
Замечание. | 


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


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

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

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


 


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

 
 

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

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