
- •Классификация моделей данных.
- •Иерархические и сетевые модели
- •Трехуровневая архитектура ansi - sparc
- •Жизненный цикл информационных систем
- •Реляционная теория баз данных
- •Терминология
- •Математические отношения.
- •Реляционные ключи
- •Представления
- •Правила, которые должны удовлетворить реляционные субд
- •Моделирование данных на основе процесса нормализации
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •3 Потенциальных ключа: cn,id,it; sn,id,it; rn,id,it
Преподаватель: Моор Павел Климентьевич.
Дисциплина: Базы данных.
Литература:
Конноли Т. Базы данных: проектирование, реализация, сопровождение.
Карпова Т.С. Базы данных: модели, разработка, реализация.
Моор П.К. Базы данных. Практикум.
Моор П.К., Моор А.П. Базы данных. Учебное пособие.
Введение в базы данных.
Файловые системы.
Файловая система – набор программ, которые выполняют некоторые операции (например, создание отсчета) над данными, причем каждая программа определят свои данные и управляем ими.
Файлы – набор записей, которые содержат логически связанные данные.
Каждая запись – набор полей, каждое из которых представляет некоторую характеристику объекта.
Для ускорения доступа применяются методы индексации.
Важный шаг в развитии информационных систем – переход к использованию централизованных систем.
Пользователи видят файл как линейную последовательность записей и могут выполнить над ним ряд новых стандартных операций.
Главные особенности (недостатки) ФС:
Зависимость программ от данных. Структура записи файла была известна только программе, которая с ним работала и программа, работающая с файлом, должна была иметь у себя внутри структуру данных, соответствующую структуре этого файла. При изменении структуры файла требовалось изменять структуру программы, а это требовало её компиляции;
Отсутствие авторизации доступа к файлам. Файловые системы являются общим хранилищем файлов, принадлежащих разным пользователям, системы управления файлами должны обеспечивать авторизацию доступа к файлам. Их отсутствие ещё одной причиной разработки СУБД.
Отсутствие возможности обеспечения эффективной параллельной работы многих пользователей с одними и теми же файлами.
Эти недостатки послужили толчком, который заставил разработчиков информационных систем предложить новый подход, который был реализован в рамках новых программных систем, названных Системами Управления Базами Данных (СУБД).
Классификация моделей данных.
«Данные» - это набор конкретных значений, параметров, характеризующих объект.
Данные могут не обладать определенной структурой.
Центральным понятием в области баз данных является понятие модели данных.
Модель данных – это концептуальный способ структурирования данных, описывающее взаимосвязь между ними.
Модели данных:
Инфологические
Модель «сушность-связь»
Диаграммы Бахмана (не проходим)
Даталогические
Документальные(не проходим)
Тезаурусные
Дескрипторные
Фактографические
Теоретико-графовые
Иерархическая
Сетевая
Теоретико-множественные
Реляционная
Бинарных ассоциаций(не проходим)
Объектно-ориентированные
Физические:
Странично-сегментная организация
Иерархические и сетевые модели
Наиболее развитыми моделями данных являются:
Иерархическая
Сетевая
Реляционная
Иерархическая БД состоит из упорядоченного набора деревьев, дерево состоит из одной «корневой» записи и упорядоченного набора поддеревьев
Схема иерархической модели:
Покупатели:
Счета:
Продажи
Банковские реквизиты:
Базовыми объектами модели являются:
Элемент данных
Запись
Набор данных
Базовыми объектами модели являются:
Элемент данных
Агрегат данных
Запись
Набор данных.
Элемент данных – то же самое, что и в иерархической модели, то есть минимальная информационная единица, доступная пользователю с использованием СУБД.
Агрегат данных соответствует следующему уровню обобщения в модели. В сетевой модели определены агрегаты двух типов: агрегат типа вектор и агрегат типа повторяющаяся группа.
Агрегат типа вектор соответствует линейному набору элементов данных.
Архитектура систем баз данных.
Системы баз данных.
База данных (database) – совместно используемое единое хранилище для некоторого набора логически связанных данных по определенной предметной области. Кроме того, в БД имеются «данные о данных» - метаданные.
Система баз данных (database system) – Компьютеризированная БД.
Пользователю системы предоставляется возможность выполнения множества различных операций над данными. Например:
Добавлять новые пустые файлы в БД
Добавлять новые данные в существующие файлы
Вести поиск данных
Изменять данные
Удалять данные
Удалять существующие файлы из БД
Четыре главных компонента системы БД:
Данные (БД)
Аппаратное обеспечение
Программное обеспечение
Пользователи
Пользователи. Пользователей можно разделить на четыре группы:
Администраторы баз данных
Администратор данных
Прикладные программисты
Пользователи БД
Трехуровневая архитектура ansi - sparc
В соответствии со стандартом, разработанным Национальным Институтом Стандартизации США (ANSI) и Комитета планирования стандартов и норм (SPARC), архитектура систем баз данных включает 3 уровня:
Внешний – уровень, на котором БД воспринимается пользователем, который имеет некоторый язык доступа к БД – язык SQL, формы … Внешних уровней может быть много;
Концептуальный – («промежуточный» между внешним и внутренним) представление содержимого всей БД в абстрактной форме, является обобщением всех внешних уровней. Он описывает:
Какие данные хранятся в БД
Связи, существующие между ними
Ограничения, накладываемые на данные
Меры обеспечения доступа, безопасности и целостности данных.
Внутренний – это уровень наиболее
Размещение БД на внешнем носителе
Типы хранимых данных и записей
Индексы, физическая последовательность хранимых записей, и т.п.
Ниже внутреннего находится физический уровень, который контролируется операционной системой.
Основные соображения в пользу выбора трехуровневой модели архитектуры БД:
Каждый пользователь должен иметь возможность обращаться к данным, используя свое собственное представление о них;
Пользователи не должны непосредственно иметь дело с техническими вопросами физического хранения данных;
Администратор данных должен иметь возможность изменять структуру БД без влияния на пользователей;
Внутренняя структура БД не должна зависеть от изменений физических аспектов хранения информации.
Схема организации доступа к данным
Система управления базами данных (СУБД) представляет собой программное обеспечение, которое управляет доступом к базе данных.
Это происходит следующим образом:
Пользователь посылает СУБД запрос на получение данных из БД (применяя определенный подъязык данных, например, SQL).(1)
На основании внешней модели анализируются права, соответствующие данному пользователю, подтверждается или запрещается доступ пользователя к запрошенным данным.(2)
В случае запрета на доступ к данным СУБД сообщает пользователю об этом (12) и прекращает дальнейший процесс обработки данных. В противном случае СУБД определяет часть концептуальной модели, которая затрагивает запросом пользователя (3,4) (отображение «внешний – концептуальный»).
СУБД получает информацию о запрошенной части концептуальной модели (5) и запрашивает информацию о местоположении данных на внутреннем уровне (файлы) (6) (отображение «концептуальный – внутренний»).
В СУБД возвращается информация о местоположении данных в терминалах операционной системы (7).
СУБД обращается к ОС с запросом предоставить необходимые данные (8).
Операционная система осуществляет перекачку информации с устройств хранения, пересылает её в системный буфер (9) и оповещает СУБД об оказании пересылки (10).
СУБД собирает из информации, находящийся в системном буфере, данные, которые нужны пользователю, и пересылает эти данные в рабочую область пользователя(11).
Основные функции СУБД:
Хранение. Извлечение и обновление данных.
Предоставление пользователям системных каталогов (имена таблиц, имя, тип и размеры полей; имена связей; ограничения и т.п.).
Поддержка целостности данных.
Поддержка независимости программ от данных.
Поддержка транзакции (транзакция – набор действий пользователя по доступу и изменению содержимого БД).
Сервис восстановления БД.
Сервис контроля доступа к БД.
Поддержка обмена данными.
Сервис вспомогательных служб.