- •Базы данных
- •1. Введение в базы данных
- •1.1. Базы данных и информационные системы
- •1.2. Архигсюура информационной системы
- •1.3. Системы управления базами данных
- •1.4. Локальные информационные системы
- •1.5. Способы разработки и выполнения приложений
- •1.6. Схема обмена данными при работе с бд
- •2. Модели и типы данных
- •2.1. Иерархическая модель
- •Сотоудники
- •2.2. Сетевая модель
- •2.3. Реляционная модель
- •2.4. Постреляционная модель
- •2.5. Многомерная модель
- •1996 1994 Петров Смирнов Яковлев
- •2.6. Объектно-ориентированная модель
- •2.7. Типы данных
- •3. Реляционная модель данных
- •3.1. Определение реляционной модели
- •3.2. Индексирование
- •3.3. Связывание таблиц
- •3.4. Контроль целостности связей
- •3.5. Теоретические языки запросов
- •I аспределенное Удаленное Распределен- Удаленн! 1йдо- Распределен- предстаеление представление ная функция ступ к данным наяЬд
- •4.5. Информационные системы в Интернете и интранете
- •Часть 2. I Ъоектиросанн ? и использование бд
- •7. Средства автоматизации проектирования
- •7.1. Основные определения
- •7.8. Рекомендации по применению case-систем
- •9. Дополнительные вопросы применения баз данных
- •9.1. Программно-аппаратные платформы
- •9.2. Перспективы развития субд
- •9.3. Стандартизация баз данных
- •9.4. Характеристика технологии ado.Net
- •10.1. Общая характеристика
- •10.2. Новые возможности Microsoft Access 2002
- •10.3.Средства поддержки проектирования
- •10.4. Создание основных элементов бд
- •IQdbl mdb
- •Option Compare Database Public Function funl() beep End Function
- •10.5. Работа с гиперссылками
- •10.6. Использование языка sql
- •Аргументы макрокоманды ' Инструкция sQl. Select distinctrow tof
- •10.7. Защита баз данных
- •10.9. Обслуживание баз данный
- •10.10. Репликация баз данных
- •Реплицируемые объекты
- •Реплицируемые объекты
- •10.11. Работа с мультимедиа-данными
- •Тип объекта
- •Comic Chat Boom Microsoft Graph so Music Prop pry Page 2 1 Option f ropery Page21 Ры-ndox FableВидео-клип
- •10.12. Создание файлов приложений
- •10.13. Страницы доступа к данным
- •Краткая характеристика отличий сДд от форм и отчетом
- •10.14. Разработка проекта
- •Распределение атрибутов по вариантам
- •11.1. Пользовательский интерфейс
- •11.2. Характеристика проекта
- •11.3. Компиляция и выполнение проекта
- •11.4. Разработка приложения
- •11.5. Средства интегрированной среды разработки
- •Управление параметрами среды
- •11.6. Базы данных и средства работы с ними
- •Компоненты приложений для баз данных
- •11.7. Создание таблиц базы данных
- •11.8. Создание приложения bde
- •Значения свойств компонентов
- •11.9. Работа с отчетами
- •12. Субд Visual FoxPro 8.0
- •12.1. Общая характеристика
- •12.2. Новые возможности Visual FoxPro 8.0
- •12.3. Элементы проекта
- •12.4. Интерфейс Visual FoxPro
- •12.5. Средства автоматизации разработки
- •12.6. Создание баз данных
- •12.7. Таблицы и индексы
- •12.8. Организация межтабличных связей
- •12.9. Обеспечение ссылочной целостности
- •12.10. Создание запросов
- •Variables:
- •13. Microsoft sql Server 2000
- •13.1. Характеристика sql Server
- •13.2. Язык запросов Transact-sql
- •13.3. Системные базы данных и таблицы
- •13.4. Создание баз данных
- •13.5. Работа с таблицами
- •15.1. Принципы функционирования Web-приложений
- •15.2. Архитектура Web-приложений, публикующих бд
- •15.3. Обзор Web-серверов
- •15.4. Использование Personal Web-server
- •15.5. Использование Microsoft Internet Information Server
- •15.6. Использование Apache дляMicrosoft Windows 9х/2000
- •Вы видите это вместо ожидаемой страницы?
- •15.7. Варианты создания Web-узла
- •16. Интерфейсы программирования Web-приложений
- •16.1. Общий интерфейс взаимодействия cgi
- •18. Публикация бд средствами Microsoft Access
- •18.1. Характеристика вариантов публикации
3. Реляционная модель данных
В разделе рассматривается наиболее распространенная реляционная модель представления данных; дается определение реляционной модели и характеристика ее элементов: описываются индексирование, связывание таблиц и контроль целостности связей; рассматриваются теоретическиеосновы построения языков запросов: реляционная алгебра и реляционное исчисление; а также дается характеоистика языковQBE иSQL. формат операторов и примеры построения запросов с их помощью
3.1. Определение реляционной модели
Реляционная модельданных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволя ет хранить данные об объектах предметной области и моделировать связи между ними. Элементы РМД и формы их представления приведены в табл. 3.1.
Таблица 3.1
Элементы реляционной модели
Элемент реляционной модели |
Форма представления |
Отношение |
Таблица |
Схема отношения |
Строка заголовков столбцов таблицы (заголовок таблицы) |
Кортеж |
Г.трока таблицы |
Сущность |
Описание свойств объекта |
Атрибуп |
Заголовок столбца таблицы |
Домен |
Множество допустимых значений атрибута |
Значение атрибута |
Значения поля в записи |
Первичный ключ |
Один или несколько атрибутов |
Тип данных |
Тип значений элементов таблицы |
Отношениеявляется важнейшим понятием и представляет собой двумерную таблицу, содержани ю некоторые данные.
Сущностьесть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.
Атрибутыпредставляют собой свойства, характеризующие сущность. В структуре таблицы каждый атрибут именуется и ему соответствует заголовок некоторого столбца таблицы.
Математически отношение можно описать следующим образом. Пусть даны п множеств D1,D2, D3,...,L)n, тогда отношениеR есть множество упорядоченных кортежей<dl, d2, d3....,dn>, гдеdk e Dk, dk — атрибут,a Dk —доменотношения R.
Отношение
СОТРУДНИК (таблица)
ФИО |
Отдел |
Должность |
Д_рождения — |
Иванов И. И. |
002 |
Начальник |
27.09.51 |
• 1 Петров П. П. |
001 |
Заместитель |
15.04.55 ! |
Сидоров И.П. |
002 |
Ин кенер |
13.01.70 |
Кортеж
(строка)-
Атрибут
Отдел (заголовок столбца)
Схема
отношения (строка заголовков)
Значение
атрибута (значение поля в записи)
Рис. 3.1. J [редставление отношения СОТРУДНИК
Формально, если пере< тавить атрибуты в отношении, то получается новое отношение. Однако в реляционных БД перестановка атрибутов не приводит к образованию нового отношения.
Доменпредставляет собой множество всех возможных значений определенного атрибута отношения. Отношение СОТРУДНИК включает 4 домена.Домен 1содержит фамилии всех сотрудников, домен 2— номера всех отделов
фирмы, доменУ -названия всех должностей, домен 4— дат ы рождения всех сотрудников. Каждый домен образует значения одного типа данных, например, числовые или символьные.
Отношение СОТРУДНИК содержит 3 кортежа. Кортеж рассматриваемого отношения состоит из 4 элементов, каждый из которых выбирается из соответствующего домена. Каждому кортежу соответствует строка таблицы (рис. 3.1).
Схема отношениязаголовок отношения)представляет собой список имен атрибутов. Например, для приведенного примера схема отношения имеет вид СОТРУДНИК(ФИО, Отдел, Должность, ДРождения). Множество собственно кортежей отношения часто называют содержимым (телом) отношения.
Первичным ключом (ключом отношения, ключевым атрибутом)называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей. Например, в отношении СОТРУДНИК(ФИО. Отдел. Должность, ДРождения) ключевым является атрибут «ФИО». Кгючможет быть составным (сложным),то есть состоять из нескольких атрибутов.
Каждое отношение обязательно имеет комбинацию атрибутов, кот орая может служить ключом. Ее существование гарантируется тем, что отношение — это множество, которое не содержит одинаковых элементов — кортежей. То есть в отношении нет повторяющихся кортеж» й, а это значит, что по крайней мере вся совокупность атрьбу гов об. гадает свойством однозначной идентификации кортежей отношения. Во mhoi их СУЬД допускается создавать отношения, не определяя ключи.
Возможны случаи, когда отношение имеет несколько комбинаций атрибутов, каждая из которых однозначно определяет все кортежи отношения. Все эти комбинации атрибутов являются возможными ключамиотношения. Любой из возможных ключей может быть выбран какпервичный.
Если выбранный первичный ключ состоит из минимально необходимого набора атрибутов, говорят, что он является не избыточным.
Ключи обычно используют для достижс ния сл< дующих целей:
исключения дублирования значений в ключевых атрибутах (остальные атрибуты в расчет не принимаются);
упорядочения кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атрибутов, а также смешанное упорядочение (по одним — возрастание, а по другим — убывание);
ускорения работы к кортежами отношения (подраздел 3 2);
организации связывания таблиц (подраздел 3.3).
Пусть в отношении R1 имеется не ключевойатрибут А, значения которого являются значениями ключевогоатрибута В другого отношенияR2. Тогда говорят, что ат рибут А отношенияR1 есть внешний ключ.
С помощью внешних ключей устанавливаются cehjh между отношения ми. Например, имеются два отношения СТУДЕНТ(ФИО, Группа, Специальность) и 11Р Е Д М ЕТ( Назв. Пр. Часы), которые связаны отношением СТУДЕНТ ПРЕЛМЕТГФПО. НазвПр. Оценка) (рис. 3.2). В связующем отношении атрибут ы ФИО и Назь.Пр образуют составной ключ. Эти атрибуты представляют собой внешние ключи, являющиеся первичными ключами других отношений
внешний внешний
ключ ключ
Рис.
3.2. Связь отношений
Реляционная модель нак ладывает на внешние к7,ючиoi раничение для обй - печения целостности данных, называемое ссы ючной цело( гпностыо.Это оз начает, что каждому значению внешнего к лючэ должны соответствовать строки в связываемых отношениях.
Поскольку не всякой таблице можно поставить в соответствие отношение, приведем условия, выполнение которых позволяет таблицу считать отношением.
Все строки таблицы должны быть уникальны, то есть не может быть строк с одинаковыми первичными ключами.
Имена столбцов таблицы должны быт ь различны, а значения их просты ми, то есть недопустима группа значений в одном столбце одной строки.
Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов.
Порядок размещения строк в таблице может быть произвольным.
Наиболее часто таблица с отношением размещается в отдельном файле.
В некоторых СУБД одна отдельная таблица (отношение) считается базой данных. В других СУ БД база данных может содержать несколько таблиц.
В общем случае можно считать, что БД включает одну или несколько таблиц, объединенных смысловым содержанием, а также процедурами контроля целостности и обработки информации в интересах решения некоторой при- к ладной задачи. Например, при использовании СУБД Microsoft Access в файле БД наряду с таблицами хпанятся и другие объекты базы: запросы, отчеты, формы, макросы и модули.
Таблица данных обычно хранится на магнитном диске в отдельном файле операционной системы, поэтому по ее именованию могут существовать ограничения. Имена полей хранятся внутри таблиц. Правила их формирования определяются СУБД, которые, как правило, на длину полей и используемый алфавит серьезных ограничений не накладывают.
he ли задаваемое таблицей отношение имеет ключ, тс считается, что таблица тоже имеет ключ, и ее называют ключевойили таблицейс ключевы ми полями
У большинства СУБД файл таблицы вк почает управляющую часть (описание типов полей, имена полей и другая информация) и область размещения записей.
К oiношениям можно применять систему операций, позволяющую получать одни отношения из других. Например, результатом запроса к реляционной БД может быть новое отношение, вычисленное на основе имеющихся отношений Поэтому можно разделить обраоатываемые данные на хранимую и вычисляемую части.
Основной единицей обработки данных в реляционных БД является отношение, а не отдельные его кортежи (записи).