Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
база данных.docx
Скачиваний:
167
Добавлен:
24.03.2015
Размер:
5.83 Mб
Скачать

13.2. Язык запросов Transact-sql

Для создания и работы с базами данных в SQL Server используется диа­лект языкаSQL, именуемыйTransact-SQL. По сравнению с первоначаль­ным языкомSQL, вTransact-SQL введены дополнительные ключевые сло­ва, используемые при выборке, сохранении и выполнении операций над данными.

Основные операторы INSERT, DELETE, UPDATE и SELECT и другие опера­торы имеют общий синтаксис языкаSQL для выполнения операций над дан­ными. Дополнительные возможностиTransact-SQL в основном связаны с управлением потоками информации и позволяют определять порядок выпол­нения операторов.

Операторы Transact-SQL можно задавать с помощью утилитыISQL (Interactive Structured Query Language — интерактивный язык структуриро­ванных запросов), работающей под управлениемMS DOS. ВерсияISQL дляWindows называется анализатопом запросов(Query Analyzer).

В сеансе MS DOS утилиту ISQL можно вызвать с помощью одноименной команды. В командной строке запускаISQL можно использовать параметры. Например, можно ввести имя пользователя и пароль:

ISQL /Usa /Р^пароль>/S<4:episep>

1>

Приглашения командной строки последовательно нумеруются автомати чески до тех пор, пока не будет задана команда GO. являющаяся признаком завершения ввода команд и начала их выполнения.

Утилита Query Analyzer позволяет работать с операторамиTiansact-SQL под управлениемWindows. При этом командыTiansact-SQL вводятся в от­дельном подокне запроса главного окна утилитыQuery Analyzer. С помощью этой утилиты можно удобно копировать, вырезать, вставлять, редактировать, сохранять и печатать ранее созданные запросы.

После запуска Query Analyzer требуется подключиться к базе данныхSQL Server с указанием имени пользователя, пароля (при необходимости) и ис­пользуемого сервера. ОператорыTransact-SQL вводятся в подокнеQuery (Запрос). Результаты выполнения запроса отображаются на вкладкеResults (Результаты) в нижней части диалогового окна программы.

13.3. Системные базы данных и таблицы

База данныхвSQL S3erver представляет собой логический объект, в ко­тором размещаются таблицы и индексы. Физически база данных содержится в одном или нескольких файлах операционной системы. В предыдущих вер­сияхSQL Server для размещения БД создавалось так называемое устройство, представлявшее логическое имя физического файла ОС

Таблица(table) представляет собой набор полей и записей. Различают таб лицы двух типов: постоянныеи времетше.Постоянные таблицы существу­ют до тех пор, пока их не удалят. Временные таблицы подразделяют на ло­кальные и глобальные. Локальныевременные таблицы существуют в текущем сеансе и затем уничтожаются Глобальныевременные таблицы существуют до завершения всех использующих их сеансов.

Журнал транзакцийпредставляет собой рабочую область, в которуюSQL Server записывает информацию до и после выполнения транзакций. Эта ин­формация может использоваться для отмены выполненной транзакции или для восстановления БД. Журнал транзакций размещается в отдельном фай­ле, создаваемом автоматически при создании базы данных.

Одной из важнейших возможностей SQL Server 2000 является высокая степень адаптации и огромные возможности настройки системы при измене­нии ее текущих параметров и условий функционирования Так, при добавленииданных файлы базы данных и журнала транзакций расширяются автомати­чески. Первоначальный и максимальный размеры файлов, а также размер шага приращения указываются при создании базы данных.

Для хранения баз данных используются следующие три типа фаилов:

  • основной (Primary) файл создается один и содержит информацию, тре­буемую для инициализации. По умолчанию файл имеет расширение mdf;

  • вспомогательные (Secondary) файлы содержат данные, не умещающие­ся в основном файле; использование их не обязательно, но позволяет расположить БД на нескольких носителях. По умолчанию файлы име­ет расширение ndf;

  • файлы журналов транзакций хранят информацию для восстановления БД. По умолчанию файл имеет расширение ldf.

Кроме того, могут создаваться дополнительные группы файлов для разме­щения пользовательских данных.

Для хранения данных используются таблицы, размещаемые в базах дан­ных. В Microsoft SQL Server базы данных делят на два типа — системные и пользовательские. В системных базах данных размещаются метаданные, ис­пользуемые для управления системой. При инсталляции М1 rosoft SQL Server создаются следующие системные базы данных: master, model, tempdb и msdb.

Системная база данных master обеспечивает управление пользователь­скими базами данных и работу Microsoft SQL Serv г. В ней содержатся сле­дующие данные:

  • учетные записи пользователей;

  • сведения о текущих процессах;

  • сообщения о системных ошибках.

  • сведения о базах данных на сервере,

  • выделенные размеры баз данных;

  • сведения об активных блокировках;

  • сведения о доступных и резервных устройствах баз данных;

  • процедуры системного администрирования.

Ввиду важности этой базы данных рекомендуется иметь ее архив, отража­ющий самое последнее состояние.

Системная база данных model представляет собой шаблон для баз данных, создаваемых на текущем сервере. Она содержит системные таблицы, необхо­димые каждой пользовательской базе данных. В базу данных model помеща­ют объекты, которые должны присутствовать в создаваемых базах данных. Обычно такими объектами являются следующие:

  • типы данных, определяемые пользователями;

  • правила проверки ввода;

  • значения по умолчанию;

  • хранимые процедуры;

  • информация о пользователях, которым разрешается доступ к базам дан - ных;

  • разрешения, записываемые по умолчанию в учетные записи гостей.

Системная база данных tempdb служит для размещения на диске различ­ных временных объектов: таблиц, промежуточных результатов предложений группирования и упорядочения, курсоров и др.

Содержимое базы данных tempdb, крс ме глобальных временных таблиц, удаляется при разрыве пользователем соединения сSQL Server. При завер­шении работы сSQL Server из этой базы удаляются все данные. В базе дан­ных tempdb размещаются временные таблицы всех БД, с которыми ведется работа.

Системная база данных msdb используется для обеспечения работы служ­быSQLServerAgent. В ней хранится информация, относящаяся к автомати­зации администрирования и управленияSQL Server 2000, информация об операторах и событиях, а также информация о расписании автоматического запуска заданий.

Кроме системных таблиц, образующих каталог баз данных (database catalog), в базе данных msdb содержатся следующие системные таблицы:sysaletts, sysoperators, sysnotifications, sysjobhistory, sysjobs и другие. Эти табли­цы соответственно содержат информацию: об определенных пользователем событиях; об операторах и извещениях; о выполнении каждого из шагов за­дания (истории); всех заданиях, сконфигурированных на сервере и т.д.

Каталог баз данных(database catalog) представляет собой совокупность около 20 системных таблиц, которые имеются в каждой базе данных. Имена всех системных таблиц начинаются с приставкиsys, например: sysalternates, syscolumns, syscomments. В них хранится информация о пользователях, триг­герах и хранимых процедурах, таблицах, индексах в таблицах, правах досту­па пользователей, типах данных, ограничениях, публикациях, репликациях и другая. Наименования системных таблиц мнемонически указывают на ха­рактер хранимой информации. Например, в системной таблице sysindexes со­держатся данные об индексах, таблицах без индексов.

Системный каталог,или словарь данных, представляет собой некоторую совокупность системных таблиц, размещенных в базе данных master. В со­став системного каталога входят следующие системные таблицы:syscharsets, sysconfigures, syscurconfigs, sysdatabases, sysdevices, syslanguages, syslocks, syslockinfo, sysxlogins, sysmessages, sysprocesses, sysservers и другие.

Заметим, что информация о том, какие объекты находятся в базе данных, размещается в системной таблице sysob г сЩимеющейся в каждой базе дан­ных.