- •Основные понятия бд и субд. Отличие понятий банк данных и база данных.
- •История возникновения понятия базы данных.
- •Цели и задачи субд.
- •Организация безопасности данных в базе данных.
- •Основные функции и классификация субд.
- •Модели и типы данных.
- •Иерархическая модель. Достоинства и недостатки данной модели.
- •Понятие сбалансированные и двоичные «деревья».
- •Сетевая модель. Достоинства и недостатки данной модели
- •Простые и сложные сетевые структуры. ??????
- •Реляционная модель. Достоинства и недостатки данной модели.
- •Основные правила э.Кодда для реляционной бд.
- •Механизм управления транзакциями.
- •Постреляционная модель. Достоинства и недостатки данной модели.
- •Многомерная модель. Достоинства и недостатки данной модели.
- •16. Основные понятия, используемые в многомерных субд: агрегируемость, историчность и прогнозируемость данных.
- •17. Представление данных в многомерной модели: куб, ячейка.
- •18. Гиперкубическая и поликубическая схемы.
- •19. Формирование «среза», «вращение», агрегация и детализация.
- •20,21,22. Объектно – ориентированные субд. Достоинства и недостатки.
- •23. Базовые понятия реляционных баз данных.
- •25. Свойства отношений.
- •26. Нормальные формы отношений.
- •27. Этапы разработки баз данных.
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •28. Первая нормальная форма (1нф).
- •29. Вторая нормальная форма (2нф).
- •30. Третья нормальная форма (3нф).
- •31. Алгоритм нормализации (приведение к 3нф).
- •32. Анализ критериев для нормализованных и ненормализованных моделей данных.
- •33.Oltp и olap-системы
- •34. Нормальные формы более высоких порядков
- •5Нф (Пятая Нормальная Форма)
- •35.Элементы модели "сущность-связь"
- •36.Семантическое моделирование
- •37.Основные понятия er-диаграмм
- •38.Типы связи сущность-связь
- •39.Модальность связи
- •40. Концептуальные и физические er – модели.
- •41. Элементы языка sql.
- •42. Операторы определения объектов базы данных Операторы ddl (Data Definition Language) - операторы определения объектов базы данных
- •43. Операторы манипулирования данными.
- •44. Операторы защиты и управления данными.
- •45. Транзакции и целостность баз данных.
43. Операторы манипулирования данными.
Операторы DML (Data Manipulation Language) - операторы манипулирования данными
SELECT - отобрать строки из таблиц
INSERT - добавить строки в таблицу
UPDATE - изменить строки в таблице
DELETE - удалить строки в таблице
COMMIT - зафиксировать внесенные изменения
ROLLBACK - откатить внесенные изменения
Примеры использования операторов манипулирования данными
INSERT - вставка строк в таблицу
Пример 1. Вставка одной строки в таблицу:
INSERT INTO
P (PNUM, PNAME)
VALUES (4, "Иванов");
Пример 2. Вставка в таблицу нескольких строк, выбранных из другой таблицы (в таблицу TMP_TABLE вставляются данные о поставщиках из таблицы P, имеющие номера, большие 2):
INSERT INTO
TMP_TABLE (PNUM, PNAME)
SELECT PNUM, PNAME
FROM P
WHERE P.PNUM>2;
UPDATE - обновление строк в таблице
Пример 3. Обновление нескольких строк в таблице:
UPDATE P
SET PNAME = "Пушников"
WHERE P.PNUM = 1;
DELETE - удаление строк в таблице
Пример 4. Удаление нескольких строк в таблице:
DELETE FROM P
WHERE P.PNUM = 1;
Пример 5. Удаление всех строк в таблице:
DELETE FROM P;
44. Операторы защиты и управления данными.
Операторы защиты и управления данными
CREATE ASSERTION - создать ограничение
DROP ASSERTION - удалить ограничение
GRANT - предоставить привилегии пользователю или приложению на манипулирование объектами
REVOKE - отменить привилегии пользователя или приложения
45. Транзакции и целостность баз данных.
Транзакция – неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации), такая, что: 1) либо результаты всех операторов, входящих в транзакцию, отображаются в БД; 2) либо воздействие всех операторов полностью отсутствует. При этом для поддержания ограничений целостности на уровне БД допускается их нарушение внутри транзакции так, чтобы к моменту завершения транзакции условия целостности были соблюдены. Для обеспечения контроля целостности каждая транзакция должна начинаться при целостном состоянии БД и должна сохранить это состояние целостным после своего завершения. Если операторы, объединенные в транзакцию, выполняются, то происходит нормальное завершение транзакции, и БД переходит в обновленное (целостное) состояние. Если же происходит сбой при выполнении транзакции, то происходит так называемый откат к исходному состоянию БД.
Под целостностью БД понимают правильность и непротиворечивость ее содержимого. Нарушение целостности может быть вызвано, например, ошибками и сбоями, так как в этом случае система не в состоянии обеспечить нормальную обработку или выдачу правильных данных.
Модели транзакций. Рассмотрим две модели транзакций, используемые в большинстве коммерческих СУБД: модель автоматического выполнения транзакций и модель управляемого выполнения транзакций, обе основаны на инструкциях языка SQL – COMMIT и ROLLBACK. Автоматическое выполнение транзакций. В стандарте ANSI/ISO зафиксировано, что транзакция автоматически начинается с выполнения пользователем или программой первой инструкции SQL. Далее происходит последовательное выполнение инструкций до тех пор, пока транзакция не завершается одним из двух способов: • инструкцией COMMIT, которая выполняет завершение транзакции: изменения, внесенные в БД, становятся постоянными, а новая транзакция начинается сразу после инструкции COMMIT; • инструкцией ROLLBACK, которая отменяет выполнение текущей транзакции и возвращает БД к состоянию начала транзакции, новая транзакция начинается сразу после инструкции ROLLBACK. Такая модель создана на основе модели, принятой в СУБД DB2. Управляемое выполнение транзакций. Отличная от модели ANSI/ISO модель транзакций используется в СУБД Sybase, где применяется диалект Transact-SQL, в котором для обработки транзакций служат четыре инструкции: • инструкция BEGIN TRANSACTION сообщает о начале транзакции, т.е. начало транзакции задается явно; • инструкция COMMIT TRANSACTION сообщает об успешном выполнении транзакции, но при этом новая транзакция не начинается автоматически; • инструкция SAVE TRANSACTION позволяет создать внутри транзакции точку сохранения и присвоить сохраненному состоянию имя точки сохранения, указанное в инструкции; • инструкция ROLLBACK отменяет выполнение текущей транзакции и возвращает БД к состоянию, где была выполнена инструкция SAVE TRANSACTION (если в инструкции указана точка сохранения – ROLLBACK TO имя_точки_сохранения), или к состоянию начала транзакции.
Под управлением целостностью в БД понимается защита данных в БД от неверных (в отличие от несанкционированных) изменений и разрушений. Поддержание целостности БД состоит в том, чтобы обеспечить в каждый момент времени корректность (правильность) как самих значений всех элементов данных, так и взаимосвязей между элементами данных в БД. С поддержанием целостности связаны следующие основные требования:
Обеспечение достоверности. В каждый элемент данных информация заносится точно в соответствии с описанием этого элемента. Должны быть предусмотрены механизмы обеспечения устойчивости элементов данных и их логических взаимосвязей к ошибкам или неквалифицированным действиям пользователей.
Управление параллелизмом. Нарушение целостности БД может возникнуть при одновременном выполнении операций над данными, каждая из которых в отдельности не нарушает целостности БД . Поэтому должны быть предусмотрены механизмы управления данными, обеспечивающие поддержание целостности БД при одновременном выполнении нескольких операций.
Восстановление. Хранимые в БД данные должны быть устойчивы по отношению к неблагоприятным физическим воздействиям (аппаратные ошибки, сбои питания и т .п .) и ошибкам в программном обеспечении . Поэтому должны быть предусмотрены механизмы восстановления за предельно короткое время того состояния БД, которое было перед появлением неисправности.
