- •Банки и базы данных. Модели данных. Системы управления базами данных
- •Введение
- •Система баз данных
- •Файловые системы
- •Структуры файлов
- •Именование файлов
- •Понятие БД и СУБД
- •Система баз данных
- •Понятие СУБД
- •Уровни абстракции в СУБД. Функции абстрактных данных
- •Функции СУБД
- •Экспертные системы и базы знаний
- •Экспертные системы и базы знаний
- •Классификация баз данных
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •1) Классификация БД по модели представления данных:
- •2) Классификация БД по организации хранения данных и обращения к ним :
- •3) Классификация БД по типу хранимой информации:
- •Свойства БД
- •Компоненты СУБД
- •Логическое и физическое описание данных
- •Компоненты банка данных
- •Требования,
- •Компоненты инфологической модели
- •ПОСТРОЕНИЕ МОДЕЛИ
- •Связи «объект - свойство»
- •Модель сущность-связь
- •Модель сущность-связь
- •Три типа бинарных связей
- •Более сложные элементы модели сущность-связь
- •Более сложные элементы модели сущность-связь
- •Диаграммы сущность- связь
- •Общие характеристики ранних систем
- •Системы, основанные на инвертированных списках
- •Структуры данных на инвертированных списках
- •Манипулирование данными
- •Иерархическая модель
- •Иерархические структуры данных
- •Ограничения целостности в иерархической модели
- •Сетевая модель
- •Сетевые структуры данных
- •Основные достоинства и недостатки ранних СУБД
- •История реляционной модели
- •Недостатки реляционной модели
- •Основные определения
- •Основные определения
- •Эквиваленты
- •Ограничения
- •Ограничения
- •Языки манипулирования данными
- •Получение реляционной схемы из ER-схемы
- •Получение реляционной схемы из ER-схемы
- •Реляционная алгебра
- •Традиционные операции
- •Специальные операции
- •Специальные операции
- •Свойства операций реляционной алгебры
- •Реляционное исчисление
- •Разница между реляционной алгеброй и реляционным исчислением
- •Алгебраическая версия этого запроса
- •Этот же запрос в терминах реляционного исчисления
- •Вывод
- •Зачем нужна нормализация
- •Нормальные формы
- •Нормальные формы
- •Определение
- •Функциональная
- •1-я нормальная форма
- •2-я нормальная форма
- •3-я нормальная форма
- •Нормальная форма Бойса- Кодда
- •4-я нормальная форма
- •5-я нормальная форма
- •Доменно-ключевая нормальная форма
- •История SQL
- •История SQL
- •Некоторые популярные диалекты SQL:
- •Достоинства языка SQL:
- •Синтаксические
- •Соглашения об именах
- •Правила создания идентификаторов
- •Константы
- •Операторы
- •Категории операторов:
- •Арифметические
- •Оператор присваивания
- •Побитовые операторы
- •Операторы сравнения
- •Логические операторы
- •Унарные операторы
- •Приоритет операторов
- •Язык определения данных
- •Типы данных
- •Типы данных
- •Типы данных
- •Создание домена
- •Изменение домена
- •Схема
- •Создание таблицы
- •Параметры
- •Изменение таблицы
- •Изменение таблицы
- •Изменение таблицы
- •Язык манипулирования данными
- •Оператор INSERT
- •Оператор UPDATE
- •Оператор DELETE
- •Оператор SELECT
- •Оператор SELECT
- •Агрегатные функции в SQL
- •Виды агрегатный функций
- •Использование агрегатных функций
- •Выполнение агрегатных функций
- •Группировка для агрегатных функций
- •Использование HAVING
- •Проекция и выборка
- •Декартовое произведение
- •Предварительные
- •Локальная автономия
- •Независимость от центрального узла
- •Непрерывное функционирование
- •Независимость от расположения
- •Независимость от фрагментации
- •Независимость от репликации
- •Обработка распределенных запросов
- •Управление распределенными транзакциями
- •Распространение
- •Распределенные базы данных и Интернет.
- •Системы типа клиент/сервер
- •Серверы баз данных
- •БАЗЫ ДАННЫХ В INTERNET
- •Обзор ПТК данного вида
- •Техническое задание на разработку структур ПТК
- •Требования к ПТК
- •Требования к ПТК
- •Требования к ПТК
- •Эскизный проект структуры ПО ПТК
- •Эксплуатация баз данных. Защита баз данных. Управление транзакциями. Управление параллельным доступом. Заключение.
- •Понятие восстановления системы
- •Понятие транзакции
- •Восстановление
- •Свойства АСИД
- •Восстановление после отказов системы
- •Параллелизм. Проблемы параллелизма
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости
- •Проблема несовместимого анализа
- •Понятие блокировки
- •Решение проблем параллелизма
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости
- •Проблема незафиксированной зависимости
- •Тупиковые ситуации
- •СПАСИБО ЗА ВНИМАНИЕ !
Логические операторы
Логический |
Действие |
|
оператор |
||
предложении |
||
ALL |
TRUE, если весь набор сравнений дает результат TRUE |
|
AND |
TRUE, если оба булевых выражения дают результат TRUE |
|
возвращают |
||
ANY |
TRUE, если хотя бы одно сравнение из набора дает результат |
|
TRUE |
||
|
||
BETWEEN |
TRUE, если операнд находится внутри диапазона |
|
EXISTS |
TRUE, если подзапрос возвращает хотя бы одну строку |
|
IN |
TRUE, если операнд равен одному выражению из списка или |
|
одной или нескольким строкам, возвращаемым подзапросом |
||
|
||
LIKE |
TRUE, если операнд совпадает с шаблоном |
|
NOT |
Обращает значение любого другого булевого оператора |
|
OR |
TRUE, если любое булево выражение равно TRUE |
|
SOME |
TRUE, если несколько сравнений из набора дают результат TRUE |
|
Унарные операторы
Унарные операторы выполняют операцию над одним выражением любого типа, относящимся к числовой категории. Унарные операторы можно применять к целым типам, хотя операторы положительности и отрицательности можно применять к любому числовому типу данных.
Унарный |
Действие |
|
оператор |
||
|
||
+ |
Числовое значение становится положительным |
|
- |
Числовое значение становится отрицательным |
~Поразрядное НЕ, возвращает двоичное дополнение числа (пет в Oracle и DB2)
Приоритет операторов
1.+, -, ~ (унарные операторы)
2.*, /, % (математические операторы)
3.+, - (арифметические операторы)
4.=, >, <, >=, <=, <>, !=, !>, !< (операторы сравнения)
5.^ (побитовое исключающее ИЛИ), & (побитовое И), | (побитовое ИЛИ)
6.NOT, AND, ALL, ANY, BETWEEN IN LIKE, OR, SOME = (присваивание значение переменной)
Язык определения данных
CREATE – создает объектов базы данных
ALTER – изменяет объект
DROP –удаляет объект
Стандарт SQL-92 определяет команды для следующих объектов:
ASSERTION – утверждения для проверки
CHARACTER SET – набор символов
COLLATION – правила сортировки для набора символов
DOMAIN – домен (пользовательского типа данных столбца).
SCHEMA – схема (именованной группы объектов)
TABLE – таблица базы данных
TRANSLATION – правила преобразования (трансляции) из одного набора символов в другой (используется в операторе TRANSLATE)
VIEW – представления данных
Типы данных
Символьные строки:
CHARACTER(n)или CHAR(n) — строка фиксированной длины в n символов, разделенная пробелами;
CHARACTER VARYING(n)или VARCHAR(n) — строка переменной длины с максимальным количеством символов n;
NATIONAL CHARACTER(n)или NCHAR(n) — строка фиксированной длины с поддержкой международных кодировок
NATIONAL CHARACTER VARYING(n)или NVARCHAR(n) — строка переменной длины NCHAR.
Типы данных
Битовые данные:
BIT(n) — массив из n битов
BIT VARYING(n) — массив длинной до n битов
Числа:
INTEGER и SMALLINT — целые числа;
FLOAT, REAL и DOUBLE PRECISION — вещественные числа;
NUMERIC(precision, scale)или DECIMAL(precision, scale)— вещественное число с указанием в скобках количество знаков до запятой и после запятой..
Типы данных
Дата и время:
DATE — дата (2010-05-30);
TIME — время (14:55:37);
TIME WITH TIME ZONE или TIMESTAMP — тоже самое, что и TIME, только исключаются данные о часовом поясе;
TIMESTAMP — это DATE и TIME соединенные вместе в одной переменной (2010-05-30 14:55:37).
TIMESTAMP WITH TIME ZONE or TIMESTAMPTZ — тоже самое, что и TIMESTAMP, только исключаются данные о часовом поясе.
Создание домена
CREATE DOMAIN <имя_домена> [AS] <тип_данных> |
||
[DEFAULT {LITERAL | NULL | USER}] |
||
|
[NOT NULL] [CHECK (<условие>)] |
|
|
[COLLATE <имя_сортировки>]; |
|
где |
|
|
|
DEFAULT – Определяет значение по умолчанию, которое вставляется, |
|
|
когда ни какой другой ввод не сделан. Значения: |
|
|
|
LITERAL – Вводится определенная строка, числовое значение или дата. |
|
|
NULL – Вводится значение NULL. |
|
|
USER – Вводится имя текущего пользователя. Столбец должен быть |
|
|
совместимый символьный тип, что бы использовать значение по |
|
|
умолчанию. |
NOT NULL – Определяет, что значения введенные в столбец не могут |
||
|
быть NULL. |
|
CHECK – (<условие>) создает одиночное CHECK ограничение для |
||
|
домена. |
|
VALUE – Заменитель для имени столбца, в конечном счете, |
||
|
основанном на домене. |
|
COLLATE <имя_сортировки> – Устанавливает способ сортировки для |
||
|
домена. |
|
Изменение домена
ALTER DOMAIN <имя_домена> {
[SET DEFAULT {LITERAL | NULL | USER}] | [DROP DEFAULT]
| [ADD [CONSTRAINT] CHECK (<условие>)] | [DROP CONSTRAINT]
};где
SET DEFAULT – Определяет значение столбца по умолчанию, которое будет введено, когда ни какой другой ввод не сделан. Значения:
LITERAL – Вводится определенная строка, числовое значение или дата.
NULL – Вводится значение NULL.
USER – Вводится имя текущего пользователя. Столбец должен быть совместимого текстового типа для использования значения по умолчанию.
Удаление домена:
DROP DOMAIN <имя_домена>;
Схема
Создание базы данных:
CREATE {DATABASE | SCHEMA} имя_базы_данных>
Удаление базы данных:
DROP {DATABASE | SCHEMA} <имя_базы_данных>
