Индексы в стандарте языка

СОЗДАНИЕ БАЗЫ ДАННЫХ В СРЕДЕ SQL-сервер И Деяния С НЕЙ

Вопросы:

1. Создание базы данных. 1

2. Изменение базы данных. 3

3. Удаление базы данных. 3

4. Создание таблицы.. 4

5. Изменение таблицы.. 5

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

7. Индексы в эталоне языка. 6

8. Индексы в среде MS SQL Server 7

9. Удаление индекса. 10

Создание базы данных

Процесс сотворения базы данных в системе SQL-сервера состоит из 2-ух шагов Индексы в стандарте языка: поначалу организуется сама база данных, а потом принадлежащий ей журнальчик транзакций. Информация располагается в соответственных файлах, имеющих расширения *.mdf (для базы данных) и *.ldf. (для журнальчика транзакций ). В файле базы данных записываются сведения об главных объектах ( таблицах, индексах, представлениях и т.д.), а в файле журнальчика транзакций – о Индексы в стандарте языка процессе работы с транзакциями (контроль целостности данных, состояния базы данных до и после выполнения транзакций).

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

Разглядим главные характеристики представленного оператора.

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

При разработке и изменении базы данных Индексы в стандарте языка можно указать название файла, который будет для нее сотворен, поменять имя, путь и начальный размер этого файла. Если в процессе эксплуатации базы данных планируется ее размещение на нескольких дисках, то можно сделать так именуемые вторичные файлы базы данных с расширением *.ndf. В данном случае основная информация о базе данных размещается Индексы в стандарте языка впервичном ( PRIMARY ) файле, а при нехватке для него свободного места добавляемая информация будет располагаться во вторичном файле. Подход, применяемый в SQL-сервере, позволяет распределять содержимое базы данных по нескольким дисковым томам.

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

Параметр PRIMARY Индексы в стандарте языка определяет первичный файл. Если он опущен, то первичным является 1-ый файл в перечне.

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

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

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

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

Параметр SIZE определяет начальный размер файла; малый размер параметра – 512 Кб, если он не указан, по дефлоту принимается 1 Мб.

Параметр MAXSIZE определяет наибольший размер файла базы данных. При значении параметра UNLIMITED наибольший размер базы данных ограничивается свободным местом на диске.

При разработке базы данных можно разрешить Индексы в стандарте языка либо запретить автоматический рост ее размера (это определяется параметром FILEGROWTH) и указать приращение при помощи абсолютной величины в Мб либо процентным соотношением. Значение может быть обозначено в кб, мб, гб, терабайтах либо процентах (%). Если обозначено число без суффикса МБ, КБ либо %, то по дефлоту употребляется значение MБ Индексы в стандарте языка. Если размер шага роста указан в процентах (%), размер возрастает на заданную часть в процентах от размера файла. Обозначенный размер округляется до ближайших 64 КБ.

Дополнительные файлы могут быть включены в группу:

Пример 3.1. Сделать базу данных, при этом для данных найти три файла на диске C, для журнальчика транзакций – два файла на Индексы в стандарте языка диске C.

Изменение базы данных

Большая часть действий по изменению конфигурации базы данных производится при помощи последующей конструкции:

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

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

Характеристики файлов и групп файлов можно изменять ( MODIFY ).

Для удаления из базы данных файлов либо групп файлов употребляется параметр REMOVE. Но удаление файла может быть только при условии его Индексы в стандарте языка освобождения от данных. В неприятном случае сервер не разрешит удаление.

В качестве параметров группы файлов употребляются последующие:

READONLY – группа файлов употребляется только для чтения; READWRITE – в группе файлов разрешаются конфигурации; DEFAULT – обозначенная группа файлов принимается по дефлоту.

Удаление базы данных

Удаление базы данных осуществляется командой:

DROP DATABASE имя_базы_данных Индексы в стандарте языка [,...n]

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

Создание таблицы

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

Таблица – основной Индексы в стандарте языка объект для хранения инфы в реляционной базе данных. Она состоит из содержащих данные строк и столбцов, занимает в базе данных физическое место и может быть неизменной либо временной.

Поле, также называемое в реляционной базе данных столбцом, является частью таблицы, за которой закреплен определенный тип данных. Любая таблица базы Индексы в стандарте языка данных должна содержать хотя бы один столбец. Строчка данных – это запись в таблице базы данных, она включает поля, содержащие данные из одной записи таблицы.

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

· Как будет называться таблица?

· Как будут называться столбцы (поля) таблицы?

· Какие типы данных будут закреплены Индексы в стандарте языка за каждым столбцом?

· Какой размер памяти должен быть выделен для хранения каждого столбца?

· Какие столбцы таблицы требуют неотклонимого ввода?

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

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

Приведенный эталон совпадает с реализацией оператора сотворения таблицы в среде MS SQL Server.

Главное в Индексы в стандарте языка команде сотворения таблицы – определение имени таблицы и описание набора имен полей, которые указываются в соответственном порядке. Не считая того, этой командой оговариваются типы данных и размеры полей таблицы.

Ключевое слово NULL употребляется для указания того, что в данном столбце могут содержаться значения NULL. Значение NULLотличается от пробела либо нуля – к нему прибегают Индексы в стандарте языка, когда нужно указать, что данные недосягаемы, опущены либо недопустимы. Если обозначено ключевое слово NOT NULL, то будут отклонены любые пробы поместить значение NULL в данный столбец. Если указан параметр NULL, помещение значений NULL в столбец разрешено. По дефлоту эталон SQL подразумевает наличие главного словаNULL.

Мы использовали облегченную версию оператора Индексы в стандарте языка CREATE TABLE эталона SQL. Его полная версия приводится при обсуждении вопросов обеспечения целостности данных.

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

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

Изменение таблицы

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

В среде MS SQL Server облегченный синтаксис команды модификации таблицы имеет вид Индексы в стандарте языка:

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

Одно из главных правил при добавлении столбцов в существующую таблицу говорит: когда в таблице уже содержатся данные, добавляемыйстолбец не может быть определен с атрибутом NOT NULL. Этот атрибут значит, что для каждой строчки данных соответствующийстолбец должен содержать Индексы в стандарте языка некое значение, потому добавление столбца с атрибутом NOT NULL приводит к возникновению противоречия – уже имеющиеся строчки данных таблицы не будут иметь в новеньком столбце ненулевых значений.

Все же существует метод прибавления неотклонимых полей в существующую таблицу. Для этого нужно:

· добавить в таблицу новый столбец, определив его с атрибутом NULL (т.е Индексы в стандарте языка. столбец не должен содержать каких-то значений);

· ввести в новый столбец какие-либо значения для каждой строчки данных таблицы ;

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

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

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

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

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

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

· количество десятичных символов числового типа данных может быть уменьшено либо увеличено;

· тип данных столбца, обычно, может быть изменен.

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

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

Пример 3.4. Добавить в таблицу Клиент поле для номера расчетного счета.

ALTER TABLE Клиент ADD Рас_счет CHAR(20)

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

Со временем структура базы данных изменяется: создаются Индексы в стандарте языка новые таблицы, а прежние становятся ненадобными и удаляются из базы данных при помощи оператора:

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

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

Оператор DROP TABLE дополнительно позволяет указывать, следует ли операцию удаления делать каскадно. Если в операторе обозначено ключевое слово RESTRICT, то при наличии в базе данных хотя бы 1-го объекта, существование которого находится в зависимости от удаляемой таблицы, выполнение оператора DROP TABLE будет отменено. Если обозначено ключевое слово Индексы в стандарте языка CASCADE, автоматом удаляются и все остальные объекты базы данных, чье существование находится в зависимости от удаляемой таблицы, также другие объекты, зависящие от удаляемых объектов. Общий эффект от выполнения оператора DROP TABLE с главным словом CASCADE возможно окажется очень осязаемым, потому подобные операторы следует использовать с наибольшей осторожностью.

В Индексы в стандарте языка большинстве случаев оператор DROP TABLE употребляется для исправления ошибок, допущенных при разработке таблицы. Если таблица была сотворена с неправильной структурой, можно пользоваться оператором DROP TABLE для ее удаления, после этого сделать таблицу поновой.

Индексы в эталоне языка

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

На физическом уровне индекс – всего только упорядоченный набор значений из индексированного столбца с указателями на места физического размещения начальных строк в структуре базы данных. Когда юзер делает обращающийся к индексированному столбцу запрос, СУБД автоматом анализирует индекс для поиска Индексы в стандарте языка требуемых значений.

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

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

CREATE [ UNIQUE ] INDEX имя_индекса ON имя_таблицы(имя_столбца[ASC|DESC][,...n])

Обозначенные в операторе столбцы составляют ключ индекса. Индексы могут создаваться только для базисных таблиц, но не для представлений. Если в операторе обозначено ключевое Индексы в стандарте языка слово UNIQUE, уникальность значений ключа индекса будет автоматом поддерживаться системой. Требование уникальности значений непременно для первичных ключей, также может быть и для других столбцов таблицы (к примеру, для других ключей). Хотя создание индекса допускается в хоть какой момент, при его построении для уже заполненной данными таблицымогут появиться препядствия, связанные Индексы в стандарте языка с дублированием данных в разных строчках. Как следует, уникальные индексы (по последней мере, для первичного ключа) имеет смысл создавать конкретно при формировании таблицы. В итоге система сходу возьмет на себя контроль за уникальностью значений данных в соответственных столбцах.

Если сделанный индекс потом окажется ненадобным, его можно удалить при помощи оператора


indeksaciya-zarabotnoj-plati-v-svyazi-s-inflyaciej-sovmestitelstvo-osobennosti-trudovih-otnoshenij-zarabotnaya-plata.html
indeksi-cen-v-sektorah-ekonomiki-regiona.html
indeksi-i-indikatori-ustojchivogo-razvitiya.html