- •Понятие автоматизированной системы, автоматизированного банка данных (абд). Состав и роли пользователей абд.
- •Иерархическая модель данных.
- •Сетевая модель данных.
- •Реляционная модель данных. Понятие домена, отношения, атрибута, кортежа, арности отношения реляционной базы данных.
- •Структура данных в рбд. Свойства столбца и ограничения таблицы. Использование ключей для идентификации строк, ссылочной целостности и логической связи строк. Индексы таблиц.
- •Язык запросов к рбд, основанный на реляционном исчислении. Примеры запросов.
- •Язык запросов к рбд, основанный на реляционной алгебре, примеры запросов.
- •Назначение и общая структура оператора 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 для создания, исполнения и модификации процедур. Пример создания и использования.
32.. Фрагментарное размещение таблицы в файловых группах: использование схем и функций размещения для таблицы бд. Модификация структуры таблицы оператором alter table. Примеры.
Размещение данных таблицы в памяти:
Неуправляемое размещение
ON <имя файл. Группы> “default”
Фрагментация
ON <имя схемы> (<имя столбца, по которому разделяются записи>)
Создание функции разделов:
CREATE PARTITION FUNCTION <имя функции>(<тип данных>)
AS RANGE [LEFT | RIGHT]
FOR VALUES ([<граничные знач. Раздела>[,…n]])[;]
Информация по функциям разделов:
Select * from sys.partition.functions
Номер раздела по значению данного:
[<имя БД>]$PARTITION.<имя функции разделов>
(<выражение для значения>)
Создание схемы разделов:
CREATE PARTITION SCHEME <имя схемы разделов>
AS PARTITION < имя функции разделов> [ALL]
TO (<имя файловой группы>[,….n])[;]
Кол-во ФГ – число разделов
ALTER TABLE - данный запрос используется для добавления, удаления или модификации колонки в уже существующей таблице.
Синтаксис SQL ALTER TABLE
Для добавления колонки в таблицу, используйте следующий синтаксис:
ALTER TABLE table_name
ADD column_name datatype
Для удаления колонки в таблице, используйте следующий синтаксис (не все базы данных позволяют удалять одну колонку):
ALTER TABLE table_name
DROP COLUMN column_name
Для изменения типа данных колонки, используйте следующий синтаксис:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
Пример 1
Есть таблица "Persons":P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Итак, мы хотим добавить новую колонку с именем "DateOfBirth" в таблицу "Persons".
Выполним SQL запрос:1
ALTER TABLE Persons
ADD DateOfBirth date
Результат запроса:P_Id LastName FirstName Address City DateOfBirth
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
Пример 2
Теперь мы хотим изменить тип данных колонки "DateOfBirth" в таблице "Persons".
Выполним SQL запрос:1
ALTER TABLE Persons
ALTER COLUMN DateOfBirth year
Удаления колонки
Итак, теперь мы хотим удалить колонку "DateOfBirth" из таблицы "Persons".
Выполним SQL запрос:1
ALTER TABLE Persons
DROP COLUMN DateOfBirth
Результат запроса:P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
33.. Индексы таблиц в ms sql Server: назначение, типы, способы создания. Использование индексов.
Индексы-служебная таблица
Ускоряет поиск
Ускоряет фильтрацию
Ускоряет сортировку
Замедляет добавление, удаление, изменение
Автоматически создаются для ключевых полей
Хранятся в таблице sys.indexes
Типы индексов:
Кластерный – определяет порядок хранения записей
Некластерный
Статистики- информация о данных в столбцах таблицы
Методы поиска в индексе:
Блочный
Дихотомия
Хеширование
Создание индекса:
CREATE [UNIQUE][ CLASTERED | NONCLASTERED]
INDEX <имя индекса> ON <имя таблиц и ..>
(<имя столбца> [ASCIDESC] [,..])
[WITH <опции> ]
[ON <имя файловой группы>/
<имя схемы>
(<имя столбца, по которому разделяются записи индекса>)
Опции индекса: <опции индекса>::=
FILLFACTOR= <% заполнение страниц индекса при его создании>
DROP_EXISTING={ON | OFF} – существование
/CNORE.DUP.KEY={ON |OFF}
[STATISTICS NORECOMPUTE] – без обновления статистики
CREATE NONCLUSTERED INDEX LFIO ON
Authors (au_lname, au_fname)
WITH (FILLFACTOR = 80)
Удаление:
DROP INDEX < имя индекса> ON <имя таблицы> или
DROP INDEX < имя таблицы>, <имя индекса>
Перестроение индекса:
ALTER INDEX {<имя индекса>| ALL} ON <имя таблицы>
{REBUILD [<параметры>] |DISABLE}