[27.04.11] Лекция №10 (Лекции по банкам данных)

2017-12-28СтудИзба

Описание файла

Файл "[27.04.11] Лекция №10" внутри архива находится в следующих папках: Лекции по банкам данных, [drafts] Банки данных, 11 - [27.04.11] Лекция №10. Документ из архива "Лекции по банкам данных", который расположен в категории "". Всё это находится в предмете "банки данных" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "банки данных" в общих файлах.

Онлайн просмотр документа "[27.04.11] Лекция №10"

Текст из документа "[27.04.11] Лекция №10"

Лекция №10 [27.04.11]

Транзакции

Транзакция – совокупность операторов, выполняющаяся как одно неделимое целое. Чтобы когда одновременно несколько пользователей вносят изменения не наломать дров. Каждый вносит изменения у себя локально, в системных буферах, а по команде конца транзакции все изменения вносятся разом.

Оператор конца текущей транзакции: COMMIT

Оператор отката (отмена транзакции): ROLLBACK

Оператор контрольной точки: SAVEPOINT

Оператор наделениям правами: GRANT

Оператор отмены прав: REVOKE

Использование контрольных точек:

INSERT …………………

UPDATE …………………

DELETE …………………

SAVEPOINT a1.

UPDATE …………………

SELECT …………………

SELECT …………………

UPDATE ………………… -- а вот тут у нас ошибка, например, надо откатить

DELETE …………………

SAVEPOINT a2.

SELECT …………………

SELECT …………………

ROLLBACK TO SAVEPOINT a1. -- вот мы откатили на контрольную точку a1

Создать пользователя с логином ivanov и паролем spec:

CREATE USER ivanov IDENTIFIED BY spec.

Разрешить пользователям Иванову и Петрову создавать таблицы и представления:

GRANT CREATE TABLE, CREATE VIEW TO ivanov, petrov.

Разрешить Козлову чтение таблицы Покупатели:

GRANT SELECT ON customer TO kozlov.

Администратор предоставляет другому пользователю право назначения полномочий на таблицу Покупатели:

GRANT SELECT, INSERT, UPDATE, DELETE ON customer TO ivanov WITH GRANT OPTION.

Администратор даёт Петрову права на подключение к базе данных:

GRANT CREATE SESSION TO petrov.

Роль (профиль) пользователей хранит набор прав:

CREATE ROLE semiadmin.

GRANT SELECT, INSERT, UPDATE, DELETE

ON customer

TO semiadmin.

GRANT SELECT, INSERT, UPDATE, DELETE

ON orders

TO semiadmin.

GRANT SELECT, INSERT, UPDATE, DELETE

ON item

TO semiadmin.

GRANT SELECT, INSERT, UPDATE, DELETE

ON stock

TO semiadmin.

COMMIT.

Теперь созданную роль (профиль) можно назначить Иванову:

GRANT ROLE semiadmin TO ivanov.

Роль можно присваивать к другой роли, тогда гранты объединятся, дополнятся.

Запретить Петрову создавать таблицы:

REVOKE CREATE TABLE FROM ivanov.

Пользователю Петрову отменить полномочия на ввод данных в таблицу Покупатели:

REVOKE INSERT ON customer FROM petrov.

А Козлову вообще всё запретить:

REVOKE ALL FROM kozlov.

А у Иванова отнять все права только на таблицу Покупатели:

REVOKE ALL ON customer FROM ivanov.

Функции

Определить число покупателей (сколько строк в таблице):

SELECT COUNT(*) FROM customer.

Ввести в заказ сегодняшнюю дату:

INSERT INTO orders(ID, customerID, orderdata) VALUES (34, 515, SYSDATA).

Для заказа №32 подсчитать общую сумму:

SELECT SUM(quabtity * unitprice)

FROM item, stock

WHERE ordered=32 AND item.stockID=stockID.

На экран после такого выведет вот что:

SUM(quabtity * unitprice)

100500

Рассчитать средний оклад кассиров:

SELECT AVG(oklad) FROM slyjashie WHERE doljnost=’кассир’.

Для всех служащих в магазине №5 рассчитать полный доход, состоящий из оклада и комиссионых:

SELECT fio, oklad + komissija FROM slyjashie WHERE magazine=5.

Выдаст вот так:

fio

oklad + komissija

Иванов Иван Иванович

100500

Петров Пётр Петрович

500100

Сидоров Сидр Сидорович

500600

Изменение структуры таблицы

Добавить к таблице Покупатели новый столбец для второго факса (купили новые вместо сгоревших, а тут ещё и сгоревшие починили):

ALTER TABLE customer ADD (fax2 VARCHAR2(20)).

Модифицировать (тип значения) столбец в таблице Покупатель (длиннее поле телефона):

ALTER TABLE customer MODIFY (phone VARCHAR2(22)).

Удаление таблицы, не имеющее ссылок на другие таблицы:

DROP TABLE stock.

Удаление таблицы, имеющей ссылки на другие таблицы:

DROP TABLE orders CASCADE CONSTRAINTS.

Создание представления

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

CREATE VIEW имя представления AS (запрос SELECT)

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5259
Авторов
на СтудИзбе
421
Средний доход
с одного платного файла
Обучение Подробнее