Управление базой данных
СУБД можно классифицировать по разным параметрам, например:
По расположению баз данных:
Локальные — работают на одном компьютере или сервере, доступ к данным осуществляется в рамках одного устройства.
Распределённые — данные хранятся на нескольких серверах или компьютерах, объединённых в сеть (или облако). Современные СУБД могут быть одновременно и локальными, и распределёнными.
По хранению и обработке данных:
Клиент-серверные — СУБД и база данных находятся на одной машине, к которой может обратиться любой клиент.
Файл-серверные — база данных находится на одном сервере, а СУБД — на устройствах, с которых к ней отправляют запросы.
Встраиваемые — представляют собой отдельный модуль, который встраивается в приложение для управления его базой данных.
По структуре и организации данных:
Реляционные — используют таблицы для хранения данных.
Ключ-значение — каждой единице данных присваивается идентификатор из двух частей: ключ и значение.
Документные — данные хранятся в виде документов с текстом.
Графовые — данные и их связи представляются как вершины и рёбра графа.
Колоночные — данные организованы и хранятся по столбцам
-
Вессон Д. - Данные и инфоpмация
Компьютеpизация общества. Единство законов обpаботки инфоpмации в системах pазличной пpиpоды (физических, экономических, биологических и т.п.) является фундаментальной основой теоpии инфоpмационн...
-
Введение в системы управления базами данных
Основное назначение данного учебного пособия - дать систематическое введение в основы реляционной модели данных и принципы функционирования реляционных баз данных.
Реляционная модель описывает, какие данные могут храниться в реляционных базах данных, а также способы манипулирования такими данными. В упрощенном виде основная идея реляционной модели состоит в том, что данные должны храниться в таблицах и только в таблицах. Эта, кажущаяся тривиальной, идея оказывается вовсе не простой при рассмотрении вопроса, а что, собственно, представляет собой таблица? В данный момент существуем много различных систем обработки данных, оперирующих понятием "таблица", например, всем известные, электронные таблицы, таблицы текстового редактора MS Word, и т.п. Ячейки электронной таблицы могут хранить разнотипные данные, например, числа, строки текста, формулы, ссылающиеся на другие ячейки. Собственно, на одном листе электронной таблицы можно разместить несколько совершенно независимых таблиц, если под таблицей понимать прямоугольную область, расчерченную на клеточки и заполненную данными.
Множества
Операции над множествами
Декартово произведение множеств
Отношение
Отношение эквивалентности
Отношения порядка
Функциональное отношение
Еще пример бинарного отношения
N-арные отношения (отношения степени n)
Транзитивное замыкание отношений
Выводы
Общая характеристика реляционной модели данных
Типы данных
Простые типы данных
Структурированные типы данных
Ссылочные типы данных
Типы данных, используемые в реляционной модели
Домены
Определения и примеры
Свойства отношений
Первая нормальная форма
Глава 3. Целостность реляционных данных
Null-значения
Трехзначная логика (3VL)
Потенциальные ключи
Целостность сущностей
Внешние ключи
Целостность внешних ключей
Замечания к правилам целостности сущностей и внешних ключей
Операции, могущие нарушить ссылочную целостность
Для родительского отношения
Для дочернего отношения
Стратегии поддержания ссылочной целостности
Применение стратегий поддержания ссылочной целостности
При обновлении кортежа в родительском отношении
При удалении кортежа в родительском отношении
При вставке кортежа в дочернее отношение
При обновлении кортежа в дочернем отношении
Обзор реляционной алгебры
Замкнутость реляционной алгебры
Отношения, совместимые по типу
Оператор переименования атрибутов
Объединение
Пересечение
Вычитание
Декартово произведение
Выборка (ограничение, селекция)
Проекция
Соединение
Общая операция соединения
Тэта-соединение
Экви-соединение
Естественное соединение
Деление
Примеры использования реляционных операторов
Зависимые реляционные операторы
Оператор соединения
Оператор пересечения
Оператор деления
Примитивные реляционные операторы
Оператор декартового произведения
Оператор проекции
Оператор выборки
Операторы объединения и вычитания
Запросы, невыразимые средствами реляционной алгебры
Плохая нормализация отношений
Невыразимость транзитивного замыкания реляционными операторами
Кросс-таблицы
Глава 5. Элементы языка SQL
Операторы SQL
Операторы DDL (Data Definition Language) - операторы определения объектов базы данных
Операторы DML (Data Manipulation Language) - операторы манипулирования данными
Операторы защиты и управления данными
INSERT - вставка строк в таблицу
UPDATE - обновление строк в таблице
DELETE - удаление строк в таблице
Примеры использования оператора SELECT
Отбор данных из одной таблицы
Отбор данных из нескольких таблиц
Использование имен корреляции (алиасов, псевдонимов)
Использование имен корреляции (алиасов, псевдонимов) - 2
Использование агрегатных функций в запросах
Использование агрегатных функций с группировками
Использование подзапросов
Использование объединения, пересечения и разности
BNF-нотация
Синтаксис оператора выборки
Синтаксис соединенных таблиц
Синтаксис условных выражений раздела WHERE
Синтаксис условных выражений раздела WHERE - 2
Порядок выполнения оператора SELECT
Стадия 1. Выполнение одиночного оператора SELECT
Стадия 2. Выполнение операций UNION, EXCEPT, INTERSECT
Стадия 3. Упорядочение результата
Как на самом деле выполняется оператор SELECT
Реализация реляционной алгебры средствами оператора SELECT (Реляционная полнота SQL)
Оператор объединения
Оператор вычитания
Этапы разработки базы данных
Критерии оценки качества логической модели данных
Адекватность базы данных предметной области
Легкость разработки и сопровождения базы данных
Скорость операций обновления данных (вставка, обновление, удаление)
Скорость операций выборки данных
Основной пример
НФ (Первая Нормальная Форма)
Аномалии обновления
Аномалии вставки (INSERT)
Аномалии обновления (UPDATE)
Аномалии удаления (DELETE)
Функциональные зависимости
Определение функциональной зависимости
Функциональные зависимости отношений и математическое понятие функциональной зависимости
НФ (Вторая Нормальная Форма)
Анализ декомпозированных отношений
Оставшиеся аномалии вставки (INSERT)
Оставшиеся аномалии обновления (UPDATE)
Оставшиеся аномалии удаления (DELETE)
НФ (Третья Нормальная Форма)
Алгоритм нормализации (приведение к 3НФ)
Сравнение нормализованных и ненормализованных моделей
OLTP и OLAP-системы
Корректность процедуры нормализации - декомпозиция без потерь. Теорема Хеза
ВВЕДЕНИЕ В СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
Глава 7. Нормальные формы более высоких порядков
НФБК (Нормальная Форма Бойса-Кодда)
НФ (Четвертая Нормальная Форма)
НФ (Пятая Нормальная Форма)
Продолжение алгоритма нормализации (приведение к 5НФ)
Глава 8. Элементы модели "сущность-связь"
Основные понятия ER-диаграмм
Пример разработки простой ER-модели
Концептуальные и физические ER-модели
Глава 9. Транзакции и целостность баз данных
Пример нарушения целостности базы
Понятие транзакции
Ограничения целостности
Классификация ограничений целостности
Классификация ограничений целостности по способам реализации
Классификация ограничений целостности по времени проверки
Классификация ограничений целостности по области действия
Ограничения домена
Ограничения атрибута
Ограничения кортежа
Ограничения отношения
Ограничения базы данных
Общие принципы реализации ограничений средствами SQL
Синтаксис ограничений стандарта SQL
Синтаксис операторов SQL, использующих ограничения
Выводы
Глава 10. Транзакции и параллелизм
Работа транзакций в смеси
Проблемы параллельной работы транзакций
Проблема потери результатов обновления
Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
Проблема несовместимого анализа
Неповторяемое считывание
Фиктивные элементы (фантомы)
Собственно несовместимый анализ
Конфликты между транзакциями
Блокировки
Решение проблем параллелизма при помощи блокировок
Разрешение тупиковых ситуаций
Преднамеренные блокировки
Предикатные блокировки
Метод временных меток
Механизм выделения версий данных
Теорема Есварана о сериализуемости
Уровни изоляции
Синтаксис операторов SQL, определяющих уровни изоляции
Глава 11. Транзакции и восстановление данных
Виды восстановления данных
Индивидуальный откат транзакции
Восстановление после мягкого сбоя
Восстановление после жесткого сбоя
Восстановление данных и стандарт SQL
Выводы
-
Основы работы с базами данных
Используемая терминология различна в теории реляционных баз данных, на стадии проектирования концептуальной модели и при практической работе с физической моделью и с базой данных, как это показано далее. Приведенные термины очень важны, однако для начинающих изучать данный предмет могут оказаться сложными для понимания. К этим формулировкам рекомендуется периодически возвращаться (после изучения следующих разделов курса) для их четкого усвоения. Основная часть первоисточников по теории баз данных, а также средства разработчиков используют английскую терминологию, поэтому для большинства русских терминов приведены соответствующие английские значения.
Принципы проектирования информационных систем
Классификация баз данных
Иерархические базы данных
Сетевые базы данных
Реляционные системы
Правил Кодда
Соблюдение условий ссылочной целостности в реляционной базе данных
Основные стратегии поддержания ссылочной целостности
Дополнительные стратегии поддержания ссылочной целостности
Постреляционные базы данных
Серверы баз данных
Распределенные базы данных
Основы работы с базами данных
Использование методологии IDEF1X для разработки концептуальной модели данных
Описание модели данных информационной системы "Контингент студентов университета"
Концептуальная модель базы данных
Использование системы CASE Studio для проектирования концептуальной и физической моделей базы данных
Сгенерированная Case Studio SQL-программа создания таблиц базы данных для сервера Oracle
Сгенерированная Case Studio программа создания таблиц базы данных для СУБД Access
Основы работы с базами данных
Общая характеристика системы
Типы файлов, которые использует система
Настройка системы
Создание базы данных
Использование стандартных режимов BROWSE и EDIT для работы с таблицами базы
Основы работы с базами данных
Назначение экранных форм
Использование Мастера для разработки экранных форм
Объекты экранных форм и их основные свойства
Модификация экранной формы в Конструкторе
Работа с базой данных с использованием экранной формы
Пример простейшего расчета при работе с базой данных
Основы работы с базами данных
Разработка отчетов
Отбор данных из базы с использованием SQL-запросов
Разработка проекта и исполняемой программы
Некоторые команды и функции для работы с базой данных
Команды для работы с базами данных, таблицами, индексами, связями
Основы работы с базами данных
Общая характеристика системы
Создание базы данных
Стандартный режим работы с таблицами
Разработка экранных форм для работы с базой данных
Разработка отчетов
Использование запросов
Компиляция базы данных (MDE-файл)
Страницы доступа к данным
Проект Microsoft Access (ADP)
Общая характеристика системы
Основы работы с базами данных
Общая характеристика системы
Типы данных системы
Установка системы
Создание базы данных
Создание таблиц базы данных
Работа с информацией баз данных в программе Enterprise Manager
Разработка клиентских приложений
Использование Microsoft Access для работы с базой данных системы Microsoft SQL Server
Использование Visual FoxPro для работы с базой данных системы Microsoft SQL Server
-
Введение в реляционные базы данных
В самом широком смысле информационная система представляет собой программный комплекс, функции которого состоят в поддержке надежного хранения информации в памяти компьютера, выполнении специфических для данного приложения преобразований информации и/или вычислений, предоставлении пользователям удобного и легко осваиваемого интерфейса. Обычно объемы данных, с которыми приходится иметь дело таким системам, достаточно велики, а сами данные обладают достаточно сложной структурой. Классическими примерами информационных систем являются банковские системы, системы резервирования авиационных или железнодорожных билетов, мест в гостиницах и т. д.
О надежном и долговременном хранении информации можно говорить только при наличии запоминающих устройств, сохраняющих информацию после выключения электропитания. Оперативная (основная) память этим свойством обычно не обладает. В первые десятилетия развития вычислительной техники использовались два вида устройств внешней памяти: магнитные ленты и магнитные барабаны. При этом емкость магнитных лент была достаточно велика, но по своей природе они обеспечивали последовательный доступ к данным. Емкость магнитной ленты пропорциональна ее длине. Чтобы получить доступ к требуемой порции данных, нужно в среднем перемотать половину ее длины. Но чисто механическую операцию перемотки нельзя выполнить очень быстро. Поэтому быстрый произвольный доступ к данным на магнитной ленте, очевидно, невозможен.
Файловые системы
Структуры файлов
Логическая структура файловых систем и именование файлов
Авторизация доступа к файлам
Синхронизация многопользовательского доступа
Области разумного применения файлов
Потребности информационных систем
Структуры данных
Целостность данных
Языки запросов
Транзакции, журнализация и многопользовательский режим
СУБД как независимый системный компонент
Заключение
Основные понятия реляционных баз данных
Основные понятия реляционных баз данных
Тип данных
Домен
Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
Первичный ключ и интуитивная интерпретация реляционных понятий
Фундаментальные свойства отношений
Отсутствие кортежей-дубликатов, первичный и возможные ключи отношений
Отсутствие упорядоченности кортежей
Отсутствие упорядоченности атрибутов
Атомарность значений атрибутов, первая нормальная форма отношения
Реляционная модель данных
Общая характеристика
Целостность сущности и ссылок
Заключение
Обзор реляционной алгебры Кодда
Введение
Обзор реляционной алгебры Кодда
Общая интерпретация реляционных операций
Замкнутость реляционной алгебры и операция переименования
Особенности теоретико-множественных операций реляционной алгебры
Операции объединения, пересечения, взятия разности. Совместимость по объединению
Операция расширенного декартова произведения и совместимость отношений относительно этой операции
Специальные реляционные операции
Операция ограничения
Операция взятия проекции
Операция соединения отношений
Операция деления отношений
Заключение
Базовые операции Алгебры A
Введение
Базовые операции Алгебры A
Операция реляционного дополнения
Операция удаления атрибута
Операция переименования
Операция реляционной конъюнкции
Операция реляционной дизъюнкции
Полнота Алгебры A
Выводимость операции взятия разности
Интерпретация операции ограничения
Соединения общего вида
Реляционное деление
Избыточность Алгебры A
Реляционные аналоги штриха Шеффера и стрелки Пирса
Избыточность операции переименования
Заключение
Исчисление кортежей
Введение
Исчисление кортежей
Правильно построенные формулы
Простые условия
Кванторы, свободные и связанные переменные
Целевые списки и выражения реляционного исчисления
Исчисление доменов
Условия членства
Выражения исчисления доменов
Заключение
Функциональные зависимости
Введение
Функциональные зависимости
Общие определения
Замыкание множества функциональных зависимостей. Аксиомы Армстронга. Замыкание множества атрибутов
Минимальное покрытие множества функциональных зависимостей
Декомпозиция без потерь и функциональные зависимости
Корректные и некорректные декомпозиции отношений. Теорема Хита
Диаграммы функциональных зависимостей
Заключение
Минимальные функциональные зависимости
Введение
Минимальные функциональные зависимости и вторая нормальная форма
Аномалии обновления, возникающие из-за наличия неминимальных функциональных зависимостей
Возможная декомпозиция
Вторая нормальная форма
Нетранзитивные функциональные зависимости и третья нормальная форма
Аномалии обновлений, возникающие из-за наличия транзитивных функциональных зависимостей
Третья нормальная форма
Независимые проекции отношений. Теорема Риссанена
Перекрывающиеся возможные ключи и нормальная форма Бойса-Кодда
Аномалии обновлений, связанные с наличием перекрывающихся возможных ключей
Нормальная форма Бойса-Кодда
Всегда ли следует стремиться к BCNF?
Заключение
Многозначные зависимости
Введение
Многозначные зависимости и четвертая нормальная форма
Аномалии обновлений при наличии многозначных зависимостей и возможная декомпозиция
Многозначные зависимости. Теорема Фейджина. Четвертая нормальная форма
Зависимости проекции/соединения и пятая нормальная форма
N-декомпозируемые отношения
Зависимость проекции/соединения
Аномалии, вызываемые наличием зависимости проекции/соединения
Устранение аномалий обновления в 3-декомпозиции
Пятая нормальная форма
Заключение
Ограниченность реляционной модели
Введение
Ограниченность реляционной модели при проектировании баз данных
Семантические модели данных
Семантическая модель Entity-Relationship (Сущность-Связь)
Основные понятия ER-модели
Уникальные идентификаторы типов сущности
Нормальные формы ER-диаграмм
Первая нормальная форма ER-диаграммы
Вторая нормальная форма ER-диаграммы
Третья нормальная форма ER-диаграммы
Более сложные элементы ER-модели
Наследование типов сущности и типов связи
Наследование типов сущности и типов связи - 2
Взаимно исключающие связи
Получение реляционной схемы из ER-диаграммы
Базовые приемы
Представление в реляционной схеме супертипов и подтипов сущности
Представление в реляционной схеме взаимно исключающих связей
Заключение
Основные понятия диаграмм классов UML
Введение
Основные понятия диаграмм классов UML
Классы, атрибуты, операции
Категории связей. Связь-зависимость
Связи-обобщения и механизм наследования классов в UML
Связи-ассоциации: роли, кратность, агрегация
Ограничения целостности и язык OCL
Общая характеристика языка OCL
Инвариант класса
Операции над значениями предопределенных типов данных
Операции над объектами
Операции над множествами, мультимножествами и последовательностями
Операция select
Операция collect
Операции exists, forAll, size
Операции union, intersect, symmetricDifference
Примеры инвариантов
Плюсы и минусы использования языка OCL при проектировании реляционных баз данных
Получение схемы реляционной базы данных из диаграммы классов UML
Заключение
-
Schism управляемый рабочей нагрузкой подход к репликации и разделению баз данных
Эксперименты, описанные в разд. 3 и подразделе 6.3, выполнялись на восьми серверах с MySQL, соединенных через один коммутатор Gigabit Ethernet. Более мощная машина использовалась для генерации трафика и выполнения экспериментов с производительностью времени выполнения, описанных в подразделе 6.2.
От переводчика: как хорошо разделить транзакционные данные?
Аннотация
Введение
Общие сведения
Предварительная обработка данных:
Создание графа:
Разделение графа:
Толкование разделения:
Заключительная валидация:
Цена распределенности
Разделение и репликация
Представление графов
Разделение графов
Фаза толкования
Окончательная валидация
Оптимизация и реализация
Обеспечение масштабируемости
Реализация толкования
Получение трасс
Миграция данных и маршрутизация запросов
Экспериментальная оценка
Алгоритм разделения
YCSB-A
YCSB-E
TPC-C 2W
TPC-C 2W со взятием образцов
TPC-C 50W
TPC-E
Epinions.com, два раздела
Epinions.com, десять разделов
Random
Масштабируемость и устойчивость
Сквозная проверка
Родственные работы
Заключение
Благодарности
Schism: управляемый рабочей нагрузкой подход к репликации и разделению баз данных
Литература
A. Аппаратно-программная конфигурация
B. Гиперграфы
C. Разделение и маршрутизация
C.1 Поисковые таблицы
C.2 Маршрутизация запросов и операций обновления
D. Наборы данных
D.1 Yahoo! Cloud Serving Benchmark
D.2 TPC-C
D.3 TPC-D
D.4 Epinions.com
D.5 Random
-
Использование технологий WWW для доступа к базам данных
Многие организации используют электронные базы данных (БД) для поддержки своих рабочих процессов. Часто это системы на одного - двух пользователей, выполненные с использованием dbf - ориентированных средств разработки: Clipper, Dbase, FoxPro, Paradox, Access. Обычно используется ряд таких баз, независимых друг от друга. Если информация, хранимая в таких БД, представляет интерес не только для непосредственных пользователей, то для ее дальнейшего распространения используются бумажные отчеты и справки, созданные базой данных.
С появлением локальных сетей, подключением таких сетей к Интернет, созданием внутрикорпоративных, сетей, появляется возможность с любого рабочего места организации получить доступ к информационному ресурсу сети. Однако, при попытке использовать существующие БД возникают проблемы связанные с требованием
к однородности рабочих мест (для запуска "родных" интерфейсов), сильнейшим трафиком в сети (доступ идет напрямую к файлам БД), загрузкой файлового сервера и невозможностью удаленной работы (например, командированных сотрудников). Решением проблемы могло бы стать использование унифицированного интерфейса WWW для доступа к ресурсам организации.
Основные понятия
Сценарии
Однократное или периодическое преобразование содержимого БД в статические документы
Динамическое создание гипертекстовых документов на основе содержимого БД
Создание информационного хранилища
План отчета
WWW - сервер NCSA HTTPD
SQL - сервер фирмы Oracle
Библиотеки и функции на языке C
Язык программирования Perl
Пакет Web - Oracle - Web
Пакет Cold Fusion фирмы Allaire Corp
Оценка трудоемкости обеспечения WWW доступа
Глава Подготовка гипертекстовых документов для World Wide Web
Структура HTML-документов
Теги HTML
Заглавные теги
Форматирующие теги
Комментарии
Заголовки
Шрифты
Списки
Цитаты и преформатированный текст
Адреса
Гипертекстовые ссылки
Верстка таблиц
Картрированные изображения
Специальные символы
Обзор расширений
Расширения Netscape Navigator
Расширения MS Internet Explorer
Рамки (фреймы)
Глава Установка и администрирование WWW -сервера
Назначение WWW - сервера Общая схема работы Определение
Непосредственные функции сервера Базовые определения
Протокол MIME
Протокол HTTP
Интерфейс CGI
СЕРВЕР NCSA
Требования к ресурсам
Состав дистрибутива сервера NCSA Варианты дистрибуции
Процедура установки сервера NCSA
Конфигурационные файлы Режимы работы сервера
Контроль работоспособности сервера
Обработка журналов
Управление доступом
Поддержка русскоязычных кодировок
Глава Использование CGI при создании интерактивных интерфейсов
WWW (World Wide Web) и средства интерактивного взаимодействия
Клиентская часть
Серверная часть
Методы HTTP запроса
Спецификация CGI
Переменные окружения
Стандартный вывод
Стандартный входной поток
Аргументы командной строки
Последовательность действий для
Для метода GET
Для метода POST
Примеры cgi-модулей
Приложение к гл Конструкции языка HTML для построения форм
Глава Использование пакета Cold
Установка Cold Fusion
Администрирование Cold Fusion
Взаимодействие Cold Fusion с базами данных
Передача параметров в DBML-шаблон
Занесение и модификация данных с использованием тегов DBINSERT и DBUPDATE
Выполнение запросов к базам данных
Использование результатов запроса для динамического создания HTML - документа
Вывод результата выполнения запроса в виде таблицы
Дополнительные замечания по созданию DBML - шаблонов
Поля формы и параметры URL
Переменные окружения CGI
Применение тега DBSET для создания переменных
HTTP Cookies
Использование результатов выполнения запросов
Проверка корректности данных в полях формы
Функции вывода в DBML
Условный оператор (DBIF DBELSE)
Перенаправление на другой URL (DBLOCATION DBABORT)
Включение в шаблон других шаблонов
Определение типа данных MIME для содержимого документа
Динамическое определение SQL выражения
Поддержка транзакций
Вложенные области вывода и группирования
Использование списочных полей с множественным выбором
Дополнительные команды SQL
Взаимодействие с СУБД
Основные функции доступа
Дополнительные функции
Переменные
Переменные для подстановки
Написание модулей CGI
Обработка файлов формата DBF
Состав
Установка
ЭтаI
ЭтаII
ЭтаIII
Использование
Спецификация процедур пакета htp
Вставка иллюстраций в HTML-документы
Особенности WWW-графики
Рекомендуемые графические программные пакеты
Программные пакеты для MS Windows x, MS Windows и MS Windows NT
Программные пакеты для ОС UNIX
Программные пакеты для Apple Macintosh
Основные типы графики для WWW
Как сделать так, чтобы изображения были гладкими?
Что такое transparent/interlaced GIFs и как их делать
Что такое progressive JPEGs и как ИХ делать
WWW и анимация
Хороший и плохой стили
Обзор различных программ просмотра
Тестирование страниц
Оптимизация Web-страниц
Текст
Графические изображения
Multimedia-материалы
Редакторы HTML
Программы преобразования форматов
Представление цвета
Использование технологий WWW для доступа к базам данных
Cтруктуры данных
Скалярные величины
Простые массивы
Ассоциативные массивы
Простые операторы
Составные операторы
Термы и операторы списка
Оператор ``стрелка''
Операторы ++ и - -
Экспоненциальный оператор
Символьные унарные операторы
Операторы связки
Бинарные операторы
Операторы сдвига
Операторы сравнения
Операторы эквивалентности
Побитовое И, побитовое ИЛИ и Исключающее ИЛИ
Логическое И и логическое ИЛИ
Оператор диапазона
Условный оператор
Операторы присваивания
Оператор ``запятая''
Логическое НЕ
Логическое И, ИЛИ и Исключающее ИЛИ
Оператор чтения из файла
Оператор замены строки
Оператор замены множества символов
Символьные ссылки
Регулярные выражения
Зарезервированные переменные
Встроенные функции
Пакеты
Таблицы символов
Конструкторы и деструкторы пакетов
Классы
Модули
Объектная ориентация
Объекты
Методы
Вызов метода
Деструкторы
Приложение Опыт построения WWW - интерфейса к БД "Телефонный справочник НГУ"
-
Работа с базами данных. Динамический SQL
С помощью динамического SQL программа-клиент выполняет программное формирование оператора SQL для его последующего исполнения, делая это в три этапа:
СОЗДАНИЕ И МОДИФИКАЦИЯ БАЗЫ ДАННЫХ И ТАБЛИЦ
ИСПОЛЬЗОВАНИЕ ЯЗЫКА PHP ДЛЯ ДОСТУПА К БАЗАМ ДАННЫХ
ПОСТРОЕНИЕ ДИАГРАММ РАБОТ И ДИАГРАММ ПОТОКОВ ДАННЫХ ИНФОРМАЦИОННОЙ СИСТЕМЫ
ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
ТРИГГЕРЫ И ПРОЦЕДУРЫ
РАЗРАБОТКА ПРОГРАММНОГО ПРИЛОЖЕНИЯ НАД БАЗОЙ ДАННЫХ
ВЫБОР И МОДИФИКАЦИЯ ДАННЫХ ТАБЛИЦ
ПОЛНОМОЧИЯ НА ИСПОЛЬЗОВАНИЕ БЫЗЫ ДАННЫХ. РАБОТА С ВНЕШНИМИ БАЗАМИ ДАННЫХ
РЕАЛИЗАЦИЯ ПРОСТЕЙШИХ ОПЕРАЦИЙ РАБОТЫ С БАЗОЙ ДАННЫХ СРЕДСТВАМИ ВСТРОЕННОГО SQL
РАБОТА С КУРСОРОМ
ДИНАМИЧЕСКИЙ SQL
ВЫПОЛНЕНИЕ ПРОСТЕЙШИХ SQL-ОПЕРАТОРОВ С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ ODBC
ВЫБОРКА ДАННЫХ С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ ODBC
ВЫБОРКА ДАННЫХ С ИСПОЛЬЗОВАНИЕМ СРЕДСТВ ODBC - 2
ДОСТУП К БАЗАМ ДАННЫХ ПОСРЕДСТВОМ CGI-СКРИПТА, НАПИСАННОГО НА ЯЗЫКЕ ESQL
-
Уроки Iczelion'а
Win32 программы выполняются в защищенном режиме, который доступен начиная с 80286. Hо 80286 теперь история. Поэтому мы предполагаем, что имеем дело только с 80386 и его потомками. Windows запускает каждую Win32 программу в отдельном виртуальном пространстве. Это означает, что каждая Win32 программа будет иметь 4-х гигабайтовое адресное пространство.
Hо это вовсе не означает, что каждая программа имеет 4 гигабайта физической памяти, а только то, что программа может обращаться по любому адресу в этих пределах. Windows сделает все необходимое, чтобы сделать память, к которой программа обращается "существующей". Конечно, программа должна придерживаться правил, установленных Windows, или это вызовет General рrotection Fault. Каждая программа одна в своем адресном пространстве, в то время как в Win16 дело обстоит не так. Все Win16 программы могут *видеть* друг друга, что невозможно в Win32. Этот особенность помогает снизить шанс того, что одна программа запишет что-нибудь поверх данных или кода другой программы.
Урок 2. MessageBox
Урок 3. Пpостое окно
Урок 4. Отрисовка текста
Урок 5. Больше о тексте
Урок 6. Клавиатура
Урок 7. Мышь
Урок 8. Меню
Урок 9. Дочерние окна
Урок 10. Диалоговое окно как основное
Урок 11. Больше о диалоговых окнах
Урок 12. Память и файлы
Урок 13: Memory Mapped файлы
Урок 14. Процесс
Урок 15. Тpеды (ветви)
Урок 16. Объект события
Урок 17. Динамические библиотеки
Урок 18. Common Control'ы
Урок 19. Tree View Control
Урок 20. Сабклассинг окна
Урок 21. Пайп
Урок 22. Суперклассинг
Урок 23. Иконка в system tray
Урок 24. Windows-хуки
Урок 25. Пpостой битмэп
Урок 26. Сплэш-экран
Урок 27. Тултип-контрол
Уроки Iczelion'а
Урок 1. Основы
Урок 2. Соединение с базой данных
Урок 3. Подготовка и Использование Инструкций
Урок 4. Возвращаемые величины
Урок 5. ODBC пример
Уроки Iczelion'а
Урок 1. Обзор РE формата
Урок 2. Правильность PE файла
Урок 3. Файловый заголовок
Урок 4. Опциональный заголовок
Урок 5. Таблица секций
Урок 6. Таблица импорта
Урок 7. Таблица экспорта
Уроки Iczelion'а
Урок 1. Основы
Менеджер виртуальных машин
Виртуальные драйвера устройств
Взаимодействие между VxD
Урок 2. Менеджер виртуальных машин
Управление памятью
Обработка прерываний
Управление ветвями
Урок 3. Каркас драйвера
Формат LE
Каркас VxD
Компилирование VxD
Урок 4. Основы программирования
Инициализация и завершение VxD
Статический VxD:
Динамический VxD:
Другие системные контрольные сообщения
Создание процедур внутри VxD
Использование регистров
Передача параметров
Вызов VxD-сервисов
Плоские адреса
Урок 5. Message Box
Перехват создания и уничтожения VM
Отображение MessageBox'а
Анализ:
Файл определения модуля
Пpоцесс компиляции
Инсталляция VxD
Тестирование VxD
Урок 6. Интерфейс DeviceIoControl
Интерфейсы VxD
Интерфейс DeviceIoControl
Со стороны win32-приложения:
Со стороны VxD:
Полный пример
Анализ:
Заключение
Hемного теории
Обработка "aрy time"события.
Сервисы оболочки времени приложения
Сервисы оболочки времени приложения - 2
Пpимеp
Анализ
Урок 8. Client Register Structure
Hемного теории:
Пpимеp:
Анализ:
Урок 9. Менеджер V86-памяти
Hемного теории
Пpимеp
Анализ
Уроки Iczelion'а
Как создать invoke'абельную библиотеку импорта
Формат библиотек импорта MASM'а
Создание библиотек импорта MASM из DLL
Создание invoke'абельных библиотек импорта
Получение имен функций и общего размера параметров
Создание исходника DLL, который будет содержать все эти функции
Ассемблирование исходного кода как DLL-проекта
Пpимеp
Дополнительные инструменты
Lib2Def
MLib
Уроки Iczelion'а
Урок 28. Win32 Debug ApI I
Урок 29. Win32 Debug ApI II
Урок 30. Win32 Debug ApI III
Урок . Контрол Listview
Урок 32. Создание MDI-приложения
Урок 33 . Контрол Richedit: Основы.
Урок 35. Подсветка синтаксиса в RichEdit
-
CVS. Система управления параллельными версиями
CVS - это система контроля версий. Используя ее, вы можете вести историю ваших файлов с исходными текстами.
Например, иногда при определенном изменении в коде могут появиться ошибки, которые вы не сможете обнаружить в течение длительного времени. С помощью CVS вы легко можете обратиться к старым версиям, чтобы точно выяснить, что именно привело к ошибке. Иногда это сильно помогает.
Конечно, вы можете хранить каждую версию каждого файла, которые вы создаете. Это будет стоить вам невероятного объема дискового пространства. CVS хранит все версии файла в одном файле таким образом, что запоминаются лишь изменения между версиями.
CVS также поможет, если вы являетесь членом группы разработчиков одного проекта. Очень легко попортить чужие изменения, если только вы не крайне аккуратны. Некоторые редакторы, такие как GNU Emacs, стараются проследить, чтобы два человека не изменяли одновременно один и тот же файл. К сожалению, если кто-то использует другой редактор, эта предосторожность не сработает. CVS решает эту проблему, изолируя разработчиков друг от друга. Каждый работает в своем собственном каталоге, а затем CVS объединяет законченные работы.
Что такое CVS?
Чем не является CVS?
Пример работы с CVS
Получение исходного кода
Фиксирование изменений
Уборка за собой
Просмотр изменений
Управление ревизиями
Когда фиксировать изменения?
Несколько разработчиков
Статус файла
Извлечение свежей ревизии файла
Пример конфликта
Информирование коллег о фиксировании ревизий
Совместный доступ нескольких разработчиков к CVS
Как отследить, кто редактирует файлы?
Как с помощью CVS следить за определенными файлами?
CVS может посылать вам уведомления
Как редактировать файлы, за которыми наблюдают?
Информация о том, кто следит и кто редактирует
Использование слежений со старыми версиями CVS
Выбор между блокированными и неблокированными извлечениями
Подстановка ключевых слов
Список ключевых слов
Использование ключевых слов
Как избежать подстановки
Режимы подстановки
Проблемы с ключевым словом $Log$.
Как ваша система сборки взаимодействует с CVS
Слежение за чужими исходными текстами
Начальный импорт
Обновление с помощью импорта
Возврат к последней версии от поставщика
Как обрабатывать двоичные файлы при импорте в CVS
Как обрабатывать замену ключевых слов при импорте в CVS
Несколько веток поставщика
Специальные файлы
Краткий справочник по командам CVS
Справочник по административным файлам
Файл `modules'
Модули-синонимы
Обычные модули
Амперсенд-модули
Исключение каталогов из списка
Флаги модулей
Файл `cvswrappers'
Выполнение программ на разных стадиях фиксирования
Обычный синтаксис
Файл `commitinfo'
Проверка журнальных записей
Файл `editinfo'
Пример использования Editinfo
Файл loginfo
Пример использования loginfo
Обновление извлеченной копии
Файл rcsinfo
Игнорирование файлов с помощью cvsignore
Файл history
Подстановки в административных файлах
Файл конфигурации CVSROOT/config
Все переменные окружения, используемые в CVS
Руководство по командам CVS
Общая структура команд CVS
Код выхода CVS
Ключи по умолчанию и файл ~/.cvsrc
Глобальные ключи командной строки
Стандартные ключи командной строки
Команда admin: администрирование
Ключи команды admin
Команда checkout: извлечение исходных текстов для редактирования
Ключи команды checkout
Пример использования команды `checkout'
Команды commit: поместить файлы в репозиторий
Ключи команды commit
Помещение изменений на ветку
Создание ветки после редактирования
Команда diff: показать различия между ревизиями
Ключи команды diff
Примеры использования команды diff
Команда export: экспортировать исходные тексты
Ключи команды export
Команда history: показать состояние файлов и пользователей
Ключи команды history
Команда import: импортировать исходные тексты
Ключи команды import
Сообщения команды output
Примеры использования команды import
Команда log: напечатать информацию о файлах
Ключи команды log
Команда rdiff: выдать изменения между версиями в формате patch
Ключи команды rdiff
Примеры использования команды rdiff
Команда release: сообщить, что модуль более не используется
Ключи команды release
Сообщения команды release
Примеры использования команды release
Команда update: обновить рабочий каталог из репозитория
Ключи команды update
Сообщения команды update
Совместимость между версиями CVS
Исправление ошибок
Частичный список сообщений CVS
Ошибки при установке соединения с CVS-сервером
Другие распространенные проблемы
Титры
Что делать с ошибками в CVS и этом руководстве?
Репозиторий
Как сообщить CVS, где находится репозиторий
Как данные хранятся в репозитории
Где хранятся файлы в репозитории
Права доступа к файлам
Специфические для Windows права доступа
Чердак
Каталог CVS в репозитории
Блокировки в репозитории
Как в каталоге CVSROOT хранятся файлы
Как данные хранятся в рабочем каталоге
Административные файлы
Редактирование административных файлов
Несколько репозиториев
Создание репозитория
Резервное копирование репозитория
Перемещение репозитория
Сетевые репозитории
Требования к серверу
Соединение с помощью rsh
Прямое соединение с парольной аутентификацией
Настройка сервера для парольной аутентификации
CVS.Система управления параллельными версиями
Использование клиента с парольной аутентификацией
Вопросы безопасности при парольной аутентификации
Прямое соединение с использованием GSSAPI
Прямое соединение с помощью Kerberos
Использование параллельного cvs server для соединения
Доступ к репозиторию только для чтения
Временные каталоги на сервере
Начинаем проект под CVS
Помещение файлов в репозиторий
Создание дерева каталогов из нескольких файлов
Создание файлов из других систем контроля версий
Создание дерева каталогов с нуля
Определение модуля
Ревизии
Номера ревизий
Версии и ревизии
Назначение номеров ревизий
Метки ревизий
Что пометить в рабочем каталоге
Как помечать по дате или ревизии
Удаление, перемещение и удаление меток
Пометки при добавлении и удалении файлов
Липкие метки
Создание ветвей и слияние
Для чего хороши ветви?
Создание ветви
Доступ к веткам
Ветки и ревизии
Волшебные номера веток
Слияние веток
Многократное слияние из ветки
Слияние изменений между двумя ревизиями
При слиянии можно добавлять и удалять файлы
Рекурсивное поведение
Просмотр истории
Журнальные записи
База истории
Настройка журналирования
Команда annotate
Добавление, удаление и переименование файлов и каталогов
Добавление файлов в каталог
Удаление файлов
Удаление каталогов
Перемещение и переименование файлов
Обычный способ переименования
Перемещение файла с ревизиями
Копирование файла с ревизиями
Перемещение и переименование каталогов
Обработка двоичных файлов
Вопросы использования двоичных файлов
Как хранить двоичные файлы
CVS -- Система Управления Параллельными Версиями
-
Анализ альтернативных архитектур управления транзакциями в облачной среде
Все основные поставщики программного обеспечения и многие начинающие компании примкнули к движению "в облака" и утверждают, что их продукты уже готовы или готовятся к использованию в "облачной" инфраструктуре
От переводчика
Аннотация
Введение
Родственные работы
Архитектуры распределенных систем баз данных
Классика
Разделение
Репликация
Распределенное управление
Кэширование
Облачные службы
Amazon (AWS)
AWS MySQL
AWS MySQL/R
AWS RDS
AWS SimpleDB
AWS S3
Google
Microsoft
Экспериментальная среда
Тестовый набор TPC-W
Методология, показатели и реализация
Эксперименты и результаты
Общая картина
Горизонтальное масштабирование (scale-out)
Cost/WIPS
Cтоимость за день
Анализ стоимости
Вертикальное масштабирование (scale-up)
Массовая загрузка
Заключение
Литература
-
Принципы функционирования реляционных баз данных
Реляционная модель описывает, какие данные могут храниться в реляционных базах данных, а также способы манипулирования такими данными. В упрощенном виде основная идея реляционной модели состоит в том, что данные должны храниться в таблицах и только в таблицах
Введение в системы управления базами данных
Основное назначение данного учебного пособия - дать систематическое введение в основы реляционной модели данных и принципы функционирования реляционных баз данных.
Реляционная модель описывает, какие данные могут храниться в реляционных базах данных, а также способы манипулирования такими данными. В упрощенном виде основная идея реляционной модели состоит в том, что данные должны храниться в таблицах и только в таблицах. Эта, кажущаяся тривиальной, идея оказывается вовсе не простой при рассмотрении вопроса, а что, собственно, представляет собой таблица? В данный момент существуем много различных систем обработки данных, оперирующих понятием "таблица", например, всем известные, электронные таблицы, таблицы текстового редактора MS Word, и т.п. Ячейки электронной таблицы могут хранить разнотипные данные, например, числа, строки текста, формулы, ссылающиеся на другие ячейки. Собственно, на одном листе электронной таблицы можно разместить несколько совершенно независимых таблиц, если под таблицей понимать прямоугольную область, расчерченную на клеточки и заполненную данными.
Пример 1
Глава 1 Элементы теории множеств
Множества
Операции над множествами
Декартово произведение множеств
Отношение
Примеры отношений
Бинарные отношения (отношения степени 2)
Отношение эквивалентности
Отношения порядка
Функциональное отношение
Еще пример бинарного отношения
Пример 1
Nарные отношения (отношения степени n)
Пример 3
Проекция
Пример 11
Соединение
Общая операция соединения
Тэтасоединение
Пример 13
Эквисоединение
Пример 16
Пример 17
Пример 18
Пример 19
Естественное соединение
Пример 20
Деление
Пример 21
Пример 22
Пример 23
Примеры использования реляционных операторов
Зависимые реляционные операторы
Оператор соединения
Оператор пересечения
Оператор деления
Примитивные реляционные операторы
Оператор декартового произведения
Оператор проекции
Оператор выборки
Операторы объединения и вычитания
Запросы невыразимые средствами реляционной алгебры
Плохая нормализация отношений
Пример 24
Пример 25
Пример 26
Пример 27
Невыразимость транзитивного замыкания реляционными операторами
Пример 28
Кросстаблицы
Пример 29
Пример 30
Выводы
Глава 5 Элементы языка SQL
Операторы SQL
Операторы DDL (Data Definition Language) операторы определения объектов базы данных
Операторы DML (Data Manipulation Language) операторы манипулирования данными
Операторы защиты и управления данными
Примеры использования операторов манипулирования данными
INSERT вставка строк в таблицу
UPDATE обновление строк в таблице
DELETE удаление строк в таблице
Примеры использования оператора SELECT
Отбор данных из одной таблицы
Пример 1
Пример 2
Пример 3
Отбор данных из нескольких таблиц
Пример 4
Пример 5
Пример 6
Пример 7
Пример 8
Пример 9
Использование имен корреляции (алиасов псевдонимов)
Использование агрегатных функций в запросах
Пример 10
Пример 11
Пример 12
Пример 13
Пример 14
Использование агрегатных функций в запросах
Пример 15
Пример 16
Использование агрегатных функций с группировками
Пример 17
Пример 18
Использование подзапросов
Использование объединения пересечения и разности
Синтаксис оператора выборки данных (SELECT)
BNFнотация
Синтаксис оператора выборки
Синтаксис соединенных таблиц
Синтаксис условных выражений раздела WHERE
Порядок выполнения оператора SELECT
Стадия 1 Выполнение одиночного оператора SELECT
Стадия 2 Выполнение операций UNION EXCEPT INTERSECT
Стадия 3 Упорядочение результата
Как на самом деле выполняется оператор SELECT
Реализация реляционной алгебры средствами оператора SELECT (Реляционная полнота SQL)
Оператор декартового произведения
Оператор проекции
Оператор выборки
Оператор объединения
Оператор вычитания
Оператор соединения
Оператор пересечения
Оператор деления
Выводы
Глава 6 Нормальные формы отношений
Этапы разработки базы данных
Критерии оценки качества логической модели данных
Адекватность базы данных предметной области
Легкость разработки и сопровождения базы данных
Скорость операций обновления данных (вставка обновление удаление)
Скорость операций выборки данных
Основной пример
НФ (Первая Нормальная Форма)
Пример 1
Аномалии обновления
Аномалии вставки (INSERT)
Аномалии обновления (UPDATE)
Аномалии удаления (DELETE)
Функциональные зависимости
Определение функциональной зависимости
Функциональные зависимости отношений и математическое понятие функциональной зависимости
НФ (Вторая Нормальная Форма)
Пример 2
Пример 3
Пример 4
Анализ декомпозированных отношений
Оставшиеся аномалии вставки (INSERT)
Оставшиеся аномалии обновления (UPDATE)
Оставшиеся аномалии удаления (DELETE)
НФ (Третья Нормальная Форма)
Пример 5
Пример 6
Алгоритм нормализации (приведение к 3НФ)
Анализ критериев для нормализованных и ненормализованных моделей данных
Сравнение нормализованных и ненормализованных моделей
Пример 7
OLTP и OLAPсистемы
Корректность процедуры нормализации декомпозиция без потерь Теорема Хеза
Пример 8
Пример 9
Пример 10
Пример 11
Пример 12
Пример 13
Пример 14
Пример 15
Пример 16
Пример 17
Выводы
Глава 7 Нормальные формы более высоких порядков
НФБК (Нормальная Форма БойсаКодда)
Пример 1
Пример 2
Пример 3
Пример 4
Пример 5
Ограничения отношения
Ограничения базы данных
Реализация декларативных ограничений целостности средствами SQL
Общие принципы реализации ограничений средствами SQL
Синтаксис ограничений стандарта SQL
Пример 4
Пример 5
Пример 6
Синтаксис операторов SQL использующих ограничения
Выводы
Глава 10 Транзакции и параллелизм
Работа транзакций в смеси
Проблемы параллельной работы транзакций
Проблема потери результатов обновления
Пример 1
Проблема незафиксированной зависимости (чтение "грязных" данных неаккуратное считывание)
Пример 2
Проблема несовместимого анализа
Неповторяемое считывание
Пример 3
Фиктивные элементы (фантомы)
Пример 4
Собственно несовместимый анализ
Пример 5
Конфликты между транзакциями
Блокировки
Пример 6
Решение проблем параллелизма при помощи блокировок
Проблема потери результатов обновления
Проблема незафиксированной зависимости
Пример 7
Проблема незафиксированной зависимости (чтение "грязных" данных неаккуратное считывание)
Пример 8
Проблема несовместимого анализа
Неповторяемое считывание
Пример 9
Фиктивные элементы (фантомы)
Пример 10
Собственно несовместимый анализ
Пример 11
Разрешение тупиковых ситуаций
Пример 12
Преднамеренные блокировки
Пример 13
Пример 14
Предикатные блокировки
Метод временных меток
Механизм выделения версий данных
Пример 15
Теорема Есварана о сериализуемости
Реализация изолированности транзакций средствами SQL
Уровни изоляции
Пример 16
Синтаксис операторов SQL определяющих уровни изоляции
Выводы
Глава 11 Транзакции и восстановление данных
Виды восстановления данных
Индивидуальный откат транзакции
Восстановление после мягкого сбоя
Восстановление после жесткого сбоя
Восстановление данных и стандарт SQL
Выводы
Список литературы
Пушников А Ю
Введение в системы управления базами данных
Учебное пособие
Оглавление
-
Системы управления базами данных
Одной из форм привлечения преподавателей к использованию компьютера являются тестирующие программы, которые позволяют упростить проверку знаний учащихся и в то же время в увлекательной форме преподносят ученикам знания по той или иной дисциплине.
Введение
Основные положения
Поле А
Иерархическая и сетевая даталогические модели СУБД
Сетевые структуры
Файловая модель
Реляционные структуры
Реляционные даталогические модели СУБД
Объектно-ориентированные СУБД (ООСУБД)
Иерархические стpуктуpы
Иерархические структуры в реляционных базах данных
Вложенные рекурсивные иерархические данные
Отображение данных
OLE: основные сведения
Введение в OLE
Связывания и внедрение объектов
Различие между связыванием и внедрением объектов
Достоинства и недостатки тестовой
Межпредметные связи и компьютерное обучение
Разработка тестирующей программы
Заключение
Список литературы