Создание и индексирование однотабличной базы данных

  • Вид работы:
    Практическое задание
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    431,46 kb
  • Опубликовано:
    2011-12-01
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Создание и индексирование однотабличной базы данных

ЛАБОРАТОРНАЯ РАБОТА № 1

СОЗДАНИЕ И ИНДЕКСИРОВАНИЕ ОДНОТАБЛИЧНОЙ БАЗЫ ДАННЫХ

Цель работы

Выработка практических навыков создания однотабличных баз данных, создания ключей и индексирования однотабличной базы данных с помощью конструктора таблиц Table Designer в SQL Server Management Studio.

 

Задание на лабораторную работу


1.       Создать однотабличную базу данных;

2.       Создавать ключи и индексы к таблице базы данных.

Общие вопросы

 

1.       Определение сервера и клиента баз данных;

2.       Примеры современных серверов баз данных;

.         Полное определение базы данных и объектов, входящих в структуру базы данных;

Инструкция по выполнению


1. Войти в SQL Server Management Studio. Для этого запустить ярлык  на рабочем столе или в меню «ПУСК».

2. Подключитесь к SQL Server, нажав кнопку Connect.

Рисунок 1. Окно подключения к SQL Server

. Создать базу данных с именем «NEW_DB». Для этого вызовите контекстное меню, однократно нажав правой кнопкой мыши на вкладку «Databases», выбрав вкладку «New Database...»

Рисунок 2. Окно создания новой базы данных

Ввести имя новой базы (поле Имя базы данных) и нажмите «OK».

. Создать таблицу Student с помощью конструктора таблиц (Table Designer). Для этого вызовите контекстное меню, однократно нажав правой кнопкой мыши на вкладку «Таблицы», выбрав вкладку «Создать таблицу». Добавить поля таблицы (структура таблицы определена в ПРИЛОЖЕНИИ А).

. Сохраните таблицу. Для этого однократно щелкните левой клавишей мыши по кнопке  «Save (Ctrl+S)», введите имя таблицы «Student» и нажмите кнопку «ОК». Закройте конструктора таблиц (Table Designer).

. Модифицировать структуру таблицы. Для этого вызовите контекстное меню, однократно нажав правой кнопкой мыши на таблицу «Student» выбрав вкладку «Проект» (Это и есть конструктора таблиц Table Designer). Научиться удалять, вставлять и менять местами поля.

. Создать первичный ключ «RN». Для этого откройте таблицу через конструктор таблиц «Проект», установите курсор на нужное поле (RN) и нажмите кнопку  «Задать первичный ключ» на верхней панели управления.

Рисунок 3. Создание первичного ключа

Задайте функцию автоинкримента. Для этого в свойствах столбца во вкладке «Спецификация идентифицирующего столбца» в поле «(Является идентифицирующим столбцом)» поставьте значение «ДА» (Начальное значение идентификатора и шаг приращения равен 1).

Рисунок 4. Создание функции автоинкримента у идентифицирующего столбца

. Задать «значение по умолчанию», равное 0 у столбца ISC (Исключен). Для этого откройте таблицу через конструктор таблиц «Проект», установите курсор на нужное поле (ISC) и в общих свойствах столбца укажите «Значение по умолчанию или привязка» 0.

\

Рисунок 5. Создание значения по умолчанию

. Создать кластерный индекс RN_INX (По столбцу RN по возрастанию). Для этого разверните таблицу «Student», вызовите контекстное меню, однократно нажав правой кнопкой мыши на вкладку «Индексы», выбрав вкладку «Создать индексы». Напишите имя индекса RN_INX, выберите тип индекса «Кластеризованный» и поставьте галочку на уникальность. (Теория по индексам приведена в ПРИЛОЖЕНИИ Б).

Рисунок 6. Создание кластерного индекса

. Создать некластеризованный индекс FIO_INX (Фамилия по возрастанию, Имя по возрастанию, Отчество по возрастанию) к таблице Student с помощью конструктора таблиц Table Designer. Для этого разверните таблицу «Student», вызовите контекстное меню, однократно нажав правой кнопкой мыши на вкладку «Индексы», выбрав вкладку «Создать индексы». Напишите имя индекса FIO_INX, выберите тип индекса «Нексатеризованный» без галочки на уникальность.

• нажмите «Добавить»;

• выберете поля RN, IM, OT;

• в поле «Порядок сортировки» выберите по возрастанию.

Рисунок 7. Создание некластеризованного индекса

11. Сохраните таблицу. Для этого однократно щелкните левой клавишей мыши по кнопке  «Save (Ctrl+S).

. Выход из SQL Server Management Studio.

Требования к оформлению отчета для защиты лабораторной работы

1.       Титульный лист с номером и темой лабораторной работы;

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

Вопросы к защите лабораторной работы

1.       Определение базы данных и ее основных объектов;

2.       Определение индекса;

.         Определение типа данных;

.         Виды ключей таблиц и их определения.

данные ключ таблица индекс

ПРИЛОЖЕНИЯ A

ОПИСАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ

Таблица Student содержит информацию об учениках школы и их оценки. Структура таблицы представлена в табл. 1.1.

Таблица 1.1 - Структура таблицы Student

Поле

Имя поля

Тип

Размер

NOT NULL

Первичный ключ

Автоинкримент

Регистрационный номер ученика

RN

INT


 TRUE

 TRUE

 TRUE

Класс

KL

CHAR

3

FALSE

FALSE

Фамилия

CHAR

20

TRUE

FALSE

FALSE

Имя

IM

CHAR

15

TRUE

FALSE

FALSE

Отчество

ОТ

CHAR

15

TRUE

FALSE

FALSE

Дата рождения

DATA

DATE

8

FALSE

FALSE

FALSE

Улица

UL

CHAR

30

FALSE

FALSE

FALSE

Дом

DOM

CHAR

4

FALSE

FALSE

FALSE

Квартира

KB

CHAR

4

FALSE

FALSE

FALSE

Число членов семьи

SEM

INT


FALSE

FALSE

FALSE

Телефон

TEL

CHAR

10

FALSE

FALSE

FALSE

Физика

FIZ

NUMERIC

1.0

FALSE

FALSE

FALSE

Математика

NUMERIC

1.0

FALSE

FALSE

FALSE

Русский

RUS

NUMERIC

1.0

FALSE

FALSE

FALSE

Биология

BIO

NUMERIC

1.0

FALSE

FALSE

FALSE

Доход семьи

DOH

NUMERIC

7.2

FALSE

FALSE

FALSE

Исключен

ISC

BIT


FALSE

FALSE

FALSE


ПРИЛОЖЕНИЯ Б

ДОПОЛНИТЕЛЬНАЯ ТЕОРИЯ ПО ИНДЕКСАМ

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

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

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

В SQL Server допускаются следующие два типа индексов: кластерные и некластерные.

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

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

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

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

нельзя создавать индекс для столбцов, имеющих тип данных BIT, TEXT или IMAGE;

 нельзя создавать индекс для столбцов, имеющих тип данных VARCHAR, NCHAR, NVARCHAR, BINARY и VARBINARY;

в качестве основного кандидата для создания индекса целесообразно использовать первичный ключ;

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

- целесообразно использовать в индексе столбцы, содержащиеся в директивах ORDER BY (упорядочение по) и GROUP BY (сортировка по).

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

В SQL Server индексы можно создать двумя способами: с помощью программы SQL Server Enterprise Manager и с помощью оператора CREATE INDEX языка Transact SQL. Создать индекс для таблицы может только ее владелец.

Похожие работы на - Создание и индексирование однотабличной базы данных

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!