Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prakticheskie_zanyatia_po_MS_Access_7.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
142 Кб
Скачать
☆

Задание

1. Используя инструкции SQL, обеспечьте сортировку записей таблицы IZD в базе данных Изделия в алфавитном порядке.

2. Используя форму SQL базы данных Изделия, обеспечьте вывод только тех записей из таблицы ОТГРУЗКА, для которых поле Количество отгружаемого товара имеет значение меньшее 60.

3. Сконструируйте запрос на обновление поля Цена отгружаемого товара из таблицы ОТГРУЗКА, присваивая значение 450 в тех записях, в которых поле Количество отгружаемого товара равно 50.

4. Обеспечьте удаление всех записей из таблицы IZD1, в которых значение в поле Текущий остаток меньше или равно 30.

5. В базе данных Изделия необходимо подсчитать количество изделий отгружаемых по каждой накладной.

6. Сконструируйте запрос на выборку, который бы обеспечивал вывод полей Код изделия, Наименование изделия, Цена изделия из таблицы IZD и полей Количество отгружаемого товара, Цена отгружаемого товара - из таблицы ОТГРУЗКА используя ключевое слово INNER JOIN.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

По стандарту ANSI DCL является частью DDL.

Синтаксис команд и примеры, рассмотренные в данном пособии, соответствуют синтаксису СУБД Sybase.

В командах SQL не различаются прописные и строчные буквы (за исключением строчных литералов). Каждая команда заканчивается символом ';'. Значения параметров по умолчанию выделено подчеркиванием, например, ALL.

Примем следующие обозначения для описания синтаксиса:

{} – содержимое скобок рассматривается как единое целое для остальных символов;

| – заменяет слово ИЛИ;

[] – содержимое этих скобок является необязательным;

… – всё, что предшествует этим символам, может повторяться произвольное число раз;

.,.. – всё, что предшествует этим символам, может повторяться произвольное число раз, каждое вхождение отделяется запятой.

1.4.1. Создание отношений

Создание нового отношения (таблицы) выполняется с помощью команды DDL CREATE TABLE. Команда CREATE TABLE используется для описания новой таблицы, её атрибутов (полей) и ограничений целостности. Упрощённый синтаксис этой команды:

CREATE TABLE <имя таблицы> ( {<имя поля> <тип данных> [(<размер>)] [<ограничения целостности поля>…]} .,.. [, <ограничения целостности таблицы>.,..] );

Расшифровка элементов описания приведена в табл. 1.

Для обязательных полей устанавливается ограничение not null. Это означает, что при изменении значения этого поля или при добавлении новых записей таблицы это поле должно содержать допустимое значение. Ограничение not null можно наложить на поле только один раз, иначе возникает ошибка.

Таблица 1. Описание команды CREATE TABLE

Элемент

Описание

<имя поля>

Имя поля (столбца) таблицы, обычный идентификатор.

<тип данных>

Тип данных поля. Можно использовать одно из значений:

– INTEGER, INT, SMALLINT – целые числа;

– NUMERIC[(длина [, точность])], DECIMAL[(длина [, точность])] – числа с фиксированной запятой;

– FLOAT, REAL, DOUBLE – вещественные числа;

– CHAR[(длина)], VARCHAR(длина) – символьные строки фиксированной и переменной длины;

– DATE – дата; TIME – время.

<размер>

Размер поля в символах (для текста и чисел).

<ограничения целостности>

Можно использовать следующие ограничения:

– PRIMARY KEY – первичный ключ (обязательный и уникальный);

– UNIQUE – уникальное значение поля в пределах столбца таблицы;

– [NOT] NULL – [не] возможность не указывать значение поля;

– CHECK (<условие>) – проверка условия для поля (полей);

– DEFAULT <выражение> – задание значения поля по умолчанию;

– REFERENCES <имя таблицы> [(<имя столбца>)] – внешний ключ.

<ограничения целостности таблицы>

То же, что и для поля. Дополнительно используется:

FOREIGN KEY [(<список полей>.,..)] REFERENCES <имя таблицы> [(<список полей>)] – внешний ключ.

Примеры создания таблиц:

  1. Таблица "Отделы" с полями "Номер отдела" (ПК), "Название отдела":

create table depart ( depno numeric(2) primary key, name char(30) not null);

  1. Таблица "Сотрудники" с полями "Номер отдела" (внешний ключ), "Табельный номер сотрудника" (ПК), "ФИО сотрудника", "Должность", "Оклад", "Дата рождения", "Телефон":

create table emp ( depno numeric(2) references depart, tabno char(3) primary key, name char(40) not null, post char(20) not null, salary numeric(7,2) not null, born data not null, tel char(9));

  1. Таблица "Дети сотрудников" с полями "Табельный номер родителя" (внешний ключ), "Имя ребенка", "Пол", "Дата рождения":

create table children ( tabno char(3) references emp(tabno), name char(20) not null, sex char(1), born date, primary key(tabno, name), /* составной первичный ключ*/ check (sex in (‘м’, ‘ж’)));

Обратите внимание:

  • общие ограничения целостности и составные ключи указываются через запятую после последнего поля;

  • если внешний ключ ссылается на первичный ключ (ПК) другого отношения, имена полей ПК можно не указывать;

  • если внешний ключ составной, список полей входящий в ключ, указывается после перечисления всех полей таблицы с ключевым словом FOREIGN KEY:

create table tab ( id numeric(6) primary key, class numeric(3), fdate date, group char(6), foreign key (class, fdate) references exam(class, fdate));

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