- •Вопросы к экзамену с ответами
- •6. Приведите классификацию субд.
- •3. По способу доступа к бд Файл-серверные
- •7. Перечислите функции администратора базы данных
- •8.Что представляет собой вычислительная система?
- •9.Назовите основные способы работы пользователя с базой данных при решении прикладных задач.
- •10.Укажите технологии создания приложений работы с базами данных.
- •11.Охарактеризуйте способы выполнения приложений работы с базами данных.
- •13.Перечислите основные модели жизненного цикла бд.
- •14.Перечислите основные признаки фактографических и документальных бд.
- •15.Укажите достоинства и недостатки иерархической модели данных.
- •16.Охарактеризуйте сетевую модель данных.
- •17.Охарактеризуйте реляционную модель данных.
- •18.В чем отличие реляционной и постреляционной модели данных?
- •20.Назовите и поясните смысл операций выполняемых над данными в случае многомерной модели.
- •21.Перечислите основные принципы, на которых основаны временные бд.
- •22.Охарактеризуйте методы обработки транзакций в активных базах данных.
- •23.В чем основные особенности архитектуры клиент-сервер? Особенности архитектуры клиент/сервер
- •24.Какие стандарты разработаны для архитектуры клиент-сервер?
- •25.В чем особенность создания приложений в архитектуре клиент-сервер?
- •26.Какова типичная распределенная система баз данных?
- •27.В чем состоят преимущества использования распределенных бд?
- •28.Перечислите основные принципы организации распределенных бд
- •29.Что представляет собой фрагментация данных?
- •31.В чем состоит проблема обновления в распределенных системах?
- •32.Дайте определение хранилищ данных.
- •33.Какие свойства присущи хранилищам данных?
- •34.Какие задачи требуется решать при создании хранилищ данных?
- •35.Перечислите основные компоненты хранилищ данных.
- •36.Какие модели данных используются для построения хранилищ?
- •37.Опишите процесс загрузки данных в хранилище.
- •38.Какие задачи решают средства анализа данных в системах поддержки принятия решений?
- •39.Дайте определение транзакции.
- •Isolation — Изолированность
- •41.Назовите три проблемы параллелизма.
- •42.Что представляет собой блокировка?
- •43.Какие типы блокировок могут существовать в системе? Типы блокировок
- •Автоматическая блокировка
- •Полная блокировка таблицы и блокировка изменений
- •Блокировка таблицы
- •Блокировка записей
- •44.Что представляет собой тупиковая ситуация и каким образом она разрешается?
- •45.Что представляет собой задача обеспечения безопасности в бд?
- •46.Какие типы управления доступом поддерживаются субд?
- •47.Перечислите известные вам правила безопасности.
- •48.Дайте определение целостности данных.
- •49.Каковы основные виды ограничений целостности данных, которые должны поддерживаться в субд?
- •I этап. Постановка задачи.
- •II этап. Анализ объекта.
- •III этап. Синтез модели.
- •IV этап. Выбор способов представления информации и программного инструментария.
- •V этап. Синтез компьютерной модели объекта.
- •VI этап. Работа с созданной базой данных.
- •51.Модели данных. Классификация моделей данных.
- •53.Иерархическая модель данных. Основные понятия. Область применения. Достоинства и недостатки.
- •55.Реляционная модель данных. Основные понятия. Область применения. Достоинства и недостатки.
- •2.4.2. Свойства отношений
- •2.4.3. Достоинства и недостатки рмд
- •56.Операции реляционной алгебры.
- •2.4.5. Преобразования операций реляционной алгебры
- •57.Нормальные формы схем отношений. Первая нормальная форма. Вторая нормальная форма.
- •2. Первая нормальная форма (1nf)
- •3. Вторая нормальная форма (2nf)
- •58.Нормальные формы схем отношений. Третья нормальная форма.
- •59.Нормальные формы схем отношений. Нормальная форма Бойса-Кодда
- •61.Структурированный язык запросов sql. Многотабличные запросы.
- •62.Структурированный язык запросов sql. Операции изменения и обновления базы данных.
- •Предложение update.
- •Обновление единственной записи
- •Обновление множества записей
- •Обновление с подзапросом
- •Обновление нескольких таблиц
- •Предложение commit или rollback
- •Вставка единственной записи
- •Вставка единственной записи с опущенными именами полей
- •Заключение.
- •63.Структурированный язык запросов sql. Формирование запросов.
- •64.Структурированный язык запросов sql. Использование псевдонимов.
- •65.Каким образом можно создавать таблицы баз данных в ms Access?
- •66.Каким образом осуществляется связывание таблиц?
- •67.Опишите технологию создания запросов в ms Access.
- •68.Что представляют собой макросы в ms Access и как они создаются?
- •69.Укажите особенности построения sql-запросов.
- •70.Опишите технологию создания приложений в ms Access.
62.Структурированный язык запросов sql. Операции изменения и обновления базы данных.
Обратим внимание на предложения обновления данных UPDATE (обновить), DELETE (удалить) и INSERT (вставить).
Предложение update.
Предложение UPDATE имеет следующий общий формат:
UPDATE таблица
SET поле = выражение
[,поле = выражение] ...
[WHERE предикат];
Все записи в "таблице", которые удовлетворяют "предикату", обновляются в соответствии с присваиваниями "поле = выражение" во фразе SET (установить).
Обновление единственной записи
Изменить фамилию поставщика 2 на Сандерс и город на 'Берлин':
UPDATE Поставщики
SET Фамилия = 'Сандерс', Город = 'Берлин'
WHERE Номер_Поставщика = 2;
Для каждой записи, которая должна быть обновлена (т. е. для каждой записи, которая удовлетворяет предикату WHERE, или для всех записей, если фраза WHERE опущена), ссылки во фразе SET на поля этой записи обозначают значения этих полей перед тем, как будет выполнено какое-либо присваивание в этой фразе SET.
Обновление множества записей
Удвоить вес всех деталей, производимых в Лондоне.
UPDATE Детали
SET Вес = 2*Вес
WHERE Город = 'Лондон';
Обновление с подзапросом
Установить вес деталей равным 10 для всех поставщиков из Лондона.
UPDATE Детали
SET Вес = 10
WHERE 'Лондон' =
(SELECT Город
FROM Поставщики
WHERE Поставщики.НОМЕР_ПОСТАВЩИКА = Детали.НОМЕР_ПОСТАВЩИКА);
Обновление нескольких таблиц
Невозможно обновить более одной таблицы в единственном запросе. Иными словами, в предложении UPDATE должна специфицироваться в точности одна таблица. Поэтому в данном примере мы сталкиваемся со следующей проблемой целостности (точнее, с проблемой целостности по ссылкам): база данных становится противоречивой после выполнения первого предложения UPDATE - она включает теперь некоторые поставки, для которых не имеется соответствующей записи о поставщике, и остается в таком состоянии до тех пор, пока не будет выполнено второе предложение UPDATE. Изменение порядка предложений UPDATE, конечно, не решает эту проблему. Поэтому важно обеспечить выполнение обоих этих предложений, а не только одного.
Предложение commit или rollback
Необходимо сначала дать определение транзакции. Транзакция - это неразрывная последовательность действий, составленная из одного или нескольких предложений SQL. Любая транзакция оканчивается предложением COMMIT или ROLLBACK. Когда какие-либо предложения SQL обновляют базу данных, такое обновление следует рассматривать, лишь как предварительное, в том смысле, что если в дальнейшем что-то выполнится с ошибкой, то это предложение может быть аннулировано самой программой или системой. Обновления остаются предварительными до тех пор, пока не произойдет одно из двух:
исполнится предложение COMMIT (фиксировать), которая все предварительные обновления сделает окончательными (зафиксирует);
исполнится предложение ROLLBACK (откат), которая аннулирует сделанные вами изменения в базе данных.
UPDATE Детали
SET ЦВЕТ = 'Желтый'
WHERE НОМЕР_Поставщика = 3;
COMMIT
Предложение DELETE.
Предложение DELETE имеет следующий общий формат:
DELETE
FROM таблица
[WHERE Условие];
Удаляются все записи в "таблице", которые удовлетворяют "условию".
УДАЛЕНИЕ ЕДИНСТВЕННОЙ ЗАПИСИ
Удалить поставщика с фамилией Адамс:
DELETE
FROM Поставщики
WHERE Фамилия = 'Адамс';
И снова, если таблица Детали в настоящее время содержит какие-либо поставки для поставщика Адамса, это удаление нарушит непротиворечивость базы данных; как и в случае предложения UPDATE, нет операций DELETE, воздействующих на несколько таблиц.
УДАЛЕНИЕ МНОЖЕСТВА ЗАПИСЕЙ
Удалить всех поставщиков из Лондона.
DELETE
FROM Поставщики
WHERE Город = 'Лондон';
Поставщики - все еще известная таблица, но она теперь пуста. Удалить все записи - это не уничтожить таблицу (операция DROP).
УДАЛЕНИЕ С ПОДЗАПРОСОМ
Удалить все детали из Лондона для поставщиков.
DELETE
FROM Детали
WHERE 'Лондон' =
(SELECT Город
FROM Поставщики
WHERE Поставщики.Номер_Поставщика = Детали.Номер_Поставщика);
Предложение INSERT.
Предложение INSERT имеет следующий общий формат:
INSERT
INTO таблица [(поле [,поле] . . .)]
VALUES (константа [,константа] ...);
или
INSERT
INTO таблица [(поле [,поле] . . .)]
подзапрос;
В первом формате в "таблицу" вставляется строка, имеющая заданные значения для указанных полей, причем i-я константа в списке констант соответствует i-му полю в списке полей. Во втором формате вычисляется "подзапрос"; копия результата, представляющего собой, вообще говоря, множество строк, вставляется в "таблицу". При этом i-й столбец этого результата соответствует i-му полю в списке полей. В обоих случаях отсутствие списка полей эквивалентно спецификации списка всех полей в таблице.
