- •Понятие автоматизированной системы, автоматизированного банка данных (абд). Состав и роли пользователей абд.
- •Иерархическая модель данных.
- •Сетевая модель данных.
- •Реляционная модель данных. Понятие домена, отношения, атрибута, кортежа, арности отношения реляционной базы данных.
- •Структура данных в рбд. Свойства столбца и ограничения таблицы. Использование ключей для идентификации строк, ссылочной целостности и логической связи строк. Индексы таблиц.
- •Язык запросов к рбд, основанный на реляционном исчислении. Примеры запросов.
- •Язык запросов к рбд, основанный на реляционной алгебре, примеры запросов.
- •Назначение и общая структура оператора 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 для создания, исполнения и модификации процедур. Пример создания и использования.
Правила именования постоянных и временных объектов баз данных в ms sql Server. Примеры.
Постоянные объекты базы
Эти объекты становятся доступны в любой утилите или приложении пользователя после соединения с сервером. Полное наименование таких объектов имеет вид:
Если имя сервера не задано, используется сервер, на котором выполняется оператор, содержащий данный объект;
Если имя базы не введено, используется контекстно-заданная база. Задать базу по умолчанию (контекстною) можно с помощью оператора USE <имя БД>. Эта база будет использоваться по умолчанию во всех последующих операторах до ее смены новым оператором USE.
<имя владельца объекта> – указывается имя пользователя в базе (USER), создавшего объект. Наличие имени владельца в имени объекта позволяет разным пользователям создавать объекты, не согласуя их имена между собой. Если при создании объекта имя владельца не было задано, автоматически подставляется имя dbo, обозначающее Database owner (владелец БД), которое принадлежит пользователю, создавшему базу данных. Если задано имя базы, но пропускается имя владельца, то в соответствии с синтаксисом, точки вокруг элемента <имя владельца объекта> должны быть заданы. Например, User_database..authors;
<имя объекта> – содержит идентификатор объекта (таблицы, процедуры и т.д.) базы.
Если объектом является таблица БД, то в определенных операторах далее через точку может быть задано имя столбца этой таблицы.
Сервер допускает использование в качестве имен объектов неправильных идентификаторов. В соответствии с синтаксисом такие идентификаторы должны быть заданы в квадратных скобках или двойных кавычках. Размер символов в именах значения не имеет.
Временные объекты Временными объектами базы данных могут быть таблицы пользователя. Временные таблицы создаются в соединении сервером и существуют до разрыва соединения. При разрыве соединения, создавшего временную таблицу, она автоматически удаляется. Временные таблицы бывают двух типов:
– локальная временная таблица, которая создаётся и сохраняется в сеансе связи (соединении) и недоступна в других соединениях. После разрыва соединения с сервером таблица автоматически удаляется. Локальная временная таблица должна иметь имя в виде #<идентификатор>,
– глобальная временная таблица, в отличие от локальной, доступна в других соединениях, но только до разрыва соединения, создавшего таблицу. Имя глобальной временной таблицы имеет вид: ##<идентификатор>.
Временные таблицы могут создаваться теми же средствами языка Transact SQL, которыми создаются обычные пользовательские таблицы.
Использование переменных в программах Transact SQL: декларирование, присваивание значений, использование в DML операторах, область определения локальных переменных. Примеры использования переменных.
Переменные бывают двух типов: локальные и глобальные.
Локальные переменные. Имя локальной переменной имеет вид: @<идентификатор>, где @ - признак переменной. Перед использованием локальной переменной в скрипте или в процедуре ее необходимо определить с помощью оператора
DECLARE @<идентификатор> <тип данных для переменной> [, …]
Оператор DECLARE создает переменную в памяти и инициализирует ее значением NULL. Областью действия локальной переменной является процедура, функция или вся оставшаяся часть пачки операторов, переданная на исполнение серверу. Поэтому объявление и использование локальных переменных возможно только в одном пакете передаваемых серверу операторов.
Сохранение значений, вычисляемых оператором SELECT в локальных переменных
Результат выполнения оператора SELECT может быть не только возвращен приложению, направившему запрос, или сохранен в новой таблице, но и в отдельных случаях записан в переменные программы. В переменных сохраняется последнее значение, созданное в соответствующем элементе списка вывода при выполнении запроса. Для сохранения значения в переменной элемент списка вывода имеет вид:
@<имя локальной переменной> = <выражение>.
Например, операторы dычисляют и сохраняют в переменной @n количество строк в таблице authors. Последний оператор используется для вывода значения из переменной @n, поскольку присваивающий оператор SELECT не передает данные клиенту, пославшему запрос:
DECLARE @n int
SELECT @n = COUNT(*) FROM authors
SELECT @n (это выводит результат)
Последовательность операторов сохраняет в переменных, а затем выводит фамилию и имя автора из последней строки таблицы authors:
DECLARE @au_ln varchar(40),@au_fn varchar(20)
SELECT @au_ln = au_lname, @au_fn = au_fname FROM authors
SELECT @au_ln, @au_fn
Типы данных для переменных:
-Int char(<n>) – строка фикс.длины Float
Decimal varchar(<n>) – строка переменной длины
-DATETIME
SET DATEFORMAT <формат даты> SET DATEFORMAT dmy – день, месяц, год.
-MONEY – денежный, до 4 десятичных цифр -TABLE – значение – таблица.
Результат SELECT может быть сохранен в новой таблице базы или в переменной программы:
Select @<имя переменной>=<выражение>
DECLARE @p datetime
SELECT @p = max(ord_date) FROM dbo.titles INNER JOIN dbo.Sales ON dbo.titles.title_id = sales.title_id WHERE titles.title=’…’
SELECT titles.* ord_date FROM dbo.titles INNER JOIN dbo.Sales ON dbo.titles.title_id = sales. title_id WHERE ord_date>@p
Не знаю, что за запрос, но был в лекциях.
Использование табличной переменной.
DECLARE @Tab table (Fint, S varchar(70))
Insert @Tab select * FROM T1 Дважды добавляются строки из Т1
Insert @Tab select * FROM T1
SELECT * FROM @Tab вывод
Оператор SET SET @<имя переменной>=<выражение>, …
DECLARE @save_error int SET @save_error = @@Error
Вывод значений переменных
SELECT DECLARE @X int, @Y varchar(12) SELECT @X,@Y Выведет: NULL NULL
Print Print <выражение числовое, строковое> Print @save_error – выведет 0
DECLARE @X integer Print @X или Print @X+10 – выведет невидимый результат