Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Метод указания AIS

.pdf
Скачиваний:
8
Добавлен:
18.02.2016
Размер:
9.86 Mб
Скачать

Рисунок 57

Совет. Вы можете щелкнуть на кнопке Show Dependencies (Показать зависимости), чтобы увидеть все объекты, на которые повлияет удаление таблицы.

Нажмите Drop All (Убрать все). SQL Server удалит таблицу из базы данных.

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

Контрольные вопросы

1.Какие действия необходимо выполнить для создания таблицы?

2.Чем тип данных binary отличается от varbinary?

3.Что представляет собой глобальный уникальный идентификатор (GUID)?

4.Что позволяет определить свойство precision?

5.Для чего предназначено свойство identity?

5. Для чего используется значение NULL?

КАТУ ИМ.С.СЕЙФУЛЛИНА

К.Т.Н. ОМАРБЕКОВА А.С.

СУБД

51

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

Понятие об индексах

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

Microsoft SQL Server поддерживает два различных типа индексов: кластерный и некластерный. Кластерный индекс устанавливает порядок, в котором строки таблицы хранятся физически. Некластерный индекс представляет собой отдельный объект внутри базы данных, который указывает на определенные строки таблицы, но не устанавливает порядок их хранения.

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

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

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

В Enterprise Manager индексы могут быть созданы с помощью мастера Create Index Wizard или с использованием конструктора таблиц Table Designer либо путем установки свойства Primary Key, либо

КАТУпутем определения индексаИМв диалоговомокне.СЕЙФУЛЛИНАProperties (Свойства).

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

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

уникальные индексы. К.ТСледуетпроявлять. ОМАРБЕКОВАосторожность при создании уникальных индексов для столбцовА, которые.С.

допускают использование нулевых значений (NULL). SQL Server разрешит использование только одной строки со значением NULL; все последующие строки будут отвергнуты как строки-дубликаты.

Обслуживание индексов

Как и для всех другихСУБДобъектов в базе данных, у вас может возникнуть потребность изменить созданный вами индекс. Индексы и их свойства обслуживаются в диалоговом окне Properties (Свойства) конструктора таблиц Table Designer.

Изменение индексов

Точно так же, как вы изменяете свойства столбца, открыв конструктор таблиц Table Designer и отобразив диалоговое окно Properties (Свойства) для таблицы, вы можете изменять и свойства индекса.

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

Иногда необходимо удалить индекс из таблицы, поскольку он вам либо уже не нужен, либо преимущества, которые обеспечивает применение индекса для ускорения извлечения данных, сводятся на нет дополнительными затратами времени, необходимыми для обслуживания индекса при обновлении основных данных. Подобно всем другим задачам по обслуживанию индексов, удаление индекса осуществляется через вкладку Indexes/Keys (Индексы/Ключи) диалогового окна Properties (Свойства) конструктора таблиц Table Designer.

Задания:

1)создайте индекс первичного ключа;

2)создайте простой индекс;

3)переименуйте индекс;

4)удалите индекс.

52

Методические указания 1) Создайте индекс первичного ключа

Перейдите к таблице Tables базы данных Student в дереве консоли Console Tree. SQL Server отобразит список таблиц базы данных.

Откройте конструктор таблиц Table Designer для таблицы Klass, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, и выберите Design Table (Конструирование таблицы).

Выберите столбец KODSPEC в сетке, щелкнув слева от имени столбца. SQL Server выделит столбец (рисунок 58).

КАТУ ИМ.С.СЕЙФУЛЛИНАРисунок 58

Щелкните на кнопке Primary Key (Первичный ключ) в панели инструментов конструктора таблиц. SQL Server установит выделенный столбец в качестве первичного ключа.

Нажмите кнопку Save (Сохранить), чтобы сохранить изменения и закрыть окно.

К.Т2) Создайтепростой. ОМАРБЕКОВАиндекс А.С.

Откройте конструктор таблиц Table Designer для таблицы kontengent, щелкнув правой кнопкой на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

Щелкните на кнопкеСУБДIndexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) для таблицы, в которой будет отображена страница свойств Indexes/Keys (Индексы/Ключи) (рисунок 59).

Рисунок 59

53

Совет. Вы также можете открыть диалоговое окно Properties (Свойства) для таблицы, щелкнув на кнопке Properties (Свойства), а затем открыв вкладку Indexes/Keys (Индексы/Ключи).

Нажмите New (Создать). SQL Server предложит IX_kontengent в качестве имени индекса и PIN в качестве индексируемого столбца.

В поле Column name (Наименование столбца) выберите столбец KODNAC (рисунок 60).

3) Переименуйте индекс

Откройте конструктор таблиц Table Designer для таблицы kontengent, щелкнув правой кнопкой на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

КАТУ ИМ. СЕЙФУЛЛИНА

К.Т.Н. ОМАРБЕКОВАРисунок 60 А.С.

Щелкните на кнопке Indexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) с отображениемСУБДстраницы свойств Indexes/Keys (Индексы/Ключи).

Выберите IX_kontengent в поле списка Selected Index (Выбор индекса). SQL Server отобразит свойства индекса.

Измените имя индекса на IX kod nacion (рисунок 61).

Рисунок 61

54

Нажмите Close (Закрыть). SQL Server закроет диалоговое окно.

4) Удалите индекс

Если конструктор таблиц Table Designer для таблицы kontengent не открыт, откройте его, щелкнув правой кнопкой мыши на имени таблицы в рабочей панели Details Pane, и выберите Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

Щелкните на кнопке Indexes/Keys (Индексы/Ключи). SQL Server откроет диалоговое окно Properties (Свойства) для таблицы с отображением страницы свойств Indexes/Keys (Индексы/Ключи).

Выберите IX_kod nacion в поле списка Selected Index (Выбор индекса). SQL Server отобразит свойства для индекса.

Нажмите Delete (Удалить). SQL Server удалит индекс.

Нажмите Close (Закрыть). SQL Server закроет диалоговое окно.

Щелкните на кнопке Save (Сохранить) в панели инструментов конструктора таблиц, чтобы сохранить изменения, а затем закройте окно конструктора таблиц Table Designer.

Контрольные вопросы

1.Какие типы индексов поддерживает Microsoft SQL Server?

2.При создании уникальных индексов для столбцов, которые допускают использование NULL-

значений, SQL Server: разрешит использование только одной строки со значением NULL, разрешит КАТУиспользование множестваИМстрок со.значениемС.СЕЙФУЛЛИНАNULL или не разрешит создавать уникальных индексов?

3. При создании первичного ключа SQL Server автоматически создает: кластерный индекс, некластерный индекс или ограничивающий индекс?

4. Как создать индекс первичного ключа?

К.Т.Н. ОМАРБЕКОВА А.С.

СУБД

55

7 Отношения

Понятие об отношениях

Большинство баз данных предназначены для моделирования некой части реального мира, которую называют пространством состояний (problem space). На логическом уровне объекты в пространстве состояний являются сущностями (entities) и связаны между собой через отношения (relationships). На физическом уровне Microsoft SQL Server представляет сущности в виде таблиц, а отношения – в виде ограничений внешнего ключа, которые определяют внешние ключи.

Многие думают, что реляционные базы данных называются "реляционными" ("relational"), поскольку между таблицами устанавливаются отношения (relationships). На самом деле это название произошло от английского термина "relation", означающего "отношение", который был введен доктором Э.Ф.Коддом для описания объекта, который в SQL Server реализован в виде таблицы.

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

SQL Server, подобно другим системам управления реляционными базами данных, оформляет отношения один-к-одному и один-ко-многим напрямую, а для реализации отношений много-ко-многим

КАТУиспользует узловуюИМтаблицу. Узловаятаблица.СЕЙФУЛЛИНАсостоит из первичных ключей таблиц с каждой из сторон отношения. Отношение один-ко-многим устанавливается между узловой таблицей и каждой из

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

обычно первичного ключа, из таблицы на стороне одного (главную таблицу, или таблицу первичного

ключа) в таблицу на стороне многих (зависимую таблицу, или таблицу внешнего ключа). Этот Кидентификатор.Т.Нназывается. ОМАРБЕКОВАвнешним ключом. А.С.

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

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

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

Создание отношений

В SQL Server отношения создаются с помощью вкладки Relationships (Отношения) диалогового окна Properties (Свойства) конструктора таблиц Table Designer. Отношения один-к-одному и один-ко- многим создаются аналогичным образом. SQL Server определяет тип отношения на основе столбцов, содержащихся в зависимой таблице; если для столбцов внешнего ключа имеется уникальный индекс, отношение будет иметь тип один-к-одному; в противном случае оно будет иметь тип один-ко-многим.

56

Задание:

1) создайте отношения между таблицами согласно схеме базы данных (рисунок 62).

КАТУ

К.Т.Н. ОМАРБЕКОВАРисунок 62 А.С.

Методические указания

1) Создайте отношение

Откройте конструкторСУБДтаблиц Table Designer для таблицы kontengent, щелкнув правой кнопкой на имени таблицы в рабочей панели Details Pane и выбрав Design Table (Конструирование таблицы). SQL Server откроет конструктор таблиц Table Designer.

Щелкните на кнопке Relationships (Отношения) в панели инструментов Table Designer. SQL Server откроет диалоговое окно Properties (Свойства) конструктора таблиц с отображением страницы свойств Relationships (Отношения).

Нажмите New (Создать). SQL Server предложит первую таблицу в списке таблиц для установления нового отношения. Выберите kontengent в качестве главной таблицы (рисунок 63).

57

Рисунок 63 КАТУВыберите PINИМв качестве поляпервичного.СЕЙФУЛЛИНАключа. Выберите в базе данных lichkart PIN в качестве

поля внешнего ключа.

Нажмите Close (Закрыть). SQL Server закроет диалоговое окно Properties (Свойства).

К.ТЩелкните.Н.на кнопкеОМАРБЕКОВАSave (Сохранить) в панели инструментов конструктора таблицА.. SQLС. Server отобразит диалоговое окно, предлагающее подтвердить, что изменения, внесенные вами в две

таблицы, следует сохранить в вашей базе данных.

Нажмите Yes (Да). SQL Server создаст отношение. Закройте окно конструктора таблиц Table

1.Для реализации какихСУБДотношений SQL Server использует узловую структуру?

2.Возвратные отношения применяются для реализации: линейных структур, иерархий или узловых структур?

3.Какие действия необходимо сделать для создания отношений?

4.Что представляют собой каскадные изменения?Designer.Контрольные вопросы

58

8 Создание диаграмм баз данных

Наиболее легкое и визуальное конструирование баз данных возможно посредством диаграмм. Диаграммы баз данных обеспечивают не только визуальное представление структуры базы данных, но и позволяют также изменять и добавлять объекты базы данных графическими и более простыми методами. На занятии приводится пример использования мастера Create Database Diagram Wizard. Рассматриваются типичные проблемы и наилучшие методы их решения путем использования диаграмм баз данных. Предусмотрено большое количество скриншотов и советов, направленных на продуктивную работу и недопущению часто возникающих ошибок и проблем.

Понятие о диаграммах баз данных

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

Создание диаграммы базы данных из существующей схемы

Хотя возможно создать всю схему базы данных из окна Database Diagram (Диаграмма базы данных), чаще всего диаграммы создают из существующих таблиц. С помощью мастера создания диаграмм Create Database Diagram Wizard этот процесс можно упростить – достаточно выбрать таблицы, которые вы хотите включить в диаграмму, и мастер Create Database Diagram Wizard сделает все остальное.

После того, как вы создали диаграмму базы данных с помощью мастера Create Database Diagram

КАТУWizard, вы можете добавлятьИМи удалятьтаблицы.СЕЙФУЛЛИНАи изменять количество отображаемых элементов для каждой таблицы.

Использование диаграмм для обслуживания базы данных

Окно Database Diagram (Диаграмма базы данных) Enterprise Manager SQL Server также дает вам возможность обслуживать схему базы данных в графическом окружении. Вы можете добавлять новые

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

К.ТИзменениесхемы. ОМАРБЕКОВАбазы данных А.С.

Одним из наиболее полезных свойств в окне Database Diagram (Диаграмма базы данных) является

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

Создание объектов базы данных

Кроме изменения имеющихся объектов базы данных, окно Database Diagram (Диаграмма базы данных) позволяет добавлять новые таблицы и создавать отношения.

Задания:

1)создайте диаграмму базы данных;

2)измените степень детализации диаграммы базы данных;

3)добавьте имеющуюся таблицу в диаграмму базы данных;

4)удалите таблицу из диаграммы базы данных;

5)добавьте столбец в таблицу в окне диаграммы Database Diagram;

6)создайте таблицу в окне диаграммы Database Diagram;

7)создайте отношение в окне диаграммы Database Diagram.

Методические указания 1) Создайте диаграмму базы данных

Перейдите к папке Diagrams базы данных student. Microsoft SQL Server отобразит имеющиеся диаграммы в рабочей панели Details Pane (рисунок 64).

59

Рисунок 64

New (Создать). SQL Server отобразит первую страницу мастера создания диаграмм Create Database Diagram Wizard.

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

Щелкните на поле флажка Add Related Tables Automatically (Автоматически добавлять связанные КАТУтаблицы) и установитеИМуровень отношений,.равныйСЕЙФУЛЛИНА2.

Выделите kontengent в списке Available Tables (Доступные таблицы), а затем нажмите Add (Добавить). Мастер создания диаграмм Create Database Diagram Wizard добавит таблицу kontengent и все связанные с ней таблицы в список таблиц, которые будут добавлены в диаграмму.

К.ТНажмитеNext. (ОМАРБЕКОВАДалее). Мастер создания диаграмм Create Database Diagram WizardАотобразит.С. страницу, предлагающую вам подтвердить список таблиц, добавляемый в диаграмму базы данных.

Нажмите Finish (Готово). Мастер создания диаграмм Create Database Diagram Wizard создаст диаграмму (рисунок 65).

Рисунок 65

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

60