Читать «SQL за 24 часа» онлайн - страница 15
Unknown
Рассмотрим следующий пример.
WHERE NAME = 'SMITH'
Такая строка вполне может быть одним из условий в запросе. Тогда условие оценивается для каждой строки данных той таблицы, которой адресован запрос, и если оказывается, что значением NAME является SMITH, условие получает значение TRUE, и запрос возвращает ассоциированные с соответствующей записью данные.
CREATE TYPE PERSON AS OBJECT
(NAME VARCHAR2(30),
SSN VARCHAR2(9));
Ссылаться на определенный таким образом пользовательский тип данных можно так:
CREATE TABLE EMP_PAY (EMPLOYEE PERSON, SALARY NUMBER(10,2), HIRE_DATE DATE);
Обратите внимание на то, что для первого столбца с именем EMPLOYEE задан тип данных PERSON, являющийся пользовательским типом данных, созданным в первом примере.
ALTER DOMAIN MONEY_D
ADD CONSTRAINT MONEY__CON1
CHECK (VALUE > 5};
Сослаться на домен можно так:
CREATE TABLE EMP__PAY
(EMP_ID NUMBER(9),
EMP_NAME VARCHAR2(30),
PAY_RATE MONEY_D);
Некоторые из приведенных в тексте этого урока типов данных в разных реализациях SQL могут иметь различные имена. Несмотря на различия в именах, лежащий в основе создания типов данных подход всегда одинаков. Большинство из указанных типов данных, если не все они, поддерживаются большинством реляционных баз данных.
SQL предлагает несколько типов данных. Если у вас есть опыт программирования на других языках, многие из этих типов данных покажутся вам знакомыми. Типы данных позволяют хранить в базе данных различные по своей природе данные от любых символов до десятичных чисел, значений дат и времени. Подход к разделению данных на типы во всех языках одинаков - и при работе с переменными в языках третьего поколения типа С, и при работе с реляционными базами данных с помощью SQL. Хотя в каждой реализации SQL для стандартных типов данных используются разные имена, работают они практически одинаково.
И при краткосрочном планировании, и с точки зрения перспективы, нужно с особой тщательностью выбирать типы данных, их длину, масштаб и точность. При этом нужно принять во внимание и сложившиеся правила соответствующего бизнеса, и то, каким образом должны предоставляться данные конечному пользователю. Для этого вы должны понимать природу самих данных и то, как эти данные связаны внутри базы данных.
Почему можно вводить числа (например, идентификационный код) в поля, определенные как строки символов?
Числовые значения являются также и буквенно-числовыми, а последние вполне допустимы для символьных типов данных. Обычно в виде числовых хранятся только те значения, которые предполагается использовать в вычислениях. Но иногда оказывается удобным назначить числовым полям числовые типы данных с целью контроля вводимых в эти поля данных.