- •1.1. Архитектура хост/терминал
- •1.2. Архитектура файл/серввр
- •2.1 Сетевая модель данных
- •2.2. Реляционная модель данных
- •4.2. Первичные ключи. Что выбрать в качестве первичных ключей для каждой из таблиц?
- •4.3. Нормализация данных
- •4.4. Типы данных
- •5.1. Предназначение IDEF1X
- •5.2. Сущности в IDEF1X и их атрибуты
- •5.3. Связи между сущностями
- •5.4. Идентификация сущностей. Представление о ключах
- •5.5.Классификация сущностей в IDEF1X. Зависимые и независимые сущности
- •5.7. Преимущества IDEF1X
- •6.2. Оператор SELECT
- •6.3. Работа с несколькими таблицами
- •6.5. Объединение множества запросов в один
- •6.6.Команды модификации данных
- •6.7. Модификация структуры данных
- •ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ УПРАВЛЕНИЯ
в 6.6.1, и является случаем использования подзапроса с INSERT. Приведем еще один пример.
Предположим, есть таблица Клиент_____ П (содержащая информа цию о клиентах из Перми), определения столбцов которой полностью со ответствуют определениям таблицы Клиент. Заполнение таблицы Клиент:
INSERT INTO Т КЛИЕНТ SELECT * FROM КЛИЕНТ WHERE IDN_ ГОРОДА= 104; Выходные данные:
IDN |
IDN города |
Имя |
Реквизиты IDN банка |
205 |
104 |
Кузнецов |
314 |
208 |
104 |
Золин |
311 |
Подзапрос отыскивает всех клиентов с IDN_ города = 104, a INSERT помещает результат подзапроса в Клиент.
Использование подзапросов с DELETE. DELETE используется для удаления строк из таблицы. В предикате команды DELETE можно исполь зовать подзапросы. Например, если необходимо закрыть (удалить) банки, с которыми не работает ни один клиент, то нужно ввести:
Считаетсяколичествоклиентов
DELETE FROM БАНКИ / WHERE (SELECT COUNT(*) FROM КЛИЕНТ
WHERE IDNJBAHKA = БАНКИ.ПЖ) = 0;
В результате из таблицы Банки будут исключены строки Альфабанк, Менатеп, Западуралбанк.
6.7. Модификация структуры данных
6.7.1. Команда CREATE TABLE. Эта команда создает пустую таблицу - таблицу, не имеющую строк. CREATE TABLE определяет имя таблицы и множество поименованных столбцов в указанном порядке. Для каждого столбца устанавливается тип и размер. Каждая таблица должна иметь хотя бы один столбец.
Синтаксис команды CREATE TABLE :
CREATE TABLE < имя таблицы >
(< имя столбца > < тип данных >[(размер)], < имя столбца > < тип данных >[(размер)],...);
Пробелы применяются для разделения отдельных частей команд в SQL, поэтому их нельзя использовать как часть имени таблицы. Символ подчеркивания ( _ ) наиболее часто используется для разделения слов в именах таблицы. Для типа CHAR нужно обязательно указывать размер - целое число, задающее максимальное число символов, которые могут со держаться в поле.
Следующая команда позволяет создать таблицу Банки:
CREATE TABLE Банки
(IDN integer, реквизиты char (10));
Важен порядок столбцов в определении таблицы, он определяет по рядок, в котором задаются значения элементов строк. Определения столбцов могут не задаваться в отдельных строках, но они должны разде ляться запятыми.
6.7.2. Команда ALTER TABLE. Эта команда изменяет уже созданную таблицу.
Синтаксис команды :
ALTER TABLE < имя таблицы > ADD < имя столбца > < тип данных > < размер >
Новый столбец становится последним столбцом в таблице. Можно добавлять в таблицу несколько столбцов с помощью одной команды, в этом случае их разделяют запятой.
Добавим в таблицу Банки столбец Имя клиента:
ALTER TABLE БАНКИ ADD ИМЯ КЛИЕНТА CHAR(10)
6.7.3. Команда DROP TABLE. Эта команда удаляет пустую таблицу из базы данных. Нужно сначала удалить все данные из таблицы, т.е. сделать ее пустой, а затем уже удалить таблицу из базы данных. Таблица, имею щая строки, не может быть удалена. Синтаксис команды, удаляющей пус тую таблицу из системы:
DROP TABLE < имя таблицы >
После выполнения команды имя таблицы больше не распознается как имя таблицы, команды не могут работать с объектом, имя которого было указано в команде DROP. Перед выполнением команды следует удостове риться, что эта таблица не содержит внешних ключей для какой-либо дру гой таблицы.
ШМИДТ Игорь Альбертович
ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ УПРАВЛЕНИЯ
Конспект лекций
Лит. редактор Н.В. Бабинова Корректор Г.Я. Шилоносова
Лицензия ЛР № 020370
Подписано в печать 25.11.05. Формат 60x90/16. Набор компьютерный. Уел. печ. л. 3,5.
Уч.-изд. л. 3,1. Тираж 150 экз. Заказ № 157.
Редакционно-издательский отдел и ротапринт Пермского государственного технического университета Адрес: 614600. Пермь, Комсомольский пр., 29