- •Основные определения. Информация. Данные. База данных. Предметная область. Объект. Атрибут. Субд.
- •Функции субд
- •Трехуровневая архитектура бд. Уровни представления бд. Внешний, концептуальный, внутренний уровни. Теоретические основы проектирования бд. Этапы концептуального проектирования.
- •Модели представления данных. Сетевая и иерархическая модели. Преимущества и недостатки. Отношения между объектами.
- •Иерархическая
- •Сетевая
- •Модели представления данных. Реляционная модель. Основные понятия: атрибут, домен, кортеж (запись), ключ. Фундаментальные свойства отношений.
- •Основные операции реляционной алгебры – выборка, проекция, декартово произведение, объединение, разность.
- •Операция выборки
- •Операция проекции
- •Декартово произведение
- •Операция объединения
- •Операция разности
- •Дополнительные операции реляционной алгебры – – соединение, пересечение, деление.
- •Соединение
- •Операция пересечения
- •Операция деления
- •Функциональные зависимости и их свойства. Понятие реляционной целостности.
- •10. Нормализация отношений. Цель нормализации. Аномалии в отношениях. Ненормализованные отношения. Первая нормальная форма.
- •11. Нормализация отношений. Вторая и третья нормальные формы. Аномалии в отношениях.
- •12. Нормализация отношений. Нормальная форма Бойса - Кодда.
- •13. Нормализация отношений. Четвертая нормальная форма. Понятие многозначной зависимости.
- •14. Нормализация отношений. Пятая нормальная форма. Понятие зависимости соединения.
- •15. Предметная область информационной системы. Объекты и связи. Классификация связей. Теоретические основы проектирования бд. Этапы концептуального проектирования.
- •16. Семантическое моделирование данных. Семантическая модель Сущность - Связи(er).
- •6.2. Семантическое моделирование данных, er-диаграммы
- •6.2.1. Семантические модели данных
- •6.2.2. Основные понятия модели Entity-Relationship (Сущность-Связи)
- •6.2.3. Нормальные формы er-схем
- •6.2.4. Более сложные элементы er-модели
- •6.2.5. Получение реляционной схемы из er-схемы
- •17. Понятия транзакции в субд. Свойства асид. Проблемы параллельного выполнения транзакции. Понятие блокировки, методы управления параллельностью.
- •18. Язык структурированных запросов sql. Основные положения.
- •19. Язык структурированных запросов sql. Установка критериев выбора.
- •20. Язык структурированных запросов sql. Обобщение данных с помощью агрегатных функций.
- •21. Язык структурированных запросов sql. Формирование вывода запросов. Упорядочивание вывода полей.
- •Упорядочивание вывода полей
- •Упорядочивание с помощью многочисленных столбцов
- •Упорядочивание агрегатных групп
- •22. Язык структурированных запросов sql. Объединение таблиц.
- •23. Язык структурированных запросов sql. Соотнесенные подзапросы.
- •24. Язык структурированных запросов sql. Ввод, удаление и изменение значений в таблице. Создание таблицы.
- •25. Microsoft sql Server 2000. Основные концепции технологии «клиент-сервер», структура хранения данных, файлы и группы файлов. Основные объекты базы данных.
- •26. Microsoft sql Server 2000. Создание базы данных с помощью Enterprise Manager. Работа с таблицами. Ограничения целостности.
- •Ограничения целостности
- •26. Microsoft sql Server 2000. Создание базы данных с помощью Enterprise Manager. Работа с таблицами. Ограничения целостности.
- •Работа с таблицами
- •Ограничения целостности
- •27. Администрирование sql Server 2000. Терминология. Создание ролей и пользователей в бд.
- •Терминология
- •Системный администратор
- •Владелец базы данных
- •28. Microsoft sql Server 2000. Резервное копирование и восстановление. Экспорт и импорт данных.
- •29. Microsoft sql Server 2000. Создание и использование хранимых процедур и пользовательских функций.
- •31. Тенденции развития бд. Хранилища данных. Основные свойства. Архитектура, схемы хд. Понятие метаданных. Информационные потоки в хранилищах данных.
- •1. Современные информационные системы
- •Метаданные
22. Язык структурированных запросов sql. Объединение таблиц.
SELECT * FROM Customers, Salespeople // декартово произведение таблиц
WHERE Customers.city = Salespeople.city
Каждому покупателю будет соответствовать несколько продавцов, находящихся с ним в одном городе. Для сравнения можно использовать любой оператор сравнения.
Объединения таблиц через ссылочную целостность.
SELECT Customers.cname, Salespeople.sname
FROM Customers, Salespeople
WHERE Salespeople.snum = Customers.snum
Результат – таблица, в которой объединены имена заказчиков и соответствующих им продавцов. Столбцы, которые используются для определения вывода, в сам вывод не попадают.
Объединения, которые используют условия, основанные на равенствах – объединения по равенству. Наиболее общий вид объединений.
SELECT onum, cname, Orders.cnum, Orders.snum
FROM Salespeople, Customers, Orders
WHERE Customers.city <> Salespeople.city
AND Orders.cnum = Customers.cnum
AND Orders.snum = Salespeople.snum
Результат вывода – заказчик и продавец в разных городах. Объединения трех таблиц.
Объединения с использованием WHERE
Объединения с использованием оператора JOIN
INNER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN
SELECT * FROM Orders
INNER JOIN Customers
ON Orders.cnum = Customers.cnum
Объединение таблицы с собой – объединение двух копий одной и той же таблицы
SELECT first.cname, second.cname, first.rating
FROM Customers first, Customers second
WHERE first.rating = second.rating // пары покупателей с одним рейтингом
AND first.cnum < second.cnum
В этом примере используются псевдонимы.
ПРОПУЩЕНО
23. Язык структурированных запросов sql. Соотнесенные подзапросы.
SELECT * FROM Orders
WHERE snum =
( SELECT snum FROM Salespeople
WHERE sname ‘Иванов’ )
ПРОПУЩЕНО
Можно использовать ключевое слово.
SELECT * FROM Orders
WHERE amt > ( SELECT AVG(amt) FROM Orders ) // все продажи, имеющие значения больше среднего
Можно использовать подзапросы, которые выводят один столбец и несколько строк, если использовать специальный оператор IN.
SELECT * FROM Orders
WHERE snum IN
( SELECT snum FROM Salespeople
WHERE city = ‘Брянск’ )
Подобно можно использовать подзапросы в предложении…
ПРОПУЩЕНО
Составные запросы используются часто, т.к. не всегда можно сохранить
ПРОПУЩЕНО
В соотнесенном подзапросе происходит обращение
ПРОПУЩЕНО
SELECT * FROM Customers out
WHERE 20.10.07 IN
( SELECT odate FROM Orders into
WHERE out.cnum = into.cnum )
Внутренний запрос должен выполняться отдельно для каждого
ПРОПУЩЕНО
Строка внешнего запроса, для которого выполняется внутренний запрос, называется текущей строкой кандидата.
С помощью соотнесенных подзапросов можно выполнять сложные операции.
SELECT snum, sname
FROM Salespeople
WHERE 1 < ( SELECT count(*)
FROM Customers
WHERE Customers.snum = Salespeople.snum )
Список продавцов, у которых больше одного покупателя.