Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
53-59_БД.doc
Скачиваний:
3
Добавлен:
28.08.2019
Размер:
171.52 Кб
Скачать

58. Задания баз данных графическими и языковыми средствами ms sql Server.

Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с базами данных размером от персональных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.

Применение Enterprise Manager

При помощи SQL Server Enterprise Manager вы можете создавать более сложные базы данных, чем те, которые можно создать с помощью мастера Create Database Wizard. Вы можете задать разные настройки роста для каждого из создаваемых файлов, а не одинаковые для всех файлов. Вы также можете создавать пользовательские группы файлов. Для создания базы данных при помощи Enterprise Manager выполните последовательность шагов, которые будут перечислены ниже.

Откройте Enterprise Manager. В левой панели раскройте группу SQL Server, в которой находится имя сервера, на котором вы хотите создать базу данных, а затем раскройте узел самого этого сервера. Затем нажмите правой кнопкой мыши на папку Databases и выберите New Database.

Откроется окно свойств базы данных (Database Properties) с открытой вкладкой General (Общие). Введите с клавиатуры имя базы данных в поле Name.

Откройте вкладку Data Files. Как видите, Enterprise Manager автоматически создает первичный файл данных, а также журнал файл с именем вашей базы данных в качестве префикса и PRIMARY в качестве имени группы файлов. Вы можете изменить имя, местоположение и размер первичного файла, но вы не сможете изменить группу файла для первичного файла данных. Введите с клавиатуры имя файла (логическое имя), местоположение (физическое имя), размер и группу для каждого из создаваемых вами файлов. Для каждого файла данных, кроме первичного файла, вы можете задать имя пользовательской группы файлов, и, в соответствии с вашим желанием, эта группа файлов будет создана.

По умолчанию, каждый файл располагается на диске в папке, в которой инсталлирован SQL Server. Вы можете изменить эту настройку, задав другой путь с клавиатуры или при помощи экранной кнопки для его поиска ("...").

В области File Properties (Свойства файла) в нижней части окна вы можете задать настройки автоматического роста для отдельных файлов. Выделите имя файла, для которого вы хотите задать настройки роста. Чтобы разрешить автоматический рост этого файла, установите флажок Automatically grow file. Затем вы можете задать приращение файла, выраженное в мегабайтах или в процентах от свободного места, оставшегося в файле. Нажав на селективную кнопку Restrict file growth (Ограничить рост файла), вы также можете задать максимальный размер файла, указав предел роста, выраженный в мегабайтах, а можете и не ограничивать рост файла. Эти настройки можно задавать при создании каждого из файлов, а можете оставить настройки, применяемые по умолчанию, и задать их позднее при помощи окна Enterprise Manager Database Properties. Если вам понадобится удалить файл из списка, то выделите имя этого файла и нажмите на экранную кнопку Delete.

Завершив конфигурацию всех файлов данных, откройте вкладку Transaction Log и сконфигурируйте файлы журнала транзакций. Файлы журнала конфигурируются точно так же, как и файлы данных, за исключением того, что вы не сможете задать для них группу файлов, потому что они не принадлежат ни одной из групп файлов. Задайте с клавиатуры имя файла (логическое имя), местоположение (физическое имя) и начальный размер для одного или нескольких файлов журнала. Кроме того, задайте настройки автоматического роста файлов журнала, так же как это было описано в п.4 для файлов данных.

После того как вы настроите все файлы так, как вам это нужно, нажмите на OK, и SQL Server описывает базу данных. Вернитесь в Enterprise Manager и нажмите на папку Databases сервера, в который вы только что добавили новую базу данных. Вы увидите в правой панели Enterprise Manager, что SQL Server добавил значок-иконку для этой базы данных. Журнальные файлы (в них находятся все запросы) – в случае сбоя м.б. откатиться назад.

Приминение операторов T-SQL

Возможно, вы пожелаете создавать или изменять свои базы данных при помощи операторов T-SQL, не пользуясь графическим пользовательским интерфейсом (GUI). Вы можете создавать свои собственные сценарии, которые пригодятся при создании баз данных. Допустим, вы создали базу данных, а потом обнаружили, что задали неверное местоположение какого-либо файла. Можно уничтожить эту базу данных и начать все снова. Если для создания базы данных вы применяете сценарий T-SQL, то вы сможете быстро его поправить и запустить снова, а не задавать повторно все данные в графическом пользовательском интерфейсе. Если вам надо создать такую же базу данных на другом компьютере (например, на "горячем" резервном компьютере), то вы можете запустить на нем тот же самый сценарий.

Рассмотрим операторы T-SQL для создания баз данных. Эти команды можно набрать с клавиатуры в файл и создать сценарий.

Простая база данных

В данном примере мы создадим базу данных с именем MyDB, содержащую: первичный файл данных (MyDB_root); один вторичный файл данных (MyDB_data1), который по умолчанию останется в первичной группе файлов и один файл журнала транзакций (Log_data1). Ниже показаны операторы SQL, которые создадут базу данных MyDB:

CREATE DATABASE MyDB

ON

(NAME = MyDBroot, --Первичный файл данных

FILENAME = 'c:\mssql2k\MSSQL\data\mydbroot.mdf', //физ. Имя файла с указанием пути

SIZE = 8MB,

MAXSIZE = 9MB,

FILEGROWTH = 100KB),

(NAME = MyDBdata1, --Вторичный файл данных

FILENAME = 'c:\mssql2k\MSSQL\data\mydbdata1.ndf', // доп. файл

SIZE = 1000MB, // размер

MAXSIZE = 1500MB, // если не указать, то может занять все свободное пространство

FILEGROWTH = 100MB)

LOG ON

(NAME = Logdata1, --Файл журнала

FILENAME = 'e:\log_files\logdata1.ldf', // файл-журнал, помещен на др. диске

SIZE = 1000MB,

MAXSIZE = 1500MB,

FILEGROWTH = 100MB)

Обратите внимание, что в приведенном выше примере первичный и вторичный файлы данных оба расположены на диске C, а файл журнала расположен на диске E. Мы уже говорили, что файлы данных и файлы журналов нужно всегда размещать на физически разных устройствах, чтобы повысить производительность ввода-вывода при доступе к дискам. Кроме того, обратите внимание, что были использованы рекомендуемые расширения имен файлов – .mdf, .ndf, и .ldf. Настройки SIZE (Размер), MAXSIZE (Максимальный размер) и FILEGROWTH (Рост файла) могут быть заданы в Кб либо в Мб (по умолчанию применяются Мб). Этот пример базы данных относится к системе с несколькими дисковыми накопителями или с несколькими массивами дисков в RAID-системе. Мы будем употреблять термин "диск", когда будем говорить и об отдельных дисковых накопителях, и о массивах дисковых накопителей, работающих как том RAID. Будут созданы несколько файлов, каждый на своем отдельном диске. Каждый файл помещается в одну из двух групп файлов. Наша база данных получит имя Sales и будет содержать следующие файлы: 1)три вторичных файла данных customer_data1.ndf, customer_data2.ndf и customer_data3.ndf, в группе файлов customers_group; 2)два вторичных файла данных product_data1.ndf и product_data2.ndf, в группе файлов products_group; 3)один файл журнала транзакций, log_data1.ldf.

CREATE Table document (Ncl tinding, client char(15), sum decimal(6,3)? Data Small datetime )

CONSTRAIN

PR_Docum. Ncl

PRIMARYKEY(Ncl))

INSERT INTO Document

(Ncl, Client…)

Values(…)

Файл журнала тоже располагается на отдельном диске, на котором не располагаются никакие файлы данных, благодаря чему становится возможной запись файла журнала с последовательным вводом-выводом (перемещением записывающих головок дискового накопителя только на соседние дорожки). Если вы не хотите, чтобы SQL Server производил автоматический рост файла, то задайте FILEGROWTH=0, тогда файлу будет разрешено заполнять только первоначально отведенное для него пространство. Эту настройку можно задать, когда происходит работа со статическими таблицами, т.е. с таблицами, которые не растут. В этом случае в операторе не требуется задавать MAXSIZE, максимальный размер файла будет совпадать с начальной настройкой SIZE.

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