Шпаргалка по "Информатике"

Автор работы: Пользователь скрыл имя, 19 Мая 2013 в 07:10, шпаргалка

Описание

Базы данных и файловые системы
СУБД определение, функции
СУБД определение, классификация
БД основные определения, классификация
Объекты базы данных
Физическая структура БД в SQL Server
Структурная часть реляционной модели
Фундаментальные свойства отношений
Реляционная алгебра Кодда
Целостность реляционных данных, стратегии поддержания ссылочной целостности
Этапы разработки баз данных
Нормальные формы отношений
Модель сущность-связь.

Работа состоит из  1 файл

Бд.doc

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

ALTER TABLE имя_таблицы

{[ALTER COLUMN имя_столбца

{новый_тип_данных [(точность[,масштаб])]    [ NULL | NOT NULL ]}] 

| ADD { [имя_столбца  тип_данных] 

| имя_столбца  AS выражение } [,...n] 

| DROP {COLUMN имя_столбца}[,...n]  }

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

При изменении  определений столбцов следует принимать  во внимание некоторые общепринятые правила:

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

 

 

 

Удаление  таблицы

DROP TABLE имя_таблицы [RESTRICT | CASCADE]

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

Если в операторе  указано ключевое слово RESTRICT, то при  наличии в базе данных хотя бы одного объекта, существование которого зависит от удаляемой таблицы, выполнение оператора DROP TABLE будет отменено.

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

Чаще всего  оператор DROP TABLE используется для исправления  ошибок, допущенных при создании таблицы.

 

 

 

 

22) Индексы в  среде MS SQL Server

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

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

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

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

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

 

Когда нужно создавать индексы

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

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

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

 

Типы  индексов

  • Кластерные индексы

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

  • Некластерные индексы

– наиболее типичные представители семейства индексов.

В отличие от кластерных, они не перестраивают  физическую структуру таблицы, а  лишь организуют ссылки на соответствующие  строки.

 

Кластерные  индексы

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

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

В таблице может  быть определен только один кластерный индекс.

В качестве такового следует выбирать наиболее часто  используемые столбцы. При этом стоит  следовать общим рекомендациям  создания индексов и не индексировать  слишком длинные столбцы.

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

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

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

При создании в  таблице первичного ключа (PRIMARY KEY) сервер автоматически создает для него кластерный индекс, если его не существовало ранее или если при определении ключа не был явно указан другой тип индекса.

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

 

Некластерные  индексы

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

•информацию об идентификационном номере файла, в  котором хранится строка;

•идентификационный  номер страницы соответствующих  данных;

•номер искомой  строки на соответствующей странице;

•содержимое столбца.

 

В большинстве  случаев следует ограничиваться 4-5 индексами.

 

Создание  индекса

Индекс создается  в случаях:

•автоматическое создание индекса при создании первичного ключа;

•автоматическое создание индекса при определении  ограничения целостности UNIQUE;

•создание индекса  с помощью команды CREATE INDEX.

 

CREATE [ UNIQUE ]  [ CLUSTERED | NONCLUSTERED ]

 

INDEX имя_индекса ON имя_таблицы(имя_столбца

 

[ASC|DESC][,...n])

 

[[,] DROP_EXISTING]

 

[ON имя_группы_файлов ]

 

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

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

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

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

Параметр STATISTICS_NORECOMPUTE определяет функции автоматического обновления статистики для таблицы.

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

Использование индекса из другой файловой группы повышает производительность некластерных индексов в связи с параллельностью выполнения процессов ввода/вывода и работы с самим индексом.

 

Удаление  индекса

DROP INDEX 'имя_индекса'[,...n]

 

 

23) Представления

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

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

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

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

Для хранения представления  используется только оперативная память.

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

 

Создание  представлений (просмотров)

<определение_просмотра> ::=

 

    { CREATE| ALTER} VIEW имя_просмотра

 

    [(имя_столбца  [,...n])]

 

    [WITH ENCRYPTION]

 

    AS SELECT_оператор

 

    [WITH CHECK OPTION]

 

Параметры оператора CREATE

  • По умолчанию имена столбцов в представлении соответствуют именам столбцов в исходных таблицах. Явное указание имени столбца требуется для вычисляемых столбцов или при объединении нескольких таблиц, имеющих столбцы с одинаковыми именами. Имена столбцов перечисляются через запятую, в соответствии с порядком их следования в представлении.

 

  • Параметр WITH ENCRYPTION предписывает серверу шифровать SQL-код запроса, что гарантирует невозможность его несанкционированного просмотра и использования. Если при определении представления необходимо скрыть имена исходных таблиц и столбцов, а также алгоритм объединения данных, необходимо применить этот аргумент.
  • Параметр WITH CHECK OPTION предписывает серверу исполнять проверку изменений, производимых через представление, на соответствие критериям, определенным в операторе SELECT.

 

Это означает, что  не допускается выполнение изменений, которые приведут к исчезновению строки из представления.

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

Использование аргумента WITH CHECK OPTION гарантирует, что  сделанные изменения будут отображены в представлении. Если пользователь пытается выполнить изменения, приводящие к исключению строки из представления, при заданном аргументе WITH CHECK OPTION сервер выдаст сообщение об ошибке и все изменения будут отклонены.

 

Использование представлений

Обращение к  представлению осуществляется с  помощью оператора SELECT как к обычной  таблице.

Представление можно использовать в команде так же, как и любую другую таблицу.

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

Содержание  представления не фиксировано и  обновляется каждый раз, когда на него ссылаются в команде.

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

 

Модифицируемые  представления

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

•содержит первичный  ключ этой таблицы;

•не содержит DISTINCT в своем определении;

•не использует GROUP BY или HAVING в своем определении;

•по возможности  не применяет в своем определении  подзапросы;

•не использует константы или выражения значений среди выбранных полей вывода;

•в просмотр должен быть включен каждый столбец  таблицы, имеющий атрибут NOT NULL;

•оператор SELECT просмотра не использует агрегирующие (итоговые) функции, соединения таблиц, хранимые процедуры и функции, определенные пользователем;

•основывается на одиночном запросе, поэтому объединение UNION не разрешено.

 

Если  просмотр удовлетворяет этим условиям, к нему могут применяться операторы INSERT, UPDATE, DELETE.

 

Преимущества  и недостатки представлений

 

Механизм представления - мощное средство СУБД, позволяющее скрыть реальную структуру БД от некоторых пользователей за счет определения представлений.

 

Наличие представлений  в БД необходимо для обеспечения  логической независимости данных ( при изменении логической структуры данных не должно оказываться влияние на пользовательские программы).

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

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

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

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