SQL за 24 часа - [7]

Шрифт
Интервал

Основными на этом уроке будут следующие темы.

• Анализ размещенных в таблице данных

• Основные типы данных

• Рекомендации по использованию основных типов данных

• Примеры, раскрывающие различия между типами данных


Что такое данные?

Данные - это информация, хранящаяся в базе данных в виде, определенном одним из нескольких допустимых типов данных. Данные могу включать имена, числа, денежные величины, текст, графику, значения с дробными частями, рисунки, формулы для вычислений, итоговые значения и вообще почти все, что вы можете себе представить. Данные могут храниться в виде, представленном только прописными буквами, только строчными или любой комбинации строчных и прописных букв. Данными можно манипулировать и данные можно изменять - по большей части данные в течение своего времени существования не остаются неизменными.

Типы данных используются для того, чтобы задать правила представления данных в конкретных столбцах. От типа данных зависит, в каком виде будут храниться соответствующие значения в столбце, какой будет ширина столбца и какие значения для этого столбца будут допустимыми, например, буквенно-числовые, числовые или значения типа даты и времени.

Данные являются основой любой базы данных, и они должны быть защищены. Такую защиту обычно осуществляет администратор базы данных, хотя и каждый пользователь базы данных должен осознать, что необходимо принять определенные меры для защиты данных. Защита данных подробно обсуждается в ходе урока 18, "Управление доступом к базе данных", и урока 19, "Обеспечение сохранности данных".


Основные типы данных

В следующих разделах обсуждаются основные типы данных, поддерживаемые стандартом 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 задает число позиций справа от десятичного разделителя.


Еще от автора Неизвестный Автор
Галчонок

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Призраки ночи

В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.


Закат  вечности

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 131, Победа

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 132, Поэт

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Песнь о Нибелунгах

…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.


Рекомендуем почитать
Игродром. Что нужно знать о видеоиграх и игровой культуре

Жизнь современного человека плотно связана с видеоиграми. Даже если вы не играете сами, в вашем окружении наверняка найдутся заядлые геймеры, а новости из индустрии игр зачастую не обходят и вас стороной. Это положение дел приводит к вопросам: а что же такое видеоигры и какое место они занимают в жизни человека? Поиском ответов на них занимается дисциплина game studies. Александр Ветушинский – один из ведущих российских представителей этого направления исследований. Его книга «Игродром» – философское осмысление этапов развития игровой индустрии, анализ.


Выразительный JavaScript

В процессе чтения вы познакомитесь с основами программирования и, в частности, языка JavaScript, а также выполните несколько небольших проектов. Один из самых интересных проектов — создание своего языка программирования.


Flat Assembler 1.64. Мануал программера

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


S. D. F.

Если вам интересен SQL, и знаком Delphi, давайте поразвлекаемся программированием.


Справка по SQL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка баз данных на Visual Basic.NET

Это практическое руководство разработчика программного обеспечения на Visual Basic .NET и ADO.NET, предназначенное для создания приложений баз данных на основе WinForms, Web-форм и Web-служб. В книге описываются практические способы решения задач доступа к данным, с которыми сталкиваются разработчики на Visual Basic .NET в своей повседневной деятельности. Книга начинается с основных сведений о создании баз данных, использовании языка структурированных запросов SQL и системы управления базами данных Microsoft SQL Server 2000.