Jump to content

Структурированный тип

Стандарт SQL:1999 ряд функций объектно-реляционных баз данных ввел в SQL , в основном среди них структурированные определяемые пользователем типы , обычно называемые просто структурированными типами . Они могут быть определены либо в простом SQL с помощью CREATE TYPE но также и на Java через SQL/JRT . Структурированные типы SQL допускают одиночное наследование .

Структурированные типы в различной степени поддерживаются в Oracle Database , IBM Db2 , PostgreSQL и Microsoft SQL Server , хотя последний допускает только структурированные типы, определенные в CLR .

Примеры SQL

[ редактировать ]

Структурированный тип объекта

[ редактировать ]

Чтобы определить тип пользовательской структуры с помощью базы данных Oracle, можно использовать такие операторы:

CREATE TYPE Person_Type AS OBJECT (
    person_title VARCHAR2(10),
    person_first_name VARCHAR2(20),
    person_last_name VARCHAR2(20),
) 
NOT FINAL;

Такой тип структуры затем можно использовать для создания таблицы, которая также будет содержать все столбцы, определенные в Person_Type :

CREATE TABLE Person_Table OF Person_Type;

Типы пользовательских структур поддерживают наследование, что означает, что можно создать другой тип, который наследует от предыдущего. NOT FINAL Однако оператор должен быть включен в определение типа базовой структуры, чтобы можно было создавать любые другие подтипы.

CREATE TYPE Student_Type UNDER Person_Type (
    matriculation_number NUMBER(10)
);

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

CREATE TABLE Student_Table OF Student_Type (
    matriculation_number PRIMARY KEY,
    CONSTRAINT person_title_not_null_constraint NOT NULL (person_title),
);

Каждый тип пользовательской структуры может также содержать другие типы для поддержки более сложных структур:

CREATE TYPE Address_Type AS OBJECT (
    address_street VARCHAR2(30),
    address_city VARCHAR2(30),
);

CREATE TYPE University AS OBJECT (
    university_name VARCHAR2(30),
    university_address Address_Type
);

Дальнейшее чтение

[ редактировать ]
  • Джим Мелтон (2003). Расширенный SQL: 1999 . Морган Кауфманн. ISBN  978-1-55860-677-7 . Главы 2-4.
  • Сюзанна В. Дитрих; Сьюзан Д. Урбан (2011). Основы объектных баз данных: объектно-ориентированное и объектно-реляционное проектирование . Издательство Морган и Клейпул. ISBN  978-1-60845-476-1 . Глава 3.
  • Катрин Рикардо (2011). Освещенные базы данных (2-е изд.). Издательство Джонс и Бартлетт. ISBN  978-1-4496-0600-8 . Глава 8.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ef7529375cef2df9c3fab0d5fd2cf6e2__1653593520
URL1:https://arc.ask3.ru/arc/aa/ef/e2/ef7529375cef2df9c3fab0d5fd2cf6e2.html
Заголовок, (Title) документа по адресу, URL1:
Structured type - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)