WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

Pages:   || 2 | 3 |

«РАЗРАБОТКА И СОПРОВОЖДЕНИЕ БАЗ ДАННЫХ В СРЕДЕ СУБД MS SQL SERVER 2000 Учебное пособие Пенза 2004 УДК 681.3 Microsoft SQL Server 2000 – это полномасштабная реляционная система управления ...»

-- [ Страница 1 ] --

Министерство образования Российской Федерации

Пензенский государственный университет

РАЗРАБОТКА И СОПРОВОЖДЕНИЕ БАЗ ДАННЫХ В СРЕДЕ СУБД MS SQL

SERVER 2000

Учебное пособие

Пенза 2004

УДК 681.3

Microsoft SQL Server 2000 – это полномасштабная реляционная система

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

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

Изложенный материал апробировался на кафедре «Математическое обеспечение и применение ЭВМ» Пензенского государственного университета для студентов специальности 230105 в курсах лекций и при проведении лабораторных и курсовых работ по дисциплинам «Системы управления базами данных», «Базы данных», «Современные технологии разработки программного обеспечения».

Учебное пособие подготовлено на кафедре «Математическое обеспечение и применение ЭВМ» Пензенского государственного университета и предназначены для студентов специальности 230105 и других специальностей при изучении курсов «Базы данных», «Системы управления базами данных», «Современные технологии разработки программного обеспечения», «Разработка информационных систем».

Ил. 14, табл. 5, библиогр. 10 назв.

Составители: доцент А.В. Сивохин, к.т.н. доцент С.В. Шибанов, к.т.н. доцент С.В.

Самуйлов Рецензенты: Научно-технический совет Федерального государственного унитарного предприятия «НПП Рубин».

к. т. н., доцент кафедры "Прикладная математика и информатика" Пензенского государственного педагогического университета им. В. Г. Белинского Дрождин В.В.

ВВЕДЕНИЕ

Система управления базами данных SQL Server 2000 предоставляет пользователям широкие возможности по разработке и сопровождению баз данных.

Для этого в составе системы имеется набор графических средств (Enterprise Manager, Query Analyzer), языковых средств (язык Transact-SQL), набор хранимых процедур.

Основными задачами в процессе разработки и сопровождения баз данных в среде SQL Server 2000 являются создание, модификация и удаление баз данных, таблиц, а также объектов баз данных, таких как индексы, представления, запросы, хранимые процедуры и триггеры. В пособии рассматриваются физическая и логическая организация баз данных в SQL Server 2000, структурный язык запросов Transact-SQL, шаблоны команд и примеры запросов.

В первой главе («Архитектура баз данных SQL Server 2000») рассматриваются физическая и логическая организация баз данных, сотав и назначение системных баз данных сервера.

Во второй главе («Создание и сопровождение баз данных средствами Enterprise Manager») рассматривается создание, сопровождение, удаление и перенос базы данных на другие сервера. В качестве инструментария используется графическая утилита Enterprise Manager.

В третьей главе («Создание и сопровождение таблиц баз данных средствами Enterprise Manager») рассматриваются основные принципы проектирования таблиц, создание, изменение структуры и удаление таблицы, построение диаграмм базы данных. В качестве инструментария также используется графическая утилита Enterprise Manager.

В четвертой главе («Создание и управление индексами средствами Enterprise Manager») дается определение и назначение индекса, рассматриваются типы индексов в SQL Server 2000, определяется набор операций с индексами и способы их выполнения в Enterprise Manager.

Пятая глава («Создание представлений средствами Enterprise Manager») посвящена принципам разработки и последующего применения представлений для доступа пользователей к информации из базы данных.

Шестая глава («Основы программирования на языке Transact-SQL») является самой объемной в учебном пособии. Она включает в себя основы структурированного языка запросов Transact-SQL, способы выполнения основных действий по созданию и сопровождению баз данных и входящих в них объектов средствами языка Transact-SQL. В данной главе приводятся шаблоны и примеры применения соответствующих команд. Более полный набор примеров по командам языка Transact-SQL приведен в Приложении 1.

В учебное пособие включен лабораторный практикум, посвященный разработке и сопровождению баз данных в среде SQL Server 2000. Авторами не ставилась цель подробно рассмотреть процесс проектирования баз данных, поэтому набор заданий, приведенный в Приложении 2, включает уже готовые к реализации проекты баз данных. Однако авторами оставляется поле для творчества обучаемых, в частности студентам предлагается самостоятельно назначить права доступа к объектам баз данных для основных классов пользователей. Описание предметных областей заимствовано в [9], поэтому хотелось бы отметить полезность данной книги и выразить сердечную благодарность авторам.

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

1. АРХИТЕКТУРА БАЗ ДАННЫХ MS SQL SERVER Структурой хранения данных в SQL Server 2000 является база данных (database). Вся работа SQL Server 2000 сводится к управлению базами данных (БД).

Системные данные сервера, отвечающие за его функционирование, также хранятся в базах данных. Базу данных SQL Server 2000 можно рассматривать с двух сторон:

физической и логической. При работе с любой базой данных SQL Server 2000 – пользовательской или системной – действуют одни и те же механизмы.

Физическая база данных представляет собой набор файлов, расположенных на диске. С этими файлами можно выполнять любые операции, разрешенные для обычных файлов: копирование, переименование, удаление и т. д. Конечно, делать этого не стоит, но все же выполнение перечисленных операций в случае необходимости возможно. Физическая структура базы данных описывает количество файлов данных и журнала транзакций, из которых состоит база данных, их первоначальный и текущий размер, положение на диске, имя, расширение, шаг приращения и некоторые другие параметры. Эти параметры необходимы только для правильного восприятия SQL Server 2000 базы данных. Для пользователей, работающих с базой данных, в подавляющем большинстве случаев ее физическая структура не имеет значения.

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

1.1. ФИЗИЧЕСКАЯ АРХИТЕКТУРА БАЗЫ ДАННЫХ

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

Для хранения базы данных предназначен набор файлов, персональный для любой базы данных. Каждый файл может принадлежать только одной базе данных.

В SQL Server 2000 существует два типа файлов базы данных:

• файлы данных;

• файлы журнала транзакций.

Файлы данных (data file) предназначены для хранения информации, находящейся в таблицах базы данных. Кроме того, в этих файлах также размещены процедуры, ограничения, триггеры, индексы и другая информация;

В файлы журнала транзакций (transaction log file) SQL Server записывает информацию о ходе выполнения транзакций. В них размешается информация о состоянии данных перед началом транзакции, о выполняемых изменениях, блокированных ресурсах и другая сопутствующая информация.

Любая база данных должна содержать как минимум один файл данных и один файл журнала транзакций, т.е. минимальное количество файлов, составляющих базу данных, равно 2. При необходимости администратор может добавлять новые файлы данных или файлы журнала транзакций.

Файлы данных бывают двух типов:

• Primary File (основной, или главный, файл);

• Secondary File (вторичный, или дополнительный, файл).

Каждая база данных имеет один и только один основной или главный файл (Primary File). Если база данных включает в себя только один файл данных, то этот файл будет основным. Основной файл предназначен для хранения всех системных таблиц, присутствующих в любой базе данных. В основном файле хранится информация о структуре базы данных, созданных в ней объектах, параметрах дополнительных файлов и файлов журнала транзакций. По умолчанию основному файлу базы данных присваивается расширение mdf (Master Data File).

В отличие от основного файла база данных может содержать множество вторичных или дополнительных файлов (Secondary File) или не содержать их вовсе. В дополнительных файлах может храниться только пользовательская информация. Хранение любой системной информации не допускается. В ходе эксплуатации базы данных администратор может добавлять новые или удалять уже существующие дополнительные файлы.

Файлы журнала транзакций бывают только одного типа – Transaction Log File, служащего для хранения журнала транзакций. В базе данных должен быть как минимум один файл журнала транзакций. Для ускорения обработки транзакций можно использовать несколько журналов транзакций, расположенных на разных физических дисках.

Для каждого файла базы данных можно задать свойство автоматического роста и шаг прироста в мегабайтах или в процентах от первоначального роста, а также максимальный размер, до которого возможен рост файла.

Каждый файл, используемый в базе данных, имеет два имени:

• Logical File Name – логическое имя файла, которое используется в командах Transact-SQL при ссылке на конкретный файл;

• OS File Name – имя файла в операционной системе, которое используется для обращения к файлу в операционной системе.

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

• Primary File Group – основная группа файлов, которая включает первичный файл и все файлы, не включенные в другие группы, база данных может иметь только одну основную группу файлов;

• User-defined File Group – пользовательская группа файлов, создаваемая командой CREATE DATEBASE или командой ALTER DATABASE, если в них используется параметр FILEGROUP, в базе данных можно создать несколько пользовательских групп файлов с произвольным • Default File Group – группа файлов по умолчанию, в качестве которой назначается одна из групп файлов, созданных в базе данных. Только одна группа файлов может быть группой по умолчанию. Если не указано явно, группой по умолчанию становится основная группа. Если при создании объекта базы данных не указано явно, к какой группе файлов он будет принадлежать, то этот объект создается в группе файлов по Когда какие-то данные записываются в группу файлов, они распределяются между файлами этой группы равномерно, т.е. производится распараллеливание записи данных. Для этих целей можно использовать и возможности файловой системы NTFS: чередующийся набор дисков с контролем четности и без него.

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

1.1.2. Страничная организация файлов данных Основная единица хранения данных на уровне файла базы данных – это страница, которая участвует в операциях ввода-вывода как единое целое даже тогда, когда требуется всего одна строка. Каждая страница файла базы данных имеет объем 8192 байт. Страницы объединяются в экстенты. Экстент состоит из страниц (64 Кбайт).

Первые 96 байт страницы отводятся под заголовок, в котором хранится системная информация:

• тип страницы;

• объем свободного места на странице;

• идентификационный номер таблицы или индекса – владельца страниц:

Имеется шесть типов страниц:

• Data - в страницах этого типа хранятся собственно данные, исключая данные типа text, ntext и image;

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

• Text/Image - в страницах этого типа хранятся данные типа text, ntext и • Global Allocation Map (GAM) - в страницах данного типа хранится информация об использовании экстентов (групп страниц);

• Page Free Space - в страницах этого типа хранится информация о свободном пространстве на страницах;

• Index Allocation Map (IAM) - страницы этого типа хранят информацию об экстентах, используемых таблицами или индексами.

В страницах типа Data строки записываются последовательно сразу после заголовка страницы, а их смещения записываются в обратном порядке в конце страницы.

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

На нулевой странице располагается заголовок страницы, в которых хранятся атрибуты файла. Следующая страница содержит PFC, в которой хранится информация об использовании страниц экстента. Затем располагаются битовые поля GAM и дополнительной таблицы SGAM (Shared GAM). Остальные страницы заняты данными или являются свободными. Страницы IAM могут быть созданы в любом месте файла. Для многофайловой базы данных экстенты выделяются на всех файлах в равных пропорциях. Все это обеспечивает высокую скорость создания, поиска и удаления строк данных.

Файл журнала транзакций не имеет страниц и экстентов. Он содержит только последовательность записей транзакций, выполняемых в базе данных.

1.2. ЛОГИЧЕСКАЯ АРХИТЕКТУРА БАЗЫ ДАННЫХ

Если на физическом уровне рассматриваются структуры, используемые для хранения различной информации, то на логическом уровне необходимо рассматривать объекты, которые можно создавать в базе данных, а также различные свойства, которые влияют на работу сервера с базой данных. Под объектами здесь понимается не только собственно объект, каким является таблица, представление, хранимая процедура, но также и пользователи, роли, полнотекстовые каталоги. К логическому уровню относятся и права доступа пользователей и ролей базы данных к созданным в ней объектам. В список объектов базы данных, которые служат для хранения и обработки информации, входят:

• таблицы (tables) - единственный объект базы данных, предназначенный для хранения пользовательских данных;

• представления (views) - виртуальные таблицы (virtual tables), которые отображают данные, хранящиеся в других таблицах, и для пользователя во многом напоминают таблицы;

• индексы (indexes) - не могут существовать сами по себе и предназначены для повышения производительности работы сервера при поиске нужных данных в таблицах и представлениях, что достигается путем хранения в упорядоченном состоянии данных одного или более столбцов таблицы или представления;

• ключи (keys) - один из типов ограничения целостности, реализуются так же, как и другие ограничения целостности, которые связываются с таблицами, рассматриваются как отдельные объекты;

• умолчания (defaults) - описывают значения, которые присваиваются столбцам таблицы, если при добавлении строки явно не было указано значение для соответствующего столбца;

• правила (rules) - логические условия, ограничивающие диапазон пользователем типа данных;

• ограничения целостности (constraints) - специальные управляющие конструкции, связанными с таблицами и ограничивающие диапазон возможных значений в столбце таблицы.

• хранимые процедуры (stored procedures) – поименованные наборы команд на языке Transact-SQL, сохраненные специальным образом и вызываемые на выполнение пользователями;

• триггеры (triggers) - специальный тип хранимых процедур, связываемых с таблицами и автоматически запускаемых сервером при выполнении удаления, вставки или изменения данных в конкретной таблице;

• определяемые пользователем типы данных (user-defined data types, UDDT) - типы данных, создаваемые пользователями;

• определяемые пользователем функции (user-defined function) - набор команд Transact-SQL, сохраненных пользователем в виде функции.

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

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

Не следует напрямую работать с системными таблицами с помощью команд SQL Insert, Update и Delete. Для изменения данных в системных таблицах в SQL Server 2000 имеется набор системных хранимых процедур, с помощью которых можно выполнить практически любые действия по администрированию сервера.

Фирма Microsoft настоятельно рекомендует использовать эти хранимые процедуры, а не изменять данные непосредственно. Это связано не только с опасностью повреждения системных данных, но еще и с обеспечением совместимости. Microsoft может изменить структуру системных таблиц и назначение колонок в следующих версиях SQL Server. Если приложение напрямую изменяет системные таблицы SQL Server 2000 и при этом корректно работает, то нет никакой гарантии, что оно станет правильно работать в следующих версиях. При использовании системных хранимых процедур Microsoft обещает, что приложение будет корректно работать даже при существенных изменениях в системных базах данных.

Таблица 1. Системные базы данных SQL Server 2000 и их назначение Хранит всю системную информацию master.mdf-файл данных master параметры, сведения о всех базах и местонахождении их первичных файлов с данными об инициализации баз данных администратором и используемым для model.mdf- файл данных создания любых пользовательских баз (0.75 Мбайт) Хранит все временные системные и tempdb пользовательские объекты: таблицы, templog.ldf- журнал переменные, хранимые процедуры и т д. транзакций (0.5 Мбайт) Хранит информацию, относящуюся к msdbdata.mdf –файл автоматизации администрирования и данных(3.5 Мбайт) Системная база данных master. Эта системная база данных является главной базой данных SQL Server 2000. Остальные системные базы данных имеют второстепенное значение и их можно считать вспомогательными. В базе данных master хранится вся системная информация о параметрах конфигурации сервера, имеющихся на сервере пользовательских баз данных, пользователях, имеющих доступ к серверу, и другая системная информация.

sysallocations syscolumns syscomments syscontrains sysdepends sysfilegroups sysfiles sysforeignkeys

FOREIGN KEY

sysfulltextcatalogs sysindexes sysindexkeys sysmembers sysobjects syspermissions sysprotects предоставляются либо отзываются посредством команд

GRANT и REVOKE

sysreferences systypes sysusers В базе данных master имеется набор таблиц с системной информацией.

Наименование таблиц базы данных master и их назначение приведены в таблице 3.

По умолчанию база данных master создается в каталоге Data установочного каталога SQL Server 2000.

Cистемная база данных model. Cистемная база данных model служит шаблоном для создания новых баз данных. Технология создания новой базы данных в SQL Server 2000 построена следующим образом: сервер копирует базу данных model в указанное место и изменяет ее имя соответствующим образом. Если при создании базы данных не указаны никакие параметры, кроме ее имени, то новая база данных будет являться полной копией базы данных model. Если же размер и состав файлов создаваемой базы данных указан явно, то скопированная база данных изменяется соответствующим образом. Но в любом случае в качестве основы используется база данных model. Независимо от того, создаете ли вы базу данных с помощью интерфейса Enterprise Manager или команд Transact-SQL, последовательность действий будет одинакова.

sysaltfiles syscacheobjects syscharsets sysconfigures sysurconfigs sysdatabases sysdevices syslanguages syslockinfo sysmessages sysdedbusers sysperinfo sysprocesses sysremotelogins sysservers Изменяя параметры базы данных model, можно управлять параметрами по умолчанию создаваемых баз данных. Кроме того, базу данных model можно использовать в качестве корпоративного стандарта на содержимое и свойства базы данных.

sysalerts syscategories sysdownloadslist sysjobhistory sysjobs sysjobschedules sysjobsservers sysjobsteps sysnotifications sysoperators systargetservergroupmembers В этой таблице перечислены все серверы назначения, systargetservergroups systargetservers systaskids Системная база данных tempdb. Пользователям иногда необходимо создавать временные таблицы, представления, курсоры и другие объекты для сохранения промежуточных результатов. База данных tempdb, полное название которой Temporary DataBase, служит в SQL Server 2000 для хранения всех временных объектов, создаваемых пользователями во время сеанса работы.

Временные объекты могут быть локальными или глобальными.

Локальные временные объекты доступны только из того соединения, в котором они созданы. При этом можно создавать одноименные объекты в различных соединениях.

Глобальные временные объекты, созданные в одном соединении, доступны из всех остальных активных соединений. При этом допускается создание единственного глобального временного объекта с уникальным именем.

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

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

Системные таблицы базы данных msdb перечислены в таблице 4.

2. СОЗДАНИЕ И СОПРОВОЖДЕНИЕ БАЗ ДАННЫХ СРЕДСТВАМИ

ENTERPRISE MANAGER

База данных является базовым элементом SQL Server 2000 и своего рода контейнером, в котором располагаются объекты и данные. Любой объект должен принадлежать базе данных. Каждая база данных имеет свою систему безопасности, связанную с системой безопасности SQL Server 2000. Любой пользователь при обращении к серверу работает в контексте какой-то базы данных. Каждой базе данных сопоставлен пользователь, который является ее владельцем (database owner).

Этот пользователь имеет имя dbo и ему предоставлены максимальные права в базе данных.

Создание базы данных возможно несколькими способами:

• средствами языка Transact-SQL;

• с помощью графической утилиты Enterprise Manager;

• с помощью мастера создания базы данных Create Database Wizard.

Создание базы данных заключается в том, что на уровне операционной системы будет создан набор файлов, который и станет представлять базу данных. Напомним, что каждая база данных как минимум состоит из двух файлов – один для данных и один для журнала транзакций. Помимо этих двух файлов, могут быть созданы дополнительные файлы данных и журнала транзакций. Один из файлов данных является первичным (primary) и содержит все системные таблицы базы данных.

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

Помимо имени первичного файла, таблица sysdatabases содержит также идентификационный номер базы данных (столбец dbid), идентификатор безопасности владельца базы данных (столбец sid), дату создания (столбец crdate), уровень совместимости (столбец cmptlevel) и другую информацию.

Рисунок 1. Содержимое папки Databases в SQL Server 2000.

В данном разделе рассмотрим создание базы данных с помощью графического интерфейса Enterprise Manager. С помощью этого инструмента можно не только создавать базы данных, но и управлять ими, а также удалять их. В общем случае использование Enterprise Manager по сравнению с непосредственным использованием команд Transact-SQL может заметно сократить время, необходимое на создание баз данных. Работа с Enterprise Manager не требует знания синтаксиса команды CREATE DATABASE, что является неоспоримым достоинством.

Для управления базами данных SQL Server 2000 используется папка Databases (рисунок 1), имеющаяся в каждой инсталляции. Непосредственно в этой папке перечисляется набор баз данных, созданных на сервере. Как видно из рисунка, в папке перечислены не только пользовательские базы данных, но и системные.

Однако если не предполагается работать с системными базами данных, а также с системными объектами пользовательских баз данных и наличие их в панели Enterprise Manager только мешает работе, то можно запретить отображение этих объектов. Для этого достаточно открыть окно регистрации сервера Registered SQL Server Properties (рисунок 2) и сбросить флажок Show system databases and system objects. Для открытия окна свойств сервера достаточно в контекстном меню сервера выбрать команду Edit SQL Server Registration Properties.

Рисунок 2. Окно регистрации сервера Registered SQL Server Properties Создание новой базы данных выполняется с помощью окна Database Properties (рисунок 3). Открыть это окно можно разными способами:

• выбрав в контекстном меню папки Databases команду New Database;

• щелкнув правой кнопкой мыши на пустом пространстве правой части и выбрав в открывшемся контекстном меню команду New Database;

• нажав в панели инструментов Enterprise Manager кнопку New Database;

• выбрав в меню Action (Действия ) команду New Database.

Окно свойств базы данных Database Properties имеет три вкладки. Первая вкладка General (рисунок 4) предназначена для указания имени базы данных и сопоставления, которое будет использоваться для базы данных. Остальные элементы управления вкладки General предназначены для предоставления пользователю различной информации о базе данных. На момент создания базы данных этой информации еще не существует, и поэтому указываются значения Unknown (неизвестно) и None (нет).

Рисунок 4. Окно создания новой базы данных, вкладка General.

При выборе имени базы данных, которое должно быть введено в поле Name, следует придерживаться тех же правил, которые используются при непосредственной работе с командой Create Database. Сопоставление, которое будет иметь база данных, выбирается с помощью раскрывающегося списка Collation name. По умолчанию список содержит значение (Server default), что предписывает применять для базы данных то же сопоставление, которое было указано на уровне сервера при установке SQL Server 2000. Однако можно выбрать и любое другое сопоставление.

Вкладка Data Files (рисунок 5) предназначена для определения файлов данных, из которых будет состоять создаваемая база данных. В верхней части вкладки Data Files расположена таблица Database files, с помощью которой собственно и определяются файлы базы данных. В столбце File Name указывается логическое имя файла, в столбце Location задается полный путь и имя файла операционной системы. Отметим, что указанный в столбце Location файл не должен существовать на момент создания базы данных. Путь и имя файла могут быть введены вручную или выбраны с помощью окна Locate Database File, открыть которое можно с помощью кнопки, расположенной в левой части столбца Location.

Рисунок 5. Окно создания новой базы данных, вкладка Data Files.

В столбце Initial size (MB) находится первоначальный размер, который файл будет иметь непосредственно после создания базы данных. Если отсутствует какойлибо суффикс, то подразумевается, что значение указано в мегабайтах.

С помощью столбца Filegroup можно определить группу файлов, к которой должен принадлежать файл. По умолчанию все файлы размещаются в группе файлов PRIMARY.

Помимо сведений, указываемых в таблице Database files, файлы базы данных имеют дополнительные свойства, такие, как максимальный размер и шаг прироста.

Управление этими свойствами осуществляется с помощью группы элементов управления File properties, расположенной в нижней части вкладки Data Files.

Рисунок 6. Окно создания новой базы данных, вкладка Transaction Log.

Вкладка Transaction Log (рисунок 6) предназначена для управления файлами журнала транзакций. Эта вкладка в значительной степени напоминает вкладку Data Files. Единственное различие между ними состоит в том, что при определении файлов журнала транзакций нельзя работать с группами файлов.

После того как все файлы базы данных будут определены, а также указано имя базы данных и сопоставление, остается только нажать кнопку ОК и Enterprise Manager приступит к непосредственному созданию базы данных. Для этого он сгенерирует код команды CREATE DATABASE на основе введенных пользователем значений и выполнит его. Рассмотрение создания базы данных средствами Enterprise Manager можно считать оконченным.

В процессе эксплуатации созданной базы данных возникает необходимость в изменении, как физических параметров, так и логической структуры этой базы. К управлению базой данных на физическом уровне относится вся работа по изменению имен, размера, количества, положения файлов базы данных, усечению базы данных и журнала транзакций, созданию групп файлов, изменению группы файлов по умолчанию, изменению имени и владельца базы данных. Большинство действий по изменению конфигурации базы данных выполняется с помощью команды ALTER DATABASE. Для уменьшения размера базы данных можно также использовать команды DBCC SHRINKDATABASE, DBCC SHRINKFILE и системную хранимую процедура sp_dboption.

На логическом уровне изменяются такие параметры, как выполнение автоматического усечения журнала транзакций, автоматическое создание и обновление статистики, возможность выполнения вложенных триггеров и т.п. – всего 22 параметра. Изменять эти параметры можно командой ALTER DATABASE с параметром SET и процедурой sp_dboption.

Для просмотра и модификации свойств базы данных в ее контекстном меню или меню Action (Действия) необходимо выбрать команду Proprties (Свойства).

При этом откроется окно свойств выбранной базы данных. Это окно имеет вкладок, три из которых использовались при создании базы данных. Можно отметить некоторые отличия. Например, на вкладке General (Общие) при просмотре свойств созданной базы данных, поле Name (Имя) доступно только в режиме чтения. Также недоступен список Collation Name (Имя сопоставления).

На вкладке Data Files (Файлы данных) можно добавить новые файлы к базе данных или сконфигурировать существующие файлы. На этой же вкладке можно указать возможность автоматического роста размера файла и задать шаг увеличения размера файла.

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

Список имеющихся в базе данных групп файлов содержится на вкладке Filegroups (Группы файлов). Этот список можно модифицировать удаляя и добавляя группы файлов.

С помощью вкладки Permissions (Права) администратор может раздавать пользователям и ролям базы данных права на выполнение команд Transact-SQL или разрешать создание тех или иных объектов базы данных.

На вкладке Options (Параметры) представлены разнообразные параметры конфигурирования базы данных, которые разбиты на две группы параметров: Access (Доступ) и Settings (Настройки).

Часто бывает, что по прошествии некоторого времени необходимо изменить структуру базы данных и удалить часть ее объектов. Для этого достаточно нажать клавишу Del или выбрать команду Delete (Удалить) в контекстном меню объекта.

Но необходимо помнить, что удаление объекта может привести к нарушению функционирования базы данных.

Сервер позволяет отсоединять (хранимая процедура sp_detach) и присоединять (хранимая процедура sp_attach_db) до 32767 баз данных, изменять владельца (хранимая процедура sp_changedbowner), просматривать свойства (хранимая процедура sp_dboption и DATABASEPROPERTY), получать справки (хранимая процедура sp_helpdb) и т.д. Для того чтобы отсоединить базу данных от сервера в Enterprise Manager, необходимо выполнить команду Detach Database (Отсоединить базу данных) из списка задач контекстного меню базы данных или меню Action (Действия). Для того чтобы присоединить базу данных к серверу в Enterprise Manager, необходимо выполнить команду Attach Database (Присоединить базу данных) из списка задач контекстного меню базы данных или меню Action (Действия).

Для переноса структуры базы данных на другой сервер или для отправки ее по электронной почте SQL Server 2000 позволяет создавать сценарии объектов. Для создания сценариев объектов базы данных в контекстном меню объекта или в меню Action (Действия) из списка всех задач выбирается команда Generate SQL Script (Генерировать сценарии SQL). Открывающееся при этом окно содержит три вкладки, позволяющие выполнять настройку процесса создания сценариев. На вкладке General (Общие) можно выбрать объекты, для которых будут создаваться сценарии. На вкладке Formatting (Форматирование) выполняется настройка процесса создания сценария. На вкладке Options (Параметры) можно задать параметры кода для пользователей и ролей базы данных, определить режим создания кода для индексов, триггеров, полнотекстовых индексов, ключей, умолчаний и ограничений для таблиц, а также другие параметры.

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

Для этого надо просто выбрать в списке имя базы данных, щелкнув правой кнопкой мыши, и выбрать в открывшемся контекстном меню команду Delete. При удалении базы данных происходит удаление строки таблицы sysdatabases, описывающей соответствующую базу данных. Так же производится и физическое удаление всех файлов, из которых состояла база данных. Тем не менее, имея резервную копию базы данных, впоследствии можно восстановить ее снова.

3. СОЗДАНИЕ И СОПРОВОЖДЕНИЕ ТАБЛИЦ БАЗ ДАННЫХ

СРЕДСТВАМИ ENTERPRISE MANAGER

В любой системе управления базами данных таблицы играют огромную роль.

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

Вначале таблицы необходимо создать. Во время этой операции пользователь определяет имя таблицы, имена столбцов, тип хранимых в них данных, значения по умолчанию, возможность хранения неопределенных значений, первичный и внешний ключи и некоторые другие свойства. Создание таблиц в SQL Server возможно либо с помощью графического интерфейса Enterprise Manager, либо с помощью команд Transact-SQL. К сожалению, мастера создания таблиц в SQL Server 2000 нет.

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

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

Основные требования, которые надо соблюдать при создании таблиц в реляционных баз данных, таковы:

• каждая таблица должна иметь уникальное в базе данных имя и состоять из однотипных строк.

• каждая таблица должна состоять из фиксированного числа столбцов и простых (не составных) значений в каждом столбце.

• каждому столбцу должно быть присвоено уникальное в пределах таблицы имя и заданы конкретный тип данных, размер, точность.

• Одной из основополагающих характеристик столбца является тип данных (data type). Тип данных определяет диапазон значений, которые можно будет хранить в столбце. Во всех таблицах тип данных столбца может быть системным, т.е. встроенным в сервер или определен самим пользователем на основе системных.

Для определения типов столбцов могут применяться не все типы данных, поддерживаемые языком Transact-SQL. В частности, для типов столбцов таблиц не могут быть выбраны типы данных cursor и table. Они служат только для работы с локальными переменными, функциями, процедурами и т.д. В свою очередь, для локальных переменных нельзя использовать некоторые типы данных, успешно поддерживаемые столбцами таблиц. К этим типам данных относятся timestamp, text, ntext и image. Подробнее о типах данных, доступных в SQL Server 2000Можно ознакомиться в разделе пособия, посвященному основам программирования на языке Transact-SQL.

При создании таблиц пользователь может для столбцов, помимо задания базовых свойств, таких, как имя, тип данных, размер и точность, указать ограничения целостности. Ограничения целостности (constraints) – это механизм контроля значений, которые могут храниться в полях строки. В SQL Server поддерживаются следующие ограничения целостности:

• Check – с помощью логических условий налагает ограничение на значения, которые могут храниться в столбце;

• Null – задает возможность хранения неопределенных значений;

• Default – определяет значение по умолчанию;

• Unique – гарантирует уникальность значений в столбце;

• Primary Key – определяет первичный ключ;

• Foreign Key – определяет внешний ключ;

• No Action – предписывает не выполнять в зависимой таблице никаких действий при удалении или обновлении строк в главной таблице;

• Cascade – в данном случае будет осуществляться каскадное изменение значений в зависимой таблице при внесении изменений в главную таблицу.

Каждая база данных имеет свой собственный набор таблиц, посмотреть который можно средствами Enterprise Manager, открыв папку Tables. При открытии папки Tables базы данных в правом окне Enterprise Manager появляется список таблиц со следующими атрибутами: имя таблицы, владелец (обычно владелец базы данных data base owner-dbo), тип (пользовательская или системная) и дата создания таблицы. Для просмотра самой таблицы следует дважды щелкнуть по ней или в ее контекстном меню исполнить команду Properties.

Рисунок 7. Окно свойств таблицы (Table Properties) базы данных В открывшемся окне представлены все свойства таблицы и ее столбцов. Кнопка Permission позволяет просмотреть и отредактировать права доступа к таблице:

SELECT, INSERT, UPDATE, DELETE, EXES и DRI. Щелкнув по столбцу таблицы, можно просмотреть и отредактировать права доступа к столбцу. Если установлена на сервере служба MSSearch, то с помощью вкладки Full-text Indexing можно отредактировать параметры этой службы.

3.2. СОЗДАНИЕ, МОДИФИКАЦИЯ И УДАЛЕНИЕ ТАБЛИЦ СРЕДСТВАМИ

ENTERPRISE MANAGER

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

Рисунок 8. Окно New Table для создания таблицы базы данных Создание таблицы выполняется с помощью окна New Table (рисунок 8), для открытия которого достаточно в контекстном меню папки Tables выбрать команду New Table.

Окно New Table разделено на две части. С помощью верхней части формируется набор столбцов, из которых будет состоять таблица, а также указываются их основополагающие свойства. Самая верхняя строка соответствует первому столбцу таблицы, вторая строка – второму столбцу и т.д. Порядок перечисления столбцов очень важен. При вставке и выборке данных без указания столбцов сервер будет обрабатывать значения именно в той последовательности, в которой они были перечислены при создании таблицы.

Рассмотрим назначение колонок, с помощью которых указываются базовые характеристики столбцов:

• Column Name - в этой колонке задается имя, которое будет иметь столбец;

• Data Type - элемент этой колонки представляет собой раскрывающийся назначаемый столбцу;

• Length - указывается размер типа данных, выбранного для столбца, некоторые типы данных (char, nvarchar, binary и др.) позволяют изменять значение в этой колонке, тем самым, предоставляя возможность управлять количеством памяти, выделяемой для столбца, другие же типы данных всегда имеют один и тот же размер (например, int, datetime и т.д.), и для них изменять размер нельзя;

• Allow Nulls - установка флажка в этой колонке разрешает хранение значений NULL, если столбец входит в первичный ключ, то хранение значений NULL для него разрешить нельзя.

С помощью верхней части окна создания таблицы можно также определить первичный ключ таблиц. Для этого достаточно выделить один или более столбцов, из которых должен состоять первичный ключ, щелкнуть правой кнопкой мыши и в открывшимся контекстном меню выбрать команду Set Primary Key.

После этого слева от каждого столбца, включенного в первичный ключ, будет отображаться символ ключ.

Содержимое нижней части окна New Table зависит от того, какой столбец выбран в верхней части. Здесь выполняется управление дополнительными свойствами столбца. Рассмотрим элементы управления, находящиеся в распоряжении пользователя:

• Description - это текстовое поле предназначено для ввода краткого описания столбца, которое не используется системой;

• Default Value - значение, которое будет присваиваться столбцу по • Precision - в этом поле указывается максимальное количество цифр, в том числе после запятой, которое можно хранить в столбце;

• Scale - используется совместно с предыдущим полем и предназначено для указания количества цифр после запятой, которое будет хранить десятичный тип данных, значение в этом поле не может превышать величины, указанной • Identity - если в данном раскрывающемся списке выбрано значение Yes, то соответствующий столбец будет сконфигурирован как столбец-счетчик;

• Formula - в данном поле можно ввести формулу, с помощью которой будет формироваться значение столбца;

• Collation - поле доступно только для типов данных, предназначенных для хранения символьных и текстовых данных, так как с помощью него указывается сопоставление, которое будет использоваться для столбца, по умолчанию предлагается применять то же сопоставление, что было выбрано для базы данных, в которой создается таблица (значение database default).

Поле Precision доступно только для нецелочисленных типов данных с фиксированной точностью, называемых десятичными (decimal). К этим типам данных относятся numeric и decimal. Для нецелочисленных (или приблизительных) типов данных с фиксированной точностью, также называемых приблизительными (approximate number), таких, как real и float, значение в этом поле (24 и соответственно) доступно только для чтения. Аналогичная ситуация и с целочисленными типами данных (tinyint, smallint, int и bigint);

Если в поле Formula задано выражение, то соответствующий столбец будет являться вычисляемым столбцом (computed columns). Формула может включать ссылки на столбцы, функции, а также константы, которые связываются в одно выражение с помощью различных операторов. Для вычисляемых столбцов, помимо формулы, разрешается указывать только имя столбца. Все остальные параметры, такие, как тип данных, значение по умолчанию, возможность хранения значений NULL, описание и другие, блокируются;

Если свойство Identity для столбца задано, то тогда в нижней части окна New Table становятся доступными три следующих поля:

• Identity Seed - в этом поле указывается начальное значение, которое будет использовано для автоматического генерирования значений для столбцасчетчика;

• Identity Increment – с помощью этого поля можно указать величину, на которую станет увеличиваться значение в столбце-счетчике при вставке • Is RowGuid - этот раскрывающийся список, доступный только для типа данных uniqueidentifier, содержит всего два значения – Yes и No.

При выборе первого из них столбец конфигурируется в качестве уникального глобального идентификатора строки, что соответствует указанию ключевого слова rowguidcol при описании столбца в команде CREATE TABLE. Автоматически в поле Default Value подставляется значение newid (). Таким образом, при добавлении в таблицу новой строки в соответствующий столбец будет автоматически помешаться уникальное значение. Только один столбец в таблице может быть сконфигурирован как уникальный глобальный идентификатор строки. Тем не менее, можно создавать множество столбцов с типом данных uniqueidentifier и значением по умолчанию newid ().

После того как будут сконфигурированы параметры всех столбцов, необходимо сохранить сконфигурированную таблицу. Для этого достаточно нажать кнопку Save, расположенную в панели инструментов. При этом будет выведено окно Choose Name, с помощью которого следует ввести имя, которое будет присвоено сконфигурированной таблице. На этом работу по созданию таблиц можно закончить. Однако можно определить в таблице ограничения целостности, проиндексировать те или иные столбцы, а также указать в какой группе файлов должна быть расположена таблица. Для управления этими свойствами используется окно Properties (Свойства), которое открывается нажатием кнопки Table and Index Properties (Свойства таблиц и индексов) на панели инструментов.

В SQL Server 2000 можно изменить структуру таблицы, т.е. добавить новые столбцы, удалить имеющиеся столбцы, изменить свойства столбцов. Для изменения структуры таблицы используется команда Design Table (Макет таблицы) из контекстного меню или из меню Action (Действие). В этом случае откроется окно редактирования, которое внешне ничем не отличается от окна создания таблиц (рисунок 8). В этом окне можно изменить существующие значения на новые и, в случае необходимости, изменить состав столбцов таблицы.

Удаление таблицы производится выбором команды Delete (Удалить) в контекстном меню таблицы или в меню Action (Действие). В результате откроется окно Drop Objects (Удаление объектов), в котором перечислены удаляемые объекты – в данном случае таблица. Однако невозможно удалить таблицу, на которую ссылаются другие таблицы посредством внешнего ключа. Если с таблицей связаны представления, функции или другие объекты базы данных, то такую таблицу также удалить невозможно.

В SQL Server 2000 имеется средство, облегчающее понимание структуры базы данных, позволяющее наглядно представлять структуру таблиц и связей между ними. Это средство называется диаграммой. Диаграммы определены только на уровне Enterprise Manager и являются надстройкой над объектами базы данных.

Рисунок 9. Второе окно мастера создания диаграмм.

Для создания диаграммы в контекстном меню папки Diagrams (Диаграмма) требуемой базы данных необходимо выбрать пункт меню New Database Diagrams (Новая диаграмма базы данных). Запустится мастер Create Database Diagram Wizard (Мастер создания диаграммы базы данных). Построение диаграммы при помощи данного мастера состоит из трех шагов.

В первом окне перечислены возможности мастера. Во втором окне мастера необходимо указать таблицы базы данных, которые должны войти в диаграмму (рисунок 9). Установленный флажок Add related tables automatically (Автоматически добавлять связанные таблицы) указывает мастеру на необходимость автоматически добавить в диаграмму все таблицы, которые были включены в диаграмму вручную.

В третьем окне будут представлены таблицы, которые предполагается включить в диаграмму. На этом мастер заканчивает свою работу.

Для просмотра созданных диаграмм необходимо в окне Enterprise Manager выбрать требуемую базу данных и открыть папку Diagram. Диаграмма не имеет свойств, для просмотра диаграммы необходимо дважды щелкнуть на ней левой клавишей мыши. Диаграмма в окне просмотра будет выглядеть в соответствии с рисунком 10.

Каждая таблица может быть представлена в одном из пяти режимов:

• Column Properties (Свойства столбцов);

• Column Names (Имена столбцов);

• Key Columns (Ключевые столбцы);

• Table Names (Имена таблиц);

• Custom (Пользовательский режим).

Для выбора одного из режимов просмотра можно воспользоваться раскрывающимся списком кнопки Show (Показать) на панели инструментов или контекстным меню таблицы.

В режиме просмотра Column Properties (Свойства столбцов) можно выполнять редактирование структуры таблицы. В окне свойств таблицы можно редактировать отношения, ограничения целостности, индексы и ключи.

Для каждой таблицы в диаграмме можно выполнить редактирование триггеров.

Не выходя из диаграммы можно управлять разрешением на доступ к таблицам для объектов.

4. СОЗДАНИЕ И УПРАВЛЕНИЕ ИНДЕКСАМИ СРЕДСТВАМИ ENTERPRISE

MANAGER

Современные базы данных часто содержат миллионы строк. По умолчанию данные хранятся в порядке их добавления в таблицу, т.е. неупорядоченно. Чтобы найти нужные данные, сервер должен перебрать все строки таблицы. Такой перебор называется сканированием таблицы. Подобное сканирование может потребовать довольно много времени. К тому же, если оно выполняется часто и многими пользователями, то ситуация еще более усугубляется. Кроме того, сюда следует добавить необходимость установки блокировок – и полное сканирование данных вообще становится неприемлемым при создании корпоративных баз данных с миллионами строк и сотнями пользователей, работающих одновременно.

Повышение производительности достигается за счет того, что данные представляются в упорядоченном виде. Механизмом, увеличивающим скорость поиска данных и обеспечивающим минимальные затраты времени на анализ таблиц, является индексирование. Индексы представляют собой набор ссылок на места физического размещения строк в структуре базы данных, упорядоченный по возрастанию или убыванию. При этом данные в самой таблице могут быть и неупорядоченными. Столбец, по которому была произведена индексация, называется индексированным. Необходимо отметить, что индекс представляет собой не сами строки данных, а лишь значения индексированного столбца и указатели на соответствующие строки. В таблице может быть создано более десяти столбцов, но индексированными будут всего один или два столбца. Обычно индекс хранится отдельно от самих данных, подобно тому, как предметный указатель в книге хранится отдельно от текста глав. Каждый элемент предметного указателя содержит ключевое слово и номер страницы, на которой расположена нужная информация. По такому же принципу устроен и индекс базы данных. Каждый элемент индекса хранит значение, соответствующее значению индексированного столбца конкретной строки, а также ссылку на исходную строку. Однако стоит обратить внимание, что индекс производит упорядочивание только конкретного столбца, а не всех данных таблицы.

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

SQL Server 2000 не является исключением. Если в ходе выполнения запроса происходит обращение к столбцу, для которого был определен индекс, то сервер автоматически производит поиск нужных значений непосредственно не в таблице, а в индексе. Когда в индексе находится искомое значение, сервер обращается к соответствующей строке таблицы и выбирает нужные данные уже из нее. Хотя на самом деле данные в столбце могут быть и неупорядочены, за счет того, что столбец будет иметь индекс, можно реализовать эффективные алгоритмы поиска информации. Это как раз и сделано в SQL Server 2000.

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

Метод деления пополам можно оптимизировать, если при выборе начальной точки выбирать не просто середину интервала, а применять специальные алгоритмы, использующие статистические методы обработки информации и позволяющие с большей вероятностью предсказать положение нужных данных в последовательности. Если, к примеру, вам нужно найти телефон человека с фамилией Бардин, то вряд ли вы будете открывать телефонный справочник в середине, а тем более в конце.

В идеале можно создать индексы для всех столбцов таблицы, но здесь есть одно существенное ограничение. Когда выполняется изменение строк таблицы, то помимо обновления самих данных необходимо выполнить обновление всех индексов. Обновление индексов требует практически столько же времени, сколько и обновление данных, поэтому на практике ограничиваются 4 или 5 индексами. Таким образом, основным преимуществом использования индексов является значительное ускорение выборки данных, а основным недостатком – замедление процесса обновление данных.

При определении столбца для индекса следует выбирать ключевые столбцы, которые задают критерии выборки данных, например, порядок сортировки. Не следует использовать столбцы с очень длинными данными. В крайнем случае, следует создавать укороченные варианты таких столбцов и использовать их для индексирования.

В MS SQL Server 2000 реализованы следующие типы индексов:

• кластерные индексы;

• не кластерные индексы;

• уникальные индексы.

Не кластерные индексы являются наиболее типичными индексами. В отличии от кластерных, они не перестраивают физическую структуру таблицы, а лишь организуют ссылки на соответствующие строки (указатели – row locator), которые включают в себя:

• информацию об идентификационном номере файла (ID_file), в котором храниться строка;

• идентификационный номер страницы данных;

• номер соответствующей строки на странице;

• содержимое столбца.

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

Желательно, чтобы столбцы кластерного индекса не слишком часто изменялись, так как из-за этого будут часто физически переупорядочиваться строки таблицы.

При создании в таблице первичного ключа с помощью ключевых слов PRIMARI KEY сервер автоматически для него кластерный индекс, если он не был создан ранее или если при определении ключа не был явно указан не кластерный индекс (NONCLUSTERED). Если в таблице определяются другие индексы, то их указатели ссылаются не на физическое положение строки, а на соответствующий элемент кластерного индекса.

Уникальные индексы гарантируют уникальность значений в индексируемом столбце. Он является надстройкой для таблицы и может быть реализован как для кластерного, так и для не кластерного индекса. Уникальные индексы используются редко, а для обеспечения целостности данных следует использовать ограничения UNIQVE или PRIMARI KEY.

При определении индекса надо задавать параметр, который будет устанавливать плотность записи данных на странице - фактор заполнения (fill factor). Его значение определяет, какой процент доступного пространства индексных страниц будет заполнен данными при создании индекса, а какой процент будет заполняться постепенно по мере загрузки данных в таблицу. Если таблица используется только для чтения, то значение этого параметра надо задавать близким к 100%, если таблица часто обновляется и дополняться, то значение фактора дополнение должно быть задано небольшим.

Право на создание индекса имеет только владелец таблицы, и это право не может быть передано другому пользователю. Индекс можно создать одним из следующих способов:

• с помощью команд языка Transact – SQL, которые предоставляют пользователю максимум возможностей;

• с помощью Enterprise Manager;

• средствами мастеров Create Index Wizard и Index Tuning Wizard.

Чтобы создать индекс с помощью Enterprise Manager, необходимо сначала открыть окно редактирования структуры таблицы (рисунок 8). Для этого для требуемой таблицы в контекстном меню выбирается пункт Design Table (Макет таблицы).

Рисунок 11. Вкладка Indexes/Keys окна свойств таблицы.

Для создания нового или просмотра существующих индексов на панели инструментов необходимо нажать кнопку Table and Index Properties (Свойства таблицы и индекса). При этом откроется диалоговое окно Properties (Свойства), с помощью которого можно управлять различными свойствами таблицы (рисунок 11).

Окно свойств таблицы имеет четыре вкладки. Для создания и управления индексами используется вкладка Manage Indexes/Keys (Индексы и ключи).

В раскрывающемся списке Selected Index (Выбранный индекс) один из ранее созданных индексов. Для удаления индекса достаточно нажать кнопку Delete (Удалить).

Если же необходимо создать новый индекс, то следует нажать на кнопке New (Создать). В этом случае в список Selected Index (Выбранный индекс) будет автоматически добавлена новая строка, а индексу присвоено имя по умолчанию, например IX_authors. Далее потребуется указать столбцы, которые будут включены в индекс, выбрать группу файлов для сохранения индекса, определить фактор заполнения, тип индекса (по умолчанию - некластерный), метод упорядочивания и некоторые другие.

упорядоченных с помощью индекса данных. Информация об индексах хранится в системной таблице sysindexes, имеющейся в каждой базе данных. Каждый индекс представлен отдельной строкой. Информация о статистике индекса хранится в столбце statblob, имеющем тип данных image, максимальный размер которого равен 2 Гбайт.

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

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

Чтобы поддерживать статистику в “рабочем” состоянии, сервер периодически выполняет автоматическое сканирование индексированных столбцов. Конечно, подобное обновление требует определенных затрат процессорного времени и несколько снижает производительность операций вставки и изменения данных. При необходимости можно запретить обновление статистики и тем самым повысить производительность вставки и изменения данных. Однако скорость выполнения выборки данных может снизиться.

Для каждого индекса сервер автоматически создает статистику. В SQL Server 2000 разрешено создание статистики и для неиндексированных столбцов. Для создания статистики используется команда CREATE STATISTICS языка TransactSQL, а также хранимые процедуры sp_createstats, sp_dboption.

Для обновления статистики используется команда UPDATE STATISTICS, а также хранимая процедура sp_updatestats.

5. СОЗДАНИЕ ПРЕДСТАВЛЕНИЙ СРЕДСТВАМИ ENTERPRISE MANAGER

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

Рисунок 12. Окно списка представлений базы данных.

Для решения задачи необходимо использовать дополнительные механизмы, в качестве которого можно выбрать представления.

Представления (views) являются виртуальными таблицами, содержимое которых генерируется динамически на основе результата выполнения запроса. Для пользователей работа с представлением мало отличается от работы с таблицами.

Создание представлений в SQL Server 2000 можно выполнить различными методами:

• с помощью Enterprise Manager;

• с помощью мастера Create View Wizard;

• средствами Transact-SQL.

Чаще для создания представлений используется графический интерфейс утилиты Enterprise Manager. Это обеспечивает быстрое и наглядное создание представлений любой сложности. Пользователи, не имеющие опыта в создании представлений, могут воспользоваться мастером, что максимально упрощает создание представления за счет разбиения процесса создания на несколько шагов, каждый из которых снабжает пользователя подсказками.

При работе с Enterprise Manager список представлений, имеющихся в базе данных, находится в папке Views (Представления). Как видно из рисунка 12, для каждого представления указывается его Имя (столбец Name), владелец (столбец Owner), тип (type) и дата создания (Create Date). Представление может быть отнесено к одному из двух типов – системному или пользовательскому.

Для создания нового представления достаточно выбрать в контекстном меню папки Views команду New View (Новое представление) или нажать на кнопку New (Создать) на панели инструментов.

Каждая таблица или представление отображается в виде самостоятельного объекта, имеющего список столбцов, определенных в соответствующей таблице.

Установка флажка слева от имени столбца приведет к включению этого столбца в создаваемое представление (рисунок 13).

Все методы создания представления, в конце концов, обращаются к средствам Transact-SQL, с помощью которых собственно и выполняется создание представления. Ничто не мешает пользователям применять для создания представлений непосредственно команды Transact-SQL, не прибегая к помощи графического интерфейса. При создании представления указывается запрос SELECT, который будет формировать содержимое представления. В этом запросе могут применяться все разделы команды Select. Другими словами, пользователь может выполнять объединение (join) и слияние (union) данных, различные выражения, группировку, агрегирование и логические условия.

6. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ TRANSACT-SQL

Целью любой системы управления базами данных является предоставление пользователю простых и эффективных механизмов манипулирования данными. Для этого можно использовать различные методы управления данными, одним из которых является язык структурированных запросов (SQL, Structured Query Language).

Язык SQL является хорошим примером использования технологии клиентсервер. Когда пользователю требуется произвести некоторые операции с данными, он описывает действия, которые необходимо выполнить, с помощью команд языка SQL. Подготовленные команды, называемые запросом (query), отправляются на сервер баз данных. В соответствии с полученными инструкциями сервер осуществляет необходимые действия и отправляет клиенту лишь результат работы.

Таким образом, вся работа с данными производится на сервере.

В 1992 г. Американским национальным институтом стандартизации (ANSI, American National Standard Institute) был разработан стандарт на язык SQL, названный ANSI SQL-92. Этот стандарт не только определяет основные правила использования команд, идентификаторов, переменных и других элементов, но и регламентирует работу самой системы управления базами данных. В частности, в стандарте ANSI SQL-92 были рассмотрены механизмы работы транзакций и блокировок.

Стандарт ANSI SQL-92 был хорошей попыткой зарегистрировать языки доступа к данным, используемые в различных СУБД. Однако со временем каждый из производителей начал улучшать и модернизировать возможности языка, подстраивая их под конкретную СУБД. С одной стороны, это позволяет более эффективно использовать возможности той или иной СУБД, с другой – это привело к потере совместимости продуктов. В настоящее время стандарт ANSI SQL- рассматривается, скорее, как общие рекомендации к построению эффективной системы управления базами данных, чем как конкретный список шагов по построению СУБД.

Корпорация Microsoft, как и многие другие производители, разработала свою версию языка SQL, назвав его Transact-SQL. Именно этот язык используется в SQL Server 2000 для доступа к данным. Он удовлетворяет требованиям ANSI SQL-92, но предлагает пользователю еще и ряд дополнительных возможностей, позволяющих более гибко и эффективно работать с данными. Язык Transact-SQL активно используется не только в программных продуктах корпорации Microsoft, но и в пакетах независимых разработчиков.

Раздел документации сервера T–SQL Help содержит описание каждой команды языка Transact–SQL и набор примеров их использования. Синтаксис команды определяется с помощью специального метаязыка, основанного на нормальных формах Бекуса-Наура (БНФ).

Смысл метасинтаксических знаков приведен в таблице 5.

Язык Transact–SQL включает следующие средства:

• данные баз данных и переменных различного типа;

• константы, стандартные и ограниченные идентификаторы;

• арифметические и логические выражения, включающие в качестве операндов константы, переменные, имена столбцов таблиц, функции, подзапросы и условные выражения, а также выражения, взятые в круглые скобки;

• SQL–команды для создания, изменения и удаления баз данных и их объектов, а также для определения запросов на ввод, обработку и извлечение данных;

• управляющие программные структуры, определяющие условия и порядок выполнения команд в заданной последовательности или пакете команд;

• встроенные (системные) и определяемые пользователем функции;

• встроенные (системные) и определяемые пользователем хранимые процедуры.

В системе могут храниться, помимо функций и процедур, последовательности (пакеты) команд, которые называются скриптами. Если скрипт описывает процесс создания базы данных, или каких-либо ее объектов, то такой скрипт называется сценарием. Сценарии позволяют переносить структуру базы данных от одного сервера к другому, а также структуру таблиц и других объектов в различные базы данных. Скрипты хранятся в текстовых файлах.

Функции и хранимые процедуры баз данных позволяют уменьшить объем запросов, передаваемых от клиента к серверу, что повышает общую производительность системы. Наличие исходного кода для этих объектов позволяет упростить сопровождение программных комплексов и внесение изменений в них.

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

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

6.2. КОНСТАНТЫ, ИМЕНА, ИДЕНТИФИКАТОРЫ, ПЕРЕМЕННЫЕ,

ВЫРАЖЕНИЯ В ЯЗЫКЕ TRANSACT–SQL

В языке Transact–SQL имеются следующие виды констант:

• логические: FALSE и TRUE;

• бинарные в шестнадцатеричном представлении: 0x9E70DA;

• символьные: ‘ABC’; “ABC” (если QUOTED_IDENTIFIER = OFF), N ‘ABC’ • целые: 1; 2; 175;

• с фиксированной точкой: 12.35; - 16.753;

• с плавающей точкой: 1.75Е5; 3.84Е – 3;

• для даты: “ April 15.2003”; “4/15/2003”; “20031207”;

• для времени: 14:30; 14:30:20:999; 4am; 4pm;

• денежные: $100;?200; 2.15.

Комментарии в языке бывают двух типов: строчные, начинающиеся с двух символов минуса («--») и блочные, заключаемые символами /* и */.

Все объекты базы данных должны иметь имена, которые используются в командах для ссылки на эти объекты. Любой объект базы данных должен быть уникально идентифицирован. Помимо программных имен сервер автоматически генерирует внутренние уникальные имена для идентификации объектов баз данных, например, PK_ _Table X_ _ 014543FA.

Программные имена задаются идентификаторами двух типов:

• стандартными идентификаторами: Table X; Key Col;

• ограниченными идентификаторами: [My Table]; [Order]; “My Table”; “Order” (если QUOTED_IDENTIFIER = ON).

Длина идентификатора – от 1 до 128 символов. Идентификатором не может быть какое-либо зарезервированное ключевое слово языка.

Стандартный идентификатор в качестве первого символа может иметь любую латинскую или русскую букву, знаки #, ##, @, @@ и знак подчеркивания _.

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

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

В соответствии с идеологией SQL Server 2000 каждый объект создается определенным пользователем и принадлежит той или иной базе данных. В свою очередь база данных расположена на конкретном сервере. Из имен объекта, пользователя, базы данных и сервера создается полное имя (complete name) или полностью определенное имя (full qualified name), записываемое в следующем виде:

[[[server.].[database].[owner_name].] object_name.

Варианты обращения к объектам базы данных: A.B.C.D; A.B..D; A..C.D; A..D;

B.C.D; B..D; C.D; D. Чтобы сослаться на конкретный столбец таблицы или представления, необходимо в полном имени указать пятый элемент: А.В.С.D.E.

В Transact–SQL существует несколько способов передачи данных между командами. Одним из таких способов является передача данных через локальные переменные, объявляемые следующим образом:

DECLARE {@ имя локальной переменной тип данных}[,…n] Таким образом, знак @ является признаком имени локальной переменной. Этот же знак используется для определения имен параметров функций и хранимых процедур. Часть синтаксиса [,…n] означает повторение синтаксической конструкции, взятой в фигурные скобки:

Значения переменным можно присвоить с помощью команд SET и SELECT.

Командой SET можно присвоить значение только одной переменной: SET @Ivar = или SET @IBit = 0.

Для присваивания значений нескольким переменным, вычисляемых с помощью выражений, следует использовать команду SELECT, которая выводит результаты в окно Grids:

SELECT @Ivar = SUM (price) FROM titles _ _ см. окно Result.

Для вывода значений переменных следует использовать команды:

• SELECT – для вывода данных в стандартный набор строк;

• PRINT – для вывода данных как служебной информации.

Примеры команд вывода значений переменных:

SELECT @Ivar _ _ в окно Grids утилиты Query Analyzer;

PRINT @IBit _ _ в окно Messages утилиты Query Analyzer.

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

Операторами выражения могут быть унарные («+» или «-»), бинарные арифметические операторы (+, -, *, % ), оператор присваивания (=), строковая операция конкатенации (+), операторы сравнения (=,,, =, =, =, != или, !, !), логические операторы (NOT, AND, OR, ALL, ANY, BETWEEN, EXIST, IN, LIKE, SOME ) и битовые операторы (&, |, ^).

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

При объявлении переменной с помощью команды DECLARE необходимо указать ее тип данных. Тип данных определяет, какая информация может храниться в переменной, и какие операции могут выполняться над этими данными. В общем, понятие и использование типов данных в Transact-SQL соответствуют большинству современных языков программирования.

Типы данных играют большую роль при работе с таблицами. Каждый столбец должен иметь конкретный тип данных. В одной таблице может быть множество столбцов, как с одинаковыми, так и с различными типами данных. Наконец, типы данных активно используются при работе с хранимыми процедурами, определяя вид значений, указываемых при вызове.

В SQL Server 2000 набор типов данных несколько расширен по сравнению с предыдущей версией SQL Server – добавлены типы данных bigint, table и sql_variant.

В итоге в распоряжении пользователей имеется набор из встроенных типов данных:

• binary(n) – двоичные данные фиксированной длины до 8000 байт; для n байтов выделяется n+4 байта памяти, значения задаются с помощью шестнадцатеричных чисел 0xшестнадцатеричные цифры;

image – двоичные данные длиной до 231–1, место во внешней памяти выделяется в виде цепочки страниц;

• char(n) – строковый тип данных фиксированной длины без поддержки Unicode длиной до 8000 байтов, данные зависят от кодовой страницы; если для столбца не задана опция NULL, то строка при необходимости будет дополняться справа пробелами; если эта опция задана, то дополнение пробелами будет иметь место при условии ANSI_PADDING=ON, в противном случае пробелы добавляться не будут;

• varchar(n) – строковый тип, как и char(n), но не с фиксированной длиной, если ANSI_PADDING=OFF, то будет выполняться удаление конечных пробелов, если ANSI_PADDING=ON, то удаление пробелов производиться не будет;

• nchar(n) - строковый тип, как и char(n), но с поддержкой Unicode, поэтому максимальное количество символов составляет 4000, в этом случае для строковых констант надо задавать впереди букву N (например, N’ABC’).

• nvarchar(n) – строковый тип, как varchar(n), но с поддержкой Unicode.

• text – строковый тип без поддержки Unicode длиной до 2 Гбайт; память выделяется страницами по 8 Кбайт, связываемыми в цепочку;

• ntext – строковый тип как и text, но с поддержкой Unicode, поэтому длина строки не более 1 Гбайта;

int – целый тип длиной в 4 байта и с диапазоном от –231 до 231-1;

smalling – целый тип длиной в 2 байта с диапазоном от –215 до 215-1;

• tinyint – целый тип длиной в 1 байт и диапазоном от 0 до 255;

bigint – целый тип длиной в 8 байт и с диапазоном от-263 до 263-1;



Pages:   || 2 | 3 |
 


Похожие работы:

«by УДК 677. 071. 188 (07) к.т.н., доц. Медвецкий С.С. МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ tu. Учреждение образования Витебский государственный технологический университет РЕКОМЕНДОВАНО УТВЕРЖДАЮ vs редакционно-издательским Первый проректор УО ВГТУ советом УО ВГТУ _ В.В. Пятов С.И. Малашенков 2010 г. _2010 г. in. Автоматизация технологических процессов на чесальном и lsp ленточном оборудовании Методические указания к лабораторным работам по курсу Технологические процессы и аппараты...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Рязанский государственный университет имени С.А. Есенина ПОДГОТОВКА, ОФОРМЛЕНИЕ И ЗАЩИТА КУРСОВЫХ И ВЫПУСКНЫХ КВАЛИФИКАЦИОННЫХ РАБОТ НА ЕСТЕСТВЕННО-ГЕОГРАФИЧЕСКОМ ФАКУЛЬТЕТЕ РГУ ИМЕНИ С.А. ЕСЕНИНА Методические рекомендации Рязань 2011 ББК 26.8я73 П44 Печатается по решению редакционно-издательского совета Федерального государственного...»

«_ Министерство образования Российской Федерации _ РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ГИДРОМЕТЕОРОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ Н.Б. Барышников ГИДРАВЛИЧЕСКИЕ СОПРОТИВЛЕНИЯ РЕЧНЫХ РУСЕЛ Рекомендовано Учебно-методическим объединением по образованию в области гидромет еорологии в качестве учебного пособия по дисциплине Динамика русловы х потоков и русловы е процессы для ст удент ов высших учебны х заведений, обучающихся по направлению Гидрометеорология и специальности Гидрология О та & РГГМ У Санкт-Петербург...»

«ПРИОРИТЕТНЫЙ НАЦИОНАЛЬНЫЙ ПРОЕКТ ОБРАЗОВАНИЕ РОССИЙСКИЙ УНИВЕРСИТЕТ ДРУЖБЫ НАРОДОВ О.И. ЗЕЛЕНОВА К.В. ЗИНЬКОВСКИЙ СТРАТЕГИЧЕСКИЙ МЕЖДУНАРОДНЫЙ МЕНЕДЖМЕНТ ЧЕЛОВЕЧЕСКИХ РЕСУРСОВ Учебное пособие Москва 2008 Глава 1. Стратегический менеджмент человеческих ресурсов: эволюция подходов и современная ситуация Управление людьми – критичный фактор для обеспечения устойчивых конкурентных преимуществ организации. Формирование научных подходов к управлению людьми в организациях началось вместе с...»

«ЦЕНТР МИГРАЦИОННЫХ ИССЛЕДОВАНИЙ при содействии Программы поддержки высшего образования Института Открытое Общество (HESP OSI) и Бюро ЮНЕСКО в Москве Методология и методы изучения миграционных процессов Междисциплинарное учебное пособие Под редакцией Жанны Зайончковской Ирины Молодиковой Владимира Мукомеля Москва 2007 УДК 314.7 ББК (С)60.7 Книга подготовлена при содействии Программы поддержки высшего образования Института Открытое Общество (HESP OSI) Издано при поддержке Бюро ЮНЕСКО в Москве...»

«ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ РАЗВИТИЯ ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ О.Н. Олейникова, А.А. Муравьева ПРОФЕССИОНАЛЬНЫЕ СТАНДАРТЫ: ПРИНЦИПЫ ФОРМИРОВАНИЯ, НАЗНАЧЕНИЕ И СТРУКТУРА Методическое пособие Москва, 2011 УДК 377 ББК 74 О53 Олейникова О.Н., Муравьева А.А. О53 Профессиональные стандарты: принципы формирования, назначение и структура. Методическое пособие. – М.: АНО Центр ИРПО, 2011. – 100 с. Обобщается опыт разработки профессиональных стандартов,...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ В. А. Буланов, М. А. Юденко РЕШЕНИЕ КРИСТАЛЛОГРАФИЧЕСКИХ ЗАДАЧ С ПОМОЩЬЮ СТЕРЕОГРАФИЧЕСКИХ ПРОЕКЦИЙ Учебное пособие Иркутск 2006 УДК 548. 0 (02) ББК 26. 303 Б 90 Печатается по решению редакционно-издательского совета Иркутского государственного университета Н а у ч н ы й р е д а к т о р проф. А. И. Сизых Р е ц е н з е н т ы : проф. А. Н. Иванов; проф. Г. Я. Абрамович Буланов, В. А. Решение кристаллографических задач с...»

«МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Юго-Западный государственный университет (ЮЗГУ) Кафедра бухгалтерского учета, анализа и аудита УТВЕРЖДАЮ: Первый проректор – проректор по учебной работе Е.А. Кудряшов 2011 г. БУХГАЛТЕРСКИЙ УПРАВЛЕНЧЕСКИЙ УЧЕТ Методические указания по выполнению курсовой работы для студентов (слушателей), обучающихся по специальности 080109.65 Бухгалтерский учет, анализ и аудит Курск УДК...»

«Руководство для новоприбывших иммигрантов в Онтарио Russian Funded by Благодарственное слово Пособие Orientation to Ontario было создано для того, чтобы помочь новоприбывшим определить основные направления в процессе адаптации, найти учреждения, обслуживающие иммигрантов, а также создать свои собственные личные планы по обустройству. Проект Orientation to Ontario финансируется Службой по делам гражданства и иммиграции Канады (Citizenship and Immigration Canada CIC) и Министерством гражданства и...»

«Федерация настольного тенниса России Планирование и организация тренировочного процесса игроков в настольный теннис Сборник методических материалов №2 WWW.TTFR.RU Москва 2011 УДК 796.386 Планирование и организация тренировочного процесса игроков в настольный теннис. Сборник методических материалов № 2 /Федерация настольного тенниса России/ Автор-составитель Астахов С.В., / Общая редакция Барчуковой Г.В. – М.: Из-во, 2011. - 33 с. Сборник методических материалов № 2 подготовлен по материалам...»

«МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ по применению Классификации запасов месторождений и прогнозных ресурсов твердых полезных ископаемых Марганцевые руды Москва, 2007 Разработаны Федеральным государственным учреждением Государственная комиссия по запасам полезных ископаемых (ФГУ ГКЗ) по заказу Министерства природных ресурсов Российской Федерации и за счет средств федерального бюджета. Утверждены распоряжением МПР России от 05.06.2007 г. № 37-р. Методические рекомендации по применению Классификации запасов...»

«Федеральное агентство по образованию Нижегородский государственный университет им. Н.И. Лобачевского Национальный проект Образование Инновационная образовательная программа ННГУ. Образовательно-научный центр Информационно-телекоммуникационные системы: физические основы и математическое обеспечение Е.С.Демидов, А.А.Ежевский, В.В.Карзанов Магнитные резонансы в твёрдых телах Учебно-методические материалы по программе повышения квалификации Новые материалы электроники и оптоэлектроники для...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИТОГОВАЯ ГОСУДАРСТВЕННАЯ АТТЕСТАЦИЯ ВЫПУСКНИКОВ СПЕЦИАЛЬНОСТЬ 200100- Микроэлектроника и твердотельная электроника учебно-методическое пособие Иркутск 2006 УДК 378.146.9 ББК 74.58р30 И-92 Печатается по решению научно-методического совета ГОУ ВПО Иркутский государственный университет Под редакцией к.ф.-м.н., доц. Карнакова В.А Составители:...»

«ВСЕРОССИЙСКАЯ ОЛИМПИАДА ШКОЛЬНИКОВ ПО ГЕОГРАФИИ Методические рекомендации по разработке заданий для школьного и муниципального этапов всероссийской олимпиады школьников по географии в 2012/2013 учебном году1 Москва 2012 1 Составители А.С. Наумов (МГУ имени М.В. Ломоносова) и В.А. Усков (Рязанский государственный университет имени С.А. Есенина). Методические рекомендации утверждены на заседании Центральной предметно-методической комиссии по географии. Методические рекомендации по разработке...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ ХАРЬКОВСКАЯ НАЦИОНАЛЬНАЯ АКАДЕМИЯ ГОРОДСКОГО ХОЗЯЙСТВА МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ОРГАНИЗАЦИИ ПРАКТИЧЕСКОЙ И САМОСТОЯТЕЛЬНОЙ РАБОТЫ ПО ДИСЦИПЛИНАМ ИНОСТРАННЫЙ ЯЗЫК НАУЧНОГО И ДЕЛОВОГО ОБЩЕНИЯ ИНОСТРАННЫЙ ЯЗЫК ДЛЯ ВЕДЕНИЯ НАУЧНОЙ ДЕЯТЕЛЬНОСТИ, ПРОФЕССИОНАЛЬНЫЙ ИНОСТРАННЫЙ ЯЗЫК (АНГЛИЙСКИЙ ЯЗЫК), ДЕЛОВОЙ ИНОСТРАННЫЙ ЯЗЫК (АНГЛИЙСКИЙ ЯЗЫК) (для студентов образовательно-квалификационного уровня магистр) Харьков – ХНАГХ – Методические...»

«Бухгалтерский учет в бюджетных организациях Глава 1. Основы бухгалтерского учета 1.1. Реформирование бюджетного учета Постановлением Правительства РФ от 22 мая 2004 г. N 249 утвержден план мероприятий по реализации Концепции реформирования бюджетного пр оцесса в Российской Федерации в 2004 -2006 гг. Составной частью данного плана является реформирование учета в бюджетных организациях. Основополагающие документы по реформированию бюджетного учета: - Федеральный закон от 20 августа 2004 г. N 120...»

«Печатается по решению редакционно-издательского совета факультета международных отношений Амурского государственного университета Тимофеев О.А. (составитель) Введение в регионоведение. Учебно-методический комплекс для студентов специальности 032301 Регионоведение (США и Канада; Китай). – Благовещенск: Амурский гос. ун-т, 2007. – 111 с. + Приложение. Учебно-методический комплекс по дисциплине Введение в регионоведение предназначен для студентов факультета международных отношений, обучающихся по...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное бюджетное образовательное учреждение Курганский государственный университет УЧЕБНАЯ, НАУЧНАЯ И МЕТОДИЧЕСКАЯ ЛИТЕРАТУРА МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПОДГОТОВКЕ РУКОПИСЕЙ К ИЗДАНИЮ КУРГАН 2012 Составители: А.В. Зайцев, Я.А. Борщенко, О.Г. Арефьева, Н.М. Быкова. Рекомендованы методическим советом университета 21 декабря 2012 года. РАЗРАБОТАНЫ на основе издания: Учебная, научная и методическая литература [Текст] :...»

«Обзор изменений в законодательстве об образовании (в части, представляющей интерес для негосударственных вузов) (октябрь 2013 года) ОГЛАВЛЕНИЕ УКАЗЫ ПРЕЗИДЕНТА РОССИЙСКОЙ ФЕДЕРАЦИИ ПОСТАНОВЛЕНИЯ ПРАВИТЕЛЬСТВА РФ ПРИКАЗЫ МИНОБРНАУКИ РОССИИ МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ МИНОБРНАУКИ РОССИИ ПИСЬМА МИНОБРНАУКИ РОССИИ ПРИКАЗЫ И РАСПОРЯЖЕНИЯ РОСОБРНАДЗОРА ПИСЬМА РОСОБРНАДЗОРА ПРИКАЗЫ РОСМОЛОДЕЖИ УКАЗЫ ПРЕЗИДЕНТА РОССИЙСКОЙ ФЕДЕРАЦИИ 25.10.2013 № 803...»

«СОДЕРЖАНИЕ 1. ЦЕЛИ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ 2. ХАРАКТЕРИСТИКА ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ ВЫПУСКНИКА ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ 2.1. Область профессиональной деятельности выпускника. 2.2. Объекты профессиональной деятельности выпускника. 2.3. Виды профессиональной деятельности выпускника. 2.4. Задачи профессиональной деятельности выпускника. 3. ТРЕБОВАНИЯ К РЕЗУЛЬТАТАМ ОСВОЕНИЯ ОСНОВНОЙ ОБРАЗОВАТЕЛЬНОЙ ПРОГРАММЫ 3.1. Перечень требуемых компетенций выпускника вуза по данной...»














 
© 2013 www.diss.seluk.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Методички, учебные программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.