Шпаргалка по "Программированию"

Автор работы: Пользователь скрыл имя, 04 Сентября 2014 в 15:19, шпаргалка

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

Основные понятия баз данных: база данных; СУБД; меры объема данных; принципы и этапы построения, основные модели данных, основные понятия теории реляонных баз данных, алгебра Кодда, нормирование реляционной базы данных (1, 2, 3 формы).
Основы SQL: стандарты, группы операторов и их назначение.
Основные принципы работы SQL Server: клиент, сервер, буферный кэш, журнал транзакций, службы, аутентификация, страницы дисковой памяти, остановка и запуск служб.
SQL DDL: операторы назначение, применение.
SQL DML: операторы назначение, применение.

Вложенные файлы: 1 файл

shpora sql.doc

— 216.00 Кб (Скачать файл)

 

Бывают триггера

DDL (вызывается инструкциями create drop alter)

DML (вызывается инструкциями insert update delete)

В дмл триггере instead of и AFTER.Триггеры AFTER выполняются после выполнения инструкций INSERT, UPDATE или DELETE.. Триггеры INSTEAD OF выполняются вместо обычных действий триггеров(опять же insert update delete).

 

 

 

 

25.

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

SQL Server работает  в следующих режимах транзакций.

Автоматическое принятие транзакций

Каждая отдельная инструкция является транзакцией.

Явные транзакции

Каждая транзакция явно начинается с инструкции BEGIN TRANSACTION и явно заканчивается инструкцией COMMIT или ROLLBACK.

Неявные транзакции

Новая транзакция неявно начинается, когда предыдущая транзакция завершена, но каждая транзакция явно завершается инструкцией COMMIT или ROLLBACK.

Транзакции контекста пакета

Будучи применимой только к множественным активным результирующим наборам (MARS), явная или неявная транзакция Transact-SQL, которая запускается в сеансе MARS, становится транзакцией контекста пакета. SQL Server автоматически выполняет откат транзакции контекста пакета, если эта транзакция не зафиксирована или выполнен ее откат при завершении пакета.

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

Незавершенное (черновое) чтение (read uncommitted) — минимальный уровень изоляции гарантирует только физическую целостность при записи данных. Процессы-читатели могут считывать данные незавершенной транзакции процесса-писателя.

Подтвержденное чтение (read committed) — процессы-читатели не могут считывать данные незавершенной транзакции, но процессы-писатели могут изменять уже прочитанные читателем данные.

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

Сериализуемость (serializable) — максимальный уровень изоляции, гарантирует неизменяемость данных другими процессами до завершения транзакции.

Моментальный срез (snapshot) — данный вид изоляции не входит в рекомендации стандарта SQL 92, но он реализован во многих СУБД. Процессы-читатели не ждут завершения транзакций писателей, а считывают данные, точнее их версию, по состоянию на момент начала своей транзакции.

 

 

26. Индекс (англ. Index) — объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет искать строки, удовлетворяющие критерию поиска. Ускорение работы с использованием индексов достигается в первую очередь за счёт того, что индекс имеет структуру, оптимизированную под поиск — например, сбалансированного дерева.

 

 

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

28.

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

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

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

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

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

Порядок по созд. Секцон таблицы.1 Нужно ли секционир.2 определяем ключ и количество секций 3создаем одну или несколько файловых групп 4создаем функцию секционирования 5 создаем схему секциониров. 6 по схеме создаем обьект 7 (создаем выравн индексы)

Ограничения

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

·  Столбец секционирования не может содержать значения NULL.

·  Столбец секционирования должен быть частью первичного ключа таблицы.

·  Столбец секционирования не может быть вычисляемым столбцом.

Ограничения для обновления столбца секционирования отсутствуют.

 

 

 

 

 

 

 

 

29.

CREATE DATABASE database_snapshot_name     

ON     

(        

NAME = logical_file_name,         

FILENAME = 'os_file_name'     

) [ ,...n ]     

AS SNAPSHOT OF source_database_name

[;]

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

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

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

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

Приемшущества1Моментальные снимки можно использовать для составления отчетов.

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

30.

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

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

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

Аутентификация

Система безопасности Database Engine включает две различные подсистемы безопасности:

  • безопасность Windows
  • безопасность SQL Serve

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

Шифрование данных

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

 

 

30.Участники — сущности, которые могут запрашивать ресурсы SQL Server. Как и другие компоненты модели авторизации SQL Server, участников можно иерархически упорядочить. Область влияния участника зависит от области его определения: Windows, сервер, база данных, — а также от того, коллективный это участник или индивидуальный. Имя входа Windows является примером индивидуального (неделимого) участника, а группа Windows — коллективного. Каждый из участников имеет идентификатор безопасности (SID).

Участники уровня Windows

  • Имя входа домена Windows
  • Локальное имя входа Windows

SQL Server-участникиуровня

  • Имя входа SQL Server
  • Роль сервера

Участники уровня базы данных

  • Пользователь базы данных
  • Роль базы данных
  • Роль приложения

 

loginName

Указывает имя пользователя для создаваемого имени входа. Существует четыре типа имен входа: имена входа SQL Server, имена входа Windows, имена входа, сопоставленные с помощью сертификата, а также имена входа, сопоставленные с помощью асимметричного ключа. При создании имен входа, сопоставленных с учетной записью домена Windows, необходимо использовать имя входа версии (более ранней, чем Windows 2000) с форматом [<domainName>\<loginName>]. Нельзя использовать UPN в формате loginName@DomainName. См. приведенный ниже пример Г. Имена входа проверки подлинности SQL Server имеют тип sysname, они должны соответствовать правилам для идентификаторов и не могут содержать символ «\». Имена входа Windows могут содержать символы «\».

 

PASSWORD ='password'

 Применяется только к именам входа SQL Server. Задает пароль для создаваемого имени входа. Следует использовать надежные пароли. Дополнительные сведения см. в разделах Надежные пароли и Политика паролей.

При вводе пароля учитывается регистр символов. Пароли всегда должны содержать не менее 8 символов и не могут содержать более 128 символов. Пароли могут содержать символы a-z, A-Z, от 0 до 9 и большинство неалфавитных символов. Пароли не могут содержать одиночные кавычки или login_name.

CREATE USER

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

Пользователи с именами входа в базе данных master. Это самый распространенный тип пользователей.

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

Пользователи на основе участников Windows без подключения к базе данных master

Пользователи, которые не могут проходить проверку подлинности. Такие пользователи не могут входить на SQL Server.

 

 

 

30. РОЛИ БАЗЫ ДАННЫХ msdb

 db_ssisadmin db_ssisoperator db_ssisltduser

Члены этих ролей базы данных могут администрировать и использовать службы Службы SSIS. Экземпляры SQL Server, обновленные с предыдущей версии, могут содержать более старую версию роли, имя которой присвоено с помощью служб DTS, а не служб Службы SSIS. Дополнительные сведения см. в разделе Роли служб Integration Services (устаревшая версия службы SSIS).

dc_admin dc_operator dc_proxy

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

PolicyAdministratorRole

Члены роли базы данных db_ PolicyAdministratorRole могут выполнять все действия по настройке и обслуживанию политик и условий средства «Управление на основе политики». Дополнительные сведения см. в разделе Администрирование серверов с помощью управления на основе политик.

ServerGroupAdministratorRole ServerGroupReaderRole

Члены этих ролей базы данных могут администрировать и использовать зарегистрированные группы серверов.

Информация о работе Шпаргалка по "Программированию"