W Cat - SQL за 24 часа
- Название:SQL за 24 часа
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
W Cat - SQL за 24 часа краткое содержание
SQL за 24 часа - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В следующих разделах обсуждаются основные типы данных, поддерживаемые стандартом ANSI SQL. Типы данных являются характеристиками самих данных, чьи атрибуты размещаются прямо в соответствующих полях таблицы. Например, можно указать, что некоторое поле должно содержать только числовые значения, и это не позволит вводить буквенно-числовые значения, когда, например, вы не хотите, чтобы последние появлялись в поле, предназначенном для хранения денежных значений.
Создается впечатление, что каждая реализация SQL предлагает свои собственные типы данных. Это оказывается необходимым в рамках предлагаемой каждой реализацией своей философии хранения данных. Однако в своей основе все подходы оказываются одинаковыми для всех реализаций.
Самыми общими типами в SQL, как и в большинстве других языков, являются
• символьные строки;
• числовые строки;
• значения даты и времени.
Строки фиксированной длины -- это строки, длина которых фиксирована и постоянна. В SQL они стандартно определяются следующим образом:
CHARACTER:n
где n должно быть числом, задающим длину (точнее, максимальную длину) соответствующего поля.
Некоторые реализации SQL для определения строк фиксированной длины используют тип данных CHAR. Этот тип данных предполагает хранение буквенно-числовых данных. Такой тип данных годится, например, для хранения аббревиатур штатов, поскольку все такие аббревиатуры предполагаются двухбуквенными.
При использовании строк фиксированной длины для заполнения незанятых позиций обычно используются пробелы. Например, если длина строки задана равной 10, а введенные данные занимают лишь пять позиций, то оставшиеся пять мест будут заполнены пробелами. Такое дополнение обеспечивает фиксированную длину всех данных соответствующего поля.
Не используйте тип строк фиксированной длины для полей, в которых предполагается хранить данные различной длины, например имена. При этом нерационально используется имеющееся пространство и могут возникнуть проблемы с организацией сравнения содержащихся в соответствующих полях данных.
SQL поддерживает строки переменной длины. Стандартное определение строк переменной длины в SQL выглядит так:
CHARACTER VARYING(n)
где п представляет число, задающее максимальное число позиций, выделяемое для поля, которое определяется данным оператором.
Обычными типами данных для строк переменой длины являются VARCHAR и VARCHAR2. VARCHAR соответствует стандарту ANSI и используется, например, в Microsoft SQL Server, a VARCHAR2 используется Oracle, чтобы не зависеть от возможных изменений VARCHAR в будущем. Этот тип данных предполагает хранение буквенночисловых значений.
Не забывайте, что строки фиксированной длины предполагают заполнение оставшихся пустыми позиций пробелами, а строки переменной длины - нет. Например, если для строки переменной длины выделено 10 позиций, а введенные данные занимают всего пять, то это введенное значение и займет всего 5 позиций. Пробелы для заполнения остальных позиций в столбце использоваться не будут.
Для данных в виде строк различной длины всегда используйте тип данных, допускающий строки переменной длины.
Числовые значения хранятся в полях, определенных как некоторого типа числа и обычно имеющих атрибуты типа NUMBER, INTEGER, REAL, DECIMAL и т. п. Стандартными для SQL являются следующие значения:
BIT(П)
BIT VARYING (n)
DECIMAL(p,S)
INTEGER
SMALLINT
FLOAT(p)
REAL(s)
DOUBLE PRECISION(p)
где p представляет число позиций, выделяемых для соответствующего поля (его максимальную длину), a s задает число позиций справа от десятичного разделителя.
Общим числовым типом данных для всех реализаций SQL является NUMBER, что соответствует рекомендациям ANSI для числовых значений. Числовые значения могут быть нулевыми, положительными, отрицательными, с фиксированной точкой или плавающей точкой. Вот пример использования оператора NUMBER:
NUMBER(5)
Здесь вводимые в поле значения ограничиваются сверху максимальным значением 99999.
Десятичные значения - это числовые значения, в которых используется десятичная точка (десятичный разделитель). Вот стандартный оператор SQL для определения десятичного типа данных, где р задает точность, as - масштаб числа:
DECIMAL(p,s)
Точность - это общая длина числового значения. Например, определение DECIMAL(4,2) задает для числовых значений точность, равную 4, что соответствует общему числу позиций, выделенному для хранения числа.
Масштаб - это число знаков справа от десятичного разделителя. В предыдущем примере DECIMAL (4,2) масштаб задается равным 2.
Если в поле, определенное как DECIMAL (3,1), ввести значение 34 .33, то введенное значение округлится до 34.3.
Если для значений в поле при определении назначен тип DECIMAL (4, 2), это значит, что значения, хранимые в поле, будут ограничены сверху числом 99.99.
Точность 4 задает общую длину соответствующего числового значения. Масштаб 2 задает число знаков или байтов, отведенных для дробной части числа (справа от десятичного разделителя). Сам десятичный разделитель здесь как символ не учитывается.
Например, для столбца, определенного как DECIMAL (4,2), допустимыми будут следующие значения:
12
12.4
12.44
12. 449,
хотя последнее из приведенных здесь значений, а именно 12.449, будет округлено после ввода в столбец до 12.45.
Целое значение - это числовое значение, не содержащее дробной части (оно может быть как положительным, так и отрицательным). Вот несколько примеров целых значений.
1 п
99
-99
199
Десятичные значения с плавающей точкой (float-point decimals) - это десятичные значения, чьи точность и масштаб имеют переменную длину и практически не имеют предела. Для таких значений допустимы любые точность и масштаб. Тип данных REAL используется для определения столбца с десятичными числами (с плавающей точкой) обычной точности, а тип данных DOUBLE PRECISION соответствует десятичным числам (с плавающей точкой) двойной точности. Чтобы значение считалось значением обычной точности, его точность должна задаваться числом от 1 до 21 включительно, а для значений двойной точности она должна быть между 22 и 53 включительно. Вот несколько примеров использования типа данных FLOAT:
FLOAT FLOAT(15) FLOAT(50)
Тип данных даты и времени, очевидно, используется для хранения информации о датах и времени. Стандарт SQL поддерживает соответствующие типы данных, называемые DATETIME, которые представлены следующими конкретными типами:
Читать дальшеИнтервал:
Закладка: