КАТЕГОРИИ: Архитектура-(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; Просмотров: 449; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |