Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры БД.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
592.64 Кб
Скачать
  1. Структурные операторы Transact sql: if, go to, while, waitfor. Примеры применения.

Составной оператор:

BEGIN

<Оператор T-SQL>

END

Оператор передачи управления

GO TO <метка>

<метка>:< Оператор T-SQL >

Условный оператор:

IF<исчисляемое выражение>

< Оператор T-SQL>

ELSE

< Оператор T-SQL>

Анализ результата запроса: IF [NOT] EXISTS (SELECT * FROM …)

Оператор цикла:

WHILE <логическое выражение>

< Оператор T-SQL>

CONTINUE

BREAK

Оператор ожидания WAITFOR

-время задержки следующего оператора

- момент времени продолжения исполнения оператора

WAITFOR DELAY/TIME

BEGIN

WAITFOR TIME ’22:20’

……………….

END

  1. Обработка исключений в программах Transact sql. Функции для анализа причины исключений и вывода сообщений.

Cообщения сервера:

RAISERROR(<номер/текст сообщения>,<уровень серьезности>,<состояние>)

Sysmessages – таблица в БД MASTER хранит все сообщения сервера (пользоват.сообщения >500)

Обработка исключений

BEGIN TRY

………….

END TRY

BEGIN CATCH

………..

END CATCH

Use pubs

BEGIN TRY

INSERT authors VALUES’( )

PRINT ‘Правильно!’

END TRY

BEGIN CATCH

PRINT ‘Обнаружен дубликат первичного ключа’

END CATCH

Анализ исключения

  1. Проверка кода ошибки @@ERROR

…………….. – блок TRY

BEGIN CATCH

IF @@ERROR = 2627 – код дубликата РК

OR INT

ELSE

PRINT

END CATCH

  1. Использование специальных функций:

Error_number(), Error_message(), Error_severity(), Error_state(), Error_line(), Error_procedure()

  1. Замена исключения функцией

RAISERROR( )

Команда GO разбивает набор операторов скрипта на отдельные независимо исполняемые пачки

DECLARE @p float

SELECT @p = max (price) FROM titles

GO

Print @p – неизвестная переменная @p

  1. Логическая организация базы данных в ms sql Server: словарь (системные таблицы и системные представления) базы master и пользовательской бд. Типы объектов пользовательской базы.

Словарь БД – набор системных таблиц:

Sysobjects – перечень и свойства пользоват.объектов БД

Syscolumns – писание столбцов всех таблиц базы

Sysusers – список пользователей в БД

Sysfiles – список файлов для БД.

Системные представления:

  1. В базе MASTER схема SYS содержит представления для объектов сервера:

sys.databases – сведения по всем БД

sys.users

sys.messages

…………

  1. В пользовательской базе из схемы SYS:

sys.objects

sys.tables

sys.columns

Объекты пользовательской БД:

  • Пользовательские типы данных, правила и умолчания

  • Таблицы данных

  • Представления

  • Процедуры

  • Функции

  • Пользователи и их роли

  1. Физическая организация базы данных в ms sql Server: файлы и файловые группы. Структура и параметры оператора create database.

Физическая организация определяет способы размещения данных и служебной информации на машинных носителях.

Файлы БД:

- файлы области данных(для словаря и объектов) <имя>.mdf <имя>.ndf

- файлы журнала транзакций <имя>.ldf

Области памяти:

Первичный (<имя>.mdf ) и вторичные (<имя>.ndf)

Файловые группы: первичные и вторичные

Параметры файлов: логические и физические имена, размеры файлов.

CREATE DATABASE:

Параметры:

LOG ON

COLLATE имя сопоставления текстовых полей

FOR LOAD для предыдущих версий

FOR ATTACH – создание с присоединением к уже существующим файлам

  1. Сопоставления текстовых данных в MS SQL Server: назначение, структура имени, способы задания сопоставлений для БД. Согласование сопоставлений в запросах. Примеры задания и использования сопоставлений.

Сопоставление (=,<,>,…)

-имен объектов БД

Au_FNAME и au_fname

-текстовые значения

au_fname<’jonson’

-сортировки по текстовым полям

По умолчанию сопоставление наследуется выбранное для скл сервер.

Список сопоставлений – функция ::fn_helpcollations()

SELECT * from = fn_ helpcollations WHERE Name LIKE ‘Cyrillic%’

Структура названия сопоставления: <алфавит>_Csi_Asi_Wsi

Cyrillic_General_Cl_AS

Csi – к регистру

Asi – к акценту

Wsi – длина кодов символов

Сравнение данных с различными правилами сопоставления:

Select * From p1 where p1=r1 collate Cyrillic_General_CS_AS

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]