- •Основные определения. Информация. Данные. База данных. Предметная область. Объект. Атрибут. Субд.
- •Функции субд
- •Трехуровневая архитектура бд. Уровни представления бд. Внешний, концептуальный, внутренний уровни. Теоретические основы проектирования бд. Этапы концептуального проектирования.
- •Модели представления данных. Сетевая и иерархическая модели. Преимущества и недостатки. Отношения между объектами.
- •Иерархическая
- •Сетевая
- •Модели представления данных. Реляционная модель. Основные понятия: атрибут, домен, кортеж (запись), ключ. Фундаментальные свойства отношений.
- •Основные операции реляционной алгебры – выборка, проекция, декартово произведение, объединение, разность.
- •Операция выборки
- •Операция проекции
- •Декартово произведение
- •Операция объединения
- •Операция разности
- •Дополнительные операции реляционной алгебры – – соединение, пересечение, деление.
- •Соединение
- •Операция пересечения
- •Операция деления
- •Функциональные зависимости и их свойства. Понятие реляционной целостности.
- •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. Современные информационные системы
- •Метаданные
18. Язык структурированных запросов sql. Основные положения.
Язык SQL – структурированный язык запросов, который дает возможность работать в БД.
Разделяют 2 вида использования: 1)интерактивные – пользователь пишет запрос и получает на него ответ; 2) вложенные – элементы языка встраиваются внутрь другого языка.
SQL имеет несколько частей:
-DDL – язык определения данных,
-DML – язык манипулирования данными,
-DCD – язык управления данными.
Основные термины:
ключевые слова – слова, которые имеют специальное значение SQL.
команды – инструкция с которой мы обращаемся к БД .
Команды состоят из 1 или более логических частей – предложений.
Предложение начинается ключевым словом и состоит из ключевых слов и аргументов.
Объекты – структуры в БД, которые имеют имена.
Запрос – команда, которая дается СУБД и сообщает ей о необходимости вывести определенную информацию из таблиц.
19. Язык структурированных запросов sql. Установка критериев выбора.
Язык SQL – структурированный язык запросов, который дает возможность работать в БД.
-
Salespeople:
Snum
Sname
city
comn
Customers:
Cnum
Cname
city
rating
Snum
Orders:
Onum
amt
Odate
Cnum
Snum
Выводит все данные из таблицы Salespeople:
SELECT Snum, Sname, city, comn
FROM Salespeople
или:
SELECT * FROM Salespeople
Устраняет дублирующее значение из предложения, указывается только один раз:
SELECT city FROM Salespeople
SELECT DISTINCT city FROM Salespeople
ALL – указывает ,что нужно выводить дублирующие значения; пояснительное ключевое слово.
WHERE – предложение команды SELECT, которое позволяет установить условия для вывода строк. Если строка удовлетворяет заданное условие, то она выводится:
SELECT Sname, city FROM Salespeople
WHERE city = ‘Брянск’
или:
WHERE rating > 100
Условия могут быть очень сложные и представлять разные возможности.
Для символьных элементов сравнив. их значения по таблице ASCII кода. Для создания сложных выражений используются логические операции AND, OR, NOT.
IN – оператор, определяющий набор значений в который, данное значение может или не может быть включено.
SELECT * FROM Salespeople
WHERE city IN (“Брянск”, “Москва”)
или:
WHERE city = “Брянск” OR city = “Москва”
BETWEEN – определяет диапазон в который должно попасть значение.
SELECT * FROM Salespeople
WHERE comn BETWEEN 0,1 AND 0,12
или:
WHERE Cname BETWEEN “A” AND “E” /от А до D/
LIKE – применяется к символьным полям и используется чтобы находить подстроки.
(_) любой единичный символ ?
(%) любое количество символов *
SELECT * FROM Customers
WHERE Cname LIKE “B%” /все имена покупателей на букву В/
IS NULL – используется для поиска пустых значений поля.
WHERE NOT city IS NULL
20. Язык структурированных запросов sql. Обобщение данных с помощью агрегатных функций.
Запросы могут производить обобщенное групповое значение полей точно также как и значение одного пол. Это делает с помощью агрегатных функций. Агрегатные функции производят одиночное значение для всей группы таблицы. Имеется список этих функций: * COUNT - производит номера строк или не - NULL значения полей которые выбрал запрос. * SUM - производит арифметическую сумму всех выбранных значений данного пол. * AVG - производит усреднение всех выбранных значений данного пол. * MAX - производит наибольшее из всех выбранных значений данного пол. * MIN - производит наименьшее из всех выбранных значений данного пол.
Функция COUNT несколько отличается от всех. Она считает число значений в данном столбце, или число строк в таблице. Когда она считает значения столбца, она используется с DISTINCT чтобы производить счет чисел различных значений в данном поле:
SELECT COUNT ( DISTINCT snum )
FROM Orders;
DISTINCT может использоваться таким образом, с любой функцией агрегата, но наиболее часто он используется с COUNT. С MAX и MIN, это просто не будет иметь никакого эффекта, а SUM и AVG, вы обычно применяете для включения повторяемых значений, так как они законно эффективнее общих и средних значений всех столбцов.
Чтобы подсчитать общее число строк в таблице, используйте функцию COUNT со звездочкой:
SELECT COUNT (*)
FROM Customers
Агрегатные функции могут также ( в большинстве реализаций ) использовать аргумент ALL, который помещается перед именем пол, подобно DISTINCT, но означает противоположное: - включать дубликаты. ANSI технически не позволяет этого для COUNT, но многие реализации ослабляют это ограничение. Различи между ALL и * когда они используются с COUNT - * ALL использует имя_поля как аргумент. * ALL не может подсчитать значения NULL. Пока * является единственным аргументом который включает NULL значения, и он используется только с COUNT; функции отличные от COUNT игнорируют значения NULL в любом случае.
До этого, вы использовали агрегатные функции с одиночными полями как аргументами. Вы можете также использовать агрегатные функции с аргументами которые состоят из скалярных выражений включающих одно или более полей.
SELECT MAX ( blnc + (amt) )
FROM Orders;
GROUP BY применяет агрегатные функции независимо от серий групп которые определяются с помощью значения поля в целом. GROUP BY используется с многочисленными полями. Предложение GROUP BY позволяет создавать итоговый запрос, который вначале группирует строки базы данных по определенному признаку, а затем включает в результаты запроса одну итоговую строку для каждой группы.
Предложение HAVING показывает, что в результаты запроса следует включать только те некоторые из групп, созданных с помощью предложения GROUP BY.
Предложение HAVING определяет критерии используемые чтобы удалять определенные группы из вывода, точно также как предложение WHERE делает это для индивидуальных строк. Аргументы в предложении HAVING следуют тем же самым правилам что и в предложении SELECT, состоящей из команд использующих GROUP BY. Они должны иметь одно значение на группу вывода. Следующая команда будет запрещена:
SELECT snum, MAX (amt)
FROM Orders
GROUP BY snum
HAVING odate = 10/03/1988;