Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы-рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".
1. Что означает аббревиатура SQL?
2. На какие шесть категорий разделяются команды SQL?
3. Какие четыре команды являются командами управления транзакциями?
4. Каковы главные отличия технологии клиент/сервер от технологии, использующей мэйнфрейм?
5. Если поле определено как NULL, значит ли это, что в это поле обязательно должно быть что-нибудь введено?
1. Идентифицируйте категории, к которым относятся следующие команды SQL:
CREATE TABLE
DELETE
SELECT
INSERT
ALTER TABLE
UPDATE
2-й час Структура данных
На этом уроке мы рассмотрим структуру данных, о которых шла речь в конце предыдущего урока. Вы ознакомитесь с характеристиками самих данных и с тем, как такие данные представлены в базе данных. Как вы вскоре обнаружите, данные могут быть нескольких типов.
Основными на этом уроке будут следующие темы.
• Анализ размещенных в таблице данных
• Основные типы данных
• Рекомендации по использованию основных типов данных
• Примеры, раскрывающие различия между типами данных
Данные являются основой любой базы данных, и они должны быть защищены. Такую защиту обычно осуществляет администратор базы данных, хотя и каждый пользователь базы данных должен осознать, что необходимо принять определенные меры для защиты данных. Защита данных подробно обсуждается в ходе урока 18, "Управление доступом к базе данных", и урока 19, "Обеспечение сохранности данных".
В следующих разделах обсуждаются основные типы данных, поддерживаемые стандартом ANSI SQL. Типы данных являются характеристиками самих данных, чьи атрибуты размещаются прямо в соответствующих полях таблицы. Например, можно указать, что некоторое поле должно содержать только числовые значения, и это не позволит вводить буквенно-числовые значения, когда, например, вы не хотите, чтобы последние появлялись в поле, предназначенном для хранения денежных значений.
Создается впечатление, что каждая реализация SQL предлагает свои собственные типы данных. Это оказывается необходимым в рамках предлагаемой каждой реализацией своей философии хранения данных. Однако в своей основе все подходы оказываются одинаковыми для всех реализаций.
Самыми общими типами в SQL, как и в большинстве других языков, являются
• символьные строки;
• числовые строки;
• значения даты и времени.
CHARACTER:n
где n должно быть числом, задающим длину (точнее, максимальную длину) соответствующего поля.
Некоторые реализации SQL для определения строк фиксированной длины используют тип данных CHAR. Этот тип данных предполагает хранение буквенно-числовых данных. Такой тип данных годится, например, для хранения аббревиатур штатов, поскольку все такие аббревиатуры предполагаются двухбуквенными.
При использовании строк фиксированной длины для заполнения незанятых позиций обычно используются пробелы. Например, если длина строки задана равной 10, а введенные данные занимают лишь пять позиций, то оставшиеся пять мест будут заполнены пробелами. Такое дополнение обеспечивает фиксированную длину всех данных соответствующего поля.
Не используйте тип строк фиксированной длины для полей, в которых предполагается хранить данные различной длины, например имена. При этом нерационально используется имеющееся пространство и могут возникнуть проблемы с организацией сравнения содержащихся в соответствующих полях данных.