“AÑO
DE LA CONSOLIDACIÓN DEL MAR DE GRAU”
FACULTAD
DE
INGENIERÍA DE SISTEMAS
ESCUELA
ACADÉMICA PROFESIONAL DE INGENIERÍA DE SISTEMAS Y TELEMÁTICA
LENGUAJE DE PROGRAMACIÓN II
“TRABAJO DE INVESIGACIÓN”
TABLAS Y TIPOS DE DATOS
AUTORES
MARCHENA
HUANUIRE, Greinder Alexis
VASQUEZ
VENTURA, Liz Evelin
DOCENTE
PORRO
CHULLI, Marco Aurelio
BAGUA GRANDE -
AMAZONAS
2016
TABLAS Y TIPOS DE DATOS
TIPOS
DE DATOS
Un tipo de datos, realmente define el conjunto
de valores válidos para los campos definidos de ese tipo. Indica si el campo
puede contener: datos numéricos, de caracteres, moneda, fecha y hora, etc.
SQL Server proporciona un conjunto de tipos de
datos del sistema que define todos los tipos de datos que pueden utilizarse.
También podemos definir nuestros propios tipos de datos en Transact-SQL.
Los tipos de datos más utilizados son:
v Numéricos.
v Fecha y hora.
v Cadena de caracteres.
v Binarios.
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 de valores 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.
ü Money: Almacena valores numéricos monetarios de -263 a 263-1, con una 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.
TIPOS
DE DATOS FECHA Y HORA.
ü Datetime: Almacena fechas con una precisión de milisegundo. Debe
usarse 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 CADENA DE CARACTERES.
ü 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. Por ejemplo,
si en un char (5), guardamos el valor ‘A’, se almacena ‘A‘, ocupando los cinco
bytes.
ü Varchar(n): Almacena n caracteres en formato ASCII, un byte por cada
letra. Cuando almacenamos datos en el tipo varchar, únicamente 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 max puede
almacenar 231-1 bytes.
ü Nchar(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(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 max puede
almacenar 231-1 bytes.
TIPOS
DE DATOS BINARIOS.
ü Binary: Se utiliza para almacenar datos binarios de longitud fija,
con una longitud 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.
Existen otros tipos de Datos que podemos
utilizar en SQL Server, pero estos son los más utilizados….
ADMINISTRACIÓN
DE TABLAS
Las tablas son objetos de las bases de datos
diseñados para contener los datos. Una tabla está conformada por un conjunto de
campos identificados comúnmente como columnas. Los datos a su vez se organizan
en las tablas como filas y se conocen como registros, es decir, cada registro está
integrado por el número de campos de la tabla constituyéndose un arreglo o
matriz.
Cuando queremos crear una tabla es necesario
definir qué tipo de valores o de datos será contenido en cada uno de los
campos.
CREACIÓN
CREATE TABLE es un comando del lenguaje de
definición de datos DDL. Su uso es tan sencillo como respirar. Simplemente
pondremos la sentencia seguido del nombre de la tabla y a continuación
definiremos cada una de las columnas que contendrá.
SINTAXIS
CREATE TABLE nombre_tabla (
columna1 tipoDeDato,
columna2 tipoDeDato,
columna3 tipoDeDato,
…
columnan tipoDeDato,
PRIMARY KEY (una o más columnas)
);
La extensión de los atributos tipo VARCHAR puede variar
según tus convicciones sobre qué tan largo serán las cadenas que un cliente
pueda tener.
MODIFICACIÓN
La sentencia ALTER TABLE sirve para modificar la estructura
de una tabla que ya existe. Mediante esta instrucción podemos añadir columnas
nuevas, eliminar columnas. Ten cuenta que cuando eliminamos una columna se pierden
todos los datos almacenados en ella.
También nos permite crear nuevas restricciones o borrar
algunas existentes. La sintaxis puede parecer algo complicada pero sabiendo el
significado de las palabras reservadas la sentencia se aclara bastante; ADD (añade),
ALTER (modifica), DROP (elimina), COLUMN (columna), CONSTRAINT (restricción).
La sintaxis es la siguiente:
ELIMINACIÓN
La
sentencia DELETE
Para borrar datos de una tabla, debemos
utilizar la sentencia DELETE.
La sintaxis de la sentencia DELETE es la
siguiente:
DELETE FROM <nombre_tabla>
[ WHERE <condicion>];
La
sentencia TRUNCATE
Para realizar un borrado completo de tabla
debemos considerar la posibilidad de utilizar la sentencia TRUNCATE, mucho más
rápida que DELETE.
La sintaxis de la sentencia TRUNCATE es la
siguiente:
TRUNCATE TABLE <nombre_tabla>;
Cuando trabajemos con la sentencia TRUNCATE
debemos tener en cuenta las siguientes consideraciones.
ü La sentencia TRUNCATE no es transaccional. No se puede
deshacer.
ü La sentencia TRUNCATE no admite clausula WHERE. Borra toda
la tabla.
ü No todos los gestores de bases de datos admiten la
sentencia TRUNCATE.
RESTRICCIONES
DE COLUMNAS
PRIMARY
KEY
Una tabla suele tener una columna o una
combinación de columnas cuyos valores identifican de forma única cada fila de
la tabla. Estas columnas se denominan claves principales de la tabla y exigen
la integridad de entidad de la tabla. Puede crear una clave principal mediante
la definición de una restricción PRIMARY KEY cuando cree o modifique una tabla.
Una tabla sólo puede tener una restricción
PRIMARY KEY y ninguna columna a la que se aplique una restricción PRIMARY KEY
puede aceptar valores NULL. Debido a que las restricciones PRIMARY KEY
garantizan datos únicos, con frecuencia se definen en una columna de identidad.
Como se muestra en la siguiente ilustración,
las columnas ProductID y VendorID de la tabla Purchasing.ProductVendor forman
una restricción PRIMARY KEY compuesta para esta tabla. Así se garantiza que la
combinación de ProductID y VendorID es única.
FOREIGN
KEY
Una clave externa (FK) es una columna o
combinación de columnas que se utiliza para establecer y exigir un vínculo
entre los datos de dos tablas. Puede crear una clave externa mediante la
definición de una restricción FOREIGN KEY cuando cree o modifique una tabla.
En una referencia de clave externa, se crea un
vínculo entre dos tablas cuando las columnas de una de ellas hacen referencia a
las columnas de la otra que contienen el valor de clave principal. Esta columna
se convierte en una clave externa para la segunda tabla.
Por ejemplo, la tabla Sales.SalesOrderHeader de
la base de datos AdventureWorks2008R2 tiene un vínculo a la tabla
Sales.SalesPerson porque existe una relación lógica entre pedidos de ventas y
personal de ventas. La columna SalesPersonID de la tabla SalesOrderHeader
coincide con la columna de clave principal de la tabla SalesPerson. La columna
SalesPersonID de la tabla SalesOrderHeader es la clave externa para la tabla
SalesPerson.
CHECK
Las restricciones CHECK exigen la integridad
del dominio mediante la limitación de los valores que puede aceptar una
columna. Son similares a las restricciones FOREIGN KEY porque controlan los
valores que se colocan en una columna. La diferencia reside en la forma en que
determinan qué valores son válidos: las restricciones FOREIGN KEY obtienen la
lista de valores válidos de otra tabla, mientras que las restricciones CHECK
determinan los valores válidos a partir de una expresión lógica que no se basa
en datos de otra columna.
Puede crear una restricción CHECK con cualquier
expresión lógica (booleana) que devuelva TRUE (verdadero) o FALSE (falso)
basándose en operadores lógicos.
LIMITACIONES
DE LAS RESTRICCIONES CHECK
Una restricción CHECK devuelve TRUE cuando la
condición que está comprobando no es FALSE para ninguna fila de la tabla. Si
una tabla recién creada no tiene filas, cualquier restricción CHECK en esta
tabla se considerará válida. Esta situación puede generar resultados
inesperados, como en el siguiente ejemplo.
CREATE TABLE CheckTbl (col1 int, col2 int);
GO
CREATE FUNCTION CheckFnctn()
RETURNS int
AS
BEGIN
DECLARE @retval
int
SELECT @retval =
COUNT(*) FROM CheckTbl
RETURN @retval
END;
GO
ALTER TABLE CheckTbl
ADD CONSTRAINT chkRowCount CHECK (dbo.CheckFnctn() >= 1
);
GO
La restricción CHECK que se agrega especifica
que como mínimo debe existir una fila en la tabla CheckTbl. Sin embargo, puesto
que no hay filas en la tabla contra la que se comprueba la condición de esta
restricción, la instrucción ALTER TABLE será correcta.
DEFAULT
La restricción "default" especifica
un valor por defecto para un campo cuando no se inserta explícitamente en un
comando "insert".
Anteriormente, para establecer un valor por
defecto para un campo empleábamos la cláusula "default" al crear la
tabla, por ejemplo:
create table libros(
...
autor varchar(30)
default 'Desconocido',
...
);
Cada vez que establecíamos un valor por defecto
para un campo de una tabla, SQL Server creaba automáticamente una restricción
"default" para ese campo de esa tabla.
Dicha restricción, a la cual no le dábamos un
nombre, recibía un nombre dado por SQL Server que consiste "DF" (por
default), seguido del nombre de la tabla, el nombre del campo y letras y
números aleatorios.
UNIQUE
Las restricciones son reglas que Motor de base
de datos de SQL Server aplica de forma automática. Por ejemplo, puede usar
restricciones UNIQUE para garantizar que no se escriben valores duplicados en
columnas específicas que no forman parte de una clave principal. Tanto la
restricción UNIQUE como la restricción PRIMARY KEY exigen la unicidad; sin
embargo, debe usar la restricción UNIQUE y no PRIMARY KEY si desea exigir la
unicidad de una columna o una combinación de columnas que no forman la clave
principal.
A diferencia de las restricciones PRIMARY KEY,
las restricciones UNIQUE permiten valores NULL. Sin embargo, de la misma forma
que cualquier valor incluido en una restricción UNIQUE, solo se admite un valor
NULL por columna. Es posible hacer referencia a una restricción UNIQUE con una
restricción FOREIGN KEY.
Cuando se agrega una restricción UNIQUE a una o
varias columnas de la tabla, de forma predeterminada, el Motor de base de datos
examina los datos existentes en las columnas para garantizar que todos los
valores sean únicos. Si se agrega una restricción UNIQUE a una columna que
contiene valores duplicados, Motor de base de datos devuelve un error y no
agrega la restricción.
Motor de base de datos crea automáticamente un
índice UNIQUE para exigir, de acuerdo con la restricción UNIQUE, que no haya
duplicados. Por lo tanto, si se intenta insertar una fila duplicada, Motor de
base de datos devolverá un mensaje de error para indicar que se ha infringido
la restricción UNIQUE y no se agregará la fila a la tabla. A menos que se
especifique explícitamente un índice clúster, se creará de forma predeterminada
un índice único, no clúster, para exigir la restricción UNIQUE.
SINTAXIS:
USE AdventureWorks2012;
GO
ALTER TABLE Person.Password
ADD CONSTRAINT AK_Password UNIQUE (PasswordHash,
PasswordSalt);
GO
EJEMPLOS
DE TABLAS
CREATE TABLE CLIENTE (
DNI VARCHAR(10),
&lNOMBRE VARCHAR(20),
FECHA_NAC DATE NOT NULL,
TFNO VARCHAR(10),
APELLIDOS VARCHAR(100),
CONSTRAINT CLIENTE_PK PRIMARY KEY (DNI)
)
RESUMEN
Las tablas son objetos de las bases de datos diseñados
para contener los datos. Una tabla está conformada por un conjunto de campos
identificados comúnmente como columnas. Los datos a su vez se organizan en las
tablas como filas y se conocen como registros, es decir, cada registro está
integrado por el número de campos de la tabla constituyéndose un arreglo o
matriz. Cuando queremos crear una tabla es necesario definir qué tipo de
valores o de datos será contenido en cada uno de los campos.
En la actualidad, las organizaciones deben
afrontar numerosos retos relacionados con los datos; por ejemplo, la necesidad
de toma de decisiones más rápidas y controladas por datos, la necesidad de
aumentar la productividad y flexibilidad del personal de desarrollo y la
presión para reducir los presupuestos generales relacionados con la tecnología
de la información, a la vez que se exige escalar la infraestructura para que se
adapte a exigencias cada vez mayores.
SUMMARY
Tables are objects in databases designed to
hold data. A table is made up of a set of fields commonly identified as
columns. The data in turn are organized in the tables as rows and are known as
registers, ie each record is composed of the number of fields in the table
constituting an array or matrix. When we want to create a table it is necessary
to define what type of values or data will be contained in each of the fields.
Organizations today face numerous data
challenges; For example, the need for faster, data-driven decision-making, the
need to increase the productivity and flexibility of development staff, and the
pressure to reduce overall information technology budgets, while requiring
Scale the infrastructure to adapt to increasing demands.
RECOMENDACIONES
Antes de Crear una tabla en SQL Server hay que
tener en cuenta los tipos de datos que debe contener la tabla, que columnas
aceptan valores nulos, si se deben de utilizar restricciones o vales
predeterminados y reglas, que columnas son claves principales y claves
externas.
Ø Completar los datos que se requieren en SQL SERVER para
tener una mejor información y personalizada sobre los datos que necesite el
sistema.
Ø Consigue alcanzar los objetivos de SQL Server, para una
solución flexible, personalizada y con la mejor capacidad de integración en la
mayoría de sistemas tecnológicos.
CONCLUSIONES
Al conocer los tipos de datos que debes
utilizar al momento de crear una tabla, las restricciones que debes tener en
cuenta, Si o si vas a crear una buena tabla y tener una buena integridad de
datos. Ya que Gracias a Foreign Key el servidor garantiza que no metes en un
campo un valor que no existe en otro sitio donde obligatoriamente debería
existir. Por ejemplo, si tienes una tabla de Pedidos puedes establecer un
Foreign Key a la tabla de Clientes, de forma que el código de cliente que se
introduce en el pedido siempre sea el de un cliente existente. Así garantizas
que con independencia de los errores que puedan existir en uno o varios de los
programas cliente que acceden a la base de datos, nunca podrá ocurrir que se
grabe un pedido cuyo cliente no existe.
Todos los campos de una tabla tienen
propiedades. Éstas definen las características y el comportamiento del campo.
La propiedad más importante de un campo es su tipo de datos.
El tipo de datos de un campo determina otras
muchas cualidades importantes del mismo, como:
Ø La forma de usar el campo en expresiones.
Ø El tamaño máximo de un valor del campo.
Ø Si el campo se puede indizar.
Ø Los formatos que se pueden usar con el campo.
APRECIACIÓN
DEL EQUIPO
Ø Es de Gran importación realizar una buena creación de una
tabla en SQL Server ya que ello te va a ayudar que tu base de datos este buen
estructurada y esto se consigue conociendo los tipos de datos que te brinda SQL
Server, las restricciones que debes tener en cuenta al momento de crearlas.
Ø Después de crear un campo y de establecer su tipo de datos,
podrá establecer otras propiedades. Los cuales nos serán muy útiles para poder
identificar los campos de las tablas que deseo realizar donde tendremos que
identificar el tamaño del campo, también determina la cantidad de espacio en
disco que necesita cada valor del campo Número. Según el tamaño del campo, el
número puede ocupar exactamente 1, 2, 4, 8, 12 o 16 bytes.
REFERENCIAS
LINK DE NUESTRAS DIAPOSITIVAS: