Файл: Теоретические вопросы 1 Понятие информационной системы. Составляющие компоненты информационной системы Система.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 83

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


имя_колонки3 тип_колонки3

CONSTRAINT имя_ключа PRIMARY KEY

параметры (имя_колонки1, имя_колонки2)

)

ALTER TABLE имя_таблицы

ADD CONSTRAINT имя_ключа

UNIQUE кластер

(

атрибут1 направление, asc / desc

атрибут2 направление

)

Автоинкремент

Microsoft SQL Server: IDENTITY(1,1)

PostgreSql: GENERATED ALWAYS AS IDENTITY

Oracle: GENERATED ALWAYS AS IDENTITY (START with 1 INCREMENT by 1)

8

Внешние ключи. Правила удаления и

обновления. Проверочные ограничения

ALTER TABLE имя_таблицы

ADD CONSTRAINT имя_ключа

FOREIGN KEY (имя_колонки1, имя_колонки2)

REFERENCES имя_родительской_таблицы

(имя_колонки1, имя_колонки2)

ON UPDATE правило

ON DELETE правило no act, cascade, set null, set default

9

Редактирование данных в таблицах. Команды

INSERT, UPDATE, DELETE

INSERT INTO имя_таблицы

(атрибут1, атрибут2, атрибут3)

VALUES

(значение1, значение2, значение3)

RETURNING атрибут_суррогатного_ключа

DELETE FROM имя_таблицы

WHERE атрибут1 = значение1

AND атрибут2 = значение2

UPDATE имя_таблицы SET

атрибут1 = значение1,

атрибут2 = значение2

WHERE атрибут3 = значение3

AND атрибут4 = значение4

10

Команда SELECT. Прямое произведение,

выборка, проекция. Специфичные для SQL

операторы сравнения



11

Математические функции SQL. Виды

округления



12

Функции работы с датой и временем







13

Символьные функции






14

Агрегатные функции. Группировка.

Оператор HAVING

Агрегатные функции – это функции, которые преобразуют мультимножество в атомарный объект. Используются в проекциях с агрегацией

Основные агрегатные функции

SUM – сумма

AVG – среднее арифметическое

MIN – минимальное значение

MAX – максимальное значение

COUNT – мощность мультимножества

Группировка : GROUP BY EXTRACT(YEAR FROM [Date])

SELECT department, SUM(sales) AS "Total sales"

FROM order_details

GROUP BY department

HAVING SUM(sales) > 1000;

15

Программируемые объекты на стороне

СУБД: функции и представления



16

Хранимая процедура. Триггер





  • Триггер – это процедура, которая автоматически вызывается при выполнении определённого действия в БД

  • Системные триггеры

    • Log in / Log out

    • Startup / Shutdown

  • Триггеры уровня схемы

    • Создание нового объекта (CREATE)

    • Изменение существующего объекта (ALTER)

    • Удаление существующего объекта (DROP)

  • Триггеры уровня данных

    • INSERT

    • UPDATE

    • DELETE





17

Транзакции. Уровни изоляции и


решаемые ими проблемы. Команды TCL

Транзакция – это последовательность операций, которая выполняется либо полностью, либо не выполняется вообще

Любая отдельная команда SQL выполняется как транзакция, но язык SQL позволяет создать транзакции, состоящие из нескольких команд

Свойства транзакций

Atomicity - атомарность

Consistency - согласованность

Isolation - изолированность

Durability – надежность

  • SET ISOLATION LEVEL <уровень_изоляции>

  • BEGIN TRANSACTION

  • COMMIT TRANSACTION

  • SAVE TRANSACTION <точка_сохранения>

  • ROLLBACK TRANSACTION <точка_сохранения>



18

Соединение в SQL: оператор JOIN. Виды

соединения



19

Усложнённые запросы. Подзапрос.

Сочетание SELECT и INSERT в одном

запросе. Оператор CASE. Сортировка



order by атр asc/desc

20

Работа со схемами.

INFORMATION_SCHEMA

  • Схема в SQL – это именованная группа объектов базы данных, которые логически связаны друг с другом и обособлены от других объектов той же базы данных

  • Все схемы одной базы данных хранятся в одном файле базы данных

  • Схема связана с системой безопасности СУБД

    • Oracle: схема = пользователь

    • Другие СУБД: схема связывается с пользователем или ролями пользователя

Information schema

  • SCHEMATA – схемы

  • TABLES – таблицы и представления

  • COLUMNS – атрибуты таблиц и представлений

  • TABLE_CONSTRAINTS – ключи

  • KEY_COLUMN_USAGE – состав ключей

  • REFERENTIAL_CONSTRAINTS – внешние ключи

  • CHECK_CONSTRAINTS – проверочные ограничения

  • ROUTINES – функции и хранимые процедуры

  • PARAMETERS – параметры функций и хранимых процедур

  • и др.

21

Виды угроз. Шифрование баз данных. Уровни

шифрования. Классы шифров.

  • Внешние

    • Кража файла базы данных

    • Перехват данных, передаваемых по сети

  • Внутренние

    • Доступ к штатным средствам управления СУБД у лиц, не являющихся ответственными за соответствующие действия

    • Возможность подключения к базе данных не зарегистрированного пользователя






22

Симметричное и ассимметричное шифрование.

Сертификаты.

  • Симметричное шифрование: данные шифруются и дешифруются одним и тем же ключом, который должен держаться в секрете

    • Более простой метод

    • Обладает лучшей производительностью

    • Ассимметричное шифрование: данные шифруются и расшифровываются с использованием пары ключей, один для шифрования, второй для расшифровки. Один из этих ключей должен держаться в секрете, другой должен быть общедоступен

    • Который из ключей является закрытым, а который открытым, зависит от конкретной задачи

    • Обеспечивает лучшую степень защиты



  • Сертификат – это электронный документ, предназначенный для проверки подлинности данных

  • Состав сертификата

    • Адресат

    • Предназначение

    • Срок действия

    • Подпись

  • Для создания сертификата нужен закрытый ключ доверенной организации, которая его выдала, для проверки подписи сертификата используется её открытый ключ

Использование сертификатов в СУБД

  • Шифрование на уровне хранилища: шифрование симметричного ключа для шифрования страниц

  • Передача данных по сети с использованием защищённых протоколов (SSL, TLS)

  • Подключение пользователей к СУБД с использованием сертификата

23

Логины, пользователи, роли, привилегии. Виды

аутентификации. Команды DCL

Виды аутентификации в субд

  • Системная

    • Пользователь базы данных ассоциируется с пользователем операционной системы

  • Смешанная

    • Пользователь базы данных не зависит от пользователей операционной системы и проходит аутентификацию, введя пароль

  • По сертификату

    • Пользователь базы данных ассоциируется с сертификатом (имя пользователя прописано в сертификате)






Oracle: GRANT <роль> TO <пользователь>



24

SQL-инъекция. Параметризованный запрос.

Прослушивание параметров

Вместо подстановки в строку значений, введённых пользователем, нужно использовать параметризованный запрос.

  • Вместо значений, подставляемых в запрос как литералы, используется имя со специальным префиксом

    • Microsoft SQL Server: @name

    • Oracle: :name

    • PostgreSQL: :name

  • При обращении к БД значение параметра запроса подставляется через специальный API

25

Защита от системных сбоев. Журнал

транзакций. Принцип работы. Резервное

копирование

Особенности журнала транзакций

  • Данные всегда дописываются в конец файла: это быстро

  • Перед выполнением операций с файлом данных сначала операция записывается в журнал транзакций

  • После завершения операции с файлом данных в журнале транзакции создаётся контрольная точка



Базу данных вместе с журналом транзакций можно сохранить в файл, а потом из него восстановить

BACKUP DATABASE <база_данных>

TO <файл>

RESTORE DATABASE <база_данных>

FROM <файл>

Полное резервное копирование (Full) - создает полную резервную копию всех экстентов базы данных. Если АБД будет восстанавливать базу данных, используя для этого полную резервную копию, потребуется только самый последний созданный им экземпляр. Однако, полное резервное копирование - самый медленный тип резервного копирования.

Дифференциальное резервное копирование (Differential) - создает резервную копию только тех экстентов, которые были изменены с момента последнего полного копирования. Если АБД будет восстанавливать базу данных, используя дифференциальную резервную копию, ему потребуется последняя полная резервная копия и последняя созданная им дифференциальная резервная копия. Дифференциальное резервное копирование осуществляется гораздо быстрее, но требует больше времени на восстановление, так как требует применение, как полной резервной копии, так и дифференциальной резервной копии.

26

Масштабируемость информационной системы

и её виды. Проблема N+1. Секционирование