Основы программирования и баз данных. Модуль 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
English     Русский Правила