Информационные системы
Шрифт:
Вещественные типы с фиксированной точкой
Вещественные типы с фиксированной точкой предназначены для точного представления дробных чисел. Наиболее часто эти типы используются в том случае, когда недопустимы погрешности, неизбежные при представлении вещественных чисел с плавающей точкой в двоичной форме (например, при хранении значений денежных величин). Вещественные типы с фиксированной точкой, по сути, являются целочисленными типами, в которых отображается десятичная точка.
Синтаксис объявления типа с фиксированной точкой следующий:
Здесь
Вещественные типы с плавающей точкой
Типы с плавающей точкой обычно используются в научных и инженерных расчетах. При использовании этих типов следует учитывать, что в процессе занесения в базу данных некоторого числа при его преобразовании в двоичную форму с плавающей точкой всегда вносится некоторая погрешность. И хотя эта погрешность очень мала, в некоторых случаях она является недопустимой и может внести серьезную ошибку, например при суммировании большого количества значений. Поэтому типы с плавающей точкой не подходят для хранения денежных величин.
Наиболее часто используются два вещественных типа с плавающей точкой:
• FLOAT – числа с одинарной точностью;
• DOUBLE – числа с двойной точностью.
Двоичные строки
Двоичные строки используются сравнительно редко. Обычно поля такого типа применяются в качестве флагов или двоичных масок.
Так же как и символьные строки, двоичные строки бывают фиксированной и переменной длины. Двоичные строки фиксированной длины объявляются следующим образом:
Здесь n – длина строки в байтах.
Объявление строк переменной длины выглядит так:
Здесь n – максимальная длина строки в байтах.
Типы для представления даты и времени
Очевидно, что типы для представления даты и времени используются для хранения информации, относящейся к датам и времени.
Примечание.
Иногда типы данных, предназначенные для хранения даты и времени, называются темпоральными.
В стандарте SQL определены следующие типы данных для хранения информации о дате и времени:
• DATE – хранение даты;
• TIME – хранение времени;
• TIMESTAMP – хранение даты и времени;
• INTERVAL – хранение промежутка времени между двумя датами или между двумя моментами времени.
Примечание.
Следует заметить, что в большинстве реализаций SQL поддерживаются некоторые дополнительные типы данных. Кроме того, синтаксические и семантические свойства типов, определенных в стандарте ANSI SQL-92, могут различаться в отдельных реализациях SQL.
Примечание.
Необходимо всегда иметь в виду, что, хотя с помощью языка SQL можно определить схему базы данных, содержащую данные любого из рассмотренных типов, возможность использования этих данных в прикладных системах зависит от применяемого языка программирования.
Управление объектами базы данных
Объект базы данных – это любой объект, определенный в базе данных и используемый для хранения информации или для обращения к информации. Примерами
Для управления объектами базы данных используется подмножество DDL-команд языка SQL.
Создание, модификация и удаление таблиц
Таблица является основным объектом для хранения информации в реляционной базе данных. При создании таблицы обязательно указываются имена полей, содержащихся в таблице, и типы данных, соответствующие полям. Кроме того, при создании таблицы для полей могут оговариваться ограничительные условия и значения, задаваемые по умолчанию.
Ограничительные условия – это правила, ограничивающие значения величин в поле таблицы базы данных.
Значение по умолчанию – значение, которое автоматически вводится в поле таблицы базы данных при добавлении новой записи, если пользователь не указал значение этого поля.
Оператор CREATE TABLE
Для создания таблицы используется оператор CREATE TABLE. Синтаксис этого оператора:
Для примера рассмотрим оператор, создающий таблицу ФИЗИЧЕСКИЕ ЛИЦА, рассмотренную в предыдущей главе:
Примечание.
В приводимом примере, чтобы избежать путаницы и неоднозначности, мы использовали русскоязычные имена таблицы и полей. При создании же реальных таблиц реальной базы данных следует иметь в виду, что далеко не все СУБД допускают использование символов кириллицы в именах полей и таблиц. Более того, даже если СУБД допускает такую возможность, желательно все же в именах объектов базы данных ограничиваться только латинскими символами, особенно если для создания интерфейсной части информационной системы предполагается задействовать средства разработки сторонних производителей. Это позволит избежать целого ряда трудноразрешимых проблем.
Оператор ALTER TABLE
Созданная таблица может быть модифицирована с использованием оператора ALTER TABLE, который позволяет добавлять и удалять поля таблицы, изменять тип данных полей, добавлять и удалять ограничения.
Примечание.
Оператор ALTER TABLE не определен в стандарте ANSI, однако поддерживается в большинстве реализаций SQL, обеспечивая существенно большую гибкость в управлении структурой базы данных. Если же используемая СУБД не поддерживает этот оператор, то можно просто создать новую таблицу с измененной структурой и затем перенести в нее данные из старой таблицы, после чего старую таблицу удалить.