- •Введение
- •1. Информационная система (ис):
- •2.Типы и структуры данных
- •2.1.Основные типы данных
- •2.1.Методы доступа к данным
- •2.1.1.Методы поиска по дереву
- •2.2.2.Хеширование
- •3. Представление данных с помощью модели "сущность-связь".
- •3.1.Элементы модели
- •3.2.Диаграмма "сущность-связь".
- •4. Даталогические модели
- •4.1.Иерархическая модель данных
- •4.1.1.Структура данных
- •4.1.2.Операции над данными, определенные в иерархической модели:
- •4.1.3. Ограничения целостности
- •4.2. Сетевая модель данных
- •4.2.1. Структура данных
- •4.2.2.Операции над данными
- •4.3. Реляционная модель данных
- •1. Основные понятия
- •4.3.1. Структура данных
- •4.3.2. Фундаментальные свойства отношений
- •4.3.2.1. Отсутствие кортежей-дубликатов
- •4.3.2.2. Отсутствие упорядоченности кортежей
- •4.3.2.3. Отсутствие упорядоченности атрибутов
- •4.3.2.4. Атомарность значений атрибутов
- •4.3.3.Свойства отношений.
- •4.3.4. Реляционная модель и модель сущность - связь
- •4.3.4.1. Преобразование er-модели в реляционную модель
- •5. Языки запросов к реляционным базам данных
- •5.1. Реляционная алгебра
- •Общая интерпретация реляционных операций
- •Замкнутость реляционной алгебры и операция переименования
- •Правила записи выражений реляционной алгебры
- •5.2. Реляционное исчисление кортежей
- •5.3. Реляционное исчисление доменов
- •5.3. Ограничения реляционных баз данных
- •5.4. Постреляционные субд
- •6. Проектирование информационных систем и баз данных
- •Информационное моделирование процессов предметной области и применение потоковых диаграмм
- •7. Проектирование реляционных баз данных с использованием нормализации
- •7.1. Основные свойства нормальных форм
- •7.2. Функциональная зависимость
- •2. Ни для какого зависимость
- •7.2.1. Аксиомы функциональных зависимостей
- •7.2.2. Вычисление замыканий
- •7.2.3. Полная функциональная зависимость
- •7.2.4. Транзитивная функциональная зависимость
- •7.2.5.2. Вторая нормальная форма
- •7.2.5.3. Третья нормальная форма
- •7.2.5.4. Нормальная форма Бойса-Кодда
- •7.2.5.5. Четвертая нормальная форма
- •7.2.5.6. Пятая нормальная форма
- •7.2.6. Функциональные зависимости и проектирование базы данных.
- •Дополнительная литература
1. Информационная система (ис):
предназначена для сбора, хранения и обработки информации;
ориентирована на конечного пользователя - непрограммиста.
Конкретная ИС всегда связана с конкретной областью применения - предметной областью:
данные - информация этой области применения;
процессы (действия над данными) - задачи этой предметной области;
конечные пользователи - специалисты этой области (бухгалтера, библиотечные работники...).
Предметная область - часть реального мира, подлежащая изучению с целью организации управления и, в конечном счете, автоматизации. Предметная область представляется множеством фрагментов, например, предприятие - цехами, дирекцией, бухгалтерией и т.д. Каждый фрагмент предметной области характеризуется множеством объектов и процессов, использующих объекты, а также множеством пользователей, характеризуемых различными взглядами на предметную область.
База данных (БД): набор взаимосвязанных файлов данных, предназначенных для решения набора взаимосвязанных задач предметной области.
В процессе развития средств обработки данных были выявлены следующие характерные черты «идеальных» информационных систем обработки информации.
Обработка постоянных (перманентных) данных
Централизованная обработка данных на основе стандартов
Интеграция данных
Независимость
Целостность хранимых данных
Эффективность обработки данных
Язык управления данными
Секретность
Синхронизация
Защита от отказов и восстановление
Информационные системы подразделяются на персональные (однопользовательские), групповые и корпоративные.
Персональные ИС ориентированы на раздельное использование индивидуальными конечными пользователями.
Групповые - на коллективное использование членами рабочей группы, одновременно решающими взаимосвязанные задачи на общей базе данных.
Корпоративные ИС ориентированы на масштаб предприятия, могут поддерживать согласованную работу территориально распределенных подразделений предприятия.
Для работы с данными используются языки описания баз данных (DDL – DATABASE DEFINE LANGVIGE) и манипулирования данными (DML - DATABASE MANIPULATION LANGVIGE).
Языки описания данных служат для спецификации концептуальной схемы и являются непроцедурными языками. Это средство для описания типов объектов и связей между объектами в базе данных. Язык определения данных используется при разработке и модификации проекта базы данных и почти всегда включает операторы, описывающие (в абстрактных терминах) физическую организацию базы данных. Детальный проект базы данных продуцируется СУБД на основе спецификаций языка DDL. Используя этот язык, администратор базы данных и его персонал специфицируют концептуальную схему и ее реализацию как физическую базу данных.
Функции администратора:
Создание подсхем для представлений;
Представление полномочий на использование базы данных или ее определенных частей;
Модификация концептуальной схемы с целью устранения недостатков первоначального проекта или в связи с изменением первоначальных требований;
Модификация реализаций физической схемы, если сведения об использовании базы данных показывают неэффективность используемых решений.
Изготовления копий базы данных и ее восстановление при повреждениях.
Язык манипулирования данными необходим для изменения содержимого базы данных в процессе ее эксплуатации, создания различного рода запросов для извлечения данных из базы. Этот язык используется для реализации связи прикладных программ, обслуживающих систему с физической базой данных. Прикладные программы могут использовать язык манипулирования данными одним из двух способов:
Команды языка манипулирования данными инициируются путем вызова специальных процедур, представляемых СУБД.
Команды языка манипулирования данными являются операторами в некотором языке, представляющим расширение языка, используемого прикладными системами.
Система управления базами данных (СУБД) - программный комплекс, предназначенный для обработки баз данных; независимый от предметной области, т.е. это программное обеспечение (ПО) общего назначения. Основная роль СУБД заключается в обеспечении пользователя инструментарием, позволяющем оперировать данными в абстрактных терминах, не связанных с конкретными способами их хранения в памяти ЭВМ.
Основные функции СУБД:
управление данными во внешней памяти (на дисках);
управление данными в оперативной памяти (защита целостности данных, синхронизация);
журнализация изменений и восстановление базы данных после сбоев;
обеспечение защиты данных от несанкционированного доступа;
поддержание языков БД (язык определения данных, язык манипулирования данными).
Обычно современная СУБД содержит следующие компоненты (см. рис.):
ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию,
процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных, и создание, как правило, машинно-независимого исполняемого внутреннего кода,
подсистему поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД
а также сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы.
СУБД позволяет обеспечить независимость программ от данных - изменение структуры данных и способа их физического представления (в определенных пределах) не влечет необходимости внесения изменений в прикладные (связанные с предметной областью) программы.
Возможность обеспечить независимость по данным открывается благодаря тому, что:
СУБД хранит информацию о структуре данных (из описания на DDL);
операторы DML - языка, на котором пишутся прикладные программы, выполняет СУБД.
Существует множество уровней абстракции между ЭВМ, понимающей язык двоичных цифр и конечным пользователем, мыслящим на уровне абстракций, привязанных к конкретно решаемым задачам. Технология обеспечения независимости по данным основана на концепции 3-х уровневого представления базы данных (ANSI/SPARC-1975):
физический (нижний) уровень: внутреннее представление базы данных (внутренняя схема БД) - описание структуры хранения БД, включая методы доступа;
логический (средний) уровень: концептуальное представление базы данных (концептуальная схема БД) - описание структуры БД предметной области в целом, но без деталей физической структуры хранения;
пользовательский (верхний) уровень: внешние представления базы данных (внешние схемы, подсхемы) - описания структуры фрагментов БД, локальные для различных подсистем ИС и прикладных процессов этих подсистем; прикладные программы информационной системы используют только соответствующие внешние представления БД.
Внешнее представление
Внешнее представление
Концептуальное
представление
Внутреннее
представление
Хранимая база данных
Конечные пользователи
Хранимая база данных
Уровни абстракции в базе данных
В рамках этой концепции различаются:
физическая независимость - в пределах заданного концептуального представления можно вносить изменения во внутреннее представление БД с целью повысить эффективность работы системы в целом; При этом не требуется переписывать прикладные программы в связи с изменением физической схемы. Это позволяет настраивать физическую базу для достижения эффективности и вместе с тем исполнять прикладные программы так, как будто этих изменений и не произошло.
логическая независимость - можно пополнять и вносить изменения в концептуальное представление БД, при этом эти изменения не затронут одних внешних представлений, другие достаточно будет только переопределить; все эти изменения не испортят работу прикладных программ ИС, которые манипулируют данными в не изменившихся внешних представлениях.
Пользователи информационных систем и, в общем случае, прикладных систем (Application):
конечные пользователи - специалисты предметных областей, использующие ИС для решения своих задач; в частности программисты, когда они выступают в роли пользователей систем разработки программного обеспечения;
прикладные программисты и аналитики - проводят настройку режимов работы ИС и прав доступа пользователей, определяют внешние представления БД и разрабатывают прикладные программы, расширяющие функциональное наполнение ИС;
системные программисты и администраторы - проводят конфигурирование системной среды, в которой работает ИС, в частности - определяют объемы и размещение доступных ИС ресурсов памяти; настраивают внутреннее представление БД для более эффективной работы комплекса в целом...
Архитектура программных систем обработки баз данных (DataBase Applications).
Для такой организации программных систем сегодня существуют стандартизованные технологии и стандартизованные программные компоненты.
Сервер баз данных. Сервер БД – программный комплекс типа Run-Time ядра СУБД, функционирующий как отдельный независимый загрузочный модуль, отдельная независимая задача в операционной системе. Сегодня наиболее распространены SQL-сервера, которые (вполне адекватно) можно понимать как процессор команд обработки БД – операторов языка SQL (Structured Query Language).
Прикладные программные системы (Application), так же функционирующие как отдельные независимые задачи, не имеют возможности прямого доступа к данным БД. Они должны связываться с сервером БД, для того чтобы передать запрос на операцию с БД и получить ответ или другие результаты.