Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
srs_IPOVS_BD.doc
Скачиваний:
41
Добавлен:
05.06.2015
Размер:
1.19 Mб
Скачать

Вопросы для самоконтроля

  1. Для учебной БД напишите запрос, вычисляющий сумму доходов, полученных жителями от источника с названием "Стипендия".

  2. Для учебной БД напишите запрос, определяющий даты рождения самого молодого и самого старого жителя.

  3. Для учебной БД напишите запрос, определяющий количество источников дохода, реально используемых жителями.

  4. Для учебной БД напишите запрос, определяющий количество жителей, имеющих источники дохода.

  5. Для учебной БД напишите запрос, определяющий количество источников дохода у жителя с номером 222.

  6. Какой запрос называется запросом с группировкой?

  7. Какие столбцы называются столбцами группировки?

  8. Как изменяется действие агрегатных функций в запросах с группировкой по сравнению с обычным итоговым запросом?

  9. Перечислите требования к столбцам группировки.

  10. Что может быть элементом списка возвращаемых столбцов в запросе с группировкой?

  11. В каком предложении записывается условие поиска групп?

  12. Что можно использовать в условии поиска групп для запроса с группировкой?

  13. Для учебной БД напишите запрос, определяющий количество жителей в каждой квартире.

  14. Какой запрос называется вложенным?

  15. Перечислите особенности вложенного запроса.

  16. Что называется внешней ссылкой во вложенном запросе?

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

  18. Укажите особенность связанного подзапроса.

  19. Для учебной БД напишите запрос, формирующий список самых молодых жителей.

Тема 16. Изменение данных в базе данных

16.1. Корректировка таблиц бд

В таблицу можно включать новую строку с помощью оператора

INSERT INTO <список значений> [(<список столбцов>)]

{VALUES (<список значений>) | <подзапрос>}

Если список столбцов не задан, то значения должны вводиться в каждое поле новой строки; если список столбцов задан, то значения соответственно должны вводиться в те поля, которые перечислены в списке столбцов, и в том порядке, в каком они расположены в списке. Например:

INSERT INTO Have_D VALUES (999111, ‘РАБОТА1’, 500000)

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

Для изменения значения заданных столбцов служит оператор

UPDATE <имя таблицы> SET <имя столбца> =<значение>, . . . [WHERE <условие>]

Оператор позволяет изменить значения указанных столбцов для всех строк таблицы или для отобранных строк, если используется фраза WHERE. Например:

UPDATE Have_D SET source=‘ПОСОБИЕ’,money=100

WHERE nom=999111 AND source=‘РАБОТА1’

Для удаления строк таблицы предназначен оператор

DELETE FROM <имя таблицы> [WHERE <условие>]

Если фраза WHERE отсутствует, то удаляются все строки таблицы. При использовании фразы WHERE <условие> из таблицы удаляются строки, удовлетворяющие заданному условию.

16.2. Создание объектов бд

Для того чтобы обращаться к данным на языке SQL, надо предварительно создать БД. БД создается при помощи оператора

CREATE DATABASE <имя БД>

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

Для создания таблицы предназначен оператор

CREATE TABLE <имя таблицы> (<имя столбца>

<тип данных>, ...);

Например,

CREATE TABLE Have_D (nom NUMERIC(6,0),

Source CHAR(10), money NUMERIC(10,0))

Средствами SQL могут быть созданы также индексы. Для этого предназначен оператор

CREATE INDEX <имя индекса> ON <имя таблицы>

Опция UNIQUE определяет уникальный индекс. В языке SQL это означает, что значения в столбцах таблицы должны быть уникальны, и, как следствие, уникальными являются и элементы индекса. Если объявлен уникальный индекс, то при вводе данных в столбцы, указанные в операторе CREATE INDEX, могут быть включены только уникальные значения.

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

При создании индекса может быть указан порядок сортировки: ASC - по возрастанию; DESC - по убыванию. По умолчанию принимается значение ASC.

Пример создания индекса:

CREATE UNIQUE INDEX H_D_index ON Have_D (nom,source,money)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]