- •1. Распределенные и централизованные базы данных. Архитектура файл-сервер. Архитектура клиент-сервер.
- •2. Иерархическая и сетевая модели данных.
- •3. Реляционная модель данных. История развития. Основные понятия (тип данных, домен, отношение, кортеж, атрибут, ключ).
- •4. Реляционная база данных.
- •5. Функции системы управления базами данных (субд): управления данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями.
- •6. Функции системы управления базами данных: журнализация, поддержка языков баз данных.
- •7. Типовая организация современной субд.
- •8. Базовые средства манипулирования реляционными данными.
- •9. Реляционная алгебра. Общая интерпретация реляционных операций.
- •10. Особенности теоретико-множественных операций реляционной алгебры.
- •11. Реляционное исчисление.
- •12. Целостность сущностей и ссылок.
- •13. Субд в архитектуре клиент-сервер. Открытые системы.
- •14. Клиенты и серверы локальных сетей.
- •15. Системная архитектура клиент-сервер. Удаленный вызов процедур.
- •16. Сервера баз данных
- •17. Типичные распределения функций между клиентами и серверами
- •18. Разновидности распределенных систем
- •19. Распределенная компиляция запросов
- •20. Язык реляционных баз данных Transact-sql (t-sql). История развития. Идентификаторы в t-sql.
- •21. Язык t-sql. Выражения.
- •22. Язык t-sql. Числовые и денежные типы данных. Типы данных для хранения информации о времени.
- •1) Числовые целые типы данных
- •2)Нецелочисленные типы данных
- •3)Денежные типы данных.
- •4) Типы данных для хранения информации о времени.
- •23. Язык t-sql. Символьные и текстовые типы данных.
- •7)Текстовые типы данных
- •24. Язык t-sql. Специальные типы данных. Конвертирование типов данных.
- •25. Управляющие конструкции t-sql.
- •26. Процесс проектирования таблиц в реляционной базе данных. Определение идентификационной колонки.
- •27. Создание таблиц средствами t-sql.
- •28. Изменение структуры таблицы средствами t-sql. Удаление таблиц.
- •29. Добавление данных в таблицу средствами t-sql. Использование insert и select…into.
- •30. Извлечение данных средствами t-sql. Команда select. Разделы select и into.
- •Раздел into для сохранения результата, выполняет запрос в заданной таблице.
- •31. Извлечение данных средствами t-sql. Команда select. Раздел from (глава 25 – Управление данными; Раздел «Извлечение данных»; Подраздел «Раздел from» с.772-776).
- •32. Извлечение данных средствами t-sql. Команда select. Разделы where, group by, having, order by.
- •33. Изменение данных в таблице средствами t-sql. Команда update.
- •34. Удаление данных средствами t-sql. Команда delete. (глава 25 – Управление данными; Раздел «Удаление данных» с.800-801)
- •35. Хранимые процедуры. Этапы создания (Глава 26 – Хранимые процедуры; Раздел «Создание хранимых процедур» с. 803-804).
- •36. Создание, модификация и удаление хранимых процедур средствами t-sql.
- •37. Использование индексов. Планирование использования индексов. Типы индексов: кластерные, некластерные и уникальные индексы.
- •38. Создание и удаление индексов средствами t-sql.
- •39. Создание, изменение и удаление представлений средствами t-sql.
- •40. Типы и поведение курсоров. Управление курсорами.
- •41. Создание курсора. Открытие курсора. Считывание данных. Изменение и удаление данных с помощью курсора.
- •42. Предоставление, запрещение и неявное отклонение доступа пользователей к объектам базы данных.
30. Извлечение данных средствами t-sql. Команда select. Разделы select и into.
После того как таблица создана и в нее внесены данные можно приступать к их использованию.
В большинстве случаев используется упрощенный вариант команды SELECT, имеющий следующий синтаксис:
SELECT select_list
[INTO new_table_]
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]
Раздел SELECT имеет следующий синтаксис:
SELECT [ ALL | DISTINCT ]
[ TOP n [PERCENT] [ WITH TIES] ]
<select_list>
Рассмотрим более подробно назначение аргументов:
ALL. При указании этого ключевого слова в результат запроса разрешается включение дублирующихся строк. Параметр ALL используется по умолчанию.
DISTINCT. Это ключевое слово запрещает появление в результате дублирующихся строк.
TOP n [PERCENT] [ WITH TIES]. Использование этой конструкции предписывает серверу выбирать не все строки, а только n первых. Можно также выбирать не фиксированное количество строк, а определенный процент от всех строк, удовлетворяющих условию.
Конструкция <select_list> определяет список и происхождение колонок, которые будут включены в результат.
Аргумент table_name должен содержать имя таблицы, из которой необходимо выбрать все колонки. Имя таблицы необходимо указывать, если в запрос включено несколько таблиц. Если же в запросе участвует только одна таблица, то проще применить символ * без указания имени таблицы.
Аргумент view_name указывает имя представления, из которого необходимо выбрать все колонки.
Аргумент table_alias указывает псевдоним таблицы, из которой необходимо выбрать все колонки.
column_name [[AS] column_alias]. Этот аргумент указывает имя колонки, которое необходимо включить в результат. Колонка должна принадлежать одной из таблиц, указанных в конструкции FROM.
Синтаксис команды SELECT позволяет изменять имена колонок, которые они будут иметь в результате. Для этого используются псевдонимы. Псевдоним задается с помощью аргумента column_alias, он должен быть уникален в пределах результата. Использование псевдонимов обязательно, если исходные таблицы имеют колонки с одинаковыми именами и эти колонки необходимо включить в результат.
Раздел into для сохранения результата, выполняет запрос в заданной таблице.
31. Извлечение данных средствами t-sql. Команда select. Раздел from (глава 25 – Управление данными; Раздел «Извлечение данных»; Подраздел «Раздел from» с.772-776).
32. Извлечение данных средствами t-sql. Команда select. Разделы where, group by, having, order by.
С помощью конструкции WHERE можно сузить количество обрабатываемых строк данных, определив одно или несколько логических условий. В результат будут включены только те строки, которые соответствуют наложенным условиям. Условие может включать константы, переменные и любые выражения, возвращающие булево значение (TRUE или FALSE). Можно указать несколько условий, объединив их с помощью логических операндов OR, AND и NOT. Синтаксис раздела WHERE следующий:
WHERE <search_condition> | column_name { *= | =* } column_name
В конструкции <search_condition> можно определить любое логическое условие, при выполнении которого строка будет включена в результат. Логическое условие может быть произвольным, в том числе и не связанным с данными.
Раздел GROUP BY позволяет выполнять группировку строк таблиц по определенным критериям. Для каждой группы можно выполнить специальные функции агрегирования, которые будут применены ко всем строкам в группе. Синтаксис раздела GROUP BY следующий:
[ GROUP BY [ALL] group_by_expression [,...n] [ WITH { CUBE | ROLLUP } ]]
ALL. Если в запросе было определено условие, сужающее диапазон группировки выбираемых строк, то при указании в разделе GROUP BY ключевого слова ALL сервер будет выводить список всех групп, но не будет выполнять для них функции агрегирования.
Раздел HAVING имеет следующую структуру:HAVING <search_condition> .
Этот раздел в основном используется для указания условий поиска при выполнении группирования данных с помощью раздела GROUP BY. Конструкция <search_condition> содержит логические условия, определяющие диапазон строк, обрабатываемых запросом. Правила работы с этой конструкцией были рассмотрены при описании раздела WHERE.
Раздел ORDER BY используется, когда необходимо отсортировать данные в результирующем наборе. Синтаксис этого раздела следующий:
ORDER BY {order_by_expression [ ASC | OESC ] } [,...n]
Аргумент order_by_expression должен содержать имя одной из колонок, включенных в запрос. Можно использовать для сортировки колонку, не включенную в результат. При указании ключевого слова ASC данные будут отсортированы по возрастанию. Если необходимо отсортировать данные по убыванию, нужно использовать ключевое слово DESC. По умолчанию используется сортировка по возрастанию.
Данные можно отсортировать по нескольким колонкам. Для этого необходимо ввести имена колонок через запятую с указанием порядка сортировки.