Vous êtes sur la page 1sur 6

TIPO DE DATO ESTRUCTURADO

TIPOS DE DATOS DEFINIDOS POR EL USUARIO Los tipos de datos definidos por el usuario pueden ser usados en varias tablas que deban guardar el mismo tipo de dato en una columna y cuando se necesita asegurar que estas columnas tengan exactamente el mismo tipo de dato, longitud y capacidad de aceptar nulos. Por ejemplo, un tipo de datos definido por el usuario llamado codigo_postal podra ser creado en base al tipo char. Cuando se crea un tipo de dato definido por el usuario, se deben proveer los siguientes parmetros: Nombre Tipo de datos del sistema sobre el que se basa el nuevo tipo de dato Anulabilidad (si el tipo de dato permite valores nulos).

Cuando la anulabilidad no es explcitamente definida, se toma por defecto la configuracin de nulos ANSI para la base de datos o conexin. Formas de Crear un dato definido: Procedimiento almacenado sp_addtype O utilizando el Enterprise Manager.

Como el sistema tiene acceso a los tipos definidos por el usuario como un todo, su uso en tipos de datos complejos puede afectar al rendimiento de forma negativa. Por lo general, es mejor modelar los datos complejos mediante el uso de las filas y tablas tradicionales. Los tipos definidos por el usuario de SQL Server 2005 son adecuados en los siguientes casos: y Datos de fecha, hora, moneda y tipos numricos extendidos y Aplicaciones geoespaciales y Datos codificados o cifrados

Grupo: 3412

Pgina 1

TIPO DE DATO ESTRUCTURADO

PROCESO DE DESARROLLO 1) Codificacin y creacin del ensamblado que define el tipo definido por el usuario Los tipos definidos por el usuario se definen mediante cualquiera de los lenguajes compatibles con Common Language Runtime (CLR) de Microsoft .NET Framework que produzca cdigo que se puede comprobar. Por ejemplo, Microsoft Visual C# y Microsoft Visual Basic .NET. Los datos se exponen como campos y propiedades de una clase o estructura .NET, y los mtodos de la clase o estructura definen los comportamientos. 2) Registro del ensamblado Los tipos definidos por el usuario se pueden implementar a travs de la interfaz de usuario de Visual Studio en un proyecto de base de datos, o mediante la instruccin CREATE ASSEMBLY de Transact-SQL, que copia el ensamblado que contiene la clase o estructura en una base de datos.

3) Creacin del tipo definido por el usuario en SQL Server Una vez que el ensamblado se ha cargado en una base de datos host, utilice la instruccin CREATE TYPE de Transact-SQL para crear un tipo definido por el usuario y exponer los miembros de la clase o estructura como miembros de dicho tipo. Los tipos definidos por el usuario slo existen en el contexto de una base de datos, y, una vez registrados, no dependen en absoluto de los archivos externos a partir de los que se crearon.

4) Creacin de tablas, variables o parmetros mediante el tipo definido por el usuario

Grupo: 3412

Pgina 2

TIPO DE DATO ESTRUCTURADO


En SQL Server 2005 es posible utilizar un tipo definido por el usuario como definicin de columna de una tabla, como variable en un lote de TransactSQL o como argumento de una funcin o procedimiento almacenado de Transact-SQL. Nota: Los tipos definidos por el usuario creado a partir de ensamblados de .NET Framework no se admitan en las versiones anteriores de SQL Server. Sin embargo, los tipos de datos alias de SQL Server an se admiten en SQL Server 2005 mediante el uso de sp_addtype. La sintaxis CREATE TYPE se puede utilizar para crear tipos de datos definidos por el usuario nativos de SQL Server y tipos de datos UDT. CREACION Secuencia de pasos en SQL Server 1) Abra un Proyecto de SQL Server existente o cree uno nuevo. 2) En el men Proyecto, seleccione Agregar nuevo elemento. 3) Seleccione Tipo definido por el usuario en Agregar nuevo elemento (Cuadro de dilogo). 4) Escriba un Nombre para el nuevo UDT. 5) Agregue el cdigo para definir y crear el UDT. Secuencia de instrucciones con sp_addtype Se pueden crear y eliminar tipos de datos definidos por el usuario. Se emplean cuando varias tablas deben almacenar el mismo tipo de datos en un campo y se quiere garantizar que todas tengan el mismo tipo y longitud. Para darle un nombre a un tipo de dato definido por el usuario debe considerar las mismas reglas que para cualquier identificador. No puede haber dos objetos con igual nombre en la misma base de datos. Para crear un tipo de datos definido por el usuario se emplea el procedimiento almacenado del sistema "sp_addtype". Sintaxis bsica: exec sp_addtype NOMBRENUEVOTIPO, 'TIPODEDATODELSISTEMA', 'OPCIONNULL';
Grupo: 3412 Pgina 3

TIPO DE DATO ESTRUCTURADO


Ejemplo: Creamos un tipo de datos definido por el usuario llamado "tipo_documento" que admite valores nulos: exec sp_addtype tipo_documento, 'char(8)', 'null';

IMPLEMENTACION Un tipo definido por el usuario se implementa a travs de una clase de un ensamblado de Common Language Runtime (CLR) de Microsoft.NET Framework. Para enlazar un tipo definido por el usuario a su implementacin, el ensamblado CLR que contiene la implementacin del tipo debe registrarse primero en SQL Server mediante CREATE ASSEMBLY. SINTAXIS CREATE TYPE [ schema_name. ] type_name { FROM base_type [ ( precision [ , scale ] ) ] [ NULL | NOT NULL ] | EXTERNAL NAME assembly_name [ .class_name ] | AS TABLE ( { <column_definition> | <computed_column_definition> } [ <table_constraint> ] [ ,...n ] ) }[;] schema_name: Es el nombre del esquema al que pertenece el tipo de datos de alias o el tipo definido por el usuario.
Grupo: 3412 Pgina 4

TIPO DE DATO ESTRUCTURADO


type_name: Es el nombre del tipo de datos de alias o del tipo definido por el usuario. Los nombres de tipos deben cumplir las reglas de los identificadores. base_type: Es el tipo de datos suministrado por SQL Server en el que se basa el tipo de datos de alias. base_type es de tipo sysname, no tiene ningn valor predeterminado y puede tener uno de los valores siguientes: Bigint, binary(n), bit, char(n), Requiere el permiso CREATE TYPE en la base de datos actual y el permiso ALTER en schema_name. Despus de haberlo registrado, debemos de crear un tipo de dato , como el ejemplo siguiente: CREATE TYPE SSN FROM varchar (11) NOT NULL;

La forma ms fcil de implementar un UDT consiste en usar Microsoft Visual Studio. Sin embargo, en escenarios de implementacin ms complejos y para obtener la mxima flexibilidad, es preferible que use Transact-SQL tal y como se describe ms adelante en este tema. Siga estos pasos para crear e implementar un UDT mediante Visual Studio: 1) Cree un nuevo proyecto de base de datos en los nodos de lenguaje Visual C# o Visual Basic. 2) Agregue una referencia a la base de datos de SQL Server que contenga el UDT. 3) Agregue una clase Tipo definido por el usuario. 4) Escriba cdigo para implementar el UDT. 5) En el men Generar, seleccione Implementar. De este modo, se registrar el ensamblado y se crear el tipo en la base de datos de SQL Server.

Grupo: 3412

Pgina 5

TIPO DE DATO ESTRUCTURADO


Implementar En Base de Datos: No existe ninguna sintaxis especial para crear columnas de tipos definidos por el usuario en una tabla. Puede utilizar el nombre del tipo definido por el usuario en una definicin de columna como si fuera uno de los tipos de datos intrnsecos de SQL Server.

Grupo: 3412

Pgina 6

Vous aimerez peut-être aussi