Ejercicios SQL - Definición de Datos - Solución
|
|
|
- Pablo Chávez Ávila
- hace 8 años
- Vistas:
Transcripción
1 Ejercicios SQL - Definición de Datos - Solución Ejercicio 1: Disponemos de la siguiente Base de Datos para gestionar la información de los pubs de una determinada provincia. PUB TITULAR EMPLEADO #COD_PUB #DNI_TITULAR #DNI_EMPLEADO NOMBRE NOMBRE NOMBRE LICENCIA_FISCAL DOMICILIO DOMICILIO DOMICILIO FECHA_APERTURA HORARIO COD_LOCALIDAD COD_PUB EXISTENCIAS LOCALIDAD PUB_EMPLEADO #COD_ARTICULO #COD_LOCALIDAD #COD_PUB NOMBRE NOMBRE #DNI_EMPLEADO CANTIDAD PRECIO COD_PUB #FUNCION Se pide escribir los comandos SQL que permitan la creación de las tablas anteriores teniendo en cuenta las siguientes restricciones: Todos los valores son de tipo carácter excepto los campos FECHA_APERTURA (fecha), CANTIDAD, PRECIO y COD_LOCALIDAD (numéricos). Los únicos campos que no son obligatorios son los campos DOMICILIO. Los valores del campo horario sólo pueden ser HOR1, HOR2 y HOR3. No es posible dar de alta EXISTENCIAS a precio 0. El campo función de la tabla PUB_EMPLEADO sólo puede tener los valores CAMARERO, SEGURIDAD, LIMPIEZA. Se ha de mantener la integridad referencial entre las tablas. Las claves primarias vienen marcadas con el símbolo #. Ejercicios SQL - Definición de Datos - Solución Página 1 de 17
2 Solución: Sentencias SQL de creación de tablas: CREATE TABLE pub ( cod_pub VARCHAR(5) NOT NULL, nombre VARCHAR(60) NOT NULL, licencia_fiscal VARCHAR(60) NOT NULL, domicilio VARCHAR(60), fecha_apertura DATE NOT NULL, horario VARCHAR(60) NOT NULL, cod_localidad INTEGER NOT NULL ) ; CREATE TABLE titular ( dni_titular VARCHAR(8) NOT NULL, nombre VARCHAR(60) NOT NULL, domicilio VARCHAR(60), cod_pub VARCHAR(5) NOT NULL ) ; CREATE TABLE empleado ( dni_empleado VARCHAR(8) NOT NULL, nombre VARCHAR(60) NOT NULL, domicilio VARCHAR(60) ) ; CREATE TABLE existencias ( cod_articulo VARCHAR(10) NOT NULL, nombre VARCHAR(60) NOT NULL, cantidad INTEGER NOT NULL, precio DECIMAL NOT NULL, cod_pub VARCHAR(5) NOT NULL ) ; CREATE TABLE localidad ( cod_localidad INTEGER NOT NULL, nombre VARCHAR(60) NOT NULL ) ; CREATE TABLE pub_empleado ( cod_pub VARCHAR(5) NOT NULL, dni_empleado VARCHAR(8) NOT NULL, funcion VARCHAR(9) NOT NULL ) ; Ejercicios SQL - Definición de Datos - Solución Página 2 de 17
3 Sentencias SQL de creación restricciones: ALTER TABLE pub ADD CONSTRAINT pk_pub PRIMARY KEY (cod_pub) ; ALTER TABLE localidad ADD CONSTRAINT pk_localidad PRIMARY KEY (cod_localidad) ; ALTER TABLE titular ADD CONSTRAINT pk_titular PRIMARY KEY (dni_titular) ; ALTER TABLE empleado ADD CONSTRAINT pk_empleado PRIMARY KEY (dni_empleado) ; ALTER TABLE existencias ADD CONSTRAINT pk_existencias PRIMARY KEY (cod_articulo) ; ALTER TABLE pub_empleado ADD CONSTRAINT pk_pub_empleado PRIMARY KEY (cod_pub, dni_empleado, funcion) ; ALTER TABLE pub ADD CONSTRAINT fk_pub_localidad FOREIGN KEY (cod_localidad) REFERENCES localidad (cod_localidad) ; ALTER TABLE titular ADD CONSTRAINT fk_titular_pu FOREIGN KEY (cod_pub) REFERENCES pub (cod_pub) ; ALTER TABLE existencias ADD CONSTRAINT fk_existencias_pub FOREIGN KEY (cod_pub) REFERENCES pub (cod_pub) ; ALTER TABLE pub_empleado ADD CONSTRAINT fk_pubemple_pub FOREIGN KEY (cod_pub) REFERENCES pub(cod_pub) ; ALTER TABLE pub_empleado ADD CONSTRAINT fk_pubemple_empleado FOREIGN KEY (dni_empleado) REFERENCES empleado (dni_empleado) ; ALTER TABLE pub ADD CONSTRAINT ck_horario CHECK (horario IN ( HOR1, HOR2, HOR3 )) ; ALTER TABLE existencias ADD CONSTRAINT ck_precio CHECK (precio <> 0) ; ALTER TABLE pub_empleado ADD CONSTRAINT ck_funcion CHECK (funcion IN ( CAMARERO, SEGURIDAD, LIMPIEZA )) ; Ejercicios SQL - Definición de Datos - Solución Página 3 de 17
4 Ejercicio 2: La siguiente base de datos está pensada para almacenar la información necesaria para gestionar la venta automática de entradas para diferentes espectáculos desde múltiples puntos de venta, como pueden ser oficinas bancarias, terminales tipo Servicaixa, o las mismas taquillas de teatros u otros recintos. Se pide: ESPECTACULOS (COD_ESPECTACULO, NOMBRE, TIPO, FECHA_INICIAL, FECHA_FINAL, INTERPRETE, COD_RECINTO) PRECIOS_ESPECTACULOS (COD_ESPECTACULO, COD_RECINTO, ZONA, PRECIO) RECINTOS (COD_RECINTO, NOMBRE, DIRECCION, CIUDAD, TELEFONO, HORARIO) ZONAS_RECINTOS (COD_RECINTO, ZONA, CAPACIDAD) ASIENTOS (COD_RECINTO, ZONA, FILA, NUMERO) REPRESENTACIONES (COD_ESPECTACULO, FECHA, HORA) ENTRADAS (COD_ESPECTACULO, FECHA, HORA, COD_RECINTO, FILA, NUMERO, ZONA, DNI_CLIENTE) ESPECTADORES (DNI_CLIENTE, NOMBRE, DIRECCION, TELEFONO, CIUDAD, NTARJETA) 1. Establecer las claves primarias de cada una de las tablas y las restricciones de integridad referencial existentes entre las mismas. 2. Crear las sentencias SQL que nos permiten crear las tablas anteriores y sus resticciones. Ejercicios SQL - Definición de Datos - Solución Página 4 de 17
5 Solución: El problema admite múltiples soluciones en base a los supuestos que se hagan, todas serían válidas siempre que sean coherentes con las claves elegidas. Os propongo la siguiente: Las claves primarias que se pueden deducir son las siguientes: ESPECTACULOS (COD_ESPECTACULO, NOMBRE, TIPO, FECHA_INICIAL, FECHA_FINAL, INTERPRETE, COD_RECINTO) Primary Key: COD_ESPECTACULO Foreign Key: COD_RECINTO Esta elección implica que un mismo espectáculo tendrá diferentes códigos cuando se representa en las diferentes fechas y recintos. PRECIOS_ESPECTACULOS (COD_ESPECTACULO, COD_RECINTO, ZONA, PRECIO) Primary Key formada por los campos: COD_ESPECTACULO, COD_RECINTO,ZONA puesto que puede haber precios diferentes para las distintas zonas (patio de butacas, palco, etc...) del recinto dónde se celebra el espectáculo. Dos Foreign Key: COD_ESPECTACULO COD_RECINTO, ZONA RECINTOS (COD_RECINTO, NOMBRE, DIRECCION, CIUDAD, TELEFONO, HORARIO) Primary Key formada por los campos: COD_RECINTO ZONAS_RECINTOS (COD_RECINTO, ZONA, CAPACIDAD) Primary Key formada por los campos: COD_RECINTO, ZONA puesto que puede las distintas zonas (patio de butacas, palco, etc...) del recinto dónde se celebra el espectáculo tienen diferentes capacidades. Foreign Key: COD_RECINTO ASIENTOS (COD_RECINTO, ZONA, FILA, NUMERO) Primary Key formada por los campos: COD_RECINTO, ZONA, FILA, NUMERO un asiento de un recinto se identifica por la zona en la que se encuentra, su fila y su número. El asiento 4 correspondiente a la fila 2 del patio de butacas de un determinado recinto. Foreign Key: COD_RECINTO, ZONA Ejercicios SQL - Definición de Datos - Solución Página 5 de 17
6 REPRESENTACIONES (COD_ESPECTACULO, FECHA, HORA) Primary Key formada por los campos: COD_RECINTO, FECHA, HORA puesto que puede celebrarse un mismo espectáculo el mismo día a horas diferentes. Foreign Key : COD_ESPECTACULO ENTRADAS (COD_ESPECTACULO, FECHA, HORA, COD_RECINTO, FILA, NUMERO, ZONA, DNI_CLIENTE) Tal cómo esta conformada la tabla la Primary Key formada por los campos: COD_ESPECTÁCULO, FECHA, HORA, FILA, NUMERO, ZONA, DNI_CLIENTE Un cliente podría comprar más de una entrada para un mismo espectáculo, que se celebra el mismo día y esas entradas podrían corresponder a la misma fila y al mismo número de butaca de diferentes zonas. Tres Foreign Key : COD_ESPECTÁCULO COD_RECINTO, ZONA, FILA, NUMERO DNI_CLIENTE ESPECTADORES (DNI_CLIENTE, NOMBRE, DIRECCIÓN, TELEFONO, CIUDAD, NTARJETA) Primary Key formada por el DNI_CLIENTE. Ejercicios SQL - Definición de Datos - Solución Página 6 de 17
7 Sentencias SQL de creación de tablas: CREATE TABLE espectaculos ( cod_espectaculo VARCHAR(8) NOT NULL, nombre VARCHAR(80) NOT NULL, tipo VARCHAR(80) NOT NULL, fecha_inicial DATE, fecha_final DATE, interprete VARCHAR(80) NOT NULL, cod_recinto VARCHAR(8) ) ; CREATE TABLE precios_espectaculos ( cod_espectaculo VARCHAR(8) NOT NULL, cod_recinto VARCHAR(8) NOT NULL, zona VARCHAR(80) NOT NULL, precio DECIMAL NOT NULL ) ; CREATE TABLE recintos ( cod_recinto VARCHAR(8) NOT NULL, nombre VARCHAR(80) NOT NULL, direccion VARCHAR(80) NOT NULL, ciudad VARCHAR(80) NOT NULL, telefono VARCHAR(80), horario VARCHAR(80) NOT NULL ) ; CREATE TABLE zonas_recintos ( cod_recinto VARCHAR(8) NOT NULL, zona VARCHAR(80) NOT NULL, capacidad INTEGER NOT NULL ) ; CREATE TABLE asientos ( cod_recinto VARCHAR(8) NOT NULL, zona VARCHAR(80) NOT NULL, fila INTEGER NOT NULL, numero INTEGER NOT NULL ) ; CREATE TABLE representaciones ( cod_espectaculo VARCHAR(8) NOT NULL, fecha DATE NOT NULL, hora VARCHAR(8) NOT NULL ) ; CREATE TABLE entradas ( cod_espectaculo VARCHAR(8) NOT NULL, fecha DATE NOT NULL, hora VARCHAR(8) NOT NULL, cod_recinto VARCHAR(8) NOT NULL, fila INTEGE, numero INTEGER, zona VARCHAR(80), dni_cliente VARCHAR(9) ) ; CREATE TABLE espectadores ( dni_cliente VARCHAR(9) NOT NULL, nombre VARCHAR(80) NOT NULL, direccion VARCHAR(80), telefono VARCHAR(80), ciudad VARCHAR(80), ntarjeta VARCHAR(20) NOT NULL ) ; Ejercicios SQL - Definición de Datos - Solución Página 7 de 17
8 Sentencias SQL de creación de restricciones: ALTER TABLE espectaculos ADD CONSTRAINT pk_espectaculos PRIMARY KEY (cod_espectaculo) ; ALTER TABLE precios_espectaculos ADD CONSTRAINT pk_precios_espectaculos PRIMARY KEY (cod_espectaculo, cod_recinto, zona) ; ALTER TABLE recintos ADD CONSTRAINT pk_recintos PRIMARY KEY (cod_recinto) ; ALTER TABLE zonas_recintos ADD CONSTRAINT pk_zonas_recintos PRIMARY KEY (cod_recinto, zona) ; ALTER TABLE asientos ADD CONSTRAINT pk_asientos PRIMARY KEY (cod_recinto, zona, fila, numero) ; ALTER TABLE representaciones ADD CONSTRAINT pk_representaciones PRIMARY KEY (cod_espectaculo, fecha, hora) ; ALTER TABLE entradas ADD CONSTRAINT pk_entradas PRIMARY KEY (cod_espectaculo, fecha, hora, fila, numero, zona, dni_cliente) ; ALTER TABLE espectadores ADD CONSTRAINT pk_espectadores PRIMARY KEY (dni_cliente) ; Ejercicios SQL - Definición de Datos - Solución Página 8 de 17
9 ALTER TABLE espectaculos ADD CONSTRAINT fk_espectaculos_recintos FOREIGN KEY (cod_recinto) REFERENCES recintos (cod_recinto) ; ALTER TABLE precios_espectaculos ADD CONSTRAINT fk_precios_espectaculos FOREIGN KEY (cod_espectaculo) REFERENCES espectaculos (cod_espectaculo) ; ALTER TABLE precios_espectaculos ADD CONSTRAINT fk_precios_recinto FOREIGN KEY (cod_recinto, zona) REFERENCES zonas_recintos (cod_recinto, zona) ; ALTER TABLE zonas_recintos ADD CONSTRAINT fk_zonas_recintos FOREIGN KEY (cod_recinto) REFERENCES recintos (cod_recinto) ; ALTER TABLE asientos ADD CONSTRAINT fk_asientos_recintos FOREIGN KEY (cod_recinto, zona) REFERENCES zonas_recintos (cod_recinto, zona) ; ALTER TABLE representaciones ADD CONSTRAINT fk_representaciones_espectaculos FOREIGN KEY (cod_espectaculo) REFERENCES espectaculos (cod_espectaculo) ; ALTER TABLE entradas ADD CONSTRAINT fk_entradas_espectaculo FOREIGN KEY (cod_espectaculo) REFERENCES espectaculos (cod_espectaculo) ; ALTER TABLE entradas ADD CONSTRAINT fk_entradas_asientos FOREIGN KEY (cod_recinto, zona, fila, numero) REFERENCES asientos (cod_recinto, zona, fila, numero) ; ALTER TABLE entradas ADD CONSTRAINT fk_entradas_espectadores FOREIGN KEY (dni_cliente) REFERENCES espectadores(dni_cliente) ; Ejercicios SQL - Definición de Datos - Solución Página 9 de 17
10 Ejercicio 3: Se desea tener una base de datos que almacene la información sobre los empleados de una empresa, los departamentos en los que trabajan y los estudios de que disponen. Guardaremos el historial laboral y salarial de todos los empleados. Para ello contamos con las siguientes tablas: EMPLEADOS DEPARTAMENTOS Column Name DataType Column Name DataType DNI NUMBER(8) DPTO_COD NUMBER(5) NOMBRE VARCHAR(10) NOMBRE_DPTO VARCHAR(30) APELLIDO1 VARCHAR(15) DPTO_PADRE NUMBER(5) APELLIDO2 VARCHAR(15) PRESUPUESTO NUMBER DIRECC1 VARCHAR(25) PRES_ACTUAL NUMBER DIRECC2 VARCHAR(20) CIUDAD VARCHAR(20) ESTUDIOS PROVINCIA VARCHAR(20) Column Name Data Type COD_POSTAL VARCHAR(5) SEXO VARCHAR(1) EMPLEADO_DNI NUMBER(8) FECHA_NAC DATE UNIVERSIDAD NUMBER(5) AÑO NUMBER GRADO VARCHAR(3) ESPECIALIDAD VARCHAR(20) HISTORIAL_LABORAL UNIVERSIDADES Column Name Data Type Column Name Data Type EMPLEADO_DNI NUMBER(8) UNIV_COD NUMBER(5) TRABAJO_COD NUMBER(5) NOMBRE_UNIV VARCHAR(25) FECHA_INICIO DATE CIUDAD VARCHAR(20) FECHA_FIN DATE MUNICIPIO VARCHAR(2) DPTO_COD NUMBER(5) COD_POSTAL VARCHAR(5) SUPERVISOR_DNI NUMBER(8) HISTORIAL_SALARIAL TRABAJOS Column Name Data Type Column Name Data Type EMPLEADO_DNI NUMBER(8) TRABAJO_COD NUMBER(5) SALARIO NUMBER NOMBRE_TRAB VARCHAR(20) FECHA_COMIENZO DATE SALARIO_MIN NUMBER(2) FECHA_FIN DATE SALARIO_MAX NUMBER(2) Ejercicios SQL - Definición de Datos - Solución Página 10 de 17
11 Controlar las siguientes restricciones: 1. Los siguientes atributos son obligatorios: NOMBRE (en todas las tablas), APELLIDO1 en EMPLEADOS, PRESUPUESTO en DEPARTAMENTOS, SALARIO en HISTORIAL_SALARIAL y SALARIO_MIN y SALARIO_MAX en TRABAJOS. Al crear las tablas correspondientes especificar la opción NOT NULL. CREATE TABLE nombre_tabla (nombre_campo TIPO NOT NULL, ) ; Si la tabla ya estuviese creada: ALTER TABLE nombre_tabla MODIFY nombre_campo TIPO NOT NULL; 2. El atributo SEXO en EMPLEADOS sólo puede tomar los valores H para hombre y M para mujer. ALTER TABLE empleados ADD CONSTRAINT ck_sexo CHECK (sexo = H OR sexo= M ) ; 3. Dos DEPARTAMENTOS no se llaman igual. Dos TRABAJOS tampoco. ALTER TABLE departamentos ADD CONSTRAINT uk_nombre_dpto UNIQUE (nombre_dpto) ; ALTER TABLE trabajos ADD CONSTRAINT uk_nombre_trab UNIQUE (nombre_trab) ; 4. Cada empleado tiene un solo salario en cada momento. También, cada empleado tendrá asignado un solo trabajo en cada momento. ALTER TABLE historial_salarial ADD CONSTRAINT pk_historial_salarial PRIMARY KEY (empleado_dni, salario, fecha_comienzo) ; ALTER TABLE historial_ laboral ADD CONSTRAINT pk_historial_ laboral PRIMARY KEY (empleado_dni, trabajo_cod, fecha_inicio) ; Ejercicios SQL - Definición de Datos - Solución Página 11 de 17
12 5. Se ha de mantener la regla de integridad de referencia y pensar una clave primaria para cada tabla. /* CLAVES PRIMARIAS */ ALTER TABLE empleados ADD CONSTRAINT pk_empleados PRIMARY KEY (dni) ; ALTER TABLE historial_salarial ADD CONSTRAINT pk_historial_salarial PRIMARY KEY (empleado_dni, salario, fecha_comienzo) ; ALTER TABLE historial_laboral ADD CONSTRAINT pk_historial_laboral PRIMARY KEY (empleado_dni, trabajo_cod, fecha_inicio) ; ALTER TABLE departamentos ADD CONSTRAINT pk_departamentos PRIMARY KEY (departamento_cod) ; ALTER TABLE estudios ADD CONSTRAINT pk_estudios PRIMARY KEY (empleado_dni, universidad, especialidad) ; ALTER TABLE universidades ADD CONSTRAINT pk_universidades PRIMARY KEY (uni_cod) ; ALTER TABLE trabajos ADD CONSTRAINT pk_trabajos PRIMARY KEY (trabajo_cod) ; /* CLAVES AJENAS */ ALTER TABLE historial_salarial ADD CONSTRAINT fk_historial_salarial_empleado FOREIGN KEY (empleado_dni) REFERENCES empleados (dni) ; ALTER TABLE historial_laboral ADD CONSTRAINT fk_historial_laboral_empleado FOREIGN KEY (empleado_dni) REFERENCES empleados (dni) ; ALTER TABLE historial_laboral ADD CONSTRAINT fk_historial_laboral_supervisor FOREIGN KEY (supervisor_dni) REFERENCES empleados (dni) ; ALTER TABLE historial_laboral ADD CONSTRAINT fk_historial_laboral_trabajo FOREIGN KEY (trabajo_cod) REFERENCES trabajos (trabajo_cod) ; ALTER TABLE historial_laboral ADD CONSTRAINT fk_historial_laboral_dpto FOREIGN KEY (dpto_cod) REFERENCES departamentos (dpto_cod) ; Ejercicios SQL - Definición de Datos - Solución Página 12 de 17
13 ALTER TABLE departamentos ADD CONSTRAINT fk_departamento_padre FOREIGN KEY (dpto_padre) REFERENCES departamentos (dpto_cod) ; ALTER TABLE estudios ADD CONSTRAINT fk_estudios_empleado FOREIGN KEY (empleado_dni) REFERENCES empleados (dni) ; ALTER TABLE estudios ADD CONSTRAINT fk_estudios_universidad FOREIGN KEY (universidad) REFERENCES universidades (univ_cod) ; Realizar las siguientes operaciones: 1. Insertar dos filas en cada tabla, rellenando todos sus atributos y haciendo cumplir las restricciones de integridad anteriores. INSERT INTO nombre_tabla ( nombre_columna1, nombre_columna2,, nombre columnan ) VALUES ( valor_columna1, valor_columna2,, valor columnan ) ; 2. Inserte las siguientes filas (las columnas que no aparecen se considerarán nulas). Empleados NOMBRE APELLIDO1 APELLIDO2 DNI Sergio Palma Entrena P Lucia Ortega Plus SEXO INSERT INTO empleados ( nombre, apellido1, apellido2, dni, sexo ) VALUES ( Sergio, Palma, Entrena, , P ) ; INSERT INTO empleados ( nombre, apellido1, apellido2, dni, sexo) VALUES ( Lucia, Ortega, Plus, , NULL) ; Puesto que existe una restricción para los valores del campo Sexo (H y M) ninguna de las sentencias anteriores funcionaría. Ejercicios SQL - Definición de Datos - Solución Página 13 de 17
14 Historial_Laboral EMPLEADO_DNI TRAB_COD FECHA_INICIO FECHA_FIN DPTO_COD SUPERVISOR_DNI /06/ INSERT INTO historial_laboral ( empleado_dni, trab_cod, fecha_inicio, fecha_fin, dpto_cod, supervisor_dni ) VALUES ( , NULL, 6 JUN 1996, NULL, NULL, ) ; 3. Qué ocurre si se modifica esta última fila de historial_laboral asignándole al empleado un supervisor que no existe en la tabla de empleados? Se produciría un error por violación de la clave ajena definida sobre la tabla historial_laboral que afecta al campo supervisor_dni que referencia al campo dni de la tabla empleados. 4. Borre una universidad de la tabla de UNIVERSIDADES Qué le sucede a la restricción de clave ajena de la tabla ESTUDIOS? Altere la definición de la tabla para que se mantenga la restricción aunque se borre una universidad. No se podrán borrar aquellas Universidades cuyo código esté presente en la tabla Estudios por existir una restricción de clave ajena desde dicha tabla hacia la tabla Universidades. Es decir, no pueden borrarse registros padres mientras existan registros hijos dependientes. Una manera de poder borrar sería eliminando la clave ajena: ALTER TABLE estudios DROP CONSTRAINT fk_estudios_universidades; También se podria modificar la restricción para que ponga un null en los registros hijos en el caso de que se borre el registro padre: ALTER TABLE estudios ADD CONSTRAINT fk_estudios_universidad FOREIGN KEY (universidad) REFERENCES universidades (univ_cod) ON DELETE SET NULL; También se podría haber creado la FK con la opción ON DELETE CASCADE Ejercicios SQL - Definición de Datos - Solución Página 14 de 17
15 5. Añada una restricción que obligue a que las personas que hayan introducido la CIUDAD tengan que tener el campo COD_POSTAL a NOT NULL. Qué ocurre con las filas ya introducidas? Abría que crear un trigger para realizar la comprobación: CREATE OR REPLACE TRIGGER cod_postal_check BEFORE INSERT OR UPDATE OF ciudad, cod_postal ON empleados FOR EACH ROW WHEN (:new.ciudad is not null) BEGIN IF (:new.cod_postal is null) THEN raise_application_error ( 666, 'El código postal no puede ser null si la ciudad no lo es'); END IF; END; Con las filas ya introducidas no pasaría nada, pues el trigger solo se lanza al insertar o al actualizar, pero no comprueba los datos ya introducidos. 6. Añada un nuevo atributo VALORACIÓN en la tabla de EMPLEADOS que indique de 1 a 10 la valoración que obtuvo el empleado en su entrevista de trabajo al iniciar su andadura en la empresa. Ponga el valor por defecto 5 para ese campo. ALTER TABLE empleados ADD valoracion NUMBER DEFAULT 5 ; ALTER TABLE empleados ADD CONSTRAINR ck_valoracion CHECK (valoración BETWEEN 1 AND 10) ; 7. Elimine la restricción de que el atributo NOMBRE de la tabla EMPLEADOS no puede ser nulo. ALTER TABLE empleado MODIFY nombre VARCHAR(10) NULL ; 8. Modificar el tipo de datos de DIREC1 de la tabla EMPLEADOS a cadena de caracteres de 40 como máximo. ALTER TABLE empleados MODIFY direcc1 VARCHAR(40) ; 9. Podría modificar el tipo de datos del atributo FECHA_NAC de la tabla EMPLEADOS Y convertirla a tipo cadena? Se pueden realizar cambios en los tipos de datos siempre que el contenido de los campos que se pretenden modificar cumplan o sean compatibles con los nuevos tipos de datos. Ejercicios SQL - Definición de Datos - Solución Página 15 de 17
16 10. Cambiar la clave primaria de EMPLEADOS al NOMBRE y los dos APELLIDOS. ALTER TABLE empleados DROP CONSTRAINT pk_empleados ; ALTER TABLE empleados ADD CONSTRAINT pk_empleados PRIMARY KEY (nombre, apellido1, apellido2) ; Si alguna tabla tuviera una clave ajena apuntando a la clave primaria de empleados, no sería posible crear la nueva clave primaria sin antes haber eliminado dichas claves ajenas. 11.Crear una nueva tabla llamada INFORMACIÓN UNIVERSITARIA que tenga el NOMBRE y los dos APELLIDOS (en un solo atributo) de todos los EMPLEADOS junto con la UNIVERSIDAD donde estudiaron. Cárguela con los datos correspondientes. CREATE TABLE información_universitaria AS SELECT nombre apellido1 apellido2 as nombre_empl, nombre_univ as nombre_univ FROM empleados e, estudios es, univeridad u WHERE e.dni=es.empleado_dni AND es.universidad=u.univ_cod; 12.Crear una vista llamada NOMBRE_EMPLEADOS con el NOMBRE y los dos APELLIDOS (en un solo atributo) de todos los EMPLEADOS que son de Málaga. CREATE VIEW empleados_malaga AS SELECT nombre apellido1 apellido2 as nombre_empl FROM empleados WHERE municipio= Málaga ; 13.Crear otra vista llamada INFORMACION_EMPLEADOS con el NOMBRE y los dos APELLIDOS (en un solo atributo) y EDAD (no fecha de nacimiento) de todos los EMPLEADOS. CREATE VIEW información_empleados AS SELECT nombre apellido1 apellido2 as nombre_empl, round(sysdate fecha_nacimiento/365) edad FROM empleados Ejercicios SQL - Definición de Datos - Solución Página 16 de 17
17 14. Crear otra vista sobre la anterior llamada INFORMACION_ACTUAL que dispone de toda la información de INFORMACION_EMPLEADOS junto con el SALARIO que está cobrando en este momento. CREATE VIEW informacion_actual AS SELECT nombre_empl, salario FROM informacion_empleados ie, historial_salarial hs WHERE ie.dni=hs.empleado_dni AND fecha_fin IS NULL; 15.Borrar todas las tablas. Hay que tener en cuenta las claves ajenas a la hora de borrar las tablas? Para borrar los registros de las tablas, hay que establecer un orden comenzando por las tablas hijas y terminando por las padres. De este modo, se cumplirían todas las restricciones de integridad referencial. También se podrían borrar todas las claves ajenas y luego las tablas. Ejercicios SQL - Definición de Datos - Solución Página 17 de 17
Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers
Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar
LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO VALE UN PUNTO
EXAMEN FINAL DE PRÁCTICAS DE BASES DE DATOS 18 de junio de 2003 Nombre: LEA ATENTAMENTE LAS PREGUNTAS Y RESUELVA CADA EJERCICIO COMO SE INDIQUE (EN CASO CONTRARIO EL EJERCICIO NO PUNTUARÁ) CADA EJERCICIO
BASE DE DATOS - CURSO 02/03 PRÁCTICA 2: SQL: Lenguaje de definición de datos (DDL)
OBJETIVOS: Enseñar al alumno las sentencias que forman el lenguaje de definición de datos de SQL, es decir, el subconjunto de órdenes que nos permitirán crear o editar esquemas de bases de datos. MATERIAL:
DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999
DISPARADORES EN SQL:1999 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Un (trigger) es un procedimiento especial que se ejecuta en respuesta a un evento específico. Ej. Al aumentar el sueldo
Access SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.
SGBD y SQL Access SQL: DDL y DML Ejercicio Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. Necesita almacenar información acerca de sus empleados y los proyectos en
Diseño de bases de datos
Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail [email protected] Web www.lsi.us.es Diseño
Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:
TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)
Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DML Ing. Alfonso Vicente, PMP [email protected] Agenda DML Sentencias Modificando la instancia Agenda DML Sentencias
Triggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle
Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla noviembre 2012 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir
Integridad Referencial. Restricciones (constraints)
Integridad Referencial Restricciones (constraints) Integridad de Referencial Integridad referencial: asegura la integridad entre las llaves foráneas y primarias (relaciones padre/hijo). Existen cuatro
CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS.
CREACIÓN, SUPRESIÓN Y MODIFICACIÓN DE TABLAS. Para crear una tabla utilizamos el lenguaje DDL. El nombre de la tabla puede tener entre 1 y 30 caracteres y no puede ser una palabra reservada de oracle y
GBD Diseño físico de DDBB
GBD Diseño físico de DDBB Mª Carmen Gabarrón Manual SQL de Oracle 10g http://download.oracle.com/docs/cd/b19306_01/server.102/b14200/index.htm SQL SQL es el lenguaje de consulta universal para bases de
Oracle Básico PL/SQL
Oracle Básico PL/SQL Creación de un Esquema de Base de Datos El objetivo de este ejercicio es la ejecución de sentencia SQL de tipo DDL. Contenido Caso a Desarrollar...2 Modelo Lógico... 2 Modelo Físico...
SQL. (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1
SQL (...la guía básica de supervivencia de dmi) Universidad de los Andes Demián Gutierrez Enero 2009 1 Crear una Tabla (Esquema de Relación) (1) (Cascadas) postgres=# CREATE TABLE departamento ( codigo
Sistemas de Bases de Datos II ITS / ITSB EMT CETP
Administración de Datos D. M. L. Data Manipulation Language Administración de Datos D. M. L. Data Manipulation Language Lenguaje de Manipulación de Datos. Administración de Datos Los comandos son los siguientes:
Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015
Nombre: Examen de Bases de datos Grado de Ingeniería en Informática 3 de septiembre, 2015 1 (3 puntos Un parque de atracciones desea implementar una base de datos relacional que cumpla los siguientes requisitos:
Oracle Express y Toad for Oracle
6. Creación de Oracle y Toad for Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Toad for Oracle 6. Creación de Objetivos de este tema Conocer Oracle Conocer
Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006
Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 Structured Query Language Lenguaje de consulta para bases de datos comerciales. Originalmente llamado
PRÁCTICA III. DISPARADORES EN SQL (II)
PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan
EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS
Nombre y apellidos: EXAMEN TEMAS 3, 4 y 5. CREACIÓN Y EXPLOTACIÓN DE UNA BASE DE DATOS 1. Crear la base de datos tiendas y, en ella, crear las tablas que se indican a continuación. Utilizar para todas
Lenguaje para descripción de datos
Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones
Solución Ejercicio Prac. 3b (Esquema).
Solución Ejercicio Prac. 3b (Esquema). LIBRO(codlib, título, autores, temática, totalpres) CP= {codlib} VNN= {título} PRÉSTAMO(codlib, codsoc, fechapres, fechadev) CP= {codlib, fechapres} VNN= {codsoc}
Gestión de nóminas diciembre 2011
Contexto del problema Una empresa ha decidido desarrollar un sistema de información cuyo objetivo principal es la gestión de las nóminas de sus empleados. Iniciado el estudio del dominio del problema,
Lenguaje SQL (2ª Parte) Definición de datos
Lenguaje SQL (2ª Parte) Definición de datos Bases de Datos Práctica 3 DSIC - UPV Facultad de Informática Escuela Técnica Superior de Informática Aplicada Objetivos Sintaxis del Lenguaje de Definición de
SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]
SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje
Haga clic para PostgreS cambiar el estilo
Taller # 1 Uso y Manejo l Sistema Gestor Bases Datos PostgreSQL Luis García Computación [email protected] Contenido - Creación Tablas (Create Table...) ( Check Foreign Keys ) - Inserción Datos (Insert Into...)
Checks, Triggers y Excepciones en InterBase: validando desde la base de datos
Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Por Alfonso Ricaño Bringas InterBase nos permite validar los valores que ingresan a los campos, mediante las restricciones
Operaciones con bases de
Operaciones con bases de datos ofimáticas EJERCICIOS DE SQL. CREACIÓN DE OBJETOS EN LA BASE DE DATOS Explotación de Sistemas Informáticos 2007/2008 Ejercicios de SQL. Creación de objetos en la base de
RESTRICCIONES DE DOMINIOS
RESTRICCIONES DE DOMINIOS - Cargo del personal de la inmobiliaria: create domain cargo_personal as character20 check value in Venta, Alquiler, Gerencial - Categoría del barrio: create domain categoría
Carlos A. Olarte Ligaduras de Integridad y Restricciones sobre la BD
Ligaduras de Integridad y Restricciones sobre la BD Outline 1 Introducción 2 Ligaduras de Dominio 3 Llaves Primarias 4 Llaves de Unicidad 5 Integridad Referencial Introducción y Motivación Por qué se deben
m047a Curso Programando una Base de Datos SQL Server 2008, 36 h Creación B.D. y Constraints
Crear Una Base De Datos (L12) A TRAVÉS DE LA CONSOLA DE ADMINISTRACIÓN A TRAVÉS DEL ASISTENTE DE BASES DE DATOS (DATABASE WIZARD) A TRAVÉS DE COMANDOS SQL (CREATE DATABASE, CREATE TABLE) Crear Un Grupo
El Lenguaje SQL TEMA V. Grupo de Bas ses de Datos Avanzadas Univ. Carlo os III de Madrid. V.1 SQL como Lenguaje de Definición de Datos
Grupo de Bases de Datos Avanzadas Univ. Carlos III de Madrid Índice V.1 Introducción V.1 SQL como Lenguaje de V.1.1 Definición del esquema V.1.2 Evolución del esquema V.2 SQL como Lenguaje de Manipulación
Restricciones de Integridad
Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.
1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón
1. Lenguaje de Definición de Datos 2. Lenguaje de Manipulación de Datos M. C. Gustavo Alfonso Gutiérrez Carreón Los 'sistemas de gestión de bases de datos (en inglés database management system, abreviado
Integridad en sistemas de bases de datos relacionales
Integridad en sistemas de bases de datos relacionales Competencias específicas a adquirir Asegurar la integridad de los datos mediante la aplicación de los mecanismos soportados por los SGBDs. Identificar
//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui
PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas
Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012
Guía de ejercicios de SQL Prof. Mauricio E. Fernández N. Semestre Agosto-Diciembre de 2012 Problema Enunciado: Sean las siguientes tablas de una base de datos Empleado (ndiemp, nomemp, sexemp, fecnac,
Triggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia
Triggers en PL/SQL Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Triggers (Disparadores) Los triggers son bloques PL/SQL que se ejecutan de manera implícita cuando se están manipulando
LENGUAJE SQL. Bárbula, Febrero de 2007. Historia y Definición
LENGUAJE Integrantes: Ceci Vanessa Paredes Oswaldo Rodríguez Aury Bárbula, Febrero de 2007 : Es una herramienta para organizar, gestionar y recuperar datos almacenados en una base de datos. funciona con
SQL. Orígenes y Evolución
SQL 1 SQL. Orígenes y Evolución 2 SQL: Estándar oficial 3 Funciones de SQL DDL Data Definition Language Creación n de estructuras de la base de datos Integridad de los datos DML Data Manipulation Language
EJEMPLOS PRÁCTICOS SQL
EJEMPLOS PRÁCTICOS SQL EJEMPLOS PRÁCTICOS SQL INTEGRIDAD REFERENCIAL DROP SCHEMA IF EXISTS Tablas1; CREATE SCHEMA Tablas1; USE Tablas1; create table Cliente( Dni VARCHAR(10), Nombre VARCHAR(10), Apellido
Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved.
11 Constraints (Restricciones) Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir constraints Crear y mantener
Grupo Kybele, http://www.kybele.es/ Pág. 1
Bases de Datos APUNTES PARA EL MANEJO DE SQL*Plus Para cualquier consulta a la sintaxis de las órdenes SQL o SQL*PLUS puede consultarse cualquier libro de ORACLE, o los manuales gratuitos en pdf o en línea
GESTORES GESTORES DE BASES DE DATOS
GESTORES GESTORES DE BASES DE DATOS Existen varios tipos de Sistemas gestores de bases de datos SGBD, según el modelo de datos que utilizan. Son estos: bases jerárquica, en red, relacional, y bases de
EJERCICIO TRABAJADORES.
EJERCICIO TRABAJADORES. Estudiando el funcionamiento resumido de una empresa de servicios obtenemos la tabla Empleados y la tabla Trabajos relacionados según el Diseño Conceptual. 1:N EMPLEADOS (1,N) Realizan
Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig
Base de Datos LSI y PI Lic. Paola Daniela Budán Lic. Federico Rosenzvaig Motores de Bases de Datos MySQL (Oracle) SQL Server (Microsoft) PostgreSQL Oracle (Oracle) DB2 (IBM) Informix (IBM) Instalación
SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008
Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas
Insertar Datos en Tablas
Insertar Datos en Tablas La instrucción básica para insertar valores a los atributos (columnas) de una tabla es la instrucción INSERT INTO Insertar una sola tupla Para insertar una tupla en la tabla, se
RESUMEN DEL LENGUAJE SQL
RESUMEN DEL LENGUAJE SQL AUTORÍA JOSEFA PÉREZ DOMINGUEZ TEMÁTICA INFORMATICA ETAPA CICLO FORMATIVO DE GRADO SUPERIOR Y MEDIO DE INFORMATICA Resumen Con esta publicación muestra un resumen de la sintaxis
TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008
TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.
- Bases de Datos - - Diseño Físico - Luis D. García
- Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo
Solució Exercici Prac. 3b (Esquema).
Solució Exercici Prac. 3b (Esquema). LIBRO(codlib, título, autores, temática, totalpres) CP= {codlib} VNN= {título} PRÉSTAMO(codlib, codsoc, fechapres, fechadev) CP= {codlib, fechapres} VNN= {codsoc} CAj=
Temario. Índices simples Árboles B Hashing
Temario Introducción y fundamentos Introducción a SQL Modelo Entidad / Relación Modelo relacional Diseño relacional: formas normales Consultas Cálculo relacional Álgebra relacional Implementación de bases
TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD)
TEMA 6: LENGUAJE DE DEFINICIÓN DE DATOS (LDD 6.1 Introducción Hasta ahora hemos estudiado las sentencias que forman parte del DML (Data Management Language lenguaje de manipulación de datos, todas esas
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1
UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS
DISPARADORES EN SQL SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003
DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Curso 2004/2005 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:2003 CREATE [OR REPLACE] TRIGGER nombre [temporalidad del evento] [granularidad del evento]
CHAR VARCHAR2 VARCHAR NCHAR NVARCHAR2 LONG
CREACIÓN DE TABLAS Las tablas son las unidades básicas de almacenamiento de datos. Veremos cómo se crean las tablas en Oracle y como se definen las restricciones de integridad asociadas a dichas tablas.
Diseño de bases de datos Práctica-1 Definición de datos
Departamento de Lenguajes y Sistemas Informáticos Avda Reina Mercedes s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail [email protected] www.lsi.us.es E.T.S. Ingeniería Informática Diseño de bases de datos Práctica-1
Modelo Relacional. El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve
Juan Luis Mora Blanco. El modelo Relacional 1 Modelo Relacional El modelo relacional El modelo relacional...1 El modelo entidad relación (que vimos ayer) es un modelo conceptual que sirve Conceptos...1
Base de Datos Práctica 1.
Base de Datos Práctica 1. Objetivo: Introducción al Mysql, aprender a identificar los errores más comunes en la creación de las bases de datos para su solución, conocer los diferentes tipos de datos y
Tema 3 Modelo relacional
Contenido: Bases de Datos y Sistemas de Información Ing. Informática GRUPO A Tema 3 Modelo relacional 3.1 Terminología del modelo relacional 3.2 Paso del modelo ER al modelo relacional 3.3 Creación de
Modulo I: Introducción Gestores de Bases De Datos
Modulo I: Introducción Gestores de Bases De Datos El SQL El SQL (Lenguaje de Consulta Estructurado Structure Query Language), es un lenguaje de consulta estructurado establecido claramente como el lenguaje
Disparadores en ORACLE
Diseño de Bases de Datos y Seguridad de la Información PL/SQL-1 PL/SQL: lenguaje de programación estructurado en bloques Bloques: unidad mínima en PL/SQL Soportan DML y DDL Anónimos / Con nombre Disparadores
departamento NUMBER(3) FK (DEPARTAMENTOS.CODIGO) salario NUMBER(3) NOT NULL fecha_alta DATE NOT NULL jefe NUMBER(5) FK (EMPLEADOS.
7.- MANIPULACION DE DATOS El lenguaje de manipulación de datos (DML) es parte esencial del SQL. Si queremos actualizar, insertar o eliminar datos de la base de datos, tenemos que ejecutar una sentencia
SQL SQL. Índice. Componentes. Objetivos
Estándar En 1986, ANSI (American National Standard Institute) definión un estándar para (Structured Query Language) que fue posteriormente adoptado en 1987 como estándar internacional por ISO (International
Integridad y Seguridad en los sistemas de Bases de Datos. Javier Escobar Luis Ramirez Omar Asprino
Integridad y Seguridad en los sistemas de Bases de Datos Javier Escobar Luis Ramirez Omar Asprino Contenido 1. Restricciones de Integridad 1. Claves Primarias 2. Restricciones de los Dominios 3. Integridad
Acceso a bases de datos MySQL con PHP
GESTIÓN Y ADMINISTRACIÓN WEB Acceso a bases de datos MySQL con PHP Ing. CIP Fabián Silva Alvarado [email protected] DEFINICIÓN DE BASE DE DATOS Base de Datos es un conjunto de datos relacionados entre
EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009)
APELLIDOS: NOMBRE: DNI: EXAMEN: BASES DE DATOS 4º Ingeniería Informática (29 de enero de 2009) MAÑANA TARDE Autorizo la publicación de la nota del examen junto a mi número de matrícula, tanto en la Web
Uso de Disparadores. Miguel Angel Garduño Cordova Isaac Méndez Hernández
Reporte Uso de Disparadores Catedrático: Alumnos: Ing. María Elena Reyes Castellanos Miguel Angel Garduño Cordova Isaac Méndez Hernández Índice General Índice de tablas 2 Introducción 4 Objetivo 4 Desarrollo
UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000
PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el
Tema 1. Bases de datos activas
Tema 1. Bases de datos activas Diseño de Sistemas de Bases de Datos Merche Marqués 18 de marzo de 2002 Índice 1. Introducción 1 2. El modelo evento condición acción 1 2.1. Definición y uso de disparadores
Un ejemplo teórico de trigger podría ser éste:
9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicación.
Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a
2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla
Ejemplo de gestión de datos con SQL
Ejemplo de gestión de datos con SQL 1. Crear la tabla FINCA: 2302010 0010 24 3931411 543 COMERÇ 3456912 0023 12 39411312 120 VIVENDES 1230101 00011 45 39328234 213 INDUSTRIA CREATE TABLE `finca` ( `refcad`
Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios
Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Taller de Proyecto Una base de datos puede contener 1 ó + tablas Una tabla puede contener 1 ó + columnas
EL ENTORNO DE TRABAJO SQL ORACLE
PREVIO 2 EL ENTORNO DE TRABAJO SQL ORACLE Y LENGUAJE DE DEFINICIÓN DE DATOS DDL) INTRODUCCIÓN A ORACLE Oracle10g es de las últimas versiones de esté manejador de base de datos, incorpora la tecnología
Formato para prácticas de laboratorio
Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA
Pequeños apuntes de SQL *
Escuela Universitaria de Ingeniería Técnica en Informática de Oviedo 1 SQL Pequeños apuntes de SQL * En estas hojas se exponen de manera concisa algunos aspectos adicionales del SQL, así como ejemplos
Tema II: El modelo relacional de datos Objetivos:
Tema II: El Lenguaje Estándar SQL (2.5) El modelo relacional de datos Objetivos: conocer las estructuras de datos del modelo: la tupla y la relación conocer básicamente la forma de modelar la realidad
Restricciones (constraints) FOREIGN KEY
INSTITUTO DE EDUCACION TECNICA PROFESIONAL INTEP 1 Restricciones (constraints) FOREIGN KEY InnoDB también soporta restricciones de claves foráneas. La sintaxis para definir una restricción de clave foránea
2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.
2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla
APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5
APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje
Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015
Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015 1) (3 puntos) El museo de la ciudad necesita gestionar las visitas guiadas de grupos y para ello se debe implementar una base
ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1
Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar
Modificación de datos
Modificación de datos Introducción Uso de transacciones Inserción de datos Eliminación de datos Actualización de datos Consideraciones acerca del rendimiento Uso de transacciones Iniciar transacciones
Bases de datos relacionales y el modelo entidad-relación
Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas
[ EDICION ESPECIAL] En el siguiente ejemplo se agrega un archivo de datos de 5 MB a la base de datos BD_Ejemplo01.
01 BASE DE DATOS Crear la base de datos Ejemplo_05 especificando un único archivo. Use master Create database Ejemplo_05 on (name=archidat1, filename='c:\ejercicio\archidat1.mdf', size=4, maxsize=10, filegrowth=1
Diseño físico de datos. Oracle
UNIDAD 6 Diseño físico de datos. Oracle 2011-2012 Índice 1. Oracle. Características 2. SQL-Developer 3. Diseño físico 3.1Tipos de datos 3.2 Creación de tablas. Restricciones. 3.3 Supresión de tablas. 3.4
Integridad y Seguridad. Integridad y Seguridad. Restricción de Dominio. Protección. Índice. create domain. Dominios
Protección Integridad y Seguridad Las Restricciones de Integridad aseguran que las modificaciones realizadas por usuarios autorizados no provocan perdidas de Consistencia Semántica El Control de Acceso
3. El catálogo 26. Laboratorio de Bases de Datos
ÍNDICE Continuación SQL Índice 1. Continuación del SQL como DML (Lenguaje de Manipulación de Datos) 1 1.1. Inserción de datos................................. 1 1.2. Borrado de datos..................................
Modelo relacional. El modelo relacional
Modelo relacional El modelo relacional Representa la BD como una colección de relaciones En términos informales, cada relación semeja una tabla Tupla Cada fila de la tabla Representa una colección de datos
Unidad. Lenguaje SQL. (Structured Query Language)
Unidad Lenguaje SQL (Structured Query Language) 1 SQL Definición DDL Consulta y Actualización DML Create Alter Drop Select Insert Update Delete 2 SQL DDL CREATE TABLE nombre_tabla (nombre_columna tipo_dato/dominio
Bases de Datos 2. Teórico
Bases de Datos 2 Teórico Structured Query Language (SQL) Características de SQL Standard Opera sobre conjuntos de tuplas: incluso para las operaciones de inserción, borrado y actualización. No elimina
Formato para prácticas de laboratorio
Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA
Restricciones de Integridad
Restricciones de Integridad Bibliografía: Fundamentos de bases de datos - Korth, Silberschatz Introducción a los sistemas de bases de datos - C.J. Date Restricciones de Integridad Proporcionan un medio
PRACTICA DE ADMINISTRACION DE BASES DE DATOS
Depto. De Organización y Estructura de la Información Curso 2003/2004 Pág. 1 PRACTICA DE ADMINISTRACION DE BASES DE DATOS Una entidad bancaria gestiona datos relativos a operaciones bancarias de sus clientes
Procedimientos, Funciones, Trigger y Cursores en ORACLE
Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se
Lenguaje SQL Página 1 -PARTE III-...3 TEMA 8. CREACIÓN DE VISTAS:...3. Vistas: qué son y para qué sirven?...3. Creación de vistas...
Lenguaje SQL Página 1 -PARTE III-...3 TEMA 8. CREACIÓN DE VISTAS:...3 Vistas: qué son y para qué sirven?...3 Creación de vistas...4 Tipos de vistas...7 Vistas con filtro de filas y de columnas...7 Agrupaciones...7
OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase
UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERIA Departamento de Ingeniería de Sistemas e Industrial Curso de Bases de Datos Por: Ismael Castañeda Fuentes Taller Marzo 21 de 2013 OBJETIVOS Conectarse
Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos:
Bases de Datos Introducción a ORACLE Sistema Gestor de Bases de Datos Relacionales (SGBDR), que maneja distintos tipos de datos: o Tradicionales como INTEGER, VARCHAR2, DATE,..., etc. o Nuevos y complejos:
