- •1)Основные функции системы управления базами данных.
- •2)Виды моделей данных. Примеры.
- •3)Три уровня представления данных в субд (ansi/sparc).
- •4)Архитектурные решения, используемые при реализации многопользовательских субд.
- •5)Классификация бд. Примеры субд
- •6)Основные понятия реляционных баз данных (тип данных, домен, атрибут, отношение, заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения, первичный ключ). Пример.
- •7)Целостность реляционных данных. Ключи (потенциальные, первичные, альтернативные, внешние)
- •8)Язык sql. Составные части. Разновидностями языка sql. Отличие от процедурных языков программирования.
- •9)Архитектура и принципы физического хранения данных в субд MySql
- •10)Команда create database. Команды выбора бд.
- •11) Команда создания таблиц. Пример для субд MySql. Просмотр структуры таблицы.
- •12)Команда изменения структуры таблицы. Основные преобразования, выполняемые этим оператором. Примеры для субд MySql.
- •13)Три категории типов данных столбцов субд MySql. Сравнить типы данных char и varchar.
- •14)Три категории типов данных столбцов субд MySql. Сравнить типы данных set и enum.
- •15)Три категории типов данных столбцов субд MySql. Сравнить типы данных blob и text.
- •16)Типы данных даты и времени субд MySql.
- •17)Запись данных в таблицу субд MySql. Ввод данных из файла.
- •5.1. Запись данных в таблицы
- •18)Синтаксис оператора select. Выборка данных с помощью условия. Примеры для субд MySql.
- •19)Синтаксис оператора select. Операторы in и between.
- •Операторы in и between
- •20)Агрегатные функции MySql. Примеры для субд MySql.
- •Поиск минимального и максимального значений столбца.
- •21)Синтаксис оператора select. Ограничение количества извлекаемых данных. Упорядочивание данных.
- •Упорядочивание данных order by
- •22)Вложенные запросы. Синтаксис. Изменение записей update.
- •23) Основные функции для работы с датой и временем в MySql (текущая дата, выделение части даты). Представление даты. Примеры.
- •24) Основные функции для работы со строками в MySql. Сравнение строк, длина строки, приведение к нижнему и верхнему регистрам. Примеры.
- •Insert(строка, позиция, длина, новая_строка)
- •25) Компоненты ms sql Server. Системные базы данных.
- •26)Типы данных ms sql Server. Пользовательские типы данных. Пример создания.
- •27)Типы данных ms sql Server. Пространственные и специальные типы данных.
- •28)Конструкции Transact-sql. Переменные.
- •Управляющие конструкции Transact-sql:
- •1.С входным выражением:
- •29) Физическая организация базы данных ms sql Server. Типы файлов баз данных. Файловые группы.
- •30)Физическая структура файлов данных. Экстенты.
- •31)Физическая структура файлов данных. Типы страниц.
- •32) Индексы. Виды индексов ms sql Server.
- •33)В-деревья. Примеры.
- •34) Создание, изменение индекса в ms sql Server. Сравнение кластеризованных и некластеризованных индексов.
- •35) Секционирование таблиц.
- •36)Выборка данных из нескольких таблиц. Конструкция join. Виды соединений.
- •37) Объединение нескольких наборов результатов union. Примеры.
- •38) Виды соединений. Примеры.
- •39)Агрегатные функции. Примеры.
- •40)Подзапросы. Примеры.
- •41) Безопасность в ms sql Server. Роли сервера. Учетные записи для входа.
- •Роли сервера
- •Управление учетными записями для входа
- •42)Безопасность в ms sql Server. Роли базы данных. Предоставление доступа к бд.
- •43)Представления. Примеры.
- •Создание представлений
- •44)Курсор. Виды курсоров. Управление курсорами.
- •Управление курсором в среде ms sql Server
- •45)Пользовательские функции и хранимые процедуры.
- •46)Сценарии и пакеты в ms sql Server. Схемы бд.
- •47)Триггеры.
- •48)Ограничение check.
- •49)Реляционная алгебра Кодда. Основные операторы.
- •Основные операторы реляционной алгебры
- •50)Нормализация бд. Нормальные формы.
- •51) Этапы проектирования бд.
35) Секционирование таблиц.
Microsoft SQL Server поддерживает физическое разделение данных таблицы без разделения логической таблицы - такие таблицы называются секционированными. Данные секционированных таблиц подразделяются на блоки, которые могут быть распределены по нескольким файловым группам в базе данных.
Данные секционируются горизонтально, поэтому группы строк сопоставляются с отдельными секциями. Таблица или индекс рассматриваются как единая логическая сущность при выполнении над данными запросов или обновлений. Все секции одного индекса или таблицы должны находиться в одной и той же базе данных.
В SQL Server все таблицы в базе данных считаются секционированными, даже если они состоят всего лишь из одного раздела. Фактически, секции представляют собой базовую организационную единицу в физической архитектуре таблиц и индексов. Это означает, что логическая и физическая архитектура таблиц и индексов, включающая несколько секций, полностью отражает архитектуру таблиц и индексов, состоящих из одной секции
Чтобы создать секционированную таблицу, необходимо выполнить следующие шаги:
Создать функцию секционирования, чтобы указать, каким образом таблица будет секционирована.
Создать схему секционирования, чтобы указать размещение секций функцией секционирования по файловым группам.
Создать таблицу с использованием схемы секционирования.
Для изменения количества секций используются следующие операции:
Операция разделения используется при необходимости разделить существующую секцию на две, фактически добавляя новую граничную точку функции разбиения
Слияние позволяет объединить две рядом стоящие секции, то есть удалить граничную точку функции разбиения.
Переключение позволяет подменить заполненную данными секцию таблицы пустой секцией.
36)Выборка данных из нескольких таблиц. Конструкция join. Виды соединений.
Выборка осуществляется с помощью одной команды SELECT, являющейся частью языка DML (Data Manipulation Language – язык управления данными).
Результатом выполнения данной команды является итоговый набор данных, состоящий из таких частей, как заголовки столбцов и записи данных. Этот набор должен содержать не менее одного столбца, записи могут быть, а могут и отсутствовать.
Команда SELECT состоит из следующих основных частей: списка выборки и разделов FROM, WHERE, GROUP BY, HAVING, ORDER BY и COMPUTE – обязательным является лишь список выборки.
Простая выборка данных
Для простой выборки данных используется сокращенный синтаксис оператора SELECT:
SELECT [ALL | DISTINCT] [TOP n [PERCENT] СписокВыборки
FROM ИмяТаблицы
WHERE УсловиеОтбора
СписокВыборки определяет поля, включаемые в итоговый набор данных. Список выборки может содержать следующие один или несколько элементов:
*| ИмяПоля | Выражение [AS Псевдоним], [...n].
По умолчанию команда SELECT возвращает все записи, включая дубликаты, что определяется ключевым словом ALL, которое может быть опущено. Для получения набора уникальных неповторяющихся записей необходимо указывать ключевое слово DISTINCT.
Использование ключевого слова TOP предписывает выводить не все записи итогового набора, а только n первых. Можно выбирать не фиксированное количество записей, а определенный процент от всех строк – для этого указывается ключевое слово PERCENT.
Пример 1:
Для получения списка названий книг с авторами из таблицы Book_name базы данных Books необходимо выбрать поля B_name и avtor:
SELECT B_name AS 'Название',AvtorAS 'Автор' FROM Book_name
При этом БД Books должна быть текущей. Поля данных будут представлены пользователю в порядке, определенном в списке выборки.
Для определения соответствия выражения одному из перечисленных в заданном списке значений применяется логический оператор IN. Данный оператор всегда может быть записан и в виде группы условий, объединенных операндом OR.
Пример, Можно получить список сотрудников из США и Канады:
Select LastName From Table WHERE CountryName IN (‘United States’, ‘Canada’)
Соединения предназначены для обеспечения выборки данных из нескольких таблиц и включения этих данных в один результирующий набор. Конструкции JOIN применяются в операторах выборки данных в нескольких разных формах, и от выбора конкретной формы зависит то, как осуществляется взаимодействие таблиц, входящих в соединение.
Существует четыре вида соединений:
внутреннее,
внешнее,
полное,
перекрестное.
Для объединения трех и более таблиц можно применять последовательность соединений.
Для соединения таблиц необходимо раздел FROM дополнить ключевыми словами JOIN, которое определяет соединяемые таблицы и метод соединения, и ON, указывающее общие для таблиц поля.
Синтаксис:
SELECT <select list>
FROM <first table> [<alias>] <join type> <second table> [<alias>]
[ON <join condition>][;]
