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));


 

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

27830. Основные требования к устройствам АПВ и расчет их параметров. Схемы устройств на переменном и выпрямительном оперативном токе в установках высокого напряжения 177.5 KB
  Основные требования к устройствам АПВ и расчет их параметров. Применение АПВ обязательно для всех ЛЭП всех напряжений на шинах ПС. Основные требования к устройству АПВ и расчет их параметров. АПВ бывают трёх и однофазные.
27831. Дифференциальное реле с торможением: принцип действия, устройство дифференциаль 173 KB
  Дифференциальное реле с торможением: принцип действия устройство дифференциального реле с магнитным торможением на принципе сравнения абсолютных значений двух электрических величин. Использование в схемах ДЗ реле с торможением. 1 уставка тока срабатывания реле обычного. 2 ток небаланса реле в зависимости от тока внешнего КЗ.
27832. Дифференциальное реле с механическим торможением. Применение и устройство насыщенного трансформатора тока в дифференциальной защите 86 KB
  Дифференциальное реле с механическим торможением. Система сочетает принцип БНТ и принципы реле с торможением: большинству току небаланса соответствует автоматически больший ток торможения в тормозных обмотках. При КЗ в зоне К2 реле действует но остается тормозной момент что снижает чувствительность. Rмг мало а коэффициент трансформации велик поэтому ток не баланса по прежнему плохо трансформируется в рабочую обмотку и реле КА загрублено.
27833. Фильтры симметричных составляющих токов и напряжений в релейной защите 95 KB
  Фильтры бывают: RL, RC и трансформаторные. Бывают простые и комбинированные, ток на выходе пропорционален всем составляющим.
27834. Трансформаторы тока в схемах релейной защиты 162.5 KB
  F1 F2 = Fном I1ω1 I2ω2 = Iномω1 разделив на ω2: I`1 I2 = I`ном следовательно I`1 = I2 I`ном Если ТТ идеальный Iном = 0 I`1 = I2 это хорошо но не возможно сделать без Iном т. Для идеального ТТ nт = nв Векторная диаграмма для ТТ Угол γ определяется потерями в стали трансформатора Е2 опережает Ф на 90 I2 отстает от Е2 на угол φ который определяется R и Х нагрузки и вторичной обмотки z2 и zн Угол δ угловая погрешность ТТ ΔI токовая...
27835. Расчет выдержек времени МТЗ 76 KB
  Основным пусковым органом МТЗ с независимой выдержкой времени является реле РТ40 а МТЗ с ограниченной выдержкой времени РТ80. Реле РТ80 Сложное большое реле которое совмещает в себе токовое времени и указательное реле. Соответственно защита на этом реле имеет преимущества. В этом реле РТ80 есть два элемента: индукционный элемент эл.
27836. Выбор тока срабатывания максимальной токовой защиты 87 KB
  max Котс учитывает неточность расчета погрешности в работе реле. Iвз максимальное значение тока при котором пусковой орган защиты реле тока возвращается в первоначальное состояние. коэффициент возврата защиты 1 всегда Iвз = Кв Iсз эта формула получена для первичных реле где Iсз = Iср Iкз = Iсз Схема включения обмоток реле и трансформаторов тока в неполную звезду для этой схемы Iр = Iср при КЗ...
27837. Токовая отсечка на линии с односторонним питанием 77 KB
  Селективность действия токовой отсечки без выдержки времени достигается тем, что ее ток срабатывания выбирается больше тока КЗ, проходящего через защиту при повреждении вне защищаемого элемента.