РЕЛЯЦИОННАЯ СТРУКТУРА ДАННЫХ

282295
знаков
41
таблица
133
изображения

5.2. РЕЛЯЦИОННАЯ СТРУКТУРА ДАННЫХ

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

Реляционная база данных это такая база данных, которая состоит из таблиц (и ничего иного, кроме таблиц). Ссылка из одной таблицы на другую через какое-нибудь общее поле (common field) называется отношением (relation) ( отсюда и название реляционная).

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

Таблица поставщиков

Номер постав щика Фамилия Состояние Город
si Смит 20 Лондон
s2 Джонс 10 Париж
s3 Блеик 30 Париж
s4 Кларк 20 Лондон
s5 Адаме 30 Атенс

Каждый поставщик имеет уникальный номер, фамилии могут повторяться. Каждый поставщик находится только в одном городе.

Таблица деталей

Номер детали Название Цвет Вес Город
Pi Гайка Красный 12 Лондон
р2 Болт Зеленый 17 Париж
РЗ Винт Голубой 17 Рим
р4 Винт Красный 14 Лондон
р5 Кулачок Голубой 12 Париж
Р5 Заклепка Красный 19 Лондон

Каждый вид детали имеет уникальный номер. Город — место хранения детали. Предполагается, что каждый вид детали имеет только один цвет и хранится на складе только одного города.

Таблица поставки деталей

Номер поставщика Номер детали Количесшо
Si Pi 300
Si Р2 200
si РЭ 400
sl Р4 200
si Р5 100
sl р6 100
s2 Р' 300
s2 Р2 400
s3 Р2 200
s4 Р2 200
s4 Р4 300
s4 Р5 400

Таблица поставки деталей служит для связи между собой двух первых таблиц. Например, первая строка этой таблицы связывает поставщика “sl” из таблицы поставщиков с деталью “р1” из таблицы деталей (представляет поставку детали вида “р1” поставщиком с номером “sl” в количестве 300 деталей). Предполагается, что в каждый момент существует только одна поставка для заданного поставщика и заданной детали, т.е. комбинация Но-мер_поставщика, Номер_детали является уникальной для заданной поставки относительно множества поставок в данный момент.

Принципиальной особенностью таблиц является следующее:

данные в таблицах имеют только явные значения, т.е. не существует каких-либо связей или указателей, соединяющих одну таблицу с другой. Связь, например, между поставщиком и деталью задана наличием конкретного номера поставщика (sl) и конкретного номера детали (р1). Такие ссылки из одной таблицы на Другую через какое-нибудь общее поле (Common field) называется отношением; таблица состоит из строки заголовков столбцов и нуля или более строк значений данных; строка заголовков столбцов специфицирует один или более столбцов, определяя также тип данных для каждого из них (все значения в данном столбце одного типа. Например, имя поставщика типа строки символов, число деталей некоторого арифметического типа и т.п.); значения данных являются атомарными, т.е. в каждой ячейке таблицы всегда только одно значение.

Строка таблицы также называется записью. Элемент записи называется полем (наименьшая единица информации в базе данных)

Прикладная информация может по-разному задаваться таблицами (т.е количество таблиц и их содержание могут быть различными для одной и той же прикладной информации). Например, можно было бы вместо трех таблиц “Таблица поставщиков” “Таблица деталей” и “Таблица поставки деталей” сделать одну объединенную таблицу. В этом случае происходило бы дублирование информации (для каждой детали повторялась бы информация о поставщике). Если бы изменилась какая-либо информация по поставщику (например, состояние), то эту информацию необходимо бы было изменить во всех записях.

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

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

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

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

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

Номер поставщика Номер детали
si Pi
si P3
s2 pi
s2 ?2
s4 P4
s4 ?5

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

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

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

Для работы с реляционными базами данных существует стандартный язык запросов SQL (Structured Query Language — язык структурированных запросов). Этот язык используется для создания исходных таблиц базы данных (создание базы данных) формирования запросов, управления базами данных, позволяя использовать стандартные средства для работы с различными базами данных. Visual Basic позволяет использовать язык SQL для работы с базами данных.


Информация о работе «Програмирование на Visual Basic»
Раздел: Кибернетика
Количество знаков с пробелами: 282295
Количество таблиц: 41
Количество изображений: 133

Похожие работы

Скачать
61591
9
0

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

Скачать
62384
1
0

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

Скачать
23613
0
1

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

Скачать
257002
0
22

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

0 комментариев


Наверх