Similar presentations:
Основы программирования и баз данных. Модуль 4. Теория баз данных
1.
Основы программированияи баз данных
1
2.
Модуль 4.ТЕОРИЯ БАЗ ДАННЫХ
Теория:
Определение понятия информационная система (ИС)
История развития ИС
СУБД и База данных
Структура СУБД
Проектирование Баз данных
Модели данных
Язык запросов
Практика:
Установка СУБД, создание базы данных.
Выполнение запросов
2
3.
Модуль 4. Теория баз данныхИнформационная система
История вычислительной техники связана с двумя областями:
–
численные расчёты – простые данные и сложные алгоритмы;
–
информационные системы – большие объёмы сложных данных
Информационная система — программно-аппаратный комплекс
для:
– хранение информации,
– предоставление пользовательского интерфейса,
– специфические для данного приложения вычисления и преобразование
информации.
Особые требования ИС:
– скорость работы;
– хранение больших объёмов данных.
3
4.
Модуль 4. Теория баз данныхИстория развития ИС
Первые реализации ИС – файловые системы.
Файловая система – набор прикладных программ для выполнения
операций с данными, например, создания отчёта. Каждая программа хранит
свои собственные данные и управляет ими.
Недостатки такого решения:
Дублирование данных;
Данные разделены по файлам и запросы, которые требуют обращения к
нескольким файлам – сложны;
Физическая структура и способ хранения данных жёстко зафиксированы в
коде приложения;
Несовместимость форматов файлов.
4
5.
Модуль 4. Теория баз данныхИстория развития ИС (продолжение)
Для повышения эффективности последующие реализации ИС –
использовали гибкую архитектуру, которая состоит из двух
независимых частей:
Корпоративная
База данных
СУБД
База данных – совместно используемый набор логически связанных
данных (и описание этих данных), предназначенный для
удовлетворения информационных потребностей организации;
СУБД – ПО, с помощью которого пользователи могут определять,
создавать и поддерживать базу данных, а также осуществлять к ней
контролируемый доступ.
5
6.
Модуль 4. Теория баз данныхКомпоненты СУБД
Аппаратные:
–
Компьютеры
–
Внешние хранилища данных
Программное обеспечение:
–
ОС и ПО самой СУБД
–
Прикладные и сетевые программы
Данные и метаданные
Процедуры:
–
Регистрация в СУБД
–
Создание резервных копий, восстановление БД и т.п.
–
Инструкции и правила проектирования, использования и обслуживания БД
Пользователи:
–
Администраторы, разработчики, конечные пользователи.
6
7.
Модуль 4. Теория баз данныхВиды СУБД(по способу доступа к данным)
Клиент-серверные СУБД
(MSQL Server, Oracle, Firebird, PostgreSQL,
InterBase, MySQL):
–
Данные хранятся и обрабатываются на сервере;
–
Доступ к данным есть только у этого сервера – это и есть СУБД;
–
Клиенты посылают запросы на обработку данных;
–
Прямого доступа к данным у клиентов нет.
Файл-серверные СУБД (Paradox, Microsoft Access, FoxPro, dBase):
–
Данные хранятся на выделенном компьютере;
–
Все приложения(клиенты) имеют общий доступ ко всем файлам БД;
–
Каждое приложение само обрабатывает данные;
–
Проблемы с производительностью, с поддержанием целостности, с блокировками.
Встраиваемые СУБД (SQLite, Firebird Embedded, MSQL Server
Compact):
–
Поставляются в составе готового программного продукта, не требуя процедуры
самостоятельной установки;
–
Предназначены для локального хранения данных приложения и не рассчитаны на
коллективное использование в сети.
7
8.
Модуль 4. Теория баз данныхПроектирование Баз данных
1 этап
Концептуальное проектирование(инфологическая модель)
смысловое содержание базы данных, исходя из целей ее
использования. На этом этапе происходит идентификация объектов
предметной области, их характеристик и связей между объектами.
Есть готовые методологии:
ER-модель (Entity-Relationship model);
addr
id
Lname
name
Student
study
College
DFD (data flow diagrams) - методология графического структурного
анализа;
Manager
System
Customer
8
9.
Модуль 4. Теория баз данныхПроектирование Баз данных
2 этап
Логическое проектирование(даталогическая модель)
представление логической организации информации средствами
выбранной модели данных
Модели данных:
Иерархическая модель;
Сетевая модель;
Реляционная модель;
Постреляционная модель;
Многомерная модель;
Объектно-ориентированная модель.
9
10.
Модуль 4. Теория баз данныхПроектирование баз данных
3 этап
Физическое проектирование
Превращение модели в конкретную реализацию с учётом средств
выбранной СУБД
Проектирование физической организации БД, т.е. выбирается
наилучшая файловая организация (транзакции, индексы, время
отклика и т.д. для обеспечения производительности)
10
11.
Модуль 4. Теория баз данныхИерархическая модель данных
Структура представления данных имеет форму дерева;
Доступ к информации возможен только по вертикальной схеме;
Трудно представить не-иерархические данные;
Середина 60-х годов.
база
данных
покупатель
заказ
товар
покупатель
заказ
товар
товар
заказ
товар
товар
11
12.
Модуль 4. Теория баз данныхСетевая модель данных
Любой элемент может быть связан с любым другим(записи
образуют сеть);
Сложность реализации СУБД;
Трудно добавлять новые связи;
70 – 80 годы.
база
данных
покупатель
заказ
товар
покупатель
заказ
товар
товар
заказ
товар
товар
12
13.
Модуль 4. Теория баз данныхРеляционная модель данных
(предложена Эдгаром Коддом в 70 году)
Данные представлены в виде простых(двумерных) таблиц, разбитых
на строки и столбцы, на пересечении которых расположены
данные;
У каждого столбца есть своё имя, которое служит его названием, и
все значения в одном столбце имеют один тип;
Каждая база данных может включать несколько таблиц, которые,
как правило, связаны с друг с другом, откуда и произошло название
реляционные;
Общепринятым стандартом языка работы с реляционными базами
данных является язык SQL;
В основе этой модели данных математический аппарат –
реляционная алгебра.
13
14.
Модуль 4. Теория баз данныхПрактика
Спроектировать модель данных для сотрудников фирмы:
–
–
–
–
–
анализ информации
сущности
таблицы
связи
ключи
14
15.
Модуль 4. Теория баз данныхПостреляционная модель данных
Расширение реляционной модели данных;
Допускаются многозначные поля состоящие из подзначений, и
набор этих подзначений воспринимается как встроенная таблица;
Сложность с обеспечением целостности и непротиворечивости
данных.
15
16.
Модуль 4. Теория баз данныхМногомерная модель данных
Решение проблем с аналитической обработкой данных и принятия
решений – Online Analytical Processing (OLAP).
Информация представлена в виде многомерных массивов –
гиперкубы;
В одной БД – много гиперкубов, а пользователь получает для
анализа определённые срезы или проекции кубов – это
таблицы/графики;
16
17.
Модуль 4. Теория баз данныхОбъектно-ориентированная модель данных
Характеристики:
– Поддержка сложных объектов;
– Объекты должны иметь уникальный идентификатор;
– Взаимодействие с объектом только посредством интерфейсов;
– Поддержка классов и наследования.
Проблемы:
– Нет универсальной модели;
– Нет стандарта;
– Сложность реализации и обеспечения защиты данных.
17
18.
Модуль 4. Теория баз данныхОсновные подходы к хранению данных
Необходимо соблюдать в любой модели данных:
Полноту данных — база данных должна обеспечивать полное и адекватное
описание предметной области;
Непротиворечивость данных — данные, которые хранятся в базе данных,
должны проверяться на правильность при вводе, существует запрет на
дублирование данных;
Целостность данных – при описании связей должна обеспечиваться
правильность ссылок между таблицами;
Принцип минимальной избыточности.
Как это обеспечить:
Каскадное обновление и удаление;
Блокировка модифицируемых записей;
Механизм транзакций.
18
19.
Модуль 4. Теория баз данныхЯзык запросов SQL
1. Работа с данными в таблицах (DML):
SELECT
INSERT
UPDATE
DELETE
2. Работа с объектами БД (DDL):
CREATE
ALTER
DROP
3. Права (DCL):
GRANT
REVOKE
DENY
4. Управление транзакциями (TCL)
BEGIN TRANSACTION
COMMIT TRANSACTION
ROLLBACK TRANSACTION
19
20.
Модуль 4. Теория баз данныхПрактика
Установка СУБД;
Создание базы данных;
Создание таблиц;
Выполнение простейших запросов.
20