Автор работы: Пользователь скрыл имя, 19 Мая 2013 в 07:10, шпаргалка
Базы данных и файловые системы
СУБД определение, функции
СУБД определение, классификация
БД основные определения, классификация
Объекты базы данных
Физическая структура БД в SQL Server
Структурная часть реляционной модели
Фундаментальные свойства отношений
Реляционная алгебра Кодда
Целостность реляционных данных, стратегии поддержания ссылочной целостности
Этапы разработки баз данных
Нормальные формы отношений
Модель сущность-связь.
Помимо этого представление можно применять для просмотра одних и тех же данных разными пользователями и в различных вариантах.
С помощью представлений пользователь имеет возможность ограничить объем данных для удобства работы.
Наконец, механизм представлений позволяет скрыть служебные данные, не интересные пользователям.
Независимость от данных
С помощью представлений можно создать согласованную, неизменную картину структуры базы данных, которая будет оставаться стабильной даже в случае изменения формата исходных таблиц.
Актуальность
Изменения данных в любой из таблиц базы данных, указанных в определяющем запросе, немедленно отображается на содержимом представления.
Повышение защищенности данных
Права доступа
к данным могут быть предоставлены
исключительно через
Дополнительные удобства
Создание представлений может обеспечивать пользователей дополнительными удобствами - например, возможностью работы только с действительно нужной частью данных. В результате можно добиться максимального упрощения той модели данных, которая понадобится каждому конечному пользователю.
Возможность настройки
Представления являются удобным средством настройки индивидуального образа базы данных. В результате одни и те же таблицы могут быть предъявлены пользователям в совершенно разном виде.
Обеспечение целостности данных
Если в операторе CREATE VIEW будет указана фраза WITH CHECK OPTION, то СУБД станет осуществлять контроль за тем, чтобы в исходные таблицы базы данных не была введена ни одна из строк, не удовлетворяющих предложению WHERE в определяющем запросе. Этот механизм гарантирует целостность данных в представлении.
Ограниченные возможности обновления
В некоторых
случаях представления не позволяют
вносить изменения в
Структурные ограничения
Структура представления устанавливается в момент его создания. Если впоследствии в исходную таблицу базы данных добавятся новые столбцы, то они не появятся в данном представлении до тех пор, пока это представление не будет удалено и вновь создано.
Снижение производительности
Использование
представлений связано с
24) Сценарии
Сценарий – набор операторов SQL, сохраненный в файле.
В общем случае сценарий пишется для решения от начала до конца какой-то определенной задачи.
Сценарий рассматривается как единое целое и выполняется целиком. В сценарии могут присутствовать системные функции, локальные переменные, операторы языка.
Объявление переменных
DECLARE @<имя_переменной> <тип_переменной> [,…]
После объявления переменной её значение будет равно null до тех пор, пока её не будет присвоенозначение.
Для присвоения значений используются операторы SET и SELECT.
SET используется в случае, если переменной присваивается известное на момент операции значение или же одной переменной присваевается значение другой.
Select – когда переменной необходимо присвоить результат выполнения запроса. Print выводить текстовую информацию.
Системные функции
Оператор select @<имя_переменной> позволяет вывести значение переменной.
Системные функции.
Существует около 30 сист. Ф. без параметров
@@identity – возвращает последнее identity-значение, которое было вставлено в результате последнего оператора вставки. Оператор изменяется сразу же после очередного insert оператора, если этот оператор применяется к таблице, в которой нет identity столбца, тогда его значение null.
@@error –возвращает номер ошибки последнего оператора SQL, выполненного в текущем подключении. При отсутствии ошибки возвращает 0.
@@rowcount – возвращает число строк, полученных в результате выполнения последнего оператора. Присваивается новое значение каждый раз, когда выполняется очередной оператор.
Пакеты
Пакет(batch) – это несколько, объединенных в одну логическую группу операторов t-sql. Все операторы в рамках пакета комбинируются в единый план исполнения т.о., что пока все операторы не будут успешно проанализированны синтаксическим образом, ни один из операторов пакета не будет исполняться. Однако, это не гарантирует того, что ошибки не возникнут во время выполнения программы. В случае возникновения ошибки, все операторы, выполненные до ошибки, останутся выполненными.
Для разделения сценария на отдельные пакеты используется оператор GO.(должен находиться на отдельной строке, не является командой t-sql, его распознают только утилиты с командным интерфейсом SQL server). Каждый пакет обрабатывается отдельно, поэтому ошибка в одном пакете, не мешает выполнению другого пакета.
Пакеты используются:
Для задания предшествования
Операторы, требующие создания отдельного пакета
Create default, procedure, rule, trigger, view
Управляющие конструкции SQL
Язык SQL является непроцедурным, но тем не менее в среде SQL Server предусмотрен ряд различных управляющих конструкций, без которых невозможно написание эффективных алгоритмов.
Группировка двух и более команд в единый блок осуществляется с использованием ключевых слов BEGIN и END:
<блок_операторов>::=BEGIN { sql_оператор | блок_операторов }END Сгруппированные команды воспринимаются интерпретатором SQL как одна команда. Подобная группировка требуется для конструкций поливариантных ветвлений, условных и циклических конструкций. Блоки BEGIN...END могут быть вложенными.
Некоторые команды SQL не должны выполняться вместе с другими командами (речь идет о командах резервного копирования, изменения структуры таблиц, хранимых процедур и им подобных), поэтому их совместное включение в конструкцию BEGIN...END не допускается.
Нередко определенная часть программы должна выполняться только при реализации некоторого логического условия. Синтаксис условного оператора показан ниже:
<условный_оператор>::=IF лог_выражение { sql_оператор | блок_операторов } [ ELSE {sql_оператор | блок_операторов } ]
Циклы организуются
с помощью следующей
<оператор_цикла>::=WHILE лог_выражение { sql_оператор | блок_операторов } [ BREAK ] { sql_оператор | блок_операторов } [ CONTINUE ] Цикл можно принудительно остановить, если в его теле выполнить команду BREAK. Если же нужно начать цикл заново, не дожидаясь выполнения всех команд в теле, необходимо выполнить команду CONTINUE.
Для замены множества
одиночных или вложенных
<оператор_поливариантных_
Динамический sql
Sql server предоставляет возможность формировать sql-операторы на лету, манипулируя кодом в строке. Это используется тогда, когда мы не знаем каких-либо деталей до момента запуска запроса.
Exec[ute] ({<строчная_переменная>|<
Declare @TableName varchar(50)
Set @tablename=‘Customers’
Exec(‘Select * from’+@tablename)