DDL Curso: Base de Datos Equipo de Profesores del Curso DDL (Lenguaje de Definicin de Datos) CREANDO TABLA CREATE DATABASE BDCIBERTEC GO USE BDCIBERTEC GO CREATE TABLE TBEMPLEADO ( cod_emple char(5) not null, nom_emple varchar(30) not null, ap_emple varchar(30) not null, am_emple varchar(30) not null, fna_emple date not null, fin_emple date not null, eci_emple varchar(20) not null, gen_emple varchar(15) not null, sue_emple money not null ) go RESTRICCIN PRIMARY KEY ALTER TABLE TBEMPLEADO ADD CONSTRAINT PKEMPLEADO PRIMARY KEY (cod_emple) GO ALTER TABLE TBEMPLEADO ADD PRIMARY KEY (cod_emple) GO ALTERNATIVA 1 (ESPECIFICANDO ELNOMBRE DEL PK) : ALTERNATIVA 2 (TENDRA UN NOMBRE POR DEFECTO) : RESTRICCIN UNIQUE ALTER TABLE TBEMPLEADO ADD CONSTRAINT UQAPELLIDO UNIQUE (ap_emple) GO REGLA DE NEGOCIO: Los apellidos paternos de los empleados son nicos RESTRICCIN DEFAULT ALTER TABLE TBEMPLEADO ADD CONSTRAINT DFFECHA_INGRESO DEFAULT GETDATE() FOR fin_emple GO REGLA DE NEGOCIO: La fecha de ingreso del empleado por defecto es la fecha del sistema RESTRICCIN CHECK ALTER TABLE TBEMPLEADO ADD CONSTRAINT CKSUELDO_EMP CHECK (sue_emple>1500 AND sue_emple<=15000) GO REGLA DE NEGOCIO: El sueldo del empleado es mayor a 1500 y no debe exceder a 15000 RESTRICCIN CHECK ALTER TABLE TBEMPLEADO ADD CONSTRAINT CKECIVIL_EMP CHECK (NOT(eci_emple='VIUDO') OR NOT(eci_emple='DIVORCIADO') ) GO REGLA DE NEGOCIO: El Estado civil del empleado no admite viudos o divorciados RESTRICCIN IDENTITY CREATE TABLE TBBOLETA ( nro_boleto int IDENTITY (1001,1), femi_boleto datetime not null, val_boleto numeric(8,2) not null ) go REGLA DE NEGOCIO: La Tabla Boleta tiene un campo n que se autoincrementa de 1 en 1 a partir de 1001 DDL (Lenguaje de Definicin de Datos) EJERCICIOS 1. Cree la base de datos BD_SUSCRIPCIONES en la carpeta C:\PRODUCCION\ con la siguiente configuracin: Archivo de datos: Un tamao inicial de 20MB, mximo de 40MB y un factor de crecimiento de 5MB. Archivo de transacciones: Un tamao inicial de 4MB, mximo de 20MB y un factor de crecimiento de 10%.
2. Active la base de datos BD_SUSCRIPCIONES BD_SUSCRIPCIONES 3. Cree las tablas mostradas : EJERCICIOS 1. Los pases vlidos deben ser PERU, CHILE y ARGENTINA. 2. El PORC_DSCTO_CLI debe ser mayor o igual a 0. 3. El TIEMPO_ENVIO por defecto es 1. 4. La FEC_INICIO_SUSC debe ser por defecto igual a la fecha del da. 5. Las descripciones de los envos, DESC_ENVIO, deben ser nicos.
CONSTRAINS EJERCICIOS 1. Los pases vlidos deben ser PERU, CHILE y ARGENTINA. CHECK 2. El PORC_DSCTO_CLI debe ser mayor o igual a 0. CHECK 3. El TIEMPO_ENVIO por defecto es 1. DEFAULT 4. La FEC_INICIO_SUSC debe ser por defecto igual a la fecha del da. DEFAULT 5. Las descripciones de los envos, DESC_ENVIO, deben ser nicos. UNIQUE
CONSTRAINS Unidad 2 Manipulacin de Datos
Tema 4: Sentencias DML
Curso: Base de Datos (Lab) Equipo de Profesores del Curso Logro de la Unidad Al trmino de la unidad, el alumno modifica el contenido de una base de datos mediante la aplicacin de las tres sentencias del Lenguaje de Manipulacin de Datos (DML) y emplea ndices en la optimizacin del rendimiento de una base de datos haciendo uso de datos de prueba de un proceso de negocio real. Temas a tratar 2.1. Tema 4: Sentencias DML 2.1.1. Insercin de datos: INSERT 2.1.2. Actualizacin de datos: UPDATE 2.1.3. Eliminacin de datos: DELETE
Lenguaje de Manipulacin de Datos Un Lenguaje de Manipulacin de Datos o Data Manipulation Language es un lenguaje proporcionado por el sistema de gestin de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o manipulacin de los datos, organizados por el modelo de datos adecuado. El lenguaje de manipulacin de datos se clasifica en: INSERT INTO UPDATE DELETE DML: INSERT INTO Para almacenar datos en una base de datos debemos insertar filas en las tablas. Para ellos SQL pone a nuestra disposicin la sentencia INSERT. Insercin de filas; consiste en aadir a una tabla una o ms filas y en cada fila todos o parte de sus campos. Podemos distinguir dos formas de insertar filas: Insercin individual de filas. Insercin multiple de filas. DML : INSERT INTO Insercin Individual de una FILA Para realizar la insercin individual de filas SQL posee la instruccin INSERT INTO. Su sintaxis es la siguiente: INSERT INTO Nombre_tabla [(nombre_columna1, nombre_columna1,nombre_columna n..)] VALUES (expr1, expr2, expr n...) Nombre_Tabla tabla donde se desea ingresar los nuevos datos. Nombre_Columna es una lista opcional de nombres de campos de la tabla. El orden importa. Expr es una lista de expresiones o valores constantes, separados por comas, para dar valor a los distintos campos del registro que se aadir a la tabla. Las cadenas de caracteres debern estar encerradas entre comillas. DML : INSERT INTO Insertar datos de distintas formas: Especificando todos los campos a ingresar INSERT INTO USUARIO ( COD_USUA, NOM_USUA) VALUES (U00001, LUIS) Especificando nicamente los valores de los campos. INSERT INTO USUARIO VALUES (U00001, LUIS) ANTES DESPUS DML: DELETE Para borrar datos de una tabla, debemos utilizar la sentencia DELETE. Su sintaxis es la siguiente: DELETE FROM Nombre_Tabla [WHERE { condicin }] Nombre_Tabla nombre de la tabla donde se desea borrar los datos. La clusula WHERE sigue el mismo formato que la vista en la sentencia SELECT y determina qu registros se borrarn. DML : DELETE Eliminar todos los registros de la tabla DELETE FROM USUARIOS TABLA USUARIO ANTES TABLA USUARIO DESPUS Permite eliminar uno o ms registros de una tabla
DML : DELETE Eliminar un registro especfico DELETE FROM USUARIO WHERE COD_USUA=U00001
TABLA USUARIO ANTES TABLA USUARIO DESPUS DML : UPDATE Para la actualizacin de datos SQL dispone de la sentencia UPDATE. La sentencia UPDATE permite la actualizacin de uno o varios registros de una nica tabla. La sintaxis del UPDATE es la siguiente: UPDATE Nombre_tabla SET nombre_columna1 = expr1, nombre_columna2 = expr2, ... [WHERE { condicin }] Nombre_Tabla tabla donde se actualiza los datos. Nombre_columna es el nombre de columna o campo cuyo valor se desea cambiar. Expr el nuevo valor que se desea asignar al campo que le precede. DML : UPDATE Actualiza un campo de todos los registros
UPDATE DEPARTAMENTOS SET PRECIO_ALQxMES_DEP = 2000 TABLA DEPARTAMENTOS ANTES TABLA DEPARTAMENTOS DESPUS
DML : UPDATE Actualiza varios campos de todos los registros UPDATE DEPARTAMENTOS SET PRECIO_ALQxMES_DEP = 2500, NUM_AMB_DEP = 6 TABLA DEPARTAMENTOS ANTES TABLA DEPARTAMENTOS DESPUS DML: UPDATE Actualiza una o varias columnas utilizando la sentencia where.
UPDATE DEPARTAMENTOS SET PRECIO_ALQxMES_DEP = PRECIO_ALQxMES_DEP * 1.1 WHERE AREA_TOTAL_DEP > 100 TABLA DEPARTAMENTOS ANTES TABLA DEPARTAMENTOS DESPUES ACTIVIDADES A DESARROLLAR BD_SUSCRIPCIONES EJERCICIOS DML 1. Inserte dos registros a todas las tablas. 2. Muestre todos los registros de la tabla Clientes. 3. Muestre a todos los clientes del pas PERU o CHILE. 4. Actualice el nmero celular del cliente con cdigo 100. 5. Eliminar las suscripciones del cliente con cdigo 110. 6. Muestre las suscripciones de los clientes con cdigo mayor a 102 que hayan realizados sus suscripciones despus del da 10/01/2013. Base de datos VENTAS pgina 43 de su manual 1. Cree la base de datos VENTAS2013. 2. Cree todas las tablas de la BD VENTAS2013. 3. Cree todas las relaciones entre las tablas (llaves forneas). Actividad (BD VENTAS) 36 An el joven es conocido por sus hechos. Si su conducta fuere limpia y recta Prov. 20:11