Eso depende del RDBMS. Supongo que por “SQL” te refieres a un sistema de base de datos relacional que admite el lenguaje de consulta SQL en lugar de MS SQL Server específicamente. El lenguaje SQL tiene extensiones que admiten algunas características de herencia, sí. Además, algunos sistemas RDBMS admiten herencia más o menos fuertemente.
Características de ejemplo de Informix que conozco mejor:
- Tipos de FILA que encapsulan un conjunto de campos de diferentes tipos, similar a una definición de fila. Los tipos ROW con nombre y sin nombre se pueden usar para definir columnas en una tabla. Útil cuando se ordena una estructura similar para atributos relacionados en las tablas. Un ejemplo sería un tipo de DIRECCIÓN para que todas las tablas que contienen direcciones contengan los mismos atributos.
- Tablas escritas en las que se usa un tipo ROW con nombre para definir una tabla completa.
- Los tipos ROW con nombre pueden ser supertipos o subtipos en otros tipos ROW que crean una jerarquía de herencia de tipo completo.
- Los supremos y las subtablas se pueden definir utilizando supertipos y subtipos.
Ejemplos:
- ¿Cuáles son algunos rasgos genéticos alemanes?
- ¿De qué mamífero difiere el Homo sapiens en el ADN?
- ¿Los judíos asquenazíes eran los judíos originales (genéticamente) y eran de piel blanca y ojos azules?
- Si el ADN de una forma de vida pluricelular muta instantáneamente en todas las células en el mismo gen de apariencia, ¿qué sucede?
- ADN: ¿Qué son los elementos transponibles en los genomas?
CREAR TIPO DE FILA location_t (
location_id SERIAL NO NULL,
loc_type CHAR (2),
empresa VARCHAR (20,0),
street_addr LIST (varchar (25) no es nulo),
ciudad VARCHAR (25,0),
país VARCHAR (25,0)
);
CREAR TIPO DE FILA loc_us_t (
state_code CHAR (2),
zip “informix” .ROW (entero de código, sufijo smallint),
teléfono CHAR (18)
) BAJO location_t;
CREAR TABLA location OF TYPE location_t;
CREAR TABLA location_us OF TYPE loc_us_t
BAJO ubicación;
> seleccione * desde la ubicación donde location_id = 1;
location_id 1
loc_type W
empresa Todos los artículos deportivos
street_addr LIST {‘213 Erstwild Court’}
ciudad Sunnyvale
país USA
1 fila (s) recuperadas.
> seleccione * de location_us donde location_id = 1;
location_id 1
loc_type W
empresa Todos los artículos deportivos
street_addr LIST {‘213 Erstwild Court’}
ciudad Sunnyvale
país USA
state_code CA
zip ROW (94806, 1002)
teléfono 408-789-8027
1 fila (s) recuperadas.