Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
бИЛЕТЫ_GOSam.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1 Мб
Скачать
☆

3)Язык sql. Команды манипулирования данными.

SQL — это язык структурированных запросов (Structured Query Language) к реляционным базам данных.

Команды манипулирования данными:

Язык манипулирования данными (DML) — это часть языка SQL, предназначенная для реального внесения пользователем изменений в информацию, содержащуюся в реляционной БД. С помощью команд языка манипулирования данными пользователь может загружать в таблицы новые данные, а также изменять и удалять существующие. Команды DML также могут быть использованы при выполнении простых запросов к БД.

В SQL для выполнения операций ввода данных в таблицу их изменения и удаления предназначены три команды языка манипулирования данными (DML). Это команды INSERT (вставить), UPDATE (обновить), DELETE (удалить).

  • Команда INSERT осуществляет вставку в таблицу новой строки. В простейшем случае она имеет вид:

INSERTINTO<имя таблицы>VALUES (<значение>, <значение>,).

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

Пример:

INSERT INTO STUDENT

VALUES (101,'Иванов','Александр', 200, 3,'Витебск', '6/10/1979', 15);

В случаях, когда необходимо ввести значения полей в порядке, отличном от порядка столбцов, заданного командой CREATE TABLE, или требуется ввести значения не во все столбцы, следует использовать следующую форму команды INSERT:

INTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME)

VALUES (101, 'Москва', 'Иванов', 'Саша');

С помощью команды INSERT можно извлечь значение из таблицы и разместить его в другой, например, запросом следующего вида:

INSERT INTO STUDENT1

SELECT*

FROM STUDENT

WHERE CITY='Витебск';

  • Удаление строк из таблицы осуществляется с помощью команды DELETE, Следующее выражение удаляет все строки таблицы EXAM_MARKS1.

DELETE FROM EXAM_MARKS1;

В результате таблица становится пустой (после этого она может быть удалена командой DROP TABLE).

Операция удаления строк позволяет также добавлять условия удаления путем введения нового синтаксического предложения where.

DELETE FROM EXAM_MARKS1

WHERE STUDENT_ID=103;

Можно удалить группу строк:

DELETE FROM STUDENT1

WHERE CITY='Витебск';

  • Команда UPDATE позволяет изменять, то есть обновлять значения некоторых или всех полей в существующей строке или строках таблицы.

Например, чтобы для всех университетов, сведения о которых находятся в таблице UNIVERSITY1, изменить рейтинг на значение 200, можно использовать конструкцию:

UPDATE UNIVERSITY!

SET RATING=200;

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

Команда UPDATE позволяет изменять не только один, но и множество столбцов. Для указания конкретных столбцов, значения которых должны быть модифицированы, используется предложение SET.

4)Абстрактный тип данных «Список». Методы реализации списков.

В математике список - последовательность элементов определенного типа, который в общем случае будем обозначать как elementtype. Список можно представить в виде послед-ти элементов, разделенных запятыми: а1, а2, ..., аn, где n ³ 0 и все аi имеют тип elementtype.

Длина списка - количество элементов n. Если n ³ 1, то а1 называется первым элементом, а аn - последним элементом списка. В случае n = 0 имеем пустой список.

Для формирования абстрактного типа данных на основе математического определения списка необходимо задать множество операторов, выполняемых над объектами типа LIST (Список).

Операторы, выполняемые над списком (x -объект этого типа, р – позиция в списке) 1) 1)INSERT(x, p, L) - вставляет объект х в позицию р в списке L

2) LОСАТЕ(x, L) - возвращает позицию объекта х в списке L.

3) RETRIEVE(p, L)- возвращает элемент, кот. стоит в позиции р в списке L.

4) DELETE(p, L)- удаляет элемент в позиции р списка L.

5) NEXT(p, L) и PREVIOUS(p, L)- возвращают след. и предыдущую позиции в списке L.

6) MAKENULL(L)- делает список L пустым и возвращает позицию END(L).

7) FIRST(L) - возвращает первую позицию в списке L.

8) PRINTLIST(L)- Печатает элементы списка L в порядке из расположения.

Методы реализации списков

Реализация списков посредством массивов

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

При использовании массива мы определяем тип LIST как запись, имеющую два поля.

П ервое поле elements - это элементы массива, чей размер считается достаточным для хранения списков любой длины.

Второе поле целочисленного типа last указывает на позицию последнего элемента списка в массиве. Константа maxlength определяет максимальный размер массива. Функция END(L) возвращает значение last+1.

Реализация списков посредством указателей

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

Если список состоит из элементов а1, а2, ..., аn, то для i=1, 2, ..., n-1 ячейка, содержащая элемент аi имеет также указатель на ячейку, содержащую элемент аi+1. Ячейка, содержащая элемент аn, имеет указатель nil (нуль).Имеется также ячейка header (заголовок), которая указывает на ячейку, содержащую а1.

Двунаправленные списки

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

Билет №13.

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