Основы проектирования приложений баз данных


         

Основы проектирования приложений баз данных

Интерфейс ODBC (Open Database Connectivity) был разработан фирмой Microsoft как открытый интерфейс доступа к базам данных. Он предоставляет унифицированные средства взаимодействия прикладной программы, называемой клиентом (или приложением-клиентом), с сервером - базой данных.
В основу интерфейса ODBC были положены спецификация CLI-интерфейса (Call-Level Interface), разработанная X/Open, и ISO/IEC для API баз данных, а также язык SQL (Structured Query Language) как стандарт языка доступа к базам данных.
Интерфейс ODBC проектировался для поддержки максимальной интероперабельности приложений, которая обеспечивает унифицированный доступ любого приложения, использующего ODBC, к различным источникам данных. Так, если приложение, соответствующее стандарту ODBC и SQL, первоначально разрабатывалось для работы с базой данных Microsoft Access, а затем таблицы этой базы были перенесены в базу данных Microsoft SQL Server или базу данных Oracle, то приложение сможет и дальше обрабатывать эти данные без внесения дополнительных изменений.

Основа ODBC
Основные функции ODBC
Схема доступа к источнику данных с использованием ODBC API
Схема извлечения данных с использованием ODBC API
Параметры SQL-оператора
Курсоры
Реализация блочной выборки строк
Создание именованного курсора
Объектная модель OLE DB
Библиотека MFC
Классы, используемые для доступа к БД
Механизмы доступа к БД
Работа с базами данных
Создание сервлета, используемого для публикации данных

Три манифеста баз данных ретроспектива и перспективы

В период с 1989 по 1995 гг. авторские группы, включающие известных специалистов в области баз данных, подготовили и опубликовали три документа [1-3], которые отражали точки зрения авторов относительно перспектив развития технологии баз данных. С легкой руки авторов хронологически первого документа эти документы получили название манифестов, что, в общем-то, отражало их суть: в каждом из документов провозглашался набор идей и требований, на которых, по мнению авторов, должны были базироваться системы баз данных следующего поколения.
Интересно отметить различия между коллективами авторов каждого из манифестов. “Манифест систем объектно-ориентированных баз данных” [1] (далее в этой статье для краткости мы будем называть его Первым манифестом) написан академическими исследователями; почти все они являются профессорами различных университетов. Конечно, это нашло свое отражение в стиле Первого манифеста – очень мягком и умеренно рекомендательном (хотя по своему духу предложения этого манифеста были весьма радикальными).

Введение
Интересно отметить различия между коллективами авторов каждого из манифестов. “Манифест систем объектно-ориентированных баз данных” (далее в этой статье для краткости мы будем называть его Первым манифестом) написан академическими исследователями; почти все они являются профессорами различных университетов. Конечно, это нашло свое отражение в стиле Первого манифеста – очень мягком и умеренно рекомендательном (хотя по своему духу предложения этого манифеста были весьма радикальными).

Первый манифест
Обязательные, т. е. такие, которыми система должна обладать для того, чтобы ее можно было рассматривать как систему объектно-ориентированных баз данных. В число этих характеристик входят сложные объекты; идентифицируемость (identity) объектов; инкапсуляция, типы или классы; наследование; перегрузка методов совместно с поздним связыванием; расширяемость; вычислительная полнота; стабильность; управление вторичной памятью; параллелизм; восстанавливаемость; средства обеспечения незапланированных (ad hoc) запросов. Необязательные, т.е., такие, которые могут быть добавлены к системе для ее улучшения, но обязательными не являются. К этим характеристикам относятся множественное наследование; проверка и вывод типов; распределенность; проектные транзакции; версии.

Обязательные свойства: золотые правила
Сложные объекты
Идентифицируемость объектов
Инкапсуляция
Инкапсуляция - 2
Типы и классы
Типы и классы - 2
Иерархии классов или типов
Перекрытие, перегрузка и позднее связывание
Перекрытие, перегрузка и позднее связывание - 2

Манифест систем баз данных следующего поколения и его последствия
Сетевые и иерархические системы баз данных, широко распространенные в 70-е годы, получили название систем баз данных первого поколения. Действительно, это были первые системы, предлагавшие развитую функциональность СУБД в рамках единой системы, с языками определения и манипулирования данными для наборов записей. Типичными представителями первого поколения являются сетевые системы, основанные на предложениях CODASYL , и иерархическая СУБД IMS .

Принципы СУБД третьего поколения
Принципы СУБД третьего поколения - 2
Тринадцать предложений
Предложения по управлению объектами
Предложения по управлению объектами - 2
Предложения по управлению объектами - 3
Предложения по управлению объектами - 4
Предложения по управлению объектами - 5
Предложения по увеличения возможностей СУБД
Предложения по увеличения возможностей СУБД - 2

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

Назад к реляционному будущему
Назад к реляционному будущему - 2
Назад к реляционному будущему - 3
Назад к реляционному будущему - 4
Назад к реляционному будущему - 5
Назад к реляционному будущему - 6
Назад к реляционному будущему - 7
Назад к реляционному будущему - 8
Третий манифест
Третий манифест - 2

Введение в системы управления базами данных

Основное назначение данного учебного пособия - дать систематическое введение в основы реляционной модели данных и принципы функционирования реляционных баз данных.
Реляционная модель описывает, какие данные могут храниться в реляционных базах данных, а также способы манипулирования такими данными. В упрощенном виде основная идея реляционной модели состоит в том, что данные должны храниться в таблицах и только в таблицах. Эта, кажущаяся тривиальной, идея оказывается вовсе не простой при рассмотрении вопроса, а что, собственно, представляет собой таблица? В данный момент существуем много различных систем обработки данных, оперирующих понятием "таблица", например, всем известные, электронные таблицы, таблицы текстового редактора MS Word, и т.п. Ячейки электронной таблицы могут хранить разнотипные данные, например, числа, строки текста, формулы, ссылающиеся на другие ячейки. Собственно, на одном листе электронной таблицы можно разместить несколько совершенно независимых таблиц, если под таблицей понимать прямоугольную область, расчерченную на клеточки и заполненную данными.

Множества
Наиболее простая структура данных, используемая в математике, имеет место в случае, когда между отдельными изолированными данными отсутствуют какие-либо взаимосвязи. Совокупность таких данных представляет собой множество. Понятие множества является неопределяемым понятием. Множество не обладает внутренней структурой. Множество можно представить себе как совокупность элементов, обладающих некоторым общим свойством.

Операции над множествами
Декартово произведение множеств
Отношение
Отношение - 2
Бинарные отношения (отношения степени 2)
Отношение эквивалентности
Отношения порядка
Функциональное отношение
Еще пример бинарного отношения
Еще пример бинарного отношения - 2

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

НФБК (Нормальная Форма Бойса-Кодда)
НФБК (Нормальная Форма Бойса-Кодда) - 2
НФБК (Нормальная Форма Бойса-Кодда) - 3
НФБК (Нормальная Форма Бойса-Кодда) - 4
Четвертая Нормальная Форма
Четвертая Нормальная Форма - 2
Четвертая Нормальная Форма - 3
Четвертая Нормальная Форма - 4
Четвертая Нормальная Форма - 5
Пятая Нормальная Форма

Оптимизация запросов в системах баз данных

С моей точки зрения, оптимизация запросов является наиболее важным и интересным направлением исследований и разработок во всей области баз данных. Важность этого направления определяется тем, что от развитости компонента оптимизации запросов критически зависит общая производительность любой SQL-ориентированной СУБД (я ограничиваюсь этим классом систем, потому что, во-первых, они полностью довлеют на современном рынке СУБД, и, во-вторых, методы оптимизации наиболее развиты именно для SQL-запросов). Я считаю это направление наиболее интересным, потому что при решении задач оптимизации приходится использовать самые разнообразные подходы и методы из различных областей вычислительной науки и математики: методы оптимизации программ, применяемые в компиляторах языков программирования, математическую логику, математическую статистику, методы искусственного интеллекта, распознавания образов и т.д.
На протяжении последних тридцати лет эти факторы привлекают к данному направлению внимание сотен исследователей, опубликовавших тысячи статей, многие из которых доступны и/или интересны только профессионалам. Но некоторое знакомство с методами оптимизации запросов полезно гораздо более широкой аудитории: проектировщикам и администраторам систем баз данных, разработчикам приложений баз данных и даже пользователям этих приложений. Такое знакомство обеспечивают обзоры методов оптимизации. До сих пор русскоязычным читателям были доступны моя обзорная статья и перевод более современной обзорной статьи Сураджита Чаудхари.

Цели оптимизации
Цели оптимизации - 2
Цели оптимизации - 3
Цели оптимизации - 4
Нисходящий подход к оптимизации запросов
Нисходящий подход к оптимизации запросов - 2
Представление запросов
Реляционное исчисление
Реляционное исчисление - 2
Реляционная алгебра

Основы проектирования реляционных баз данных

Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых "Системы управления базами данных" (СУБД).
Основная особенность СУБД – это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящиеся под управлением СУБД, стали называть банки данных, а затем "Базы данных" (БД).

Архитектура СУБД
Характеристика связей и язык моделирования
Характеристика связей и язык моделирования - 2
Характеристика связей и язык моделирования - 3
Классификация сущностей
Классификация сущностей - 2
Классификация сущностей - 3
О первичных и внешних ключах
О первичных и внешних ключах - 2
О первичных и внешних ключах - 3


Основы проектирования реляционных баз данных
Самоучитель по Development of Safety
Хранилища данных - статьи
Рисование с Photoshop и Illustrator
Словарь ActionScript
Язык обработки данных AWK
100 компонентов общего назначения библиотеки Delphi 5
Компилятор GNAT
Ада-95. Компилятор GNAT
Иллюстрированный самоучитель по Director MX
Иллюстрированный самоучитель по Adobe Illustrator 10
Регулярные выражения Perl и их применение
Администрирование в вопросах и ответах
Безопасность и Internet
Что такое реестр Общая теория
Энциклопедия системного администратора Linux
Контроль и ограничение пользователей Linux
Справочник компьютерных терминов
Справочник по средствам администрирования и компьютерных терминов
Практика программирования