Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Неопределенные значения

Адрес addr,

Имя VARCHAR (25),

ID_клиента INTEGER PRIMARY KEY,

CREATE TABLE Клиенты

Адрес addr,

Имя VARCHAR (25),

ID_клиента INTEGER PRIMARY KEY,

CREATE TABLE Клиенты

House VARCHAR (10)

Street VARCHAR (30),

City VARCHAR (30),

Postcode VARCHAR (9),

CREATE ROW TYPE addr

(

);

(

Телефон VARCHAR (15)
);

Тип данных ROW появился впервые в SQL: 1999.

Тип ARRAY (массив) также впервые появился в SQL: 1999 и нару­шает принцип первой нормальной формы, но несколько иначе, чем тип ROW. Тип ARRAY дает возможность одному из обычных типов иметь множество значений внутри значения одного таб­личного столбца. Например, клиент может иметь несколько но­меров телефонов и вы можете пожелать хранить их все как одно многозначное значение единственного столбца телефон, а не как обычные значения нескольких столбцов телефон1, Телефон2 и т. п. Вот пример, в котором каждая ячейка столбца телефон может содержать до трех номеров телефона:

(

Телефон VARCHAR (15) ARRAY [3]
);

Следующее SQL-выражение добавляет в таблицу клиенты новую запись и вводит в нее значения столбцов:

INSERT INTO Клиенты (Имя, Телефон)

VALUES ('Петров Петр Петрович', {'444-4444', '123-4567', '777-8899'});

Тип данных MULTISET (мультимножество) появился впервые в SQL:2003. Если массив - это упорядоченное множество эле­ментов, однозначно связанных с их местом в массиве посредст­вом индекса, то мультимножество - неупорядоченная совокуп­ность элементов. Этот тип данных используется очень редко.

 

Кроме этого существуют так называемые Пользовательские типы данных, создаваемые разработчиком по своему усмотрению, которые делят на две группы: отдельные типы – простейшие типы, создаваемые на основе ранее определенных типов, структурированные типы – создаваемые задания своих собственных атрибутов и методов (аналогия ООП).

Если в ячейку (поле) таблицы вы вводите какие-то значения (бу­квы, цифры, пробелы или еще что-нибудь), то эти ячейки приоб­ретают так называемые определенные значения. С определенны­ми значениями, принадлежащими тому или иному типу, можно выполнять какие-то операции. Однако вы можете создать запись (строку) таблицы, ничего не вводя в ее поля (столбцы). Такая запись ничего не содержит. Запись в таблице, которая создана, но в которую не введены конкретные значения, называется пустой. В каждой ячейке пустой записи содержится так называемое не­определенное значение, обозначаемое через NULL. Значение NULL понимается как неопределенное или неизвестное.

Итак, каждый раз, когда вы добавляете в таблицу новую запись, не вводя в нее каких-либо конкретных значений, СУБД устанав­ливает в ее полях значение NULL.

Значение NULL вы можете интерпретировать так, как вам хочется, например, "еще не введено", "пока не известно". Однако незави­симо от смысловой интерпретации СУБД будет интерпретиро­вать значение NULL вполне определенно.

Важно понимать, что число 0 или пустая строка ' ' являются вполне определенными значениями и отличаются от NULL, хотя визуально пустая строка и неопределенное значение могут ото­бражаться одинаково - в виде пустой ячейки таблицы. Многие функции SQL возвращают в зависимости от обстоятельств какое-то определенное значение либо NULL. Это необходимо учитывать при составлении SQL-выражений, поскольку комбинация NULL и других вполне конкретных значений может дать тот или иной результат в зависимости от конкретной операции.

При проектировании баз данных можно указать, что некоторые столбцы не могут иметь значение NULL, т. е. их значения обяза­тельно должны быть определены (при определении столбца в операторе CREATE TABLE указывается NOT NULL). Однако во многих случаях значения NULL являются очень полезными.

В следующем примере из таблицы клиенты выбираются все записи, в которых не определено имя клиента:

SELECT * FROM Клиенты WHERE Имя IS NULL;

<== предыдущая лекция | следующая лекция ==>
Специальные типы данных | Коллективное сознание
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 418; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.