- •Основные определения:
- •Модель данных (мд) – это средство обработки данных, позволяющее увидеть не только конкретные значения данных, но и их смысл.
- •Объект бд – это элемент предметной области, о котором мы хотим хранить информацию.
- •По арности
- •По значности
- •По членству
- •Сотрудники – отделы
- •Элементы пользовательского интерфейса в системе
- •Объектно-ориентированный подход
- •З ащита данных.
- •Мероприятия по защите данных.
- •Ограничение доступа к данным.
- •Ограничение обработки данных.
- •Ведение системного журнала.
- •Управление транзакциями.
- •Управление параллельным доступом
- •Потенциальные пути утечки и повреждения информации.
- •Классификация угроз системе защиты.
- •Мероприятия, по защите секретности.
- •Языковые средства субд.
- •З апросы в sql.
- •Составное условие
- •Многотабличный запрос
- •Вложеные запросы.
- •Операции группировки
- •К оманды модификации данных.
- •Удаление данных
- •Добавление данных
- •Изменение данных
- •Использование операций реляционой алгебры в sql.
- •Команды определения данных.
- •Индексы
- •Представления
- •Привилегии
- •У правление параллельным доступом.
- •Блокировки.
- •Минусы блокировок.
- •Метод временных меток.
- •Системы «клиент – сервер»
- •Пользователи могут изменять компаненты системы, изменятьее не теряя при этом работоспособность.
- •Нет зависимости от конкретного производителя.
- •Сервер вд Факс Сервер
- •Архитектура систем «клиент – сервер»
- •Серверы базы данных.
- •Распределение базы данных
- •Порядок выполнения запросов в бд
- •Планировщик
- •Протокол 2-ух фазной фиксации
- •Стратегия распределения нефрагментированных файлов.
- •Физическая организация бд.
- •Механизм доступа цилиндр
- •Выбор субд
- •Способ сбора данных субд
- •Перспективные направления развития информационных систем.
- •Основные свойства ообд
- •Составляющие базы знаний.
- •Классификация знаний.
З апросы в sql.
Запросы бывают:
-
Простые (данные берутся только из одной таблицы)
-
Многотабличные (данные из нескольких таблиц)
-
Вложенные (запрос внутри запроса)
SELECT [[ALL]/DISTINCT] {*/поле1, поле2…}
FROM {базовая таблица1/представление 1}, {базовая таблица2/представление 2}
[WHERE условие]
Результатом команды SELECT есть таблица (представление).
ALL все значения в столбцах
DISTINCT только уникальные значения
FROM задает таблицы, откуда запрашивается
WHERE условия на выборку
Пример1:
Список штукатуров
SELECT Фамилия
FROM Сотрудник
WHERE Должность=’штукатур’
Пример2:
Данные о всех студентах АД-76
SELECT *
FROM Студенты
WHERE Группа=’АД-76’
Составное условие
WHERE [NOT] условие1 [AND/OR] [NOT] условие2…
условия:
значение {=/<>/<=/</>=/>} {константа/выражение}
значение1 [NOT] BEETWEEN значение2 AND значение3
значение [NOT] IN {список констант/значений}
значение IS [NOT] NULL
Пример3:
Сотрудники с окладом 800..1000 р.
SELECT Фамилия
FROM Сотрудники
WHERE Оклад BEETWEEN 800 AND 1000
Пример4:
Сотрудники 2, 5 и 6 отделов
SELECT Фамилия
FROM Сотрудники
WHERE Отдел IN 2,5,6
Пример5:
Студенты АД-76, не сдававшие экзамен
SELECT Фамилия
FROM Студент
WHERE Группа=’АД-76’ AND Оценка IS NULL
ORDER BY Упорядочить выводимые поля
ASC по возрастанию
DESC по убыванию
Пример6:
Студенты АД-76, упорядоченные по алфавиту
SELECT Фамилия
FROM Студент
WHERE Группа=’АД-76’
ORDER BY Фамилия ASC
Многотабличный запрос
Сотрудники:
-
Код сотрудника
Фамилия
Код отдела
1
Иванов
1
2
Петров
3
Отделы
-
Код отдела
Название
1
Снабжение
Пример7:
Список сотрудников из отдела «Снабжения»
SELECT Фамилия
FROM Сотрудники, Отдел
WHERE Название=’Снабжение’
AND Сотрудники.КодОтдела=Отдел.КодОтдела
Алгоритм выполнения запроса:
-
Строится декартово произведение таблиц
-
Из результата произведения выбираются нужные строки
-
Из строк выбираются нужные столбцы
Пример8:
-
КодСотрудника
ФИО
КодОтдела
КодНачальника
Необходимо выбрать ФИО и Фамилию начальника
SELECT А.Фамилия, В.Фамилия
FROM Сотрудник.А, Сотрудник.В
WHERE В.КодСотрудник=А.КодНачальника
Вложеные запросы.
Подзапрос помещается в WHERE главного запроса
Пример9:
Расписание
-
КодСотрудника
День
Время
Должности работающих в понедельник
SELECT Должность
FROM Сотрудник
WHERE КодСотрудника IN (
SELECT КодСотрудника
FROM Расписание
WHERE День=’Понедельник’
)
Подзапросы бывают двух видов:
-
Некорелированные (результат подзапроса не зависит от главного запроса)
-
Корелированные (связи нет)
Пример10:
Списки людей, работающих в тех отделах, которые работают по понедельникам
Расписание
-
КодОтдела
День
Время
SELECT Должность
FROM Сотрудники
WHERE КодОтдела IN (
SELECT КодОтдела
FROM Расписание
WHERE День=’Понедельник’ AND
Сотрудник.КодОтдела=
Расписание. КодОтдела=
)