Введение в программирование SQL Server. Создание и управление базой данных. Инструменты целостности данных, страница 8

В некоторых случаях разработчики WEB не хотят автоматического форматирования. Вы можете указать опцию RAW, для превращения каждой строки в результирующем наборе в XML элемент с общим идентификатором строки как тэг элемента.

Сравните результат следующего запроса с предыдущим. Этот пример возвращает такие же данные, но форматирование более общее. Обратите внимание, что таблицы не именованы и колонки не сгруппированы по имени таблицы:

SELECT Orders.OrderID, Shippers.CompanyName, Orders.CustomerID

FROM Orders JOIN Shippers

ON Orders.shipvia = Shippers.ShipperID

WHERE OrderID<10250

FOR XML RAW

Результат:

XML_F52E2B61-18A1-11d1-B105-00805F49916B                                                                                                                                                                                                                         

--------------------------------------------------------------------------<row OrderID="10248" CompanyName="Federal Shipping" CustomerID="VINET"/>

<row OrderID="10249" CompanyName="Speedy Express" CustomerID="TOMSP"/>

Оператор SELECT, который содержит выражение FOR XML, переформатирует выходные данные для клиента SQL Server. Поэтому эти изменения вы не можете использовать выходные данные запроса в формате XML в качестве входных данных для другого SQL Server процесса.

Вы не можете использовать форматированные данные XML в:

*  SELECT INTO

*  COMPUTE BY

*  Встроенные процедуры, вызванные из оператора INSERT

*  Просмотрщиках или функциях определённых пользователем, которые возвращают наборы строк.

2.5 Рекомендуемая практика

Следующие рекомендации помогут вам создавать хорошие Transact-SQL скрипты:

*  Помещайте бизнес логику на сервер в виде встроенных процедур

*  Используйте синтаксис ANSII SQL где это возможно, чтобы гарантировать что ваш скрипт может быть перенесён в другую систему.

*  Сохраняйте операторы как скрипты и комментируйте действия.

*  Форматируйте операторы Transact-SQL, чтобы они были логичными. Используйте поля для указания уровней отношений.


Создание и управление базой данных

3.1 Создание базы данных

В этой секции мы поговорим о том, как создавать базу данных, указывать опции базы данных и получать информацию о базе данных. Здесь также описано, как работает журнал транзакций.

Определение базы данных

Вы можете объявить базу данных с помощью SQL Server Enterprise Manager или оператора CREATE DATABASE в SQL Query Analyzer. Процесс объявления базы данных создаёт также журнал транзакций для базы данных.

Информация о каждой базе данных в SQL Server хранится в таблице sysdatabases базы данных master. Поэтому вы должны использовать базу данных master, когда вы используете Transact-SQL.

Объявление базы данных – это процесс указания имени базы данных и указания размера и расположения файлов базы данных. Когда создаётся новая база данных, она дублирует базу данных model. Любые опции и настройки в базе данных model копируются в новую базу данных.

Вы должны резервировать базу данных master каждый раз, когда создаёте, изменяете или удаляете базу данных.

Синтаксис:

CREATE DATABASE database_name

[ ON

[ < filespec > [ ,...n ] ]

[ , < filegroup > [ ,...n ] ]

]

[ LOG ON { < filespec > [ ,...n ] } ]

[ COLLATE collation_name ]

[ FOR LOAD | FOR ATTACH ]

< filespec > ::=

[ PRIMARY ]

( [ NAME = logical_file_name , ]

FILENAME = 'os_file_name'

[ , SIZE = size ]

[ , MAXSIZE = { max_size | UNLIMITED } ]

[ , FILEGROWTH = growth_increment ] ) [ ,...n ]

< filegroup > ::=

FILEGROUP filegroup_name < filespec > [ ,...n ]

Когда вы создаёте базу данных, вы можете указать следующие параметры:

*  PRIMARY. Этот параметр указывает файл в основной файловой группе. Эта файловая группа содержит все системные базы данных. Она также содержит все объекты, не назначенные другим файловым группам. Каждая база данных содержит один основной файл данных. Основной файл – это стартовая точка базы данных и указывает на место нахождения базы данных. Рекомендуемое файловое расширение для основного файла .mdf. Если вы не укажите этого параметра, первый файл списка описания будет использован как основной.