- •1. Основы построения баз данных 11
- •2. Модели представления данных 22
- •3. ДатАлогические модели данных 38
- •4. Семантическое моделирование 101
- •5. Базы данных в сетях 155
- •6.Современное состояние и 177
- •1. Основы построения баз данных
- •1.1. Архитектура системы баз данных
- •1.2. Жизненный цикл базы данных
- •Контрольные вопросы и задания
- •2. Модели представления данных
- •2.1. Классификация моделей данных
- •2.2. Разновидности инфологических моделей данных
- •Контрольные вопросы и задания
- •3. ДатАлогические модели данных
- •3.1. Иерархические модели
- •Между предками и потомками автоматически поддерживается целостность ссылок. Основное правило: никакой потомок не может существовать без своего родителя, у некоторых родителей не может быть потомков.
- •3.2. Сетевые модели
- •3.3. Реляционные модели
- •3.3.1. Основные понятия реляционной модели
- •3.3.2. Реляционная алгебра
- •3.3.3. Язык запросов по образцу qbe
- •3.3.4. Структурированный язык запросов sql
- •Основные инструкции языка sql
- •Values ("3110", "чп Иванов п.Т.", null)
- •3.4. Проектирование реляционных баз данных
- •Контрольные вопросы и задания
- •4. Семантическое моделирование
- •4.1. Объектно-ориентированное проектирование
- •4.1.1. Представление объектов
- •4.1.2. Описания классов
- •4.1.3. Атрибуты в odl
- •4.1.4. Связи в odl
- •4.1.5. Обратные связи
- •4.1.6. Множественность связей
- •4.1.7. Типы в odl
- •4.1.8. Проектирование с использованием odl
- •Правильность
- •Устранение избыточности
- •4.1.9. Подклассы
- •4.1.10. Множественное наследование в odl
- •4.1.11. Моделирование ограничений
- •Ссылочная целостность
- •Прочие ограничения
- •4.1.12. Переход от объектно-ориентированной модели к реляционной
- •4.2. Диаграммы "сущность-связь"
- •4.2.1. Компоненты диаграмм "сущность-связь"
- •4.2.2. Множественность e/r-связей
- •Многосторонние связи
- •4.2.3. Роли в связях
- •4.2.4. Атрибуты связей
- •4.2.5. Конвертирование многосторонних связей в бинарные
- •4.2.6. Проектирование e/r моделей
- •Простота
- •Типы элементов проекта
- •Определения подклассов
- •Наследование в e/r-модели
- •Моделирование ограничений
- •Ссылочная целостность
- •Слабые множества сущностей
- •Переход от e/r-диаграмм к реляционным проектам
- •Контрольные вопросы и задания
- •5. Базы данных в сетях
- •5.1. Архитектура "клиент-сервер"
- •5.2. Распределенные базы данных
- •5.3. Базы данных в Интернет
- •Контрольные вопросы и задания
- •Контрольные вопросы и задания
- •Информационные ресурсы Internet
- •Словарь терминов
- •Список сокращений
- •Темы рефератов
5.3. Базы данных в Интернет
С появлением Интернет получила дальнейшее развитие архитектура "клиент-сервер". С подключением локальных сетей к Интернет, созданием внутрикорпоративных сетей, появляется возможность с любого рабочего места в организации получить доступ к информационным ресурсам сети.
Архитектура "клиент/сервер" на базе Интернет имеет трехуровневую организацию. Пользовательским интерфейсом является Web-браузер, расположенный на персональном компьютере – "тонком" клиенте. Web-браузер взаимодействует с Web-сервером, последний в свою очередь является клиентом для сервера баз данных (рис. 69).
Наиболее часто в качестве сервера БД используется SQL-сервер.
Различают следующие механизмы доступа к БД: на стороне Web-сервера и на стороне Web-клиента.
В первом случае обращение к серверу БД производится следующим путем. Web-клиент заполняет специальную форму запроса к БД и пересылает ее Web-серверу. Программами Web-сервера вызываются внешние по отношению к ним программы в соответствии с соглашениями одного из интерфейсов: СGI или API. Внешние программы пишутся на языках программирования типа С++, Perl, PHP. Программы, написанные в соответствии с интерфейсом СGI, называются СGI-сценариями. Внешние программы взаимодействуют с сервером БД на языке SQL, преобразуя текст запроса в HTML-форме в SQL-запрос. После получения результатов запроса внешняя программа формирует требуемую HTML-страницу, передает ее Web-серверу, который пересылает ее Web-клиенту.
При доступе к БД на стороне клиента основным средством реализации механизма взаимодействия Web-клиента и сервера БД является язык JAVA, на котором пишутся программы (апплеты). JAVA-программы хранятся на Web-сервере. В тексте HTML-документа ставятся в нужных местах ссылки на соответствующие апплеты, при обнаружении которых в процессе работы с гипертекстом происходит автоматическая пересылка JAVA-программы с сервера в среду выполнения браузера и загрузка на выполнение. В диалоговом режиме с пользователем уточняются характеристики запроса. Получив управление JAVA-апплет взаимодействует с сервером БД, в результате чего, полученная из БД информация предоставляется пользователю. Для обращения к серверам баз данных разработан стандарт JDBC.
Из двух рассмотренных механизмов явного предпочтения отдать тому или иному варианту нельзя. Все зависит от целей и условий разработки клиент-серверных программ: зависимость от операционной системы, вида Web-сервера и т.п.
Развитие интернет-технологий стимулирует появление новых направлений в сфере сервиса. Уже никого не удивляют интернет-библиотеки, интернет-магазины, интернет-справочники. Интересным перспективным направлением в сфере сервиса является проект "интеллектуальная квартира". Например, одной из задач программы менеджера такой квартиры является следить за наличием в холодильнике заданного набора продуктов; при необходимости менеджер посылает заказ в интернет-магазин, который впоследствии выполняется.
Ввиду постоянного увеличения числа пользователей Интернет большие перспективы развития имеют интернет-СУБД бронирования авиабилетов, билетов на концерты, столиков в ресторанах. В настоящее время, уже не выглядит полной фантастикой интерактивная справочно-информационная система Голливуда, содержащая фильмы, информацию об актерах и режиссерах, поддерживающая интерактивные форумы поклонников, позволяющая участвовать во всевозможных виртуальных шоу.