Понятие данных, принципы построения информационных систем

Автор работы: Пользователь скрыл имя, 19 Января 2014 в 13:37, доклад

Краткое описание

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

Прикрепленные файлы: 1 файл

Понятие данных.docx

— 165.19 Кб (Скачать документ)

Следует отметить, что вопросы создания и удаления триггеров обычно находятся  в компетенции администратора базы данных (АБД), а не разработчиков прикладного программного обеспечения. В следующей главе мы кратко коснемся основных проблем, которые необходимо решать АБД в процессе создания и эксплуатации базы данных, и средств, предоставляемых СУБД для этих целей.

 
Системное окружение и сервер базы данных. 
Системные базы данных

В процессе инсталляции Database Engine генерируются следующие системные базы данных: ♦ master; ♦ model; ♦ tempdb; ♦ msdb.

База  данных master

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

База  данных model

База данных model применяется в  качестве шаблона при создании баз  данных, определяемых пользователем. Она  содержит подмножество всех системных  таблиц базы данных master, которые нужны  каждой базе данных, создаваемой пользователем. Системный администратор может  изменять свойства базы данных model для  адаптации ее к специфическим  требованиям системы 

База  данных tempdb

База данных tempdb предоставляет  место для хранения временных  таблиц и других необходимых временных  объектов. Система, например, сохраняет  промежуточные результаты вычислений сложных выражений в базе данных tempdb. База данных tempdb используется всеми базами данных, принадлежащими системе. Ее содержимое уничтожается каждый раз при рестарте системы. Система хранит три различных элемента в базе данных tempdb: ♦ пользовательские объекты; ♦ внутренние объекты; ♦ историю версий. Личные и глобальные временные таблицы, которые создаются пользователями, сохраняются в базе данных tempdb. Другими объектами, сохраняемыми в этой системной базе данных, являются переменные таблиц и функции с табличными значениями.

База  данных msdb

База данных msdb используется компонентом SQL Server Agent для протоколирования сообщений (alert) и заданий. Эта системная  база данных содержит сведения о планировании задач, обработку исключений, управление сообщениями и информацию системных  операторов; например, база данных msdb содержит информацию для всех операторов, таких  как адреса электронной почты, номера страниц, историю обо всех операциях  резервного копирования и восстановления баз данных.

Хранение  данных на диске

Архитектура хранения данных в Database Engine содержит две основные единицы для  хранения объектов базы данных: ♦ страницу; ♦ экстент. Основной единицей хранения данных является страница. Размер страницы всегда составляет 8 Кбайт. Каждая страница имеет 96-байтовый заголовок, используемый для хранения системной информации. Строки данных располагаются на странице сразу после заголовка. Database Engine поддерживает различные типы страниц, наиболее важные из них: ♦ страницы данных; ♦ индексные страницы. При  создании таблицы или индекса  система выделяет фиксированный  объем внешней памяти для хранения данных таблицы или индекса. Когда  это пространство заполняется, то должна быть выделена дополнительная память.

Свойства  страниц данных

Все типы страниц данных имеют фиксированный  размер (8 Кбайт), страницы содержат следующие  три части: ♦ заголовок страницы; ♦ пространство для данных; ♦  таблицу смещений строк.

Заголовок страницы

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

Зарезервированное пространство для данных

Часть страницы, зарезервированная  для данных, имеет переменную длину, которая зависит от количества и  размера строк, хранящихся на этой странице. Для каждой строки, хранимой на странице, есть запись в зарезервированном  для данных пространстве и запись в таблице смещения строк в  конце страницы. (Данные строки не могут  размещаться на двух и более страницах  за исключением значений данных varchar (max) и varbinary (max), которые хранятся в  собственных специфических страницах.) Каждая новая строка сохраняется  после уже сохраненных строк, пока страница не будет заполнена

Типы  страниц данных

Страницы данных используются для  хранения данных таблицы. Существуют два  типа страниц данных, каждый из которых  используется для хранения данных в  различных форматах: ♦ страницы данных последовательных строк (in-row data pages); ♦ страницы данных переполнения строк (row-overflow data pages).

Страницы  данных последовательных строк

Ничего особенного нельзя сказать  про страницы данных последовательных строк: они являются удобными страницами, в которых хранятся данные и индексная  информация. Все данные, не относящиеся  к LOB, всегда сохраняются  в  страницах  последовательных строк.  Значения типов данных varchar (мах), nvarchar (мах), varbinary (мах)   и xml также могут храниться в последовательных страницах, если в системной процедуре sp_tabieoption опция large value types out of row установлена в 0. В этом случае все такие значения хранятся непосредственно в строке данных, не превышая ограничения 8000 байтов, и если значение умещается в записи. Если значение не может поместиться в записи, то в строке сохраняется указатель

Страницы  данных переполнения строк

Значения столбцов varchar (mах) , nvarchar (mах) и varbinary (max) могут быть сохранены  вне текущей страницы базы данных. Как вы уже знаете, 8 Кбайт является максимальным размером строки на странице данных, но вы можете расширить это ограничение размера, если используете столбцы столь больших типов данных. В таком случае система сохраняет значения этих столбцов в дополнительных страницах, которые называются страницами переполнения строк. Хранение данных в страницах переполнения строк выполняется только при соблюдении некоторых условий. Первичным фактором является размер строки: если строка требует более 8060 байтов, то значения некоторых столбцов будут сохраняться на страницах переполнения.

Параллельное  выполнение задач

Database Engine может одновременно выполнять  различные задачи базы данных. Следующие задачи могут выполняться  параллельно: ♦ массовая загрузка  данных; ♦ резервное копирование;  ♦ выполнение запроса; ♦ индексы. Database Engine позволяет одновременно  загружать данные посредством  утилиты bср. (Описание утилиты  bср см. в следующем разделе.) Таблица,  в которую загружаются данные, не должна иметь никаких индексов, а операция загрузки не должна  быть зарегистрированной. Только  приложения, использующие ODBC или OLE DB API, могут выполнять параллельную  загрузку данных в одну таблицу. Database Engine может выполнять резервное  копирование баз данных или  транзакций на множество устройств  (лента или диск), используя параллельное  «расслоенное» копирование. 

Утилиты и команда DBCC

Утилиты являются компонентами, которые  предоставляют различные возможности, такие как достоверность данных, определение данных и функции  сохранения статистики. Все утилиты Database Engine имеют два основных свойства: ♦ они вызываются при использовании  команд операционной системы; ♦ каждая утилита имеет несколько необязательных параметров. В этом разделе описываются  утилиты bср и sqicmd. Команды являются операторами Transact-SQL, которые оказывают  влияние на содержимое систем базы данных. В отличие от утилит, команды  выполняются при использовании SQL Server Management Studio. Из всех команд В этом разделе обсуждается только DBCC.

Утилита bср

Утилита bср (Bulk Copy Program, программа массового  копирования) является полезной утилитой, которая выполняет копирование  данных базы данных в файл данных (или  из файла данных в базу данных). Поэтому bср часто используется для преобразования большого объема данных в базу данных Database Engine из других реляционных СУБД при использовании текстового файла (или наоборот). Синтаксис утилиты Bcp: Bcp [[db_name.]schema_name] table_name (in | out | queryout |  format} file_name [{-option parameter}  ...] Здесь db_name- имя базы данных, которой принадлежит таблица (tabie_ пате). Ключевые слова in и out указывают направление преобразования данных.

Утилита sqlcmd

Утилита sqlcmd позволяет вам вводить  операторы Transact-SQL, вызывать системные  процедуры и файлы скриптов из подсказки командной строки. Общий  синтаксис этой утилиты: sqlcmd {option [parameter]}  ... Здесь option является основной опцией утилиты, a parameter задает значение указанной опции. Утилита sqlcmd имеет множество опций, наиболее важные из которых описаны в табл. 15.2.         В примере 15.4 показано использование утилиты sqlcmd.     В примере 15.4 пользователь системы базы данных с именем NTB1 1901 выполняет пакет, хранящийся в файле ms0510.sql, и сохраняет результат в выходном файле ms0510.rpt.

Команда DBCC

Язык Transact-SQL поддерживает оператор dbcc (Database Console Commands, консольные команды  базы данных), который работает как  команда Database Engine. В зависимости  от опций, используемых с dbcc, команды dbcc могут быть разделены на такие  группы, как: ♦ поддержка; ♦ информация; ♦ проверка; ♦ смешанные.

Команды проверки согласованности базы данных

Команды проверки осуществляют проверку согласованности базы данных. Следующие  команды принадлежат этой группе: ♦ dbcc checkalloc; ♦ dbcc checktable; ♦ dbcc checkcatalog; ♦ dbcc checkdb. Команда dbcc checkalloc проверяет, для  каждого ли экстента, указанного в  системе, выделена память, а также  существуют ли выделенные экстенты, которые  не отмечены в системе. Таким образом  эта команда выполняет проверку экстентов. Команда dbcc checktable проверяет  целостность всех страниц и структур, которые составляют таблицу или  индексируемое представление. Все  выполняемые проверки осуществляются физически и логически. Физические проверки, контролируют целостность  физической структуры страницы.

Резюме  к системному окружению БД

В этом разделе были описаны некоторые  возможности системного окружения Database Engine: ♦ системные базы данных; ♦ хранение данных на диске; ♦ утилиты  и команды. Системные базы данных содержат системную информацию и информацию высокого уровня обо всей системе базы данных. Наиболее важной из них является база данных master. Основной единицей дисковой памяти является страница. Размер страниц - 8 Кбайт. Наиболее важным типом страниц являются страницы данных. (Форма индексной страницы почти идентична структуре страницы данных.) Database Engine поддерживает множество утилит и команд. В этом разделе были рассмотрены две утилиты (sqlcmd и Bcp) и команды проверки dbcc. 

 

 
Система безопасности Database Engine. 
Параметры запуска службы Database Engine

 

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

 Внимание!

Неправильное использование  параметров запуска может повлиять на производительность сервера или  помешать запуску SQL Server.


О параметрах запуска

 

При установке SQL Server программа установки  сохраняет набор параметров запуска  в реестр Microsoft Windows. С помощью этих параметров можно указать альтернативный файл базы данных master, файл журнала базы данных master и файл журнала ошибок. Если компонент Компонент Database Engine не удается найти необходимые файлы, SQL Server на запустится.

Параметры запуска можно задать в диспетчере конфигурации SQL Server. Дополнительные сведения см. в разделе Настройка параметров запуска сервера (диспетчер конфигурации SQL Server).

Список параметров запуска

 

Параметры запуска  по умолчанию

Описание

-d master_file_path

Полный путь к файлу  базы данных master (обычно это C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\master.mdf). Если этот параметр не задан, используются параметры из реестра.

-e error_log_path

Полный путь к файлу  журнала ошибок (обычно это C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG). Если этот параметр не задан, используются параметры из реестра.

-l master_log_path

Полный путь к файлу  журнала базы данных master (обычно это C:\Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\Data\mastlog.ldf).Если данный параметр не указан, будут использованы параметры из реестра.

Дополнительные  параметры запуска

Описание

-c

Ускоряет запуск SQL Server из командной строки. Обычно компонент Компонент SQL Server Database Engine запускается в виде службы путем вызова диспетчера управления службами. Поскольку Компонент SQL Server Database Engine не запускается как служба при запуске из командной строки, используйте параметр -c, чтобы пропустить этот шаг.

-f

Запускает экземпляр SQL Server с минимальной конфигурацией. Эта функция полезна в случае, если установленные значения конфигурации (например, слишком большой объем выделяемой памяти) не позволяют выполнить запуск сервера. При запуске SQL Server с минимальной конфигурацией SQL Server  переходит в однопользовательский режим. Дополнительные сведения см. ниже в описании параметра  -m.

-gmemory_to_reserve

Определяет объем памяти в мегабайтах (МБ), которую SQL Server будет  оставлять другим приложениям внутри процесса SQL Server, но за пределами пула памяти SQL Server. Память за пределами пула памяти является областью, используемой SQL Server для загрузки элементов, например DLL-файлов расширенных процедур, поставщиков OLE DB, на которые ссылаются распределенные запросы, и объектов автоматизации, на которые ссылаются инструкции Transact-SQL. Значение по умолчанию — 256 МБ.

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

Используйте значение параметра -g по умолчанию, только если в файле журнала ошибок SQL Server не присутствуют следующие предупреждения:

  • «Ошибка виртуального выделения байтов: FAIL_VIRTUAL_RESERVE <размер>»
  • «Ошибка виртуального выделения байтов: FAIL_VIRTUAL_COMMIT <размер>»

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

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

-m

Запускает экземпляр SQL Server в однопользовательском режиме. В этом режиме к экземпляру SQL Server может подключиться только один пользователь, и процесс CHECKPOINT не запускается. Процесс CHECKPOINT гарантирует, что завершенные транзакции будут периодически переписываться из кэша диска на устройство базы данных. Этот параметр применяется обычно при возникновении проблем с системными базами данных, которые необходимо исправить. При использовании этого параметра включается параметр sp_configure allow updates. По умолчанию параметр allow updates отключен. При запуске SQL Server в однопользовательском режиме любой член локальной группы администраторов компьютера может подключиться к экземпляру SQL Server в качестве члена преопределенной роли сервера sysadmin.Дополнительные сведения см. в разделе Подключение к SQL Server в случае, если доступ системных администраторов заблокирован.Дополнительные сведения об однопользовательском режиме см. в разделе Запуск SQL Server в однопользовательском режиме.

-m"Client Application Name"

Ограничивает соединения с заданным клиентским приложением, если параметр -m используется с SQLCMD или Среда SQL Server Management Studio. Например, -m"SQLCMD" разрешает только одно соединение, которое должно идентифицироваться как клиентская программа SQLCMD. Этот параметр следует использовать, когда SQL Server запускается в однопользовательском режиме, а единственное доступное соединение занято неизвестным клиентским приложением. Для подключения через редактор запросов в Среда Management Studio используйте -m"Microsoft SQL Server Management Studio - Query".

В имени клиентского приложения учитывается регистр символов.

 Примечание по безопасности

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


-n

Указывает, что не нужно  использовать журнал приложений Windows для  регистрации событий SQL Server. Если экземпляр SQL Server запускается с параметром -n, рекомендуется также использовать параметр запуска -e. В противном случае события SQL Server не регистрируются в журнале.

-s

Позволяет запустить именованный  экземпляр SQL Server. Если параметр -s не задан, будет выполнена попытка запуска экземпляра по умолчанию. Перед запуском sqlservr.exe необходимо в командной строке перейти в каталог BINN соответствующего экземпляра. Например, если экземпляр Instance1 должен использовать \mssql$Instance1 для своих двоичных файлов, для запуска sqlservr.exe -s instance1пользователь должен быть в каталоге \mssql$Instance1\binn.

-T trace#

Указывает, что экземпляр SQL Server фактически должен запускаться  с установленным флагом трассировки (trace#). Флаги трассировки используются для запуска сервера в нестандартном режиме. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).

 Важно!

Если задается флаг трассировки  с помощью параметра -T, используйте заглавную букву «T» для передачи номера флага трассировки.SQL Server принимает и строчную букву «t», но в этом случае устанавливаются другие внутренние флаги трассировки, которые необходимы только инженерам службы поддержки SQL Server. (Параметры, установленные в окне запуска в области управления, не считываются.)


-x

Отключает следующие функции  наблюдения.

  • Счетчики системного монитора SQL Server.
  • Поддержку статистики времени ЦП и коэффициента попадания в кэш.
  • Сбор данных для команды DBCC SQLPERF.
  • Сбор данных для некоторых динамических административных представлений.
  • Многие точки событий расширенных событий.

 Внимание!

Если используется параметр запуска –x, значительно сокращается объем доступных данных для диагностики проблем производительности и функциональных проблем SQL Server.


-E

Увеличивает число экстентов, выделяемых для каждого файла  в файловой группе. Данный параметр может быть полезен для приложений с хранилищами данных, имеющих ограниченное число пользователей, которые запускают индексы или просматривают данные. Его нельзя использовать в других приложениях, так как он может неблагоприятно повлиять на производительность. Данный параметр не поддерживается 32-разрядными выпусками SQL Server.

Информация о работе Понятие данных, принципы построения информационных систем