Tablas y tipo de datos

18
TABLAS Y TIPO DE DATOS 1 . CONTENIDO 1.1. TIPO DE DATOS En cie n cias d e la c o m pu t a c i ó n u n tipo de dato informático o simplemente tipo es un atributo de los datos que indica al ordenador (y/o al programador) sobre la clase de datos que se va a trabajar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Los tipos de datos comunes son: números enteros, números con signo (negativos), números de c o m a f lo t an t e (d ecimales), cadenas alfanuméricas (y unicodes), estados, etc. Un tipo de dato es, en esencia, un espacio en memoria con restricciones. Por ejemplo, el ti p o " i n t" re presenta, generalmente, un conjunto de enteros de 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así como las operaciones que se pueden realizar con los enteros, como son la suma, la resta, y la multiplicación. Los colores, por su parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas en este caso incluyen la adición y la sustracción, pero no la multiplicación. Este es un concepto propio de la i n f o r m á ti c a , más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de la m a t e m á tica y la g ica . En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores. Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminologías diferentes. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que representac ión, l a interpreta ción y l a estruct ura de los v a lores u ob j e t o s a lmacenados en la memoria del ordenador. El sistema de tipificación usa información de los tipos de datos para comprobar la v e r i f icaci ó n d e los programas que acceden o manipulan los datos.

Transcript of Tablas y tipo de datos

Page 1: Tablas y tipo de datos

TABLAS Y TIPO DE DATOS

1. CONTENIDO1.1. TIPO DE DATOS

En ciencias de la computación un tipo de dato informático osimplemente tipo es un atributo de los datos que indica al ordenador (y/o alprogramador) sobre la clase de datos que se va a trabajar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.

Los tipos de datos comunes son: números enteros, números con signo(negativos), números de coma flotante (decimales), cadenas alfanuméricas

(y unicodes), estados, etc.

Un tipo de dato es, en esencia, un espacio en memoria con restricciones. Por ejemplo, el tipo "int" representa, generalmente, un conjunto de enterosde 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así comolas operaciones que se pueden realizar con los enteros, como son la suma, la resta, y la multiplicación. Los colores, por su parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas en este caso incluyen la adición y la sustracción, pero no la multiplicación.

Este es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de la matemática y la lógica.

En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores. Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminologías diferentes. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que específica que el dato interpretado como Persona incluirá, por ejemplo, un nombre y una fecha de nacimiento.

Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la

representación, la interpretación y la estructura delos valores u objetos almacenados en la memoria del ordenador. El sistema

de tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.

Page 2: Tablas y tipo de datos

Los tipos de datos hacen referencia al tipo de información que se trabaja,donde la unidad mínima de almacenamiento es el dato, también se puede considerar como el rango de valores que puede tomar una variable durante la ejecución del programa.

Cuando definimos una tabla, variable o constante debemos asignar un tipo de dato que indica los posibles valores. El tipo de datos define el formato de almacenamiento, espacio que de disco-memoria que va a ocupar un campo o variable, restricciones y rango de valores válidos.

Transact SQL proporciona una variedad predefinida de tipos de datos. Casi todos los tipos de datos manejados por Transact SQLson similares a los soportados por SQL.Tipos de datos numéricos.

SQL Server dispone de varios tipos de datos numéricos. Cuanto mayor sea

el número que puedan almacenar mayor será en consecuencia el espacio utilizado para almacenarlo. Como regla general se recomienda usar el tipo de dato mínimo posible. Todos los datos numéricos admiten el valor NULL.

Bit. Una columna o variable de tipo bit puede almacenar el rango devalores de 1 a 0.

Tinyint. Una columna o variable de tipo tinyint puede almacenar el rango de valores de 0 a 255.

SmallInt. Una columna o variable de tipo smallint puede almacenar el rango de valores -32768 a 32767.

Int. Una columna o variable de tipo int puede almacenar el rango de valores -231 a 231-1.

BigInt. Una columna o variable de tipo bigint puede almacenar el rango de valores -263 a 263-1.

Decimal (p,s). Una columna de tipo decimal puede almacenar datos numéricos decimales sin redondear. Donde p es la precisión (número total del dígitos) y s la escala (número de valores decimales)

Float. Una columna de datos float puede almacenar el rango de valores -1,79x-10308 a 1,79x-10308, si la definimos con el valor máximo de precisión. La precisión puede variar entre 1 y 53.

Real. Sinónimo de float (24). Puede almacenar el rango de valores -3,4x-1038 a 3,4x-1038,

Page 3: Tablas y tipo de datos

Money. Almacena valores numéricos monetarios de -263 a 263-1, conuna precisión de hasta diez milésimas de la unidad monetaria.

SmallMoney. Almacena valores numéricos monetarios de -214.748,3647 a 214.748,3647, con una precisión de hasta diez milésimas de la unidad monetaria.

Todos los tipos de datos enteros pueden marcarse con lapropiedad identity para hacerlos auto numéricos.

Tipos de datos de carácter.

Char(n). Almacena n caracteres en formato ASCII, un byte por cada letra.Cuando almacenamos datos en el tipo char, siempre se utilizan los n caracteres indicados, incluso si la entrada de datos es inferior. Porejemplo, si en un char (5), guardamos el valor 'A', se almacena 'Aocupando los cinco bytes.

',

Varchar(n).Almacena n caracteres en formato ASCII, un byte por cadaletra. Cuando almacenamos datos en el tipo varchar, unicamente se utilizan los caracteres necesarios,Por ejemplo, si en un varchar(255), guardamos el valor 'A', se almacena 'A', ocupando solo un byte bytes. Varchar(max). Igual que varchar, pero al declararse como máx. puede almacenar 231-1 bytes.

DECLARE @bit bit,@tinyint tinyint,@smallint smallint,@int int,@bigint bigint,@decimal decimal(10,3), -- 10 digitos, 7 enteros y

-- 3 decimales@real real,@double float(53),@money money

set @bit = 1print @bitset @tinyint =

255print @tinyintset @smallint =

32767print @smallintset @int =

642325print @intset @decimal =

56565.234 -- Punto como separador decimal

print @decimalset @money =

12.34print @money

Page 4: Tablas y tipo de datos

Nchar(n).Almacena n caracteres en formato UNICODE, dos bytes porcada letra. Es recomendable utilizar este tipo de datos cuando los valores que vayamos a almacenar puedan pertenecer a diferentes idiomas. Nvarchar(n).Almacena n caracteres en formato UNICODE, dos bytes por cada letra. Es recomendable utilizar este tipo de datos cuando los valores que vayamos a almacenar puedan pertenecer a diferentes idiomas. Nvarchar(max).Igual que varchar, pero al declararse como máx. puede almacenar 231-1 bytes.

Tipos de datos de fecha.

Datetime. Almacena fechas con una precision de milisegundo. Debeusarse para fechas muy específicas.SmallDatetime. Almacena fechas con una precisión de minuto, por lo que ocupa la mitad de espacio de que el tipo datetime, para tablas que puedan llegar a tener muchos datos es un factor a tener muy en cuenta. TimeStamp.Se utiliza para marcar un registro con la fecha de inserción - actualización. El tipo timestamp se actualiza automáticamente cada vez que insertamos o modificamos los datos.

Tipos de datos binarios.

Binary. Se utiliza para almacenar datos binarios de longitud fija, con unalongitud máxima de 8000 bytes.Varbinary. Se utiliza para almacenar datos binarios de longitud variable, con una longitud máxima de 8000 bytes..Es muy similar a binary, salvo que varbinary utiliza menos espacio en disco.Varbinary(max).Igual que varbinary, pero puede almacenar 231-1 bytes

Tipo de datos XML.

XML.Una de las grandes mejoras que incorpora SQL Server 2005 es elsoporte nativo para XML. Como podemos deducir, este tipo de datos se utiliza para almacenar XML.

Obtendremos la siguiente salida: <row nombre="SVR01"/>

DECLARE @myxml XML

set @myxml = (SELECT @@SERVERNAME NOMBRE FOR XML RAW, TYPE)

print cast(@myxml as varchar(max))

Page 5: Tablas y tipo de datos

Otros tipos de datos.

UniqueIdentifier. Se utiliza para identificadores únicos. Para generaridentificadores únicos debemos utilizar la función NEWID().

Obtendremos la siguiente salida: 46141D79-102C-4C29-A620-792EA0208637

Sql_Variant.Permite almacenar valores de diferentes tipos de datos. Nopuede almacenar varchar (máx.), xml, timestamp y tipos de datos definidos por el usuario.

Tipos de datos personalizados.

Transact SQL permite la creación de tipos de datos personalizados, a través dela instrucción CREATE TYPE. Personalmente, desaconsejo el uso de tipos de datos personalizados.

1.2. ADMINISTRACIÓN DE TABLAS (Creación – Modificación y

Eliminación)

Para crear una tabla, debe proporcionar un nombre para ésta además de losnombres y los tipos de datos de cada columna de la tabla. También es recomendable indicar si se permiten valores NULL en cada columna.La mayoría de las tablas tienen una clave principal, que se compone de unao varias columnas de la tabla. Una clave principal siempre es única.Motor de base de datos exigirá la restricción de que el valor de la clave principal no se puede repetir en la tabla.

CREATE TYPE MD5 FROM CHAR(32) NULL GODECLARE @miMD5 MD5set @miMD5 = '0000000000000000000000000000000A'print @miMD5

DECLARE @myuniqueid UNIQUEIDENTIFIER

set @myuniqueid = NEWID()

print cast(@myuniqueid as varchar(36))

Page 6: Tablas y tipo de datos

Crear una tabla

Para crear una tabla, debe proporcionar un nombre para ésta además de losnombres y los tipos de datos de cada columna de la tabla. También es recomendable indicar si se permiten valores NULL en cada columna.La mayoría de las tablas tienen una clave principal, que se compone de unao varias columnas de la tabla. Una clave principal siempre es única.Motor de base de datos exigirá la restricción de que el valor de la clave principal no se puede repetir en la tabla.Para obtener una lista de tipos de datos y vínculos y ver una descripción decada uno, vea Tipos de datos (Transact-SQL).

Para crear una base de datos que contenga la nueva tabla

Escriba el código siguiente en una ventana del Editor de consultas.

Cambie la conexión del Editor de consultas a la base de datos TestData

En una ventana del Editor de consultas, escriba y ejecute el siguientecódigo para cambiar la conexión a la base de datos .

Para crear una tabla

USE TestData GO

TestData

USE master; GO --Delete the TestData database if it exists. IF EXISTS(SELECT * from sys.databases WHERE name='TestData') BEGIN DROP DATABASE TestData; END --Create a new database called TestData. CREATE DATABASE TestData; Press the F5 key to execute the code and create the database.

Page 7: Tablas y tipo de datos

En una ventana del Editor de consultas, escriba y ejecute el siguientecódigo para crear una tabla sencilla denominada .

Lasson

columnas de la tabla, y .

La columna ProductID es la clave principal de la tabla. ,, y son todos los tipos de datos.

Solo las columnas Price y

pueden no tener datoscuando se inserta o cambia una fila.

Esta instrucción contiene un elemento opcional (

) denominadoesquema. El esquema es el objeto de base de datos propietario de latabla.

Si es un administrador, es el esquema predeterminado. hacereferencia al propietario de la base de datos.

Supresión de tablas:

DROP TABLE: suprime una tabla de la base de datos. Cada usuariopuede borrar sus propias tablas, pero solo el administrador o algún usuario con el privilegio "DROP ANY TABLE" pueden borrar las tablas de otro usuario. Al suprimir una tabla también se suprimen los índices y los privilegios asociados a ella. Las vistas y los sinónimos creados a partir de esta tabla dejan de funcionar pero siguen existiendo en la base de datos por tanto deberíamos eliminarlos.

Ejemplo:

DROP TABLE [USUARIO].NOMBRETABLA [CASCADECONSTRAINTS];

TRUNCATE: permite suprimir todas las filas de una tabla y liberar elespacio ocupado para otros usos sin que reaparezca la definición de la tabla de la base de datos. Una orden TRUNCATE no se puede anular, como tampoco activa disparadores DELETE.

TRUNCATE TABLE [USUARIO.]NOMBRETABLA [{DROP | REUSE}STORAGE];

Modificación de tablas:

CREATE TABLE dbo.Products (ProductID int PRIMARY KEY NOT NULL, ProductName varchar(25) NOT NULL, Price money NULL, ProductDescription text NULL) GO

dbodbo

dbo.

ProductionDescriptionmoney(25)

varcharintProductDescriptionPriceProductID, ProductName

text son

Products

Page 8: Tablas y tipo de datos

Se modifican las tablas de dos formas: Cambiando la definición de unacolumna (MODIFY) o añadiendo una columna a una tabla existente (ADD): Formato:

ALTER TABLE NOMBRETABLA{[ADD (COLUMNA [,COLUMNA]…)] [MODIFY (COLUMNA [,COLUMNA]…)] [ADD CONSTRAINT RESTRICCION] [DROP CONSTRAINT RESTRICCION]};

ADD= Añade una columna o más al final de una tabla.MODIFY= Modifica una o más columnas existentes en la tabla.ADD CONSTRAINT= Añade una restricción a la definición de la tabla.DROP CONSTRAINT= Elimina una restricción de la tabla.

A la hora de añadir una columna a una tabla hay que tener en cuenta:

Si la columna no está definida como NOT NULL se le puede añadir encualquier momento.

Si la columna está definida como NOT NULL se pueden seguir estos

pasos:1.2.3.

Se añade una columna sin especificar NOT NULL.Se da valor a la columna para cada una de las filas. Se modifica la columna NOT NULL.

Al modificar una columna de duna tabla se han de tener en cuenta:

Se puede aumentar la longitud de una columna en cualquier momento. Es posible aumentar o disminuir el número de posiciones decimales en una columna de tipo NUMBER. Si la columna es NULL en todas las filas de la tabla, se puede

disminuir la longitud y modificar el tipo de dato La opción MODIFY… NOT NULL solo será posible cuando la tabla no

contenga ninguna fila con valor nulo en la columna que se modifica.

Adición de restricciones:

Page 9: Tablas y tipo de datos

Con la orden ALTER TABLE se añaden restricciones a una tabla.Formato:

ALTER TABLE NOMBRETABLAADD CONSTRAINT NOMBRECONSTRAINT…

Borrado de restricciones:

La orden ALTER TABLE con la cláusula DROP CONSTRAINT; con laque se borran las restricciones con nombre y las asignadas por el sistema. Formato:

ALTER TABLE NOMBRETABLADROP CONSTRAINT NOMBRE_CONSTRAINT, NOMBRE_RESTRICCION:

1.3. RESTRICCIONES DE COLUMNAS (Primary Key – Foreign Key –

Check – Default – Unique)

Las restricciones le permiten definir la manera en que Motor de base de

datos exigirá automáticamente la integridad de una base de datos. Las restricciones definen reglas relativas a los valores permitidos en las columnas y constituyen el mecanismo estándar para exigir la integridad. Eluso de restricciones es preferible al uso de DesencadenadoresDML, reglas y predeterminados. El optimizador de consultas también utiliza

definiciones de restricciones para generar planes de ejecución de consultas de alto rendimiento.

Para asegurar la integridad de los datos almacenados en nuestras tablas,podemos crear restricciones, algunos los hemos utilizado sin querer o simplemente desconocemos que lo que hicimos fue una restricción, por ejemplo una llave primaria. Estas restricciones las podemos implementar al momento de crear nuestras tablas o de modificarlas, también es necesario señalar que dichas restricciones son objetos propios de la base de datos y por lo tanto requieren de un nombre único compuesto del nombre del esquema al que pertenece y el nombre que lo identifica, un ejemplosería nombreEsquema.nombreRestriccion.Los diferentes tipos de restricción que existen son:

Page 10: Tablas y tipo de datos

PRIMARY KEY UNIQUE FOREIGN KEY CHECK DEFAULT

PRIMARY KEY

Es la más común de todas debido a que cada una de nuestras tablas debe

ser completamente relacional y para lograr esto siempre debe existir una llave primaria dentro de cada tabla que identifique cada fila como única.

Para generar una llave primaria desde la creación de una tabla:

Modificando una tabla:

Es posible agregar más columnas como parte de una llave primaria, serecomienda como buena práctica utilizar una nomenclatura en el nombre dela restricción que ayude a identificar de que tipo es, además de tener especial cuidado en nombrar las columnas que forman parte de la llave primaria ya que estás mismas serán utilizadas como referencia en una llave foránea en otra tabla. Cada vez que generamos una llave primaria, esta crea un índicetipo de clustered automáticamente.

Existen ciertos requerimientos para la creación de una llave primaria:

12

ALTER TABLE nombreEsquema.nombreTablaADD CONSTRAINT PK_nombreRestriccion PRIMARY KEY( nombreColumna1);

1234567

CREATE TABLE nombreEsquema.nombreTabla(nombreColumna1 INT NOT NULL, nombreColumna2 VARCHAR(100) NOT NULL, nombreColumna3 NVARCHAR(200) NOT NULL,CONSTRAINT PK_nombreRestriccion PRIMARY KEY( nombreColumna1 )

);

Page 11: Tablas y tipo de datos

La o las columnas utilizadas en una restricción PRIMARY KEY, nopueden aceptar NULL.

No se pueden repetir valores en la o las columnas, deben ser únicos. Solamente puede existir una restricción de tipo PRIMARY KEY porcada tabla.

Para verificar las llaves primarias contenidas en nuestra base de datospodemos utilizar el siguiente código:

UNIQUE

Este tipo de restricción es muy parecida a PRIMARY KEY, las diferenciasson las siguientes:

También genera un índice automáticamente pero es de tipode NON CLUSTERED.

La tabla puede tener más de una restricción de tipo UNIQUE.

Si puede aceptar NULL, pero solo una fila puede contenerlo ya que como su nombre lo indica, es de tipo UNIQUE o único.

Para consultar las restricciones UNIQUE se puede utilizar:

123456789

CREATE TABLE nombreEsquema.nombreTabla(nombreColumna1 INT NULL, nombreColumna2 VARCHAR(100) NOT NULL, nombreColumna3 NVARCHAR(200) NOT NULL,CONSTRAINT UQ_nombreRestriccion UNIQUE( nombreColumna1 ),

CONSTRAINT UQ_nombreRestriccion2 UNIQUE( nombreColumna2 ), CONSTRAINT UQ_nombreRestriccion3 UNIQUE( nombreColumna1,nombreColumna2 ));

123

SELECT *FROM sys.key_constraintsWHERE type = 'PK';

Page 12: Tablas y tipo de datos

FOREIGN KEY

Se forma de una columna o la combinación de varias columnas de una tablaque sirve como enlace hacia otra tabla donde en esta última, dicho enlace son la o las columnas que forman la PRIMARY KEY. En la primera tabla donde creamos la llave foránea es posible que existan valores duplicados de la/las columnas que conforman la llave primaria de la segunda tabla, además las columnas involucradas en la llave foránea deben tener el mismo tipo de datos que la llave primaria de la segunda tabla. Una llave foránea no crea un índice automáticamente, por lo que se recomienda generar uno paraincrementar el rendimiento de la consulta.

CONSTRAINT FK_nombreRestriccion FOREIGN KEY (nombreColumna1) REFERENCES

Modificando la tabla:

Algunos requerimientos para la restricción FOREIGN KEY:

Los valores ingresados en la o las columnas de la llave foránea,deben existir en la tabla a la que se hace referencia en la o las columnas de la llave primaria.

Solo se pueden hacer referencia a llaves primaria de tablas quese encuentren dentro de la misma base de datos.

Puede hacer referencia a otras columnas de la misma tabla. Solo puede hacer referencia a columnas de restricciones

PRIMARY KEY o UNIQUE.

123

ALTER TABLE nombreEsquema.nombreTablaADD CONSTRAINT FK_nombreRestriccion FOREIGN KEY(nombreColumna1) REFERENCES nombreEsquema.otraTabla (nombreColumna1)

1234567

CREATE TABLE nombreEsquema.nombreTabla(nombreColumna1 INT NULL, nombreColumna2 VARCHAR(100) NOT NULL, nombreColumna3 NVARCHAR(200) NOT NULL,CONSTRAINT FK_nombreRestriccion FOREIGN KEY (nombreColumna1) REFERENCE

(nombreColumna1));

123

SELECT *FROM sys.key_constraintsWHERE type = 'UQ';

Page 13: Tablas y tipo de datos

No se puede utilizar en tablas temporales.

Para consultar las restricciones FOREIGN KEY, se puede utilizar:

CHECK

Con este tipo de restricción, se especifica que los valores ingresados en lacolumna deben cumplir la regla o formula especificada. Por ejemplo:

Modificando una tabla:

Algunos requerimientos son:

1234567891011

ALTER TABLE nombreEsquema.nombreTablaADD CONSTRAINT CH_nombreRestriccion CHECK (nombreColumna1>=0); GO

ALTER TABLE nombreEsquema.nombreTablaADD CONSTRAINT CH_nombreRestriccion2 CHECK (nombreColumna1 IN (10,20,30,40GO

ALTER TABLE nombreEsquema.nombreTablaADD CONSTRAINT CH_nombreRestriccion3 CHECK (nombreColumna1>=1 ANDnombreColumna1 <=30); GO

123456789101112

CREATE TABLE nombreEsquema.nombreTabla(nombreColumna1 INT NULL, nombreColumna2 VARCHAR(100) NOT NULL, nombreColumna3 NVARCHAR(200) NOT NULL,--VALORES POSITIVOSCONSTRAINT CH_nombreRestriccion CHECK (nombreColumna1>=0),-- SOLO VALORES IGUALES A 10 20 30 40CONSTRAINT CH_nombreRestriccion2 CHECK (nombreColumna1 IN (10,20,30,40)),--VALORES CONTENIDOS EN UN RANGOCONSTRAINT CH_nombreRestriccion3 CHECK (nombreColumna1>=1 AND

nombreColumna1 <=30));

123

SELECT *FROM sys.foreign_keysWHERE name = 'nombreEsquema.nombreTabla’;

Page 14: Tablas y tipo de datos

Una columna puede tener cualquier número derestricciones CHECK.La condición de búsqueda debe evaluarse como una expresión booleana y no puede hacer referencia a otra tabla.No se pueden definir restricciones CHECK en columnas detipo text, ntext o image.

Ventajas:

Las expresiones utilizadas son similares a las que se usan en lacláusula WHERE.

Pueden llegar a ser una mejor alternativa que los TRIGGERS o disparadores.

Tener siempre en mente:

Al momento de crear nuestra expresión, tomar en cuenta si lacolumna acepta valores NULL, por ejemplo si definimos nuestra restricción que acepte solo valores positivos (nombreColumna1>=0), NULL es un valor desconocido por lo tanto se insertará en la columna.

No es posible obtener el valor previo después de realizar unUPDATE, si esto es necesario se recomienda usar un TRIGGER.

Para consultar las restricciones CHECK se puede utilizar:

DEFAULT

123

SELECT *FROM sys.check_constraintsWHERE parent_object_id = OBJECT_ID('nombreEsquema.nombreTabla');

Page 15: Tablas y tipo de datos

Se puede decir que no es una restricción, ya que solo se ingresa un valor encaso de que ninguno otro sea especificado. Si una columna permite NULL yel valor a insertar no se especifica, se puede sustituirpredeterminado.

con un valor

Para obtener una lista de las restricciones DEFAULT:

2. RESUMEN

En ciencias de la computación un tipo de dato informático osimplemente tipo es un atributo de los datos que indica al ordenador (y/o alprogramador) sobre la clase de datos que se va a trabajar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar.

Los tipos de datos comunes son: números enteros, números con signo(negativos), números de coma flotante (decimales), cadenas alfanuméricas

(y unicodes), estados, etc.

Un tipo de dato es, en esencia, un espacio en memoria con restricciones. Por ejemplo, el tipo "int" representa, generalmente, un conjunto de enterosde 32 bits cuyo rango va desde el -2.147.483.648 al 2.147.483.647, así comolas operaciones que se pueden realizar con los enteros, como son la suma, la resta, y la multiplicación. Los colores, por su parte, se representan como tres bytes denotando la cantidad de rojo, verde y azul, y una cadena de caracteres representando el nombre del color; las operaciones permitidas en este caso incluyen la adición y la sustracción, pero no la multiplicación.

Este es un concepto propio de la informática, más específicamente de los lenguajes de programación, aunque también se encuentra relacionado con nociones similares de la matemática y la lógica.

123

SELECT *FROM sys.default_constraintsWHERE parent_object_id = OBJECT_ID('nombreEsquema.nombreTabla');

123456

CREATE TABLE nombreTabla(nombreColumna1 INT NULL CONSTRAINT DF_nombreRestriccion

DEFAULT(0),nombreColumna2 VARCHAR(100) NOT NULL, nombreColumna3 NVARCHAR(200) NOT NULL,

);

Page 16: Tablas y tipo de datos

En un sentido amplio, un tipo de datos define un conjunto de valores y lasoperaciones sobre estos valores. Casi todos los lenguajes de programación explícitamente incluyen la notación del tipo de datos, aunque lenguajes diferentes pueden usar terminologías diferentes. La mayor parte de los lenguajes de programación permiten al programador definir tipos de datos adicionales, normalmente combinando múltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que específica que el dato interpretado como Persona incluirá, por ejemplo, un nombre y una fecha de nacimiento.

Un tipo de dato puede ser también visto como una limitación impuesta en la interpretación de los datos en un sistema de tipificación, describiendo la

representación, la interpretación y la estructura delos valores u objetos almacenados en la memoria del ordenador. El sistemade tipificación usa información de los tipos de datos para comprobar la verificación de los programas que acceden o manipulan los datos.

Los tipos de datos hacen referencia al tipo de información que se trabaja, donde la unidad mínima de almacenamiento es el dato, también se puede considerar como el rango de valores que puede tomar una variable durante la ejecución del programa.

Cuando definimos una tabla, variable o constante debemos asignar un tipo de dato que indica los posibles valores. El tipo de datos define el formato de almacenamiento, espacio que de disco-memoria que va a ocupar un campo o variable, restricciones y rango de valores válidos.

Transact SQL proporciona una variedad predefinida de tipos de datos. Casi todos los tipos de datos manejados por Transact SQLson similares a los soportados por SQL.

Tipo de datos XML.

Tipos de datos binarios.

Tipos de datos de fecha.

Tipos de datos de carácter.

Tipos de datos numéricos.

Page 17: Tablas y tipo de datos

3. RECOMENDACIONES

Principalmente vemos la necesidad de conocer cada día más el entorno delas bases de datos. Aprender de manera didáctica y autodidactica con mayor dedicación.

Es necesario conocer que la implementación del código debe estar bienestructurado para evitar algunas redundancias innecesarias.

Conocer las especificaciones que nos presenta cuando estructuramos lastablas de cada base de datos, realizando nuestro trabajo más práctico y sencillo.

Conocer cada tipo de dato para administrar mejor una tabla utilizando asíestos datos de la mejor manera y más eficiente.

4. CONCLUSIONES

A través del desarrollo de las teorías y ejemplos he conocido las ventajas delas bases de datos que se superponen a los sistemas de archivos del pasado, como sabemos todo evoluciona es así como el modelo relacional que implementa SQL, nos da una excelente herramienta en la administración, seguridad y fiabilidad de los datos.Por lo tanto se sabe que conocer el proceso interno, la estructura heimplementación de base de datos nos muestra la importancia que realizan en el mundo laboral, y como cada ente que las utiliza es dependiente de ellas.Además una buena administración de las tablas con sus respectivasrestricciones nos dará como resultado una base de datos más eficiente utilizando cada dato y tabla de la manera más óptima para así tener un mejor desempeño durante su utilización.

5. APRECIACIÓN DEL EQUIPO

Consideramos la administración de tablas y datos el proceso a través del cualhacemos más eficiente nuestra base de datos, la forma en que desarrollamos y plasmamos las cláusulas de lo requerido para evitar ciertos errores cometidos durante el proceso, esto nos referencia a que las tablas estén bien estructuradas y restringidas de acuerdo a lo establecido y su utilización de otra forma no existiría forma de saber con exactitud lo que se quiere almacenar y como se debe hacer.

Page 18: Tablas y tipo de datos

6. LINKOGRAFÍA

https://es.wikipedia.org/wiki/Tipo_de_datohttp://www.desarrolloweb.com/articulos/1965.php https://msdn.microsoft.com/es-es/library/ms365315(v=sql.120).aspx http://www.devjoker.com/contenidos/articulos/232/Tipos-de-datos-en- Transact-SQL.aspxhttps://technet.microsoft.com/es-es/library/ms189862(v=sql.105).aspx