Главная страница
Навигация по странице:

  • Логические компоненты

  • Объект Описание

  • Физическая структура базы данных Страницы и экстенты

  • Файлы баз данных

  • Типы данных SQL Server

  • Правила именования объектов SQL Server

  • Transact SQL

  • удаленные базы данных. Отличия и преимущества удаленных баз данных от локальных баз дан. Тема Отличия и преимущества удаленных баз данных от локальных баз данных. Обзор архитектуры sql server Архитектура базы данных


    Скачать 37.13 Kb.
    НазваниеТема Отличия и преимущества удаленных баз данных от локальных баз данных. Обзор архитектуры sql server Архитектура базы данных
    Анкорудаленные базы данных
    Дата27.09.2022
    Размер37.13 Kb.
    Формат файлаdocx
    Имя файлаОтличия и преимущества удаленных баз данных от локальных баз дан.docx
    ТипДокументы
    #700738

    Тема: Отличия и преимущества удаленных баз данных от локальных баз данных. Обзор архитектуры SQL Server

    Архитектура базы данных

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

    У каждого экземпляра SQL Server есть четыре системных базы данных (master, tempdb, msdb и model) и одна или несколько пользовательских.

    Каждый экземпляр SQL Server делает все свои базы данных доступными всем, кто подключается к нему (в зависимости от определенных для них прав доступа).
    При подключении к экземпляру SQL Server соединение ассоциируется с определенной базой данных на сервере. Эта БД называется текущей. Обычно соединение устанавливается с базой данных по умолчанию, которую определяет системный администратор. Можно переключаться с одной базы данных на другую с помощью оператора T-SQL: USE <имя_БД>.

    Логические компоненты

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

    Объект

    Описание

    Таблица

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

    Тип данных

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

    Представление

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

    Хранимая процедура

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

    Функция

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

    Индекс

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

    Ограничение

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

    Умолчание

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

    Триггер

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


    Физическая структура базы данных

    Страницы и экстенты

    Основной единицей хранения данных в SQL Server является страница. В SQL Server размер страницы составляет 8 кб. Другими словами, в базах данных SQL Server содержится 128 страниц на 1 Мб. В начале каждой страницы расположен 96-байтный заголовок, который используется для хранения системной информации, например типа страницы, размера свободного места на странице, а также идентификатора объекта, владеющего страницей.

    Страницы содержат строки данных (кроме данных типа text и image, которые хранятся в отдельных страницах). Данные размещаются на странице последовательно и начинаются сразу же после заголовка. В конце страницы расположена таблица смещений строк. Она содержит по одному элементу для каждой строки, размещенной на странице; в каждом элементе записано, как далеко первый байт строки расположен от начала страницы.

    Экстенты представляют собой единицу выделения памяти для таблиц и индексов. Размер экстента составляет восемь последовательных страниц, или 64 кб. Другими словами, в базах данных SQL Server приходится 16 экстентов на 1 Мб.



    Для повышения эффективности выделения памяти, SQL Server не выделяет для таблиц с небольшим объемом данных целые экстенты. В SQL Server имеется два типа экстентов:

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

    Файлы баз данных

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

    • Основной файл данных (.mdf). База данных начинается с основного файла данных, который указывает на другие файлы базы данных. У любой базы данных есть только один основной файл данных.

    • Дополнительные файлы данных (.ndf). Это все файлы данных, кроме основного. У некоторых баз данных дополнительные файлы данных вообще отсутствуют, в то время как у других их несколько.

    • Файлы журнала (.ldf). В них содержится вся информация о транзакциях и действиях пользователей, используемая для восстановления базы данных. В каждой базе данных должен быть как минимум один файл журнала, хотя допускается и больше.

    Типы данных SQL Server

    Обозначение

    Класс

    Размер в байтах

    Описание

    Bigint

    Целочисленный

    8

    Целые числа от -263 до 263-1

    Int

    Целочисленный

    4

    Целые числа от -2 147 483 648 до 2 147 483 647

    Smallint

    Целочисленный

    2

    Целые числа от -32 768 до 32 767

    Decimal (numeric)

    Десятичный

    Опред. отдельно

    Заданная точность и значение от -1038-1 до 1038-1

    Money

    Финансовый

    8

    Десятичные числа от -263 до 263, с точностью до четырех десятичных позиций

    Float (real)

    Числовой

    Опред. отдельно

    Числа с плавающей точкой в диапазоне от -1.7Е+308 до 1.7Е+308

    Datetime

    Дата и время

    8

    Дата и время с 1.01.1753 по 31.12.9999

    Char

    Символьный

    Опред. отдельно

    Символьные данные фиксированной длины. Значения короче заданной длины дополняются пробелами. Данные представлены в кодировке, отличной от Unicode.Максимальное значение длины – 8000 символов.

    Varchar




    Опред. отдельно

    Символьные данные переменной длины. Значения короче заданной длины не дополняются пробелами. Данные представлены в кодировке, отличной от Unicode.Максимальное значение длины – 8000 символов, но можно использовать слово max, что фактически позволяет определять столбцы с очень большим объемом символьных данных (до 231 байт).

    Nchar, nvarchar

    Символьный в кодировке Unicode

    Опред. отдельно

    Аналогичны типам char иvarchar соответственно, только для символов в кодировкеUnicode. Максимальное значение длины – 4000 символов (а не 8000 как в предыдущих типах)

    Binary

    Двоичный

    Опред. отдельно

    Двоичные данные фиксированной длины с максимальной длиной 8000 байтов

    Varbinary

    Двоичный

    Опред. отдельно

    Двоичные данные переменной длины с максимальной длиной 8000 байтов, но можно использовать слово max, что фактически позволяет определять столбцы с очень большим объемом данных (до 231 байт)

    Table




    Опред. отдельно

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

    Sql_variant




    Опред. отдельно

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


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

    Правила именования объектов SQL Server

    1. Имя объекта должно начинаться с любого символа, определяемого как буква.

    2. Максимальная длина обычного объекта – 128 символов, а временного объекта – 116 символов.

    3. Любые имена, совпадающие с ключевыми словами SQLServer или содержащие пробелы, должны быть заключены в двойные кавычки («») или квадратные скобки ([]).

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



    Структура журнала транзакций

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

    • восстановления отдельных транзакций;

    • восстановления незавершенных транзакций во время запуска SQL Server;

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

    Организация транзакций

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

    1. Перед началом транзакции база данных находится в согласованном состоянии.

    2. Приложение объявляет о начале транзакции. Этот процесс может быть инициирован явно с помощью оператора BEGIN TRANSACTION. В качестве альтернативы приложение может установить параметры для работы в неявном режиме транзакций. Первый же оператор Transact SQL, исполняемый после завершения предыдущей транзакции, автоматически запускает новую транзакцию. В начале транзакции в журнал не заносится никаких записей; первая запись в журнале появляется при модификации данных.

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

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

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

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

    Transact SQL

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


    написать администратору сайта