BD Fundamentos2

June 20, 2017 | Autor: Alejandra Alva | Categoria: Programacion
Share Embed


Descrição do Produto

Diseño de Sistemas y Base de datos

-1 -

UPN – Ingeniería Empresarial

TEORIA SEMANA N° 2 TIPOS DE DATOS EN SQL SERVER 2008: 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 validos. Transact SQL proporciona una variedad predefinida de tipos de datos. Casi todos los tipos de datos manejados por Transact SQL son 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 de valores de 1 a 0. TINYINT. Una columna o variable de tipo tinyint puede almacenar el rango de valores de 0 a255. SMALLINT. Una columna o variable de tipo smallint puede almacenar el rango de valores -32768a 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,4x1038, 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. Todos los tipos de datos enteros pueden marcarse con la propiedad identity para hacerlos autonumé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, Docente: Ing. Dávila Rodríguez Víctor MCAS Trujillo – Perú

[email protected] [email protected]

Diseño de Sistemas y Base de datos

-2 -

UPN – Ingeniería Empresarial

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. VARCHAR(max). Igual que varchar, pero al declararse como max puede almacenar 2 147 483 647 caracteres (2 Gb). 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 2 147 483 647 caracteres (2 Gb). TIPOS DE DATOS DE FECHA DATETIME. Almacena fechas con una precisión de milisegundo. Debe usarse para fechas muy específicas. El formato que presenta es de fecha y hora (0:00:00). Ocupa 8 bytes. DATE. Almacena las fechas sin el formato de hora (a diferencia del datetime), ocupa 4 bytes. TIME. Almacena datos en formato de horas – minutos – segundos. Al igual que el date, ocupa solo 4 bytes. 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 una longitud máxima de8000 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

Docente: Ing. Dávila Rodríguez Víctor MCAS Trujillo – Perú

[email protected] [email protected]

Diseño de Sistemas y Base de datos

-3 -

UPN – Ingeniería Empresarial

INSERTAR REGISTROS. (INSERT) Para realizar la inserción individual de filas o registros, SQL posee la sentencia INSERT INTO. Su sintaxis es la siguiente: INSERT INTO [([,,...])] VALUES (,,...); POR EJEMPLO: Se tiene las siguientes tablas de la base de datos VENTAS:

TABLA: categorias

TABLA: unidades

TABLA: productos

1) Insertar los siguientes registros para la tabla CATEGORIAS: CODIGO NOMBRE DESCRICPION 1 LACTETOS PRODUCTOS DERIVADOS DE LA LECHE 2 FRUTAS PRODUCTOS NATURALES INSERT INTO categorias VALUES(1,'LACTETOS','PRODUCTOS DERIVADOS DE LA LECHE') INSERT INTO categorias VALUES(2,'FRUTAS','PRODUCTOS NATURALES') Seleccionar las 2 sentencias escritas y ejecutarlas (F5) Para verificar que se han insertado los 2 registros, escriba y ejecute la siguiente sentencia: Docente: Ing. Dávila Rodríguez Víctor MCAS Trujillo – Perú

[email protected] [email protected]

Diseño de Sistemas y Base de datos

-4 -

UPN – Ingeniería Empresarial

SELECT * FROM categorias El resultado es el siguiente:

2) Ingresar los siguientes registros para la tabla UNIDADES: CODIGO NOMBRE 1 KILO 2 BOTELLA INSERT INTO unidades VALUES(1,'KILO') INSERT INTO unidades VALUES(2,'LITRO') Seleccionar las 2 sentencias escritas y ejecutarlas (F5) Para verificar que se han insertado los 2 registros, escriba y ejecute la siguiente sentencia: SELECT * FROM unidades El resultado es el siguiente:

3) Ingresar los siguientes registros para la tabla PRODUCTOS: CODIGO P001 P002 P003 P004

NOMBRE YOGURT GLORIA LECHE CHOCALATADA GLORIA NARANJAS MANZANAS

CATEG. 1 1 2 2

PRECIO 4.59 2.39 3.59 2.59

STOCK 50 60 40 45

UNIDAD 2 2 1 1

F.VENCIM. 18/02/2015 16/05/2014

INSERT INTO productos VALUES('P001','YOGURT GLORIA',1,4.59,50,2,'18/02/2015') INSERT INTO productos VALUES('P002','LECHE CHOCOLATADA GLORIA',1,2.39,60,2,'16/05/2014') Los 2 siguientes productos no tienen fecha de vencimiento (F.VENCIM.) existen dos maneras de ingresar:

Docente: Ing. Dávila Rodríguez Víctor MCAS Trujillo – Perú

[email protected] [email protected]

Diseño de Sistemas y Base de datos

-5 -

UPN – Ingeniería Empresarial

PRIMERA FORMA: Indicando los nombres de los campos: INSERT INTO productos (Cod_Producto, Nom_Producto, Cat_Producto, Pre_Producto, Sto_Producto, Uni_Producto) VALUES('P003','NARANJAS',2,3.59,40,1) SEGUNDA FORMA: Escribir el valor NULL para la fecha de vencimiento INSERT INTO productos VALUES('P003','NARANJAS',2,3.59,40,1, null) De igual manera para el siguiente producto: INSERT INTO productos (Cod_Producto, Nom_Producto, Cat_Producto, Pre_Producto, Sto_Producto, Uni_Producto) VALUES('P004','MANZANAS',2,2.59,45,1) O de la siguiente manera:

INSERT INTO productos VALUES('P004','MANZANAS',2,2.59,45,1, null) Para verificar que se han insertado los 4 registros, escriba y ejecute la siguiente sentencia: SELECT * FROM productos El resultado es el siguiente:

INSERTAR MULTIPLES FILAS DE UNA TABLA1 A OTRA TABLA2: Se puede insertar en una tabla el resultado de una consulta SELECT. De este modo se insertarán tantas filas como haya devuelto la consulta SELECT. Ejemplo: Crear la siguiente tabla de PRECIOS:

Ahora insertar los CODIGOS y PRECIOS de los todos registros que se encuentran en la tabla PRODUCTOS. INSERT INTO PRECIOS (Cod_prod, Pre_prod) select Cod_Producto, Pre_Producto from productos Docente: Ing. Dávila Rodríguez Víctor MCAS Trujillo – Perú

[email protected] [email protected]

Diseño de Sistemas y Base de datos

-6 -

UPN – Ingeniería Empresarial

Para verificar que se han insertado los 4 registros, escriba y ejecute la siguiente sentencia: SELECT * FROM precios El resultado es el siguiente:

NOTA: No se puede ingresar en la tabla HIJA un dato que no haya sido ingresado en la tabla PADRE. MODIFICAR REGISTROS (UPDATE) Para actualizar datos Transact SQL dispone de la sentencia UPDATE. La sentencia UPDATE permite la actualización de uno o varios registros de una única tabla. La sintaxis de la sentencia UPDATE es la siguiente: UPDATE SET = {[, = ,..., = ]} [ WHERE ] Ejemplos: 1) Actualizar los precios de todos los productos, aumentando 0.50. Primero listamos a todos los productos: SELECT * FROM productos Se muestra los registros siguientes:

Ahora escribimos y ejecutamos el comando para actualizar los precios: UPDATE productos SET Pre_Producto= Pre_Producto + 0.5 Volvemos a listar a todos los productos para verificar la actualización en los precios: SELECT * FROM productos

Docente: Ing. Dávila Rodríguez Víctor MCAS Trujillo – Perú

[email protected] [email protected]

Diseño de Sistemas y Base de datos

-7 -

UPN – Ingeniería Empresarial

2) Actualizar el Stock del producto YOGURT GLORIA (Código es P001), con el valor de 150. UPDATE productos SET Sto_Producto = 150 WHERE Cod_Producto ='P001' Volvemos a listar a todos los productos para verificar la actualización en los precios: SELECT * FROM productos Observar el valor del stock del YOGURT GLORIA

3) Actualiza los precios de la tabla PRECIOS por los precios de la tabla PRODUCTOS: Escribir y ejecutar la siguiente sentencia: UPDATE precios SET pre_prod = productos.Pre_Producto FROM productos INNER JOIN precios ON precios.Cod_Prod = productos.Cod_Producto Listar los registros de la tabla PRECIOS y PRODUCTOS, para verificar la actualización: SELECT * FROM precios SELECT * FROM productos

NOTA: No puede pude modificar o actualizar la clave de la tabla PADRE, si ya ha sido registrado en la tabla HIJA. ELIMINAR REGISTROS. (DELETE) Para borrar datos de una tabla debemos utilizar la sentencia DELETE. La sintaxis de la sentencia DELETE es la siguiente: DELETE FROM [ WHERE ] Docente: Ing. Dávila Rodríguez Víctor MCAS Trujillo – Perú

[email protected] [email protected]

Diseño de Sistemas y Base de datos

-8 -

UPN – Ingeniería Empresarial

Ejemplos: 1) Borrar a todos los registros de la tabla PRECIOS DELETE FROM precios Para verificar que se borraron todos los registros de la tabla precios, escriba y ejecuta la siguiente: SELECT * FROM precios Observamos en el resultado, que ya no hay ningún registro:

2) Borrar a todos los productos cuyo Stock es igual a 0. DELETE FROM productos WHERE Sto_Producto = 0 No se borrar ningún producto, ya que ninguno tiene stock=0. Para verificar que se borraron todos los registros de la tabla productos cuyo stock = 0, escriba y ejecuta la siguiente: SELECT * FROM productos Observamos en el resultado, que ya no hay ningún registro:

NOTA: Tener en cuenta que para borrar un registro de la tabla PADRE, no debe tener registros en una tabla HIJA. OPERADORES EN T-SQL PARA CONDICIONES: Tipo de operador Operadores Operadores relacionales o = (igual a) de comparación (distinto de) < (menor que) > (mayor que) >= (mayor o igual a)
Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.