Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие. Ратманова. Булатова..doc
Скачиваний:
131
Добавлен:
07.03.2015
Размер:
4.54 Mб
Скачать
      1. Модификация существующих записей (update)

Общий синтаксис:

UPDATE <таблица>

SET <столбец> = <значение> [, <столбец> = <значение>]

[FROM <таблица(ы) источников>]

[WHERE <условие>]

Примеры:

UPDATE detail

SET weight = 210

UPDATE material

SET material_name = 'Олово'

WHERE material_id = 2

UPDATE delivery

SET department_id = NULL,

delivery_date = delivery_date + 1 /*увеличение даты поставки на день

WHERE delivery_id = 1 OR department_id > 3

UPDATE detail

SET detail_name = detail_name + '!!!'

WHERE detail_name LIKE '_а%' AND weight BETWEEN 6 AND 10

      1. Удаление записей из таблицы (delete)

Общий синтаксис:

DELETE<таблица>

[WHERE] <условие>

Примеры:

DELETE detail

WHERE detail_id IN (2, 5, 8)

DELETE detail

WHERE weight IS NULL

DELETE detail

Задание:Заполните базу данных средствами Management Studio. Для этого следует воспользоваться командой «Изменить первые 200 строк» контекстного меню таблицы в «Обозревателе объектов» (рис. 4.1).

Составьте 9 запросов на модификацию данных: три на вставку записей ( INSERT), три на обновление (UPDATE), три на удаление (DELETE).

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

  1. Какова технология загрузки информации в базу данных, поддерживаемая средой ManagementStudio?

  2. Как определяется размер создаваемой базы данных?

  3. Что такое транзакция?Охарактеризуйте механизм управления транзакциями СУБД.

  4. Когда на пользовательском уровне требуется пользоваться механизмом управления транзакциями?

  5. Какая команда языка SQL используется для ввода информации в базу данных?Охарактеризуйте варианты использования этой команды.

  6. Как работает многострочная конструкция команды INSERT?

  7. Охарактеризуйте правило согласованности значений в команде INSERT.

  8. Сформулируйте правила оформления значений различных типов данных в СУБД MS SQL Server.

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

  10. Какие команды SQL используются для удаления строк таблицы и в целом всей таблицы?

  11. Для чего используется команда ALTER TABLE. Как всредеManagementStudioвоспользоваться этой функцией?

  12. Посредством какой опции прописываются вторичные ключи при создании таблицы?

  13. Как добавить новое поле в ранее созданную таблицу?

  14. Что такое индексы в базе данных. Как они создаются?

  15. Как задаются права доступа к созданной базе данных?

  16. Как в среде ManagementStudioудалить базу данных?

  1. Запросы на выборку данных

    1. Общий синтаксис запроса select

SELECT [DISTINCT] <список столбцов>

FROM <таблица(-ы) источник>

[WHERE <ограничения>]

[GROUP BY <столбцы из раздела SELECT или операция над этими столбцами>]

[HAVING <ограничения на результаты GROUP BY>]

[ORDER BY <список столбцов для сортировки>]

Разделы SELECT и FROM обязательно должны присутствовать в каждом запросе; остальные разделы могут отсутствовать или присутствовать частично.

    1. Примеры реализации запросов

Наиболее простые запросы:

1. Выбрать название и вес деталей

Рис. 5.1. Результаты выполнения запроса №1

2. Выбрать всю информацию из таблицы материалов

Рис. 5.2. Результаты выполнения запроса №2

Уникальность DISTINCT

3. Выбрать уникальные коды поставщиков из таблицы поставок

Рис. 5.3. Результаты выполнения запроса №3

Ограничение WHERE

4. Выбрать количество и даты поставки детали с кодом 1

Рис. 5.4. Результаты выполнения запроса №4

5. Выбрать названия поставщиков с кодами 1, 4 и 6

или

Рис. 5.5. Результаты выполнения запроса №5

6. Выбрать всю информацию о поставках, сделанных до 1.10.2009

Рис. 5.6. Результаты выполнения запроса №6

7. Выбрать всю информацию о деталях, не начинающихся на букву «В» (в любом регистре) и чей вес меньше 50

Рис. 5.7. Результаты выполнения запроса №7

8. Выбрать название и код материала для деталей с весом от 5 до 10 г или имеющих в названии букву «н» в третьей позиции

Рис. 5.8. Результаты выполнения запроса №8

9. Выбрать названия поставщиков длиной не больше 15-и символов

Рис. 5.9. Результаты выполнения запроса №9

10. Выбрать месяца и годы поставок деталей

Рис. 5.10. Результаты выполнения запроса №10

Сортировка ORDER BY

11. Упорядочить поставки сначала по коду поставщика, а затем по дате поставки

Рис. 5.11. Результаты выполнения запроса №11

12. Выбрать названия поставщиков с кодами 4, 6, 8, 9, упорядоченных по алфавиту в обратном порядке

Рис. 5.12. Результаты выполнения запроса №12

Агрегация и группировка GROUP BY

13. Посчитать количество деталей, для которых задан вес

или

Рис. 5.13. Результаты выполнения запроса №13

14. Определить средний вес деталей из материала с кодом 2

Рис. 5.14. Результаты выполнения запроса №2

15. Из поставок, совершенных до 1.10.2009, выбрать самую крупную поставку и самую мелкую

Рис. 5.15. Результаты выполнения запроса №15

16. Для поставщиков с кодами в диапазоне 5 - 8 посчитать суммарное количество поставленных ими деталей

Рис. 5.16. Результаты выполнения запроса №16

17. Посчитать количество поставленных деталей в каждом месяце каждого года; результаты упорядочить в порядке убывания года и месяца

Рис. 5.17. Результаты выполнения запроса №17

Ограничение на группировки HAVING

18. Выбрать материалы, для которых суммарный вес выполненных из них деталей не больше 20

Рис. 5.18. Результаты выполнения запроса №18

19. Выбратьдетали, поставлявшиеся более одного раза с начала 2008 года.

Рис. 5.19. Результаты выполнения запроса №19

Преобразование типов CAST

20. Получить сведения о датах поставок в текстовом виде

Рис. 5.20. Результаты выполнения запроса №20

21. Получить сведения из таблицы деталей в виде строк «Деталь X имеет вес Y»

Рис. 5.21. Результаты выполнения запроса №21

Альтернативы CASE

22. Разделить детали на легкие (весом до 20), средние (между 20 и 50) и тяжелые

Рис. 5.22. Результаты выполнения запроса №22

Обработка NULL-значений

23. Получить сведения о деталях и их весах, причем если у детали вес не задан, то вместо NULL написать -100

Рис. 5.23. Результаты выполнения запроса №23

Функция существования EXISTS

24. Выбрать название и код материала только тех деталей, которые когда-либо поставлялись

Рис. 5.24. Результаты выполнения запроса №24

25. Выбрать названия тех материалов, из которых не изготовлена ни одна деталь

Рис. 5.25. Результаты выполнения запроса №25

Подзапросы

26. Получить сведения о самой последней (по дате) поставке

Рис. 5.26. Результаты выполнения запроса №26

27. Получить все поставки деталей из материала с кодом 2

Рис. 5.27. Результаты выполнения запроса №27

28. Для каждого поставщика получить сведения о самой первой (по дате) его поставке

Рис. 5.28. Результаты выполнения запроса №28

29. Для каждого поставщика получить его имя и дату последнего заказа

Рис. 5.29. Результаты выполнения запроса №29

Объединение таблиц JOIN

30. Получить таблицу вида: название детали, название материала, из которого выполнена эта деталь

или

или

Рис. 5.30. Результаты выполнения запроса №30

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

Рис. 5.31. Результаты выполнения запроса №31

32. Выбрать всю информацию о тех деталях, которые когда-либо поставлялись

Рис. 5.32. Результаты выполнения запроса №32

33. Для каждого поставщика посчитать суммарную величину его поставок

Рис. 5.33. Результаты выполнения запроса №33

34. Выбрать названия материалов и сделанных из них деталей

Рис. 5.34. Результаты выполнения запроса №34

35. Получить все данные о поставщиках, поставках и деталях

Рис. 5.35. Результаты выполнения запроса №35

Объединение результатов UNION

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

Рис. 5.36. Результаты выполнения запроса №36

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

Рис. 5.37. Результаты выполнения запроса №37

Задание:создайте10 запросов на выборку данныхдля своей базы, в отчет поместитеихописание, код ирезультат вызова в форме копии экрана.