- •Шехтман в. Е.
- •1. Базы данных и модели данных
- •1.1. Введение.
- •1.2. Файлы операционной системы
- •1.3. Пример базы данных.
- •1.4. Иерархическая модель данных
- •1.5. Сетевая модель данных
- •1.6. Инвертированные списки.
- •2. Введение в реляционную модель данных.
- •1.7. Реляционная модель данных
- •3. Реляционная алгебра
- •3.1. Теоретико-множественные операции.
- •3.2. Специальные операции ra
- •4. Нормализация данных
- •4.1. Полная декомпозиция.
- •Магазин товар ндс
- •Товар ндс
- •Магазин ндс
- •Товар ндс
- •Магазин товар ндс
- •4.2. Проблема дублирования данных.
- •1 Глобус 33-33-33
- •2 Глобус 33-33-33
- •4 Океан 77-77-77
- •4.3. Висячие записи.
- •Поставщик Тел
- •4.4. Проблемы, возникающие из-за неудачной структуры данных.
- •4.5. Пятая нормальная форма (5нф).
- •4.6. Функциональная зависимость.
- •4.7. Связь между фз и полной декомпозицией отношения.
- •4.8. Первая нормальная форма (1нф).
- •4.9. Вторая нормальная форма (2нф).
- •4.10. Третья нормальная форма (3нф).
- •4.11. Нормальная форма Бойса-Кодда (нфбк).
- •4.12. Многозначная зависимость.
- •4.13. Четвертая нормальная форма (4нф).
- •4.14. Пример нормализации.
- •4.15. Резюме. Нормальные формы.
- •5. Инфологическое моделирование.
- •5.1. Сущность и набор сущностей
- •5.2. Связи между сущностями.
- •5.3. Рекурсивная связь. Роли.
- •5.4. Множественные связи.
- •5.5. Суперсущности и производные сущности
- •5.6. Слабые наборы сущностей
- •5.7. Борьба с избыточнотью
- •5.8. Преобразование инфологической модели в физическую модель.
- •5.9. Пример инфологического моделирования.
- •6. Язык sql
- •6.1. История sql.
- •6.2. Структура sql.
- •6.3. Язык запросов
- •6.4. Простые запросы на выборку данных.
- •6.5. Агрегатные (групповые) функции.
- •6.6. Вложенные запросы
- •6.7. Внешние объединения
- •6.8. Изменение данных
- •Insert into r1 (o, fio, d) values (5, ‘Иванов’, ’бд’)
- •7. Представления.
- •8. Определение схемы базы данных и ограничений целостности
- •9. Транзакции
- •9.1. Свойства транзакций
- •9.2. Надежное хранение данных
- •9.3. Параллельное выполнение транзакций
- •9.3.1. Коллизия “пропавшие изменения” - lost update problem
- •9.3.2. Коллизия “промежуточные данные” - dirty read
- •9.3.3. Коллизия “Несогласованные данные” - unrepeatable read, inconsistent analysis
- •9.3.4. Коллизия “фантом” - phantom
- •9.4. Уровни изолированности
- •9.5. Тупики
- •10. Ограничение прав доступа в целях обеспечения безопасности
- •11. Физическая организация баз данных
- •11.1. Организация размещения данных.
- •11.2. Организация индексов
- •11.2.1. Поиск в бд.
- •11.2.2. Плотный индекс (индексно-прямые файлы).
- •11.2.3. Неплотный индекс (индексно-последовательные файлы).
- •11.2.4. Сбалансированные деревья.
- •11.2.5. Инвертированные списки.
- •12. Архитектура субд. Методы оптимизации запросов.
- •Логические преобразования запросов.
- •Преобразования запросов с изменением порядка реляционных операций.
- •13. Аналитические системы.
- •Анализ данных.
- •Хранилища данных
- •Типы ошибок
- •Способы реализации olap.
- •Требования к средствам реализации систем оперативной и аналитической обработки данных
- •Многомерная модель данных.
- •Разработка данных
- •14. Загружаемые процедуры.
- •In pr double precision)
- •If eof then leave Cl end if;
- •Insert into providers(code, name)
- •Values (nr.Codec, ‘*** новый поставщик ***’);
- •15.4. Модель сервера приложений (трёхзвенная архитектура, “тонкий клиент”)
- •Список литературы
- •15. Модели совместного доступа к бд
- •15.1. Файл-серверная модель.
- •15.2. Модель клиент-сервер с бизнес-логикой на клиенте.
- •15.3. Модель клиент-сервер с бизнес-логикой на сервере субд (хранимые процедуры и триггеры) и частично на клиенте.
15. Модели совместного доступа к бд
Если БД расположена на персональном компьютере без подключения к сети, то она используется монопольно – в один момент времени с ней может работать только один пользователь. Однако, такая ситуация не характерна для современных применений технологии БД.
Параллельный доступ нескольких пользователей к одной БД, расположенной на одном компьютере, будем называть совместным доступом к централизованной БД. Если БД находится на нескольких компьютерах в сети и к ней возможен одновременный доступ многих пользователей, то речь идет о распределенной БД.
В связи с рассматриваемой темой введем следующие определения:
Топология БД – схема распределения физической базы данных по сети.
Удаленный запрос – запрос, посылаемый с компьютера-клиента на компьютер-сервер по сети.
Распределенный запрос – запрос, для обработки которого используются данные из БД, расположенной на разных компьютерах в сети.
Основные функции любого приложения БД можно условно разбить на следующие классы:
Ввод и отображение данных (презентация)
Прикладные функции (бизнес-логика)
Обработка данных (логика БД)
Управление ресурсами (логика управления БД) (СУБД)
Служебные (в т. ч. связные) функции
В зависимости от того, как комбинируются перечисленные выше 5 функций, можно говорить о той или иной модели организации приложения БД.
15.1. Файл-серверная модель.
Пусть база данных, расположенная на файл-сервере, включает таблицы “торгового” примера (см. главу 8). Рассмотрим, как выполняются запросы к базе данных при такой организации приложения. Для отработки запроса вида
SELECT SUPPLIES.DAT, SUPPLIES.PRICE, GOODS.NAME
FROM SUPPLIES
LEFT JOIN GOODS ON GOODS.CODE=SUPPLIES.CODEG
WHERE GOODS.NAME LIKE ‘АРБУЗ%’
придется в общем случае перенести все содержимое из таблиц SUPPLIES и GOODS с файл-сервера на компьютер-клиент, осуществить соединение этих таблиц по указанному критерию и в качестве результата занести те из записей полученного отношения, в которых поле NAME начинается с ‘АРБУЗ’. Таких записей может оказаться очень немного по сравнению с обшим количеством записей о поставках товаров.
15.2. Модель клиент-сервер с бизнес-логикой на клиенте.
При такой схеме организация приложения БД приведенный выше запрос выполняется подругому. Во первых, сам текст запроса формируется на компьютере-клиенте и пересылается на сервер СУБД. После этого запрос выполняется на сервере СУБД ( исходные таблицы не пересылаются компьютеру-клиенту). Лишь результат запроса, который может оказаться небольшим по сравнению с объемом исходных данных, пересылается компьютеру-клиенту.
15.3. Модель клиент-сервер с бизнес-логикой на сервере субд (хранимые процедуры и триггеры) и частично на клиенте.
15.4. Модель сервера приложений (трёхзвенная архитектура, “тонкий клиент”)
Список литературы
В. М. Глушков. Основы безбумажной информатики. М.: Наука. 1987. – 552 с.
Джулиан Ульман. Базы данных на Паскале.: Пер. с англ. – М.: Машиностроение, 1990. – 386 с.: ил.
Г. Гарсия-Молина, Джеффри Ульман, Дж. Уидом. Системы баз данных. Полный курс.: Пер. с англ. – М.: Издательский дом “Вильямс” , 2003. – 1088 с.: ил.
Джеффри Ульман. Материалы сайта http://www-db.stanford.edu/~ullman/dscb.html
Ф. Д. Роланд. Основные концепции баз данных. Пер. с англ. – М.: Издательский дом “Вильямс”, 2002. – 256 с.: ил.
В. В. Кириллов. Основы проектирования реляционных баз данных. Материалы сайта http://www.citforum.ru
Е. В. Мамаев. MS SQL Server 7.0: проектирование и реализация баз данных. – СПб.: БХВ – Санкт-Петербург, 2000. – 416 с.: ил.
Р. Хоторн. Разработка Microsoft SQL Server 2000 на примерах.: Пер. с англ. – М.: Издательский дом “Вильямс”, 2001. – 464 с.: ил.
М. Грабер. SQL. Пер. с англ. М.: Лори, 2001. – 643 с.: ил.
Т. Карпова. Базы данных: модели, разработка, реализация. – СПб.: Питер 2001. – 304 с.: ил.
С. Д. Кузнецов. Основы современных баз данных. Материалы сайта http://www.citforum.ru
Материалы сайта Королевство Delphi www.delphikingdom.com
Steve McClure. International Data Corporation. RDBMS, ORDBMS, OODBMS. Мнение IDC. 1997. Русский перевод - материалы сайта http://y-larin.chat.ru
