Структура базы данных MS SQL Server 2016
Каждая база данных SQL Server состоит из набора файлов операционной системы. Создание базы данных – это процесс указания имени файла, определения размеров и размещения файлов базы данных, а также определение параметров файла журнала транзакций.
Можно выделить три типа файлов в базах данных MS SQL Server:
Первичные файлы данных. Как правило, используется расширение MDF. В любой базе данных есть один первичный файл, который содержит данные и описание расположения всех остальных файлов БД.
Вторичные файлы данных. Как правило, используется расширение NDF. Вторичным является любой файл кроме первичного и файлов журналов. Можно иметь ноль, один или несколько вторичных файлов. Для некоторых баз данных требуется иметь несколько вторичных файлов, чтобы размещать данные по нескольким отдельным дискам.
3. Файлы журналов. Как правило, используется расширение LDF. В каждой БД существует по меньшей мере один файл журнала. Журнал транзакций содержит сведения об изменениях, происходящих в БД, т.е. при совершении некоторой транзакции (операции) в этот журнал заносятся сведения. Со временем этот журнал становится все больше, поэтому требуется следить за его размером. Основное назначение журнала транзакций – это обеспечение целостности данных. Он позволяет отменять сделанные изменения в БД. Место на диске, отводимое для файлов журналов всегда должно администрироваться отдельно от места, отводимого для данных, и никогда не должно быть частью файла данных.
Для удобства администрирования и распределения нагрузки файлы можно объединять в файловые группы, которые делятся на два вида.
Первичные файловые группы. Сюда входят первичный файл и все файлы, которые явным образом не были помещены в другую группу.
Пользовательские файловые группы – это любая группа создаваемая пользователем в БД.
Файлы журналов не входят ни в одну файловую группу, они обрабатываются отдельно от обычных файлов.
Новая база данных представляет собой копию базы данных model, все параметры которой копируются в новую базу данных. По умолчанию базы данных имеют создавать только те пользователи, которым назначены роли sysadmin и dbcreator.
База данных SQL Server – это контейнер объектов, предназначенных для хранения, записи и извлечения данных в безопасном режиме – содержит следующие компоненты:
Таблицы. Это объекты, внутри которых хранятся данные БД. Информация хранится в таблицах в форме строк и столбцов. Столбцы таблицы определяют простейшие элементы информации, определяют назначение и тип данных, которые в нем хранятся и объем элемента этих данных. Таблица должна состоять минимум из одного столбца. Строка образуется одним элементом информации от каждого столбца. Таблица может содержат любое число строк – оно ограничивается местом свободного пространства на диске. Строка определяет блок информации, состоящий из элементов, хранящихся в столбцах. Другое название строки – запись.
Ограничения целостности - объект, который существует в пределах инфраструктуры отдельной таблицы, позволяют регламентировать ввод данных в таблицу в соответствии с заданными критериями.
Индексы – объект, который существует в пределах инфраструктуры отдельной таблицы или представления и представляет собой набор поисковых (или ключевых) значений, отсортированных определенным образом. Индексы предназначены для ускорения поиска информации в таблице
Диаграмма – визуальное представление проекта базы данных, включающая таблицы БД с именами столбцов в каждой из таблиц и связей между этими таблицами.
Хранимые процедуры. Программный код, состоящий из одного или нескольких операторов T-SQL, реализующие те или иные действия, которые уже откомпилированы, хранится в БД и может быть запущена в любой момент.
Триггер - объект, который существует в пределах инфраструктуры отдельной таблицы, представляет собой фрагменты алгоритмического кода, автоматически вызываемые на выполнение в связи с тем, что к таблице, на которой они заданы, применяются операции вставки, удаления или обновления.
Пользовательские функции по функциональности похожи на хранимые процедуры. Разница заключается в том, что возможностей у них меньше (в частности, они должны возвращать только одно значение, например, скалярное или табличное), но их удобнее использовать с точки зрения синтаксиса.
Представления. Особый способ просмотра данных, хранящихся в БД.
Сборка. Является файлами динамической библиотеки, которые используются в экземпляре SQL Server для развертывания функций, хранимых процедур, триггеров, определяемых пользователем статистических вычислений и определяемых пользователем типов.
Правила именования объектов
1. имя объекта должно начинаться с любого символа, определенного как буква. Должны ли прописные и строчные буквы рассматриваться как различные зависит от настройки сервера.
2. имена обычных объектов могут содержать 128 символов, а временных объектов – 116
3. любые имена, совпадающие с ключевыми словами СУБД или содержащие пробелы, должны быть заключены в двойные кавычки ( ) или в квадратные скобки [ ]/
В SQL Server есть несколько БД, создаваемых в процессе его установки. К системным БД относят: master (главная), tempdb (временная), model (модель) и msdb.
master. Хранит информацию уровня всей системы, информацию инициализации SQL Server и настройки конфигурации SQL Server. Эта база данных также хранит все учетные записи для входа в систему, информацию о наличии всех остальных баз данных и о местоположении первичного файла для всех пользовательских баз данных.
tempdb. Хранит временные таблицы и временные хранимые процедуры. Эта базы данных используется также для хранения прочей временной информации, нужной для работы SQL Server, например, для сортировки данных. При каждом запуске SQL Server создается новая чистая копия базы данных tempdb. Затем, если нужно, эта база данных растет автоматически. Если для хранения ваших временных данных требуется много места, то можно увеличить стандартный размер этой базы данных, применив команду ALTER DATABASE.
model. Служит образцом (шаблоном) для всех остальных баз данных, создаваемых на данной системе, в том числе и для tempdb. При создании базы данных ее начало создается как копия содержимого базы данных model, а всё остальное заполняется пустыми страницами. База данных model обязательно должна иметься в системе, потому что она применяется для воссоздания базы данных tempdb при каждом запуске SQL Server. Вы можете изменять базу данных model, добавляя туда пользовательские (определяемые пользователем) типы данных, таблицы и т.д. Если вы измените базу данных model, то каждая созданная вами база данных будет иметь измененные атрибуты.
msdb. Содержит таблицы, которые SQL Server Agent применяет для планирования заданий и оповещений и для записи операторов (здесь операторы - это люди, которые отвечают за работу заданий и оповещений). Эта база данных также хранит таблицы, применяемые для репликации.
Каждая из этих системных баз данных имеет свои собственные первичный файл данных и файл журнала. Системные базы данных хранятся в папке для хранения системных файлов.
Достарыңызбен бөлісу: |