- •Понятие автоматизированной системы, автоматизированного банка данных (абд). Состав и роли пользователей абд.
- •Иерархическая модель данных.
- •Сетевая модель данных.
- •Реляционная модель данных. Понятие домена, отношения, атрибута, кортежа, арности отношения реляционной базы данных.
- •Структура данных в рбд. Свойства столбца и ограничения таблицы. Использование ключей для идентификации строк, ссылочной целостности и логической связи строк. Индексы таблиц.
- •Язык запросов к рбд, основанный на реляционном исчислении. Примеры запросов.
- •Язык запросов к рбд, основанный на реляционной алгебре, примеры запросов.
- •Назначение и общая структура оператора Select в sql. Общая схема выполнения оператора Select. Примеры.
- •Элементы списка вывода в операторе Select Transact sql. Назначение и использование параметра Order by. Примеры.
- •Типы табличных источников в операторах управления данными в sql. Способы соединения строк в параметре From. Примеры соединений.
- •Критерий отбора строк в параметре Where операторов sql. Примеры фильтрующих запросов.
- •Назначение и использование агрегатных функций, параметров Group by и Having оператора Select. Примеры группирующих запросов.
- •Операторы union [all] , except, intersect. Примеры.
- •Структура, назначение параметров и примеры использования оператора insert. Примеры применения.
- •Структура, назначение параметров и примеры использования операторов delete, truncate.
- •Структура, назначение параметров и примеры применения оператора update.
- •Организация ms sql Server: режимы использования сервера и поддерживающие их службы Windows, системные базы, исходные учетные записи сервера.
- •Правила именования постоянных и временных объектов баз данных в ms sql Server. Примеры.
- •Структурные операторы Transact sql: if, go to, while, waitfor. Примеры применения.
- •Обработка исключений в программах Transact sql. Функции для анализа причины исключений и вывода сообщений.
- •Логическая организация базы данных в ms sql Server: словарь (системные таблицы и системные представления) базы master и пользовательской бд. Типы объектов пользовательской базы.
- •Физическая организация базы данных в ms sql Server: файлы и файловые группы. Структура и параметры оператора create database.
- •26.. Изменение параметров базы оператором alter. Реорганизация базы данных командой dbcc.
- •27.. Опции базы данных. Способы задания и проверки опций базы. Процедуры отсоединения и присоединения баз данных к серверу.
- •28.. Базовые типы данных в ms sql Server
- •29.. Специальные типы данных в ms sql Server. Функции приведения значения выражения к требуемому типу. Примеры.
- •30.. Пользовательские типы данных в ms sql Server. Операторы создания и удаления. Примеры создания и применения.
- •31. Создание пользовательской таблицы оператором create table: параметры, определяющие структуру, свойства столбцов и ограничения таблицы.
- •32.. Фрагментарное размещение таблицы в файловых группах: использование схем и функций размещения для таблицы бд. Модификация структуры таблицы оператором alter table. Примеры.
- •33.. Индексы таблиц в ms sql Server: назначение, типы, способы создания. Использование индексов.
- •34.. Статистика столбцов и индексная статистика. Операторы создания обновления статистики.
- •35.. Правила и умолчания в Transact sql. Примеры создания и использования.
- •36.. Представление (view) базы данных. Операторы создания и удаления представлений. Примеры. Ограничения при использовании представлений для внесения изменений в бд.
- •37.. Хранимые процедуры базы данных. Операторы Transact-sql для создания, исполнения и модификации процедур. Пример создания и использования.
Назначение и общая структура оператора Select в sql. Общая схема выполнения оператора Select. Примеры.
Поиск и извлечение информации из таблиц базы данных выполняет оператор SELECT. Основой для оператора SELECT являются выражения реляционного исчисления. Результат запроса представляет собой набор кортежей – таблицу, построенную путем извлечения и обработки данных из строк таблиц, участвующих в запросе. Параметрами оператора задаются выражения, определяющие столбцы результирующей таблицы, исходные таблицы, способы соединения и фильтрации и строк. В первом приближении оператор SELECT имеет вид:
Список вывода:
* - все столбцы из всех строк, участвующих в запросе.
<Имя таблицы>.* - столбцы из этой таблицы
<Имя столбца таблицы>
<имя столбца>=<Выражение>
<выражение>[[AS]<новое имя столбца>]
Сохранение результата: SELECT Distinct State INTO States FROM authors
Select[цена]*[количество]AS[Стоимость], ‘руб.’AS[Единица изм.] From...
Элементы списка вывода в операторе Select Transact sql. Назначение и использование параметра Order by. Примеры.
Список вывода:
* - все столбцы из всех строк, участвующих в запросе.
<Имя таблицы>.* - столбцы из этой таблицы
<Имя столбца таблицы>
<имя столбца>=<Выражение>
<выражение>[[AS]<новое имя столбца>]
выполняет вычисления значения заданного выражения для каждой строки и выводит его в отдельном столбце под указанным именем.
ORDER BY – порядок сортировки строк результата
-выражения;
-имена;
-Номера столбцов.
SELECT State, Count(*) AS [Число авторов] FROM authors ORDER BY count(*) DESC
Последний параметр оператора SELECT – ORDER BY задает порядок сортировки строк результата. Элементами ORDER BY могут быть выражения, имена или номера столбцов в списке результата запроса. Сортировка выполняется ступенчато, последовательно по элементам, перечисленным в ORDER BY. Сначала строки упорядочиваются по значениям первого элемента, заданного в ORDER BY. Затем строки с одинаковым значением первого элемента упорядочиваются по второму и т.д. Для задания порядка в каждом элементе сортировки используются опции: ASC – сортировка по возрастанию значения элемента, DESC – по убыванию. Например, для расчета числа авторов в штатах и сортировки штатов по убыванию числа авторов можно применить оператор
SELECT STATE As [Штат], count(*) As [Число авторов] FROM authors GROUP BY STATE ORDER BY count(*) DESC
Типы табличных источников в операторах управления данными в sql. Способы соединения строк в параметре From. Примеры соединений.
Параметр FROM < список используемых таблиц базы > определяет источники данных, используемые для извлечения информации. Стандарт SQL предусматривает не только перечисление используемых в запросе таблиц, но и определяет способы связывания (сцепления) их строк.
Спецификация таблиц, участвующих в запросе, задается следующими вариантами:
1) простое перечисление используемых таблиц, приводящее к полному перебору и сцеплению всех строк перечисленных таблиц:
<таблица> [, . . . . . .] ; - Оператор SELECT * FROM authors, titleauthor, titles заставит сцепить каждую строку таблицы authors с каждой строкой таблицы titleauthor, а затем их с каждой строкой таблицы titles и вывести все столбцы этих трех таблиц;
2) заданием таблиц одновременно с указанием способа сцепления их строк:
• < таблица > [CROSS JOIN < таблица > . . . . . . .] - Данный вариант эквивалентен предыдущему и выполняет сцепление каждой строки первой таблицы с каждой строкой второй и т.д. ;
• < таблица 1> [INNER JOIN< таблица 2> ON<условие соединения строк>] - Здесь ключевыми словами INNER JOIN задается внутреннее соединение строк, приводящее к сцеплению только тех строк первой таблицы с теми строками второй, для которых истинно <условие соединения строк>. Условие соединения задается логическим выражением, в котором участвуют поля соединяемых таблиц.
Пример внутреннего соединения
Select * From Titles INNER JOIN Sales on Titles.Title_id = Sales .Title_id
Запрос выведет все сведения о книгах и их продажах, но только для книг , по которым существовали продажи
LEFT
• < таблица 1> [RIGHT [OUTER] JOIN < таблица 2>
FULL
ON <условие соединения строк> . . . .]
LEFT [OUTER] JOIN − левое внешнее соединение. Строки, соединенные по правилу внутреннего соединения, дополняются строками первой (левой) таблицы, не соединяющимися со строками второй таблицы, т.е. не имеющего ни одной строки во второй таблице, для которой истинно <условие соединения строк>. При этом в полях дополняющих строк из правой таблицы выводятся значения NULL. Таким образом, при левом соединении все строки из левой таблицы обязательно включаются в результат. Те из них, которым по условию соединения не находятся соответствующие строки правого источника, однократно включаются в результат со значением NULL в полях правой таблицы.
Пример левого внешнего соединения
Select * From Titles LEFT JOIN Sales on Titles.Title_id = Sales .Title_id
Запрос выведет все сведения о книгах и их продажах, включая и те, по которым не было существовали продаж
RIGHT JOIN − правое внешнее соединение, выполняется аналогично левому соединению, только таблицы меняются ролями. В результат запроса включаются строки внутреннего соединения, дополненные строками правой таблицы, не соединившиеся по условию со строками левой таблицы.
Пример правого внешнего соединения
Select * From Sales RIGHT JOIN Titles on Titles.Title_id = Sales .Title_id
Запрос выведет все сведения о книгах и их продажах, включая и те, по которым не было продаж
FULL JOIN − полное внешнее соединение, создает соединенные строки, являющиеся объединением результатов правого и левого внешнего соединения.
В качестве исходной таблицы в параметре FROM могут использоваться таблицы и представления БД, подзапросы к БД – внутренний оператор SELECT и специальные функции, создающие наборы строк. Синтаксис определения табличного источника в параметре FROM имеет следующие варианты записи:
− <имя таблицы> [[AS] <алиас>]. Здесь алиас – новое имя таблицы, действующее только в пределах данного оператора. Если для таблицы в данном запросе задан алиас, то действительное имя таблицы не должно использоваться ни в каком другом параметре данного оператора. Оно повсюду должно заменяться алиасом. Использование алиаса служит двум целям: сокращению имени таблицы в тексте запроса и неоднократному использованию одной таблицы в запросе. Применяя различные алиасы, одну таблицу можно многократно использовать в операторе под разными именами, что эквивалентно созданию дубликатов таблицы перед исполнением запроса;
− другой тип табличного источника – подзапрос – записывается следующим образом: <подзапрос> [AS] <алиас> [(<список из имен столбцов>)]. Здесь <подзапрос> это отдельный оператор SELECT, который создает на время выполнения запроса динамическую таблицу с именем, определяемым алиасом. Опция <список из имен столбцов> используется в подзапросе, если его столбцы в списке вывода определяются выражениями. Например, SELECT a1.* FROM (SELECT au_lname, au_fname, phone FROM authors) AS a1. Здесь а1 – псевдоним подзапроса. Данный запрос просто возвратит результат, сформированный подзапросом;
− <функция набора строк> [[AS] <алиас>].
Функции набора строк используются для обращения к данным, созданным под управлением другой СУБД. Набор таких функций зависит от используемой СУБД.