NULL используется для обозначения отсутствия значения. При наличии значения NULL в поле, это поле выглядит как пустое. Поле со значением NULL является полем, которое не имеет значения. Очень важно понять, что значение NULL отличается от нулевого значения и от поля, содержащего только пробелы. Поля со значением NULL - это те поля, которые остаются пустыми при создании записи. Обратите внимание, что в таблице EMPLOYEE__TBL не каждый из служащих имеет второй инициал. На соответствующем месте для служащих, которые не имеют второго инициала, стоит именно значение NULL.
Другие элементы, из которых состоят таблицы, будут обсуждаться в ходе следующих двух уроков.
Вы прочитали введение в стандартный язык SQL и ознакомились с краткой историей и эволюцией его стандарта за последние несколько лет. Обсуждались также системы баз данных и современные технологии, основанные на использовании реляционных баз данных и систем клиент/сервер, - обе они исключительно важны для понимания SQL. Речь шла и о главных компонентах SQL и о том, что на рынке реляционных баз данных конкурирует достаточно много производителей, вследствие чего имеется целый ряд различных вариаций SQL. Но, несмотря на все вариации, большинство производителей в известной степени придерживаются текущего стандарта ANSI SQL, тем самым обеспечивая кросс-платформенную совместимость и стимулируя создание переносимых SQL-приложений.
Была описана и база данных, которую предполагается использовать в процессе данного курса обучения. Эта база данных состоит из нескольких связанных между собой таблиц. Вы должны были получить некоторые общие знания, касающиеся основ SQL, и освоить концепции, лежащие в основе построения реляционных баз данных. После закрепления освоенного материала с помощью предлагаемых ниже упражнений, на следующем уроке вы должны будете чувствовать себя достаточно уверенно.
Изучив SQL, смогу ли я воспользоваться любой из реализаций SQL, если это потребуется?
Да, вы получите возможность обращаться к любой из баз данных, которая является ANSI SQL-совместимой. Если же совместимость будет неполной, вы сможете довольно быстро разобраться, какие изменения требуются для работы с такой базой данных.
В рамках технологии клиент/сервер персональный компьютер является клиентом или сервером?
Персональный компьютер, как правило, является клиентом, но и сервер может выступать в качестве клиента.
Должен ли я обязательно использовать суффикс _твь для каждой из создаваемых таблиц?
Определенно нет. Суффикс _TBL выбран в качестве стандарта для того, чтобы легче было распознавать таблицы в базе данных. Таким образом, можно вместо TBL использовать TABLE или вообще отказаться от использования суффикса. Например, таблицу EMPLOYEE_TBL МОЖНО было бы назвать просто EMPLOYEE.
Что будет, если при вводе новой записи в таблицу я не введу, например, номер телефона нового служащего, а в столбце для номера телефона стоит NOT NULL?
В этом случае имеется два варианта. Поскольку для столбца предусмотрено значение NOT NULL (и значит, обязательно что-нибудь должно быть введено) и поскольку у вас нет нужной информации, вы можете отложить ввод всей записи до тех пор, пока не получите нужный номер телефона. Другой возможностью является изменение значения NOT NULL в столбце на NULL, что позволит обновить запись позже, когда нужная информация станет доступной. Можно также ввести какое-нибудь стандартное замещающее значение, например, 1111111111, которое можно будет изменить после того, как будет получена правильная информация. Изменение определения столбцов будет обсуждаться в ходе урока 3.
Задания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы-рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".
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, как и в большинстве других языков, являются
• символьные строки;
• числовые строки;
• значения даты и времени.