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


 

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

54667. АТМОСФЕРНІ ОПАДИ 72.5 KB
  Мета уроку: сформувати поняття про види опадів; на основі раніше набутих знань встановити взаємозвязки між температурою повітря його вологістю та опадами; ознайомити школярів з прийомами роботи з приладами для вимірювання кількості опадів; розвивати вміння аналізувати узагальнювати й обробляти теоретичні і практичні знанняувагупам'ять; виховувати цікавість до предметадоброзичливість по відношенню до своїх товаришів. Від кількості випадання опадів залежить життя рослин тварин людей. Ось чому при характеристиці клімату певної...
54668. Оператор ветвления 63 KB
  Тип урока: Изучение нового материала Знать: Алгоритмические структуры ветвления в полном и неполном варианте. Операторы ветвления в полном и неполном варианте Уметь: Использовать операторы ветвления в программах.
54669. Запилення. Урок 261.5 KB
  Основні терміни і поняття: запилення перехресне запилення самозапилення. Вправа Дешифрувальник Запилення тема нашого уроку. Запилення.
54670. Опис власної системи роботи вчителя початкових класів 1.09 MB
  Проводити урокителепередачі вже стало традицією. Крім уроків телепередач практикую уроки-подорожі уроки-ігри уроки-змагання інтегровані уроки.
54671. АКТУАЛЬНІСТЬ ДОСВІДУ 394.5 KB
  Глибінні засади освітніх реформ в Україні повязані із зміною освітньої парадигми з принципово новим цілепокладанням у педагогічному процесі із визнанням результатом навчання не ЗУНів а компетентності учнів і це суттєво впливає на цілі та зміст навчання організаційні форми методи та засоби. Зміст та методика викладання будьякого навчального предмету мають певні специфічні риси стосовно формування компетентностей учнів. додаток 4 Основні ідеї педагогічного досвіду полягають в наступному: підготувати учнів з...
54672. КАК ПОМОЧЬ СЛАБОУСПЕВАЮЩЕМУ УЧЕНИКУ 173 KB
  Задание 1. Посмотри вокруг операция абстрагирования Ученику предлагается посмотреть вокруг себя и увидеть как можно больше предметов одной и той же формы одного цвета из одного материала; предметов названия которых начинаются из одной и той же буквы Задание 2. Задание 1. Задание 1.
54673. Как помочь учиться учащимся 107.5 KB
  Для сильных учащихся подбираю задания требующие самостоятельности творческого поиска высокого уровня обобщения и систематизации изучаемого. Для слабых задания повышающие активность в процессе восприятия осмысления нового материала задания оказывающие школьникам оперативную помощь в процессе первичного закрепления материала обучающие приемам рациональной умственной деятельности. Я объясняю новый материал второй раз и самостоятельные задания получают учащиеся средней группы. В конце урока я проверяю задания которые выполняли учащиеся...
54674. Опора і рух 149 KB
  Тіло згниває а кістки не стлівають. Під час розкопок при добуванні будівельних матеріалів піску вапняку мармуру люди знаходили кістки за ними визначали геологічний вік людини і починали їх вивчати. Історія вивчення скелета Повідомлення учня Давньогрецький вчений філософ Демокріт сам збирав кістки на цвинтарі щоб вивчати скелет. А відомий римський лікар Клавдій Гален примушував своїх учнів приносити кістки мерців.
54675. Порушення функцій скелета та їхня профілактика 48.5 KB
  Мета уроку: розглянути вікові особливості опорнорухової системи показати причини що негативно й позитивно впливають на опорнорухову систему ознайомити учнів з наслідками порушень гігієни опорнорухової системи навчити дотримуватись правильної постави як запоруки здоровя та довголіття закріпити знання про опорнорухову систему виховувати естетичну насолоду від споглядання правильної постави як складової зовнішньої краси Обладнання та...