Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД.docx
Скачиваний:
8
Добавлен:
27.11.2019
Размер:
159.24 Кб
Скачать

Транзакция и целостность бд

При завершении транзакции оператором COMMIT результаты фиксируются во внешней памяти;

При завершении транзакции ROLL BACK результаты отсутствуют во внешней памяти.

Различают 2 вида ограничений целостности:

  1. Немедленно проверяемые

  2. Откладываемые

Немедленно проверяемые подключения. К ним относятся ограничения целостности, проверку которых бессмысленно или невозможно откладывать.

Откладываемые – это ограничения на БД, а не на отдельные операции.

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

Первый уровень – отсутствие потерянных изменений. Транзакция 1 изменяет объект базы данных А. до завершения транзакции 1, транзакция 2 также изменяет объект А. Транзакция 2 завершается оператором ROLL BACK. Тогда при повторном чтении объекта А транзакция 1 не видит изменения этого объекта, произведенных ранее. Такая ситуация называется ситуацией потерянных изменений. Чтобы избежать такой ситуации в транзакции 1 требуется, чтобы до завершения транзакции 1 никакая друга транзакция не могла изменять объект А.

Второй уровень – отсутствие чтения «грязных данный». Транзакция 1 изменяет объект БД 2. Параллельно с этим транзакция 2 читает объект А. Поскольку операция изменения еще не завершена, транзакция 2 видит несогласованные «грязные данные». Это тоже не соответствует требованию изолированности пользователя. Чтобы избежать ситуации чтения «грязных данных» до завершения транзакции 1, изменившей объект А, никакая другая транзакция не должна читать объект А.

Третий уровень – отсутствие неповторяющегося чтения. Транзакция 1 читает объект А. до завершения транзакции 1, транзакция 2 изменяет объект А и успешно завершается оператором COMMIT. Транзакция 1 повторно читает объект А и видит его изменения. Чтобы избежать неповторяющихся чтений до завершения транзакции 1, никакая друга транзакция не должна изменять объект А.

База данных библиотеки

Таблицы:

  1. ID формуляра*

    ID читателя

    ID книги

    Дата выдачи

    Книги
  2. Читатели

  3. Формуляр

ID книги*

название

Год издания

автор

ID читателя*

ФИО

Адрес

Телефон


Функции и основные возможности языка SQL

Язык SQL появился в 70-е годы, как языковое средство, обеспечивающее возможность доступа и чтения над данными, определение их структур и способов использования. Его прототип был разработан фирмой IBM и имел название CQL. Благодаря своим качествам язык SQL утвержден в качестве стандарта языком работы с реляционными БД (табличные).

Отличие SQL от процедурных языков программирования

В отличие от универсальных процедурных языков, используемых для работы с БД, SQL ориентирован не на записи, а на множества, это значит, что в качестве входной информации для формулированного на языке SQL запроса к БД используется множество картежей –записей одной или нескольких таблиц-отношений. В результате выполнения запроса также образуется множество картежей в результирующей таблице-отношений. Другими словами, в SQL результатом любой операции над отношениями являются отношения. Запрос SQL задает не процедуру, т.е. последовательность действий на получение результатов, а условие, в котором должны удовлетворять картежи результирующего отношения.

Интерактивный и встроенный SQL

Интерактивный используется для задания SQL запросов пользователем и получение результата в интерактивном режиме.

Встроенный состоит из команд SQL, встроенных внутрь программ, обычно написанных на другом языке. Это делает программы, использующие такие языки более мощными, гибкими и эффективными, обеспечивая их применение для работы с данными, хранящимися в реляционных БД, однако при этом требуется дополнительные средства интерфейсам SQL с зыком, в который он встраивается.

Составные части SQL

  1. Язык определения данных DDL – дает возможность создания, изменения и удаления различных объектов БД (таблиц индексов).

  2. Язык манипулирования данными DML представляет возможность выборки информации из БД и ее преобразование

Типы данных SQL

Стандарт поддерживает только 1 тип представления текста – это char. Некоторая реализации SQL поддерживают в качестве типа данных строки переменной длины (varchar)

Числовые типы данных – integer(-231-231), smallint(-215-215), decmal(фиксированное число с десятичной точкой), float (число с плавающей точкой), real (число с плавающей точкой, в котором точность определена по умолчанию), date, time, NULL

Используемые термины и обозначения

  1. Ключевые слова

  2. Команды и предложения

Синтаксис команд

Квадратные скобки указывают необязательны элемент синтаксический конструкции.

Многоточие определяет, что выражение, предшествующее ему, может повторяться любое число раз

Фигурные скобки объединяют последовательность элементов в логическую группу.

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

Угловые скобки объясняет элементы по мере того, как они вводятся.

Выборка данных с использованием предложения select

Select (список столбцов)

from (список таблиц )

[where (условия выбора)] – указывает записи, которые должны войти в результирующую таблицу

[group by(список столбцов)] – группирует записи по значениям определенных столбцов

[heven (условия)] – указывает группы записей, которые должны войти в результирующую таблицу

[order by(условия сортировки)] – упорядочивает записи

Сразу за оператором select до списка столбцов можно применить ключевые слова ALL и Disting, которые указывают какие записи представлять в результирующей таблице. В случае disting в результирующей таблице представляются только уникальные данные. Если в результирующей таблице находится несколько идентичных записей, то выбирается только первая.

Оператор where

Условия поиска в операторе являются логическими выражениями, т.е. занимают одно из трех значений: true, false, null. При составлении логических выражений используются специальные ключевые слова и символы операций сравнения, которые называют предикатами:

  1. Предикаты сравнения: =, >,<,>=,<=,<>

  2. Оператор Between - позволяет задавать выражения проверки вхождения какого-либо значения в диапазон, определенный граничными значениями.

  3. Оператор in, not in применяется для проверки вхождения какого-либо значения в заданный список.

  4. Оператор like, not like – применяется для проверки частичного соответствия символьных строк. Просматривает строковое значение полей с целью определения, входит ли в заданный оператор like строка в символьную строку значения, проверяемого поля. % - любой набор символов, в том числе и нулевой и _ - означает любой нулевой символ.

  5. Оператор is null применяется для выявления записей, в которых тот или иной столбец не имеет значения

В КР должно быть:

  1. Создана БД

  2. Подключение БД к среде

  3. Работа с таблицами

  4. Добавление записей в таблицу, редактирование, удаление

  5. Поиск записей по каким-либо критериям

  6. Сортировка, фильтрация записей

  7. Отчеты

  8. Экспорт в Excel либо в Word