71185

Индексы. Ограничения. Создание и удаление

Лабораторная работа

Информатика, кибернетика и программирование

Причина состоит в том, что для поля id нет индекса, поэтому не может быть создано ограничение типа FOREIGN KEY. Попробуйте создать внешний ключ на поле id в следующих случаях (Внимание: перед выполнением каждого нового пункта из данного раздела удалите сначала все сделанные изменения)...

Русский

2014-11-03

52.08 KB

0 чел.

Лабораторные работы по дисциплине «Управление данными»

Лабораторной работе №5

«Индексы. Ограничения. Создание и удаление».

1. Создадим ограничение уникальности .

 ALTER TABLE  smallTbl

 ADD UNIQUE KEY unq_Id(Id);

2. Ограничение первичный ключ

ALTER TABLE  smallTbl

 ADD PRIMARY KEY (id) ;

Удаление ключа

ALTER TABLE smallTbl

DROP PRIMARY KEY;

3. Ограничение внешний  ключ

 ALTER TABLE  smallTbl

 ADD CONSTRAINT fk_d FOREIGN KEY (d)

 REFERENCES smallTbl (id) ;

Удаление ключа

ALTER TABLE  smallTbl

 DROP FOREIGN KEY fk_d ;

4. Простое создание индекса.

ALTER TABLE  smallTbl

 ADD INDEX  (id);

Или 

ALTER TABLE  smallTbl

 ADD KEY ind_id(id);

Если не передавать имя индекса, (как в первом случае), то его именем по умолчанию станет таким же, как и название поле.

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

ALTER TABLE  smallTbl

 DROP INDEX  id;

Ход работы

1. Создадим таблицу 

CREATE TABLES SmallToInt (

id smallint

sid int);

2. Поменяем тип столбца на int

ALTER TABLE  smallToInt

 MODIFY id int;

3. Создадим еще одно поле в этой таблице

ALTER TABLE  smallToInt

 ADD d int;

4. Попробуем добавить ограничение внешний ключ

ALTER TABLE  smallToInt

 ADD CONSTRAINT fk_d

FOREIGN KEY (d)

REFERENCES smallToInt(id) ;

5. Ошибка. Причина состоит в том, что для поля id нет индекса, поэтому не может быть создано ограничение типа FOREIGN KEY.

6.  Попробуйте создать внешний ключ на поле id в следующих случаях (Внимание: перед выполнением каждого нового пункта из данного раздела удалите сначала все сделанные изменения):

6.1. поле id - PRIMARY KEY 

6.2. составной первичный ключ из полей  id  и sid (Внимание: перед добавлением индекса удалите сначала ограничение внешнего ключа, а затем ограничение PRIMARY KEY)

6.3. у не ключевого поля id создайте индекс (Внимание: перед добавлением индекса удалите сначала ограничение внешнего ключа, а затем ограничение PRIMARY KEY)

6.4. у не индексованного поля id создайте UNIQUE KEY (Внимание: перед добавлением ограничения  UNIQUE KEY удалите сначала ограничение внешнего ключа, а затем индекс).

После каждого запроса отображайте состояние таблицы (SHOW CREATE  TABLE smallToInt;)

7. Попробуйте выполнить следующий запрос

SELECT a.Catalog_name, b.Catalog_parent

FROM  lab3.ListCatalog as a INNER  JOIN

(SELECT  Catalog_parent

   FROM lab3.my_files

      GROUP BY lab3.my_files.Catalog_parent

      ORDER BY lab3.my_files.Catalog_parent

          LIMIT 10 )  as b

ON  a.Catalog_ID=b.Catalog_parent;

Теперь создайте индекс для поля lab3.my_files.Catalog_parent.

После чего перезагрузите сервер и повторите попытку выполнение запроса из этого пункта . Как сильно изменилось время выполнения запроса? Сформулируйте основное назначение индексов.

Номер задания

Комментарий

1

Условие отбора

=1

2

Условие отбора

<2000

3

Условие отбора

<=#30.09.2000# And >=#01.09.2000#

4

Условие отбора

>100 And <200

5

Поле

CheckSum: [экземляров]-([колОст]+[взяли])

Условие отбора

<>0

6

В свойствах запроса

«набор значений»

3

Сортировка

по убыванию

7

В свойствах запроса

«набор значений»

1

Сортировка

По возрастанию

Условие отбора

5 (из за того что ключ внешний)

8

В свойствах запроса

«набор значений»

1

Сортировка

По возрастанию

9

Поле

поступило в ноябре 2001года: Count(*)

Условие отбора

<=#30.11.2001# And >=#01.11.2001#

Это поле на экран не выводим

10

Условие отбора

<=#30.09.2000# And >=#01.09.2000#

Групповая операция

Sum (экземпляров)

Групповая операция

Условие (дата поступления)

Вывод на экран

нет(дата поступления)

11

Условие отбора

>="10" And <="32"

Условие отбора

>"20" And <"30"

12

Поле

Кол-во: Count(*)

Условие отбора

>="23" And <="32"

Условие отбора

>"20" And <"30"

13

Условие отбора

>4*30

14

Условие отбора

>Date()


6

9. SELECT a.Фамилия

FROM Фамилии a, Фамилии b

Where a.Фамилия=b.Фамилия and a.Код>b.Код ;

10.  SELECT Фамилии.Фамилия, Count(Фамилии.Фамилия) AS [Count-Фамилия]

 FROM Фамилии

GROUP BY Фамилии.Фамилия

HAVING (((Count(Фамилии.Фамилия))>1));


 

А также другие работы, которые могут Вас заинтересовать

19469. Понятие и виды юридических лиц 23.5 KB
  Понятие и виды юридических лиц. Юридическое лицо́ организация имеющая в собственности хозяйственном ведении или оперативном управлении обособленное имущество в соответствии с которым отвечают по обязательствам. Виды. Юр.Лица бывают: Коммерческие Тов...
19470. Понятие и классификация вещей 30.5 KB
  Понятие и классификация вещей Вещи объекты гражданских прав имеющие материальную осязаемую форму товара имеют следующую классификацию: недвижимые объекты перемещение которых затруднено в связи с их особой связью с землей земельные участки леса здания...
19471. Основні види архітектури ВМ 14.02 KB
  Основні види архітектури ВМ. По разрядности интерфейсов и машинных слов: 8 16 32 64 128 разрядные ряд ЭВМ имеет и иные разрядности По особенностям набора регистров формата команд и данных: CISC RISC VLIW; По количеству центральных процессоров: однопроцессорные многопроцесс
19472. Основные характеристики ЭВМ 15.34 KB
  Основные характеристики ЭВМ быстродействие. Оно часто измеряется в единицах которые называются ФЛОПС количество арифметических операций в секунду. Первые ЭВМ имели быстродействие в несколько сотен ФЛОПС современные суперЭВМ достигают скорости в несколько десят...
19473. Режим роботы компьютеров 14.84 KB
  Существует несколько режимов работы ЭВМ эти режимы имеют свои преимущества и недостатки. Монопольный режим один пользователь решает одну задачу. Это исторически первый режим работы ЭВМ. Первые машины были спроектированы только на такую работу. Этот режим отличаетс
19474. Арифметико-логічний пристрій (АЛП) 13.06 KB
  Арифметикологічний пристрій АЛП. Так називається пристрій для цілочислових операцій. Арифметичні операції такі як додавання множення і ділення а також логічні операції OR AND ASL ROL і ін. обробляються за допомогою АЛП. Ці операції складають переважну більшість програмн...
19475. Структура центрального процессора 14.1 KB
  Центральный процессор основное устройство ЭВМ которое наряду с обработкой данных выполняет функции управления системой: инициирование вводавывода обработку системных событий управление доступом к сновной памяти и т.п. Организация центрального процессора ЦП опр
19476. Архітектура системи команд(АСК) 26 KB
  Архітектура системи командАСК Архітекту́ра систе́ми кома́нд електронної обчислювальної машини складова частина архітектури ЕОМ яка включає інформацію про: 1.набір машинних команд перелік та семантику операцій які здатна виконувати обчислювальна машина 2.дос
19477. Архітектура шин 28 KB
  Архітектура шин Компю́терна ши́на англ. computer bus служить для передачі даних між окремими функціональними блоками компютера і є сукупністю сигнальних ліній які мають певні електричні характеристики і протоколи передачі інформації. Шини можуть розрізнятися розрядніст...