- •21. Назначение и способы поддержки стандартов наименования объектов при разработке информационных систем. Венгерская нотация. Контроль стандартов наименования объектов в er-win.
- •Основные конструкции языка sql (ddl, dml, dcl, ccl, tcl).
- •Цели и задачи, поставленные при разработке реляционных субд (Проект r-System).
- •Понятие транзакции. Протокол двухфазной блокировки. Критерий правильности выполнения транзакций.
- •Свойства транзакций.
- •Проблемы параллельного выполнения транзакции. Виды блокировок. Уровни изолированности транзакций.
- •Проблема сериализации транзакций, синхронизационные захваты. Матрица совместимости блокировок.
- •Тупики, способы их распознавания и разрушения.
- •Статистики реляционной базы данных.
- •Оптимизация запросов к бд. Основные положения оптимизации запросов. Типовые подходы к оптимизации запросов к бд.
Основные конструкции языка sql (ddl, dml, dcl, ccl, tcl).
SQL (Structured Query Language - структурированный язык запросов) основывается на некоторой смеси алгебраических и логических конструкций.
В SQL определены два подмножества языка:
SQL-DDL (Data Definition Language) - язык определения структур и ограничений целостности баз данных. Сюда относятся команды создания и удаления баз данных; создания, изменения и удаления таблиц; управления пользователями и т.д.
SQL-DML (Data Manipulation Language) - язык манипулирования данными: добавление, изменение, удаление и извлечение данных, управления транзакциями
SQL
DDL (Data Definition Language): Create…, Drop…, Alter..
DML (Data Manipulation Language): INSERT…, UPDATE…, DELETE…
DQL (Data Query Language): SELECT…(состоит из единственной команды)
DCL (Data Command Language): GRANT…, REVOKE… (Операторы, иногда называемые операторами Access Control Language, применяются для осуществления административных функций, присваивающих или отменяющих право (привилегию) использовать базу данных, таблицы в базе данных, а также выполнять те или иные операторы SQL)
TCL (Transact Control Language): COMMIT…, ROLLBACK (Язык управление транзакциями (TCL) представляет собой компьютерный язык и подмножество SQL , используемый для контроля обработки транзакций в базе данных.)
CCL (Cursor Control Language) (используются для определения курсора, подготовки SQL-предложений для выполнения, а также для некоторых других операторов)
DCL
Дать права:
GRAND {<право>} ON {<объект>} TO {<пользователь или роль>} [WITH GRAND OPTION]
<право>:=select | insert | update | …| all
Отобрать права:
REVOKE {<право>} ON {<объект>} FROM {<пользователь>}
Цели и задачи, поставленные при разработке реляционных субд (Проект r-System).
Основные цели и задачи проекта System-R (1975-1979)
Обеспечить ненавигационный интерфейс высокого уровня с системой, позволяющей добиться независимости данных (SEQUEL, SQL).
Обеспечить многообразие допустимых способов использования БД (программируемые и диалоговые транзакции, генерация отчетов.
Поддержка динамически изменяемой среды БД (добавление и удаление отношений, индексов,…) без приостановления нормального функционирования БД.
Обеспечить параллельную работу с одной БД многих пользователей при наличии необходимых средств защиты целостности БД.
Обеспечить средства восстановления согласованного состояния БД после сбоев(аппаратных или программных).
Обеспечить гибкий механизм, позволяющий определять различные представления хранимых данных и ограничить этими представлениями доступ к БД.
Обеспечить высокую производительность системы
Достоинства и недостатки реляционной модели данных
Основные достоинства реляционной модели – теоретическое обоснование, простота определения данных и их реорганизации.
Недостаток – неявная связь между данными. Он компенсируется различной степенью нормализации, однако явная связь (сеть, иерархия) чаще более эффективна по времени.
Признанные достоинства реляционной модели данных
Наличие наибольшего набора абстракций, которые позволяют сравнительно просто моделировать большую часть распространенных предметных областей.
Наличие простого и мощного математического аппарата, обеспечивающего теоретический базис реляционному подходу к организации БД.
Возможность ненавигационного подхода к манипулированию данными без знания конкретной физической их организации.
