Службы SQL- Server. Реляционное ядро. Transact-SQL. Visual Studio и CLR. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Службы SQL- Server. Реляционное ядро. Transact-SQL. Visual Studio и CLR.



Службы SQL- Server. Реляционное ядро. Transact-SQL. Visual Studio и CLR.

SQL Server—это набор служб и компонентов, связанных с базами данных, которые могут совместно использоваться для построения мощных решений для конечного пользователя. Реляционное ядро SQL Server (ядро базы данных) является сердцем SQL Server. Это процесс, поддерживающий всю реляционную работу базы данных. SQL — декларативный язык, т.е. он описывает ядру базы данных запрос, который тот должен выполнить. Именно он заставляет работать этот механизм.

SQL Server поддерживает установку до пятидесяти экземпляров реляционного ядра на одном физическом сервере..

В реляционном ядре существует несколько ключевых процессов и компонентов, в том числе следующие:

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

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

· Lazy Writer. Записывает страницы данных, которые были изменены в памяти, в файл данных.

· Монитор ресурсов. Оптимизирует кэш планов запросов в соот­ветствии с нагрузкой на память и избирательно удаляет из него старые планы.

· Диспетчер блокировок. Динамически управляет множеством блоки­ровок, выполняя балансировку количества затребованных блокировок с их размерами.

·содержит собственный уровень ОС, называемый SQLOS, который управляет всеми внутренними ресурсами.

Язык Transact-SQL(T-SQL) — диа­лект SQL, распознаваемый SQL Server. Ядро SQL Server понимает только этот язык.

Пакеты хранимых команд T-SQL могут выполняться на сервере как хранимые про­цедуры.

Команды SQL и T-SQL можно разбить на три категории.

■ Язык манипулирования данными (DML). Включает в себя популярные инструкции SQL select, insert, update и delete.

■ Язык определения данных (DDL). Содержит инструк­ции, создающие и модифицирующие таблицы данных, ограничения и прочие объекты базы данных.

■ Язык управления данными (DCL). Содержит инструкции управления системой безопасности, такие как grant, revoke и deny.

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

Достаточно важно то, что в SQLOS поддерживается CLR. Это значит, что SQL Server управляет ресурсами CLR. СУБД может разрешить проблемы CLR, завершить выполнение и перезапустить процедуру CLR.

По умолчанию общий интерпретатор языков CLR в SQL Server 2005 отключен. Но при желании его можно специально включить с помощью утилиты Surface Area Configuration Tool или команды T-SQL set. Когда интерпретатор включен, состояние любой сборки или способность доступа к программам вне SQL Server будет тщательно контролироваться.

 

Службы SQL- Server. Брокер служб. Служба репликаций. Полнотекстовый поиск. Служба уведомлений. Объекты управления сервером (SMO). SQLServerAgent. Координатор распределенных транзакций. SQLMail.

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

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

■ Брокер служб может буферизовать большие объемы вызовов Web-служб HTTP или хранимых процедур. Вызовы Web-служб помещаются в очередь, и хранимые процедуры могут быть вызваны несколькими экземплярами SQL Server.

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

SQL Server содер­жит команды DDL, управляющие брокером служб; есть команды T-SQL, помещающие дан­ные в очередь и извлекающие их из нее. Брокер служб основательно протестирован и спроектирован специ­ально для систем с исключительно большой нагрузкой.

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

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

Служба уведомлений может быть запрограммирована для отправки сообщений при возникновении определенных событий с данными.

Server Management Objects (SMO)— это набор объектов, который открывает функции конфигурирования и управления SQL Server для программирования с помощью кода.NET. Объекты SMO не предназначены для разработки приложений баз данных — они используют­ся производителями при разработке инструментария SQL Server, такого как утилита Mana­gement Studio, сторонние интерфейсы управления или утилиты резервного копирования. SMO использует пространство имен Microsoft.SQLServer.SMO.

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

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

Компонент SQL Mail позволяет серверу отправлять электронные сообщения на внешний почтовый ящик по протоколу SMTP. Почтовые сообщения могут генерироваться множеством источников в SQL Server, в том числе кодом T-SQL, заданиями, предупреждениями, службой интеграции и планами обслуживания.

 

Различные редакцииSQL Server 2005. Enterprise Edition. Standard Edition. Workgroup Edition. Express Edition. Everywhere Edition.

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

Enterprise (Developer) Edition

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

■ Разделение таблиц. Эта функция позволяет получить удивительные результаты произ­водительности при использовании протокола TCP.

■ Параллельное индексирование в реальном времени.

Developer Edition лицензируется только для разра­ботки приложений и их тестирования и запускается в операционных сис­темах, предназначенных для рабочих станций. Эта редакция поставляется в составе паке­та MSDN Universal и также может быть приобретена отдельно. Это самая дешевая редакция SQL Server.

Standard Edition

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

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

Workgroup Edition

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

■ Ядро базы данных поддерживает два процессора, максимум 3 Гбайт памяти и не имеет ограничений на размер базы данных.

■ Поддерживаются некоторые функции высокой доступности, такие как доставка жур­налов, но не поддерживается зеркальное отображение баз данных и кластеризация.

■ Включает службу отчетности, но не включает службу анализа для формирования ку­бов и бизнес-анализа.

■ Имеет все программные возможности SQL Server

■ Поддерживается администрирование автоматизации с помощью SQL Server Agent.

■ Поддерживаются репликации транзакций и слияния.

Ключевой функцией, отсутствующей в этой редакции, является служба интеграции.

Express Edition

Это бесплатная, полно­ценная версия ядра SQL Server, предназначенная для использования с некоторым приложени­ем. Эта редакция содержится в пакетах MSDN Universal, Office Developer Edition 11 и во всех продуктах Microsoft, предназначенных для разработчиков программ.

Редакция Express имеет некоторые ограничения: максимальный объем базы данных со­ставляет 4 Гбайт, поддерживается только один процессор и 1 Гбайт памяти.

Everywhere Edition

Редакция SQL Server Everywhere с технической стороны представляет собой полностью отличное ядро базы данных, совместимое с SQL Server. Ее скромные потребности в памяти (всего 1 Мбайт) гарантируют ее использование на мобильных устройствах. Несмотря на то что она запускается на карманных компьютерах, это полноценное АСГО-совместимое ядро базы данных.

 

 

6. Утилиты и компоненты SQLServer. SQL Server Management Studio. SQL Server Configuration Manager. Surface Area Configuration. Business Intelligence Development Studio. ИнтегрированнаясправкаSQL. SQL Profiler. Performance Monitor. Database Tuning Advisor. Утилитыкоманднойстроки:SQLCmdиBulkCopy.

Для управления SQL Server и взаимодействия с ней используются следующие компоненты и клиентские утилиты.

Surface Area Configuration

В целях сокращения ресурсов, потребляемых SQL Server, множество функций по умолчанию отключено. Несмотря на то что большинство этих функций можно включить с помощью инструкций T-SQL, утилита Surface Area Configuration открывает простейший путь к их конфигурированию.

SQL Profiler

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

Performance Monitor

Утилита Performance Monitor выводит в от­крытое окно текущее состояние выбранных счетчиков. Ее можно найти в папке администрирования панели управления системы Windows. Если на компьютере установлен пакет SQL Server, то его счетчики автоматически добавляются в Performance Monitor.

Database Tuning Advisor

Утилита Database Tuning Advisor анализирует пакет запросов (полученный из утилиты Profiler) и рекомендует изменить структуру индексов и разделов для повышения произво­дительности.

Системные базы данных

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

■ Master. Содержит информацию обо всех базах данных, размещенных на сервере. К то­му же объекты базы Master доступны и для остальных бах данных.

■ MSDB. Содержит список действий, таких как резервное копирование и выполнение заданий, а также определяет порядок резервного копирования всех пользователь­ских баз данных.

■ Model. Это база данных шаблонов, на основе которой создаются новые базы дан­ных. Любой объект, помещенный в базу данных Model, будет скопирован во все новые базы данных.

■ Tempdb. Используется для хранения временных таблиц, создаваемых пользователями, пакетами, хранимыми процедурами (включая системные) и самим ядром SQL Server. Если серверу необходимо создать временные кучи или списки в ходе выполнения за­проса, то все они создаются именно в базе данных Tempdb. Эта база данных полно­стью очищается при перезапуске SQL Server.

■ Reference. Эта скрытая база данных является разделом базы данных Master и раз­мещена в том же каталоге. Она предназначена для облегчения установки пакетов обновлений.

Представления метаданных

Метаданными называют общую информацию о самих данных. SQL Server имеет несколько типов метаданных:

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

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

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

■ Представления информационной схемы не поддерживаются стандартом ANSI SQL-92 и служат для обзора схемы любого продукта базы данных.

 

 

Установка SQL Server. Планирование установки. Рекомендации относительно аппаратной части. Установка пакета.

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

Рекомендации: 1. Наличие в ыделенного сервера( ослабляет остроту некоторых вопросов (нехватка памяти для обработки запросов, перегруженность сервера) )2. Потребности в памяти ( SQL Server 2005 динамически захватывает и высвобождает оперативную память по мере не­обходимости и выполняет балансировку области памяти, используемой для обработки запросов.)3. Использование множества процессоров ( Расширенные технологии, исполь­зуемые в процессорах (такие как множество потоков или ядер), могут существенно повысить производительность сервера, при этом совершенно не влияя на стоимость лицензирования.) 4. Дисковая подсистема ( Сер­веру для обеспечения своих потребностей лучше использовать дисковую систему с высокой пропускной способностью. )5.Дисковые RAID-массивы (избыточный массив независимых/недорогих дисков.) Это категория дисковых устройств, в которых задействовано два и более привода в комбинации с повышенной производительностью и защитой от сбоев. 6.Производительность сети. Такое решение, как обособленность сетевых карт, которые берут на себя обработку пакетов, высвобождая процес­сор, способно повысить общую производительность как сети, так и сервера.

Как только план установки будет готов и вы удостоверитесь, что сервер удовлетворяет техническим требованиям SQL Server, можно приступать к установке пакета. Виды установки: 1. Сопровождаемая установка:

■ Выберите устанавливаемые компоненты.

■ Введите имя экземпляра.

■ Выберите настройку Service Account.

■ Выберите метод аутентификации (Authentication Mode).

■ Установите режим упорядочения (Collation).

■ Установите флажки Error и Usage Report.

■ Щелкните на кнопке Install, чтобы начать установку SQL Server 2005.

Несопровождаемая установка: SQL Server 2005 предлагает инсталляцию на основе файла конфигурации. ini. На режим установки влияют следующие параметры.

■ /qn. Позволяет выполнить “тихую” установку, без открытия диалоговых окон.

■ /qb. Позволяет отображать только диалоговые окна хода установки.

Удаленная установка: Пакет SQL Server 2005 может быть установлен на удаленный сетевой компьютер.

Установка на кластер:

При установке SQL Server 2005 на кластер в диалоговом окне выбора устанавливаемых компонентов SQL Server и(или) Analysis Server установите флажок Install as a Virtual Server. Эти флажки будут доступны только в кластерной среде. Убедитесь, что используемая административная учетная запись домена имеет достаточно прав и что для устанавливаемых служб выбрана доменная учетная запись.

Установка множества экземпляров: SQL Server 2005 позволяет запустить на одном физическом компьютере до шестнадцати экземпляров сервера.

 

Организация интерфейса

Утилита Management Studio содержит набор функций, которые можно открыть с помощью меню View: 1. Object Explorer (<F8>). Используется для создания и администрирова­ния объектов баз данных SQL Server 2005. 2.Summary (<F7>). Эта панель содержит основную информацию о выделенном объекте; на ней также можно увидеть некоторые отчеты. 3.Registered Servers (<Ctrl+Alt+G>). Используется для управления подклю­чениями к нескольким ядрам SQL Server 2005. 4.Template Explorer (<CtrI+AIt+T>). И спользуется для управления шабло­нами программ T-SQL. 5.Solution Explorer (<Ctrl+Alt+L>). Используется для организации проектов и управления текстами программ. 6.Properties (<F4>). На этой панели отображаются свойства выделенного объекта. 7.Bookmarks (<Ctrl+K>, <Ctrl+W>). На этой панели перечислены закладки, установ­ленные в окне Query Editor. 8.Web Browser (<Ctrl+Alt+R>). Используется в редакторе запросов для отображения текстов XML или HTML. 9.Output Window (<Ctrl+Alt+0>). Отображаются сообщения от интег­рированных в Management Studio средств разработки. 10.Query Editor. Этот редактор запросов позволяет создавать, редактировать и выполнять пакеты инструкций T-SQL.

Размещение окон. Любое окно можно сделать прикрепленным или плавающим, включить как закладку в другое окно, а также скрывать за одной из границ главного окна программы. Также можно автоматически изменить режим отображения окна, перетаскивая его за заголовок в соответствующее место экрана. Доступные режимы: 1.floating (плавающее); 2. tabbed (режим вкладки); 3. Рабочая область документа может хранить больше вкладок, чем может на ней физиче­ски поместиться.(скрытые вкладки); 4. dockable (прикрепленное) 5. режим сокрытия окон

Контекстное меню -основной механизм выбора действий и просмотра свойств в Management Studio. Контекстное меню, связанное с большинством типов объектов, содержит пункты создания новых объектов и задач, выполняемых с ними.

На странице Summary скрывается несколько полезных отчетов. Эта страница также является ме­стом множественного выбора подузлов, связанных с текущим узлом.

 

 

Введение в шаблоны

Шаблоны утилиты Management Studio являются стартовой точкой при создании новых типов кода, обеспечивая целостность программ. Управление шаблонами выполняется в окне Template Explorer. Для использования шаблона следует создать новое окно редактора запросов, указав данный шаблон.

Шаблоны хранят сценарии SQL в структуре папок. Это значит, что можно без труда создавать собственные шаблоны и менять уже существующие. Папка для хранения шаблонов задаётся во вкладке General диалогового окна Options. Это позволит нескольким разработчикам совместно использовать общий набор шаблонов, размещённый на каком-либо сетевом устройстве.

Реализация физической схемы базы данных. Проектирование физической схемы базы данных. Варианты проектирования физической схемы.

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

¾ Создание файлов базы данных.

¾ Создание таблиц.

¾ Создание первичных и внешних ключей.

¾ Создание столбцов данных.

¾ Создание ограничений, гарантирующих целостность данных.

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

 

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

¾ Преобразование сложного логического проекта в более простые и гибкие структуры таблиц.

¾ Преобразование составных первичных ключей в опирающиеся только на один столбец.

¾ Преобразование бизнес-логики в ограничения и триггеры.

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

Варианты проектирования физической схемы

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

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

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

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

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

 

 

Корректировка модели данных. Вопросы производительности. Вопросы масштабируемости. Ответственный подход к денормализации.

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

Вопросы производительности

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

Вопросы масштабируемости

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

¾ Использование последовательного соглашения об именах.

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

¾ Использование сценариев, а не Management Studio.

¾ Избежание использования непереносимых расширений, не входящих в стандарт ANSI SQL.

¾ Поддержание целостности данных с помощью ограничений с самого начала разработки.

¾ Изначальная разработка ядра системы.

¾ Документирование не только того, как работает процедура, но и почему она работает именно так.

Создание базы данных. Команда DDLCreate. Концепции файлов базы данных. Автоматизация роста размера файла. Использование множества файлов. Планирование нескольких файловых групп.

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

CREATE DATABASE CHA2

Инструкция CREATE создает файл данных с заданным именем и расширением.mdf, а также файл журнала транзакций с расширением.ldf. Команда CREATE поддерживает множество параметров:

¾ Порядок символов по умолчанию — принятый на сервере.

¾ Исходный размер.

¾ Размещение.

Создание баз данных в окне Object Explorer требует только ввода ее имени в форме. Данное окно открывается после щелчка правой кнопкой мыши на узле Database и выбора в контекстном меню пункта New Database.

 

База данных состоит из двух наборов файлов: файлов данных и журнала транзакций. Файл данных содержит системные и пользовательские таблицы, индексы, представления, хранимые процедуры, пользовательские функции, триггеры и разрешения системы безопасности. Журнал транзакций с последовательной записью является “центром” SQL Server. Журнал транзакций содержит не только пользовательские записи, но и индексные записи, разбиения страниц, реорганизации таблиц и многое другое. Так как файл транзакций содержит не только текущую информацию, но и все обновления файла данных, он, как правило, все время разрастается.

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

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

¾ File growth in megabytes. Когда файл данных требует расширения, он автоматически увеличивается на заданное количество мегабайт..

¾ File grouth by percent. В случае необходимости размер файла данных автоматически увеличивается на заданный процент. Этот вариант лучше использовать в небольших базах данных.

b) Maximum file size (не позволит переполниться дисковой подсистеме).

Количество файлов, используемых текущей базой данных, можно легко изменить. Если данные заполнили устройство, можно добавить новый файл в таблице Database Files. Если некоторый файл больше не требуется он может быть удален. Для этого его нужно вначале сжать с помощью функции DBCC ShrinkFile, а затем удалить в утилите Management Studio.

Файловая группа представляет собой расширенный механизм организации объектов базы данных. По умолчанию база данных имеет всего одну файловую группу — первичную. При конфигурировании базы данных для использования нескольких файловых групп конкретные объекты (таблицы, индексы и т.п.) могут создаваться в заданных группах. Эта методика может поддерживать две основные стратегии: 1)использование нескольких файловых групп способно повысить производительность за счет разделения таблиц и индексов на разные дисковые подсистемы 2)использование нескольких файловых групп может помочь организовать план резервирования и восстановления, помещая статические данные в одну файловую группу и активизированные данные — в другую.

 

Работа со сценариями SQL

Преимущества реализации схемы в сценариях:

¾ Код сценария находится в одном месте.

¾ Сценарии могут храниться в узлах решений и проектов в Solution Explorer, а также в Microsoft Source Safe или в другой системе управления изменениями.

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

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

В то же время работа со сценариями имеет и свои недостатки:

¾ Инструкции Т-SQL могут оказаться незнакомыми, а размер сценария может быть запредельно большим.

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

¾ Диаграммы базы данных Management Studio не являются частью сценария.

Схемы

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

Сервер.база_данных.схема.объект

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

Имена таблиц и столбцов

SQL Server допускает использование в именах таблиц и столбцов до 128 символов Unicode, включая пробелы, а также символы верхнего и нижнего регистров. При проектировании базы данных необходимо учитывать: 1)В именах таблиц используется единственное число без чисел, но с префиксом; 2)В связывающих таблицах, разрешающих отношения “многие ко многим”, используются имена типа таблица_таблица; 3)В именах для разделения слов используется смешанный регистр символов без подчеркиваний и пробелов; 4)Для первичных ключей используется имя таблицы, дополненное символами ID.

Файловые группы

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

Создание внешних ключей

Внешние ключи представляют собой разновидность ограничений для таблицы. Перед установкой внешних ключей следует для начала определить для зависимых таблиц уникальные индексы – первичный ключ. Установление уникального индекса для некоторого поля таблицы обеспечивает уникальность значений записей в данном поле. Для создания ограничения внешнего ключа в Management Studio необходимо выполнить следующие шаги:

¾ В контекстном меню папки «Ключи» заданной таблицы необходимо выбрать команду «Создать внешний ключ…».

¾ В открывшемся окне «Отношения внешнего ключа» заполните следующие поля:

¾ Имя: здесь необходимо корректно ввести имя;

¾ Спецификация таблиц и столбцов: Для заполнения данного блока необходимо щёлкнуть на кнопке с многоточием и в появившемся окне «Таблицы и столбцы» заполнить поля (указать первичный ключ).

¾ Закрыть все открывшиеся окна с сохранением изменений.

 

Типы данных столбцов

Тип данных столбца служит для двух целей:

¾ Обеспечивает первый уровень целостности данных. Символьные данные не могут быть занесены в столбцы типов даты-время и числового типа.

¾ Определяет объём дискового пространства, выделяемого для столбца.

SQL Server поддерживает несколько символьных типов данных:1)Char (n) - символьные данные фиксированной длины,могут содержать до 8000 символов; 2)Nchar (n) –символьные данные фиксированной длины в таблице Unicode; 3) Varchar (n) - символьные данные переменной длины,могут содержать до 8000 символов; 4) varchar (max) - символьные данные переменной длины,могут содержать до 2 Гбайт информации; 5) nvarchar (n) - символьные данные переменной длины,хранящие до 8000 символов при использовании порядка; 6) nvarchar (max) - символьные данные переменной длины,хранящие до 2 Гбайт; 7) text - символьные данные переменной длины,содержащие до 2147483647 символов; 8) ntext - символьные данные таблице Unicode,содержащие до 1073741823 символов; 9) sysname – пользовательский тип данных, использ. для имен таблиц и столбцов.

Вычисляемые столбцы

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

Каталог данных

Несмотря на то что в SQL Server отсутствует каталог данных, ему на замену могут прийти пользовательские типы, которые обладают следующими свойствами:

¾ определены тип данных и длина;

¾ определена допустимость пустых значений;

¾ предопределены правила, примен. к типу данных;

¾ предопределены значения по умолчанию.

Чтобы создать каталог данных из правил, значений по умолчанию и пользовательских типов данных, а затем применить это всё ко множеству баз данных, лучше всего создать отдельный сценарий DataCatalog.sql, а затем запускать его в каждой базе или поместить в БД модели.

 

Реализация триггеров. Основы триггеров. Порядок выполнения транзакций. Создание триггеров. Триггеры After. Триггеры Instead of. Ограничения триггеров. Отключение триггеров. Создание списка триггеров. Триггеры и безопасность.

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

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

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

1. Проверка Identity Insert

2. Ограничение допустимости пустых значений

3. Проверка типа данных

4. Выполнение триггера INSTEAD OF. Если такой триггер сущ-ет, то выполнение инструкции DML останавливается в этой точке. Такие триггеры не могут быть рекурсивными.

5. Ограничение первичного ключа.

6. Ограничение проверки

7. Ограничение внешнего ключа

8. Выполнение инструкции DML и обновление журнала транзакций

9. Выполнение триггера AFTER

10. Подтверждение транзакций

11. Запись в файл данных

Триггеры создаются и модифицируются с помощью стандартных команд языка DDL CREATE, ALTER и DROP следующим образом:

AFTER CREATE TRIGGER имя_триггера ON имя_таблицы

AFTER Insert, Update Delete

AS

Программный_ код_ триггера

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

Триггеры INSEAD OF заменяют транзакцию (т.е. выполняются вместо нее). Эти триггеры особенно полезны, когда заранее известно, что инструкция DML, запустившая триггер, почти наверняка будет отменена, а вместо нее должна быть реализована некоторая логика. Ограничения триггеров. Следующие инструкции недопустимы в триггерах:

1. CREATE, ALTER и DROP.(создание, изменение и удаление таблицы)

2. RECONFIGURE (изменение конфигурации

3. RESTORE (изменение БД)

4. DISK RESIZE (изменение размеров дискового пространства)

5. DISK INIT(инициализация диска)

Отключение триггеров. Для временного отключениятриггеров исп-ся инстр-я DDL ALTER TABLE с параметром DISABLE TRIGGER

ALTER TABLE имя_таблицы DISABLE TRIGGER имя_триггера

ALTER TABLE имя_таблицы ENABLE TRIGGER имя_триггера

Создание списка триггеров. Для этого используется следующий запрос:

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

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 242; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.237.178.126 (0.164 с.)