jueves, 27 de noviembre de 2008

Caso Practico Pag. 130:

Obtén el valor absoluto de salario -10000 para todas las filas de tabla Emple:

sql> select apellido, salario, abs(salario-10000) from emple;

CEIL(n).Prueba con números, positivos y negativos:

sql> SELECT CEIL(20.3), CEIL(16), CEIL(-20.3), CEIL(-16), FROM DUAL;



MOD(m,n).Prueba con números, positivos y negativos:


sql> SELECT MOD(11,4), MOD(-10,-3), MOD(-10.4,4.5), MOD(10.4,4.5) FROM EMPLE;


FLOOR (n).Prueba con números, positivos y negativos:


sql> SELECT FLOOR(20.3), FLOOR(16), FLOOR(-20.3), FLOOR(-16) FROM EMPLE;


NVL (Valor, expresión).Con la tabla EMPLE obtenemos el SALARIO, la COMISION y la suma de ambos:


sql> SELECT SALARIO, COMISION, SALARIO + COMISION FROM EMPLE;

sql> SELECT SALARIO, COMISION, SALARIO + NVL (COMISION, 0) FROM EMPLE;

lunes, 17 de noviembre de 2008

EJERCICIO 12 PAG. 121:

Usando las tablas EMPLE y DEPART:

sql>SELECT DEPT_NO FROM DEPART WHERE LOC IN ('MADRID', 'BARCELONA');



A continuacion, seleccionamos los datos de los empleados que esten en estos departamentos:

sql>SELECT EMP_NO, APELLIDO, OFICIO, DIR, FECHA_ALT, SALARIO, COMISION, DEPT_NO FROM EMPLE WHERE DEPT_NO IN(20, 30);


Reunimos esta dos sentencias utilizando una subconsulta:

sql>SELECT EMP_NO, APELLIDO, OFICIO, DIR, FECHA_ALT, SALARIO, COMISION, DEPT_NO FROM EMPLE WHERE DEPT_NO IN(SELECT DEPT_NO FROM DEPART WHERE LOC IN ('MADRID', 'BARCELONA'));



EJERCICIO 10 PAG. 110:

A partir de la tabla emple, óbten el apellido, salario y dept_no de los empleados:

SQL> SELECT APELLIDO, SALARIO, DEPT_NUM FROM EMPLE WHERE SALARIO>2000 AND (DEPT_NUM=10 OR DEPT_NUM=20);



Sin los parentisis:


SQL> SELECT APELLIDOS, SALARIO, NUM_DEPT FROM EMPLE WHERE SALARIO>2000 AND NUM_DEPT=10 OR NUM_DEPT=20;







lunes, 10 de noviembre de 2008

Ejercicio 9 Pag. 116:

-Consulta de la tabla EMPLE, obtén el apellido y el salario de los empleados cuyo salario este comprendido entre 1500 y 200o:

sql> SELECT APELLIDOS, SALARIO FROM EMPLE WHERE SALARIO BETWEEN 1500 AND 2000;

-Que no este comprendido entre 1500 y 2000:

sql> SELECT APELLIDOS, SALARIO FROM EMPLE WHERE SALARIO NOT BETWEEN 1500 AND 2000;

Ejercicio 8 Pag. 115:

La lista de valores está formada por números:

-Consulta en la tabla EMPLE los apellidos cuyo número de departamento sea 10 o 30:

sql> SELECT APELLIDOS FROM EMPLE WHERE NUM_DEPT IN (10, 30);



-Consulta los apellidos de la tabla que no sean ni 10 ni 30:


sql> SELECT APELLIDOS FROM EMPLE WHERE NUM_DEPT NOT IN (10, 30);


La lista de valores está formada por cadenas:

-Consulta los apellidos cuyo oficio sea 'VENDEDOR' , 'ANALISTA' o 'EMPLEADO':

sql> SELECT APELLIDOS FROM EMPLE WHERE OFICIO IN ('VENDEDOR', 'ANALISTA', 'EMPLEADO');


-Consulta los apellidos cuyo oficio que no sea 'VENDEDOR' ni 'ANALISTA' o 'EMPLEADO':

sql> SELECT APELLIDOS FROM EMPLE WHERE OFICIO NOT IN ('VENDEDOR', 'ANALISTA', 'EMPLEADO');


viernes, 7 de noviembre de 2008

Ejercicio 7 Pag. 113:

Ejercicio 7, pagina 113:

Utilizacion del 'Like':

Con la tabla empleados realizar las siguientes consultas:

sql> SELECT APELLIDOS FROM EMPLE WHERE APELLIDO LIKE 'J%';

-Que tengan una R en la segunda posicion:

sql> SELECT APELLIDOS FROM EMPLE WHERE APELLIDOS LIKE '_R%';


-Que empiecen por 'A' y tengan una 'O' en su interior:

sql> SELECT APELLIDOS FROM EMPLE WHERE APELLIDOS LIKE 'A%O%';

viernes, 31 de octubre de 2008

Ejercicio 6 Pag. 112:

Realiza la siguiente consulta:

sql> SELECT NOMBRE_ALUMNO FROM NOTAS WHERE NOTA1=7 AND (NOTA1+NOTA2+NOTA3)/3 < 6;

Ejercicio 5 Pag. 110:

Realiza la sigiente consulta:

sql> SELECTNOMBRE_ALUMNO "NOMBRE DEL ALUMNO", (NOTA1+NOTA2+NOTA3)/3 "NOTA MEDIA" FROM NOTAS;

Ejercicio 4 Pag. 110:

Realizar la siguiente consulta:

sql> SELECT DEPARTAMENTO "NOMBRE DEPARTAMENTO", NUM_DEPT "NUMERO DEPARTAMENTO" FROM DEPART;

jueves, 30 de octubre de 2008

Ejercicio 3 Pag. 108:

Creamos la tabla EMPLE con los siguientes campos:

NUM_EMPLE
NOMBRE
APELLIDOS
OFICIO
NUM_DEPT

Cargamos la tabla en el programa de msql: mediante "source".


Realizamos la primera consulta:

SQL> SELECT NOMBRE_EMPLE,APELLIDOS,OFICIO,NUM_DEPT FROM EMPLE WHERE NUM_DEPT = 20 ORDER BY APELLIDOS;


Segunda consulta:

SQL> SELECT * FROM EMPLE WHERE OFICIO = 'ANALISTA' ORDER BY NUMERO_EMPLE;



Tercera consulta:

SQL> SELECT * FROM EMPLE WHERE NUM_DEPT=21 AND OFICIO = 'ANALISTA' ORDER BY APELLIDO DESC, NUMERO_EMPLE DESC;

miércoles, 29 de octubre de 2008

EJERCICIO 3 PAG. 109:

Crea la siguienta tabla ALUMO405, EJERCICIO 3 PAGINA 109:
--------------------------------------------------------------------
DROP DATABASE EJERCICIO3;
CREATE DATABASE EJERCICIO3;
USE EJERCICIO3;


CREATE TABLE ALUMO405

(DNI CHAR(20) NOT NULL PRIMARY KEY,
NOMBRE CHAR(20) NOT NULL,
APELLIDOS CHAR(20) NOT NULL,
FECHA_NACIMIENTO DATE NOT NULL,
DIRECCION CHAR(10) NOT NULL,
POBLACION CHAR(20) NOT NULL,
PROVINCIA CHAR(20) NOT NULL,
CURSO INT(1) NOT NULL,
NIVEL CHAR(3) NOT NULL,
CLASE CHAR(2) NOT NULL,
FALTAS1 CHAR(2) NOT NULL,
FALTAS2 CHAR(2) NOT NULL,
FALTAS3 CHAR(2) NOT NULL,);

INSERT INTO
ALUMO405(DNI,NOMBRE,APELLIDOS,FECHA_NACIMIENTO,DIRECCION,
POBLACION,PROVINCIA,CURSO,NIVEL,CLASE,FALTAS1,FALTAS2,FALTAS3)VALUES
('1452','FRANCISCO','PEREZ','4/02/87','C/SANTUCO','SANTANDER','CANTABRIA','2',
'ASI','11','1','2','4');

INSERT INTO
ALUMO405(DNI,NOMBRE,APELLIDOS,FECHA_NACIMIENTO,DIRECCION,
POBLACION,PROVINCIA,CURSO,NIVEL,CLASE,FALTAS1,FALTAS2,FALTAS3)VALUES
('1428','AEXIA','SANTOLIN','12/08/89','C/GENERAL MOLA','PAMPLONA','CANTABRIA','2'
,'ASI','11','1','2','4');

INSERT INTO
ALUMO405(DNI,NOMBRE,APELLIDOS,FECHA_NACIMIENTO,DIRECCION,
POBLACION,PROVINCIA,CURSO,NIVEL,CLASE,FALTAS1,FALTAS2,FALTAS3)VALUES
('4587','RICARDO','CASILLAS','1/10/86','C/CASTILLA','SANTANDER','CANTABRIA','2'
,'ASI','11','1','2','4');

______________________________________________________

-OBTÉN LOS DATOS DE LOS ALUMNOS:

SELECT * FROM ALUMO450;

-OBTÉN LOS SIGUIENTES DATOS: DNI,NOMBRE,APELLIDOS,CURSO,NIVEL Y CLASE:

SELECT DNI,NOMBRE,APELLIDOS,CURSO,NIVEL,CLASE FROM ALUMO405;

-OBTÉN TODOS LOS DATOS DE ALUMNOS CUYA POBLACION SEA "GUADALAJARA":

SELECT DNI,NOMBRE,APELLIDOS,FECHADENACIMIENTO... POBLACION='GUADALAJARA' FROM ALUMO405;

-OBTÉN NOMBRE Y APELLIDOS DE TODOS LOS ALUMNOS QUE SEAN DE GUADALAJARA:

SELECT NOMBRE,APELLIDOS FROM ALUMO405 WHER POBLACION='GUADALAJARA';

-CONSULTA EL DNI, NOMBRE, APELLIDOS, CURSO, NIVEL Y CLASE ORDENADO POR APELLIDOS Y NOMBRE ASCENDENTE:

SELECT DNI,NOMBRE,APELLIDOS,CURSO,NIVEL,CLASE FROM ALUM405 ORDER BY NOMBRE ASC, APELLIDOS ASC;

viernes, 24 de octubre de 2008

Consultas:

Realizar las siguientes consultas sobre la base de datos ventas:

1. ClientesEdad>30:

2. ClientesSantander50:

Ejercicio 3 Pag. 93:

A partir de la siguiente tabla:

Agenda( Nombre, edad código_provincia, telefono).
Provincias (Código, Nombre).

-Escribe la colunna o conjunto de colunnas que pueden ser claves primarias:


-Escribe un enunciado para las siguientes expresiones:

1) Seleccion Edad>37(Agenda)

jueves, 23 de octubre de 2008

Ejercicio 2 Pag. 93:

Dada la tabla 2.22, transformarla a 3fn:





martes, 21 de octubre de 2008

Ejercicio 1 Pag. 93:

Esquema relacional del ejercicio:



lunes, 20 de octubre de 2008

Ejercicio 6 Pag. 88:

Pasar a Union estas tablas:




Union:

miércoles, 15 de octubre de 2008

Esquema Relacional 4: Unidad didactica IV

Esquema Relacional del Supuesto de la diapositiva 14 de la Unidad IV:


viernes, 10 de octubre de 2008

Esquema Relacional 3:

Esquema relacional del supuesto sobre los Toros visto en las fotocopias:




Esquema Relacional 2:


Esquema sobre las agencias inmobiliarias caso visto en fotocopias:



Esquema Relacional 1:

Esquema Relacional:

ENTIDADES:

  • CLIENTE
  • PROPIETARIO
  • BOTE
  • EQUIPO
  • VIAJE
  • MANTENIMIENTO
  • REPARACIÓN
  • TRIPULACIÓN
  • TIP_EQUIPO


martes, 7 de octubre de 2008

RELACIONAL Ejer 5 pag 51

Pasar el esquema de E-R a relacional:





RELACIONAL Ejer 3 pag 51

Realizar el esquema de relaciones del ejercicio 3 de la pagina 51:



RELACIONAL Ejer 1 pag 51

Pasar a relacional el esquema de E-R de esta pagina:





miércoles, 1 de octubre de 2008

Ejercicio 7 Pag. 51:

Realiza el diagrama de datos en el modelo E-R de este enunciado:

Una agencia de viajes esta formada por varias oficinas que se ocupan de atender a los posibles viajeros. Cada oficina oferta un gran numero de viajes. Los viajes trabajan con una serie de destinos y una serie de procedencias. Cada viaje tiene un único destino y una única procedencia. sin embargo, un destino puede ser objetivo de varios viajes y una procedencia ser punto de partida de varios viajes. cada viaje tiene muchos viajeros.

Ejercicio 5 Pag. 51:

Realiza el diagrama de datos en el modelo E-R, que represente este problema:


A un taller de automóviles llegan clientes a comprar coches. De los coches nos interesa saber la marca, el modelo, el color y el numero de bastidor.

Los coches pueden ser nuevos o de segunda mano. De los nuevos nos interesa saber las unidades. De los viejos el año de fabricación, el número de averías y la matricula.


Ejercicios SGBDR

• Ejercicios:

– Con la ayuda de la web, realizar una investigación sobre las bases de datos relacionales y, más específicamente, sobre las 12 reglas de Codd:

Regla 0:

El sistema debe ser relacional, base de datos y administrador de sistema.
Ese sistema debe utilizar sus facilidades relacionales (exclusivamente) para manejar la base de datos.

Regla 1: La regla de la información
Toda la información en la base de datos es representada unidireccionalmente, por valores en posiciones de las columnas dentro de filas de tablas.

Regla 2: La regla del acceso garantizado

Todos los datos deben ser accesibles sin ambigüedad. Esta regla es esencialmente una nueva exposición del requisito fundamental para las llaves primarias. Dice que cada valor escalar individual en la base de datos debe ser lógicamente direccionable especificando el nombre de la tabla, la columna que lo contiene y la llave primaria.

Regla 3: Tratamiento sistemático de valores nulos

El DBMS (En Español, SGBD Sistemas de Gestión de Base de Datos) debe permitir que haya campos nulos. Debe tener una representación de la "información que falta y de la información inaplicable" que es sistemática, distinto de todos los valores regulares.

Regla 4: Catálogo dinámico en línea basado en el modelo relacional

El sistema debe soportar un catálogo en línea, el catalogo relacional deber ser accesible a los usuarios autorizados. Es decir, los usuarios deben poder tener acceso a la estructura de la base de datos (catálogo).

Regla 5: La regla comprensiva del sublenguaje de los datos

El sistema debe soportar por lo menos un lenguaje relacional que; Tenga una sintaxis lineal.
Puede ser utilizado recíprocamente y dentro de programas de uso.
Soporte operaciones de definición de datos, operaciones de manipulación de datos (actualización así como la recuperación), seguridad e integridad y operaciones de administración de transacciones.

Regla 6: Regla de actualización

Todas las vistas que son teóricamente actualizables deben ser actualizables por el sistema.

*Tenga una sintaxis lineal.

*Puede ser utilizado recíprocamente y dentro de programas de uso.

*Soporte operaciones de definición de datos, operaciones de manipulación de datos (actualización así como la recuperación), seguridad e integridad y operaciones de administración de transacciones.

Regla 7: Alto nivel de inserción, actualización, y cancelación

El sistema debe soportar suministrar datos en el mismo tiempo que se inserte, actualiza o este borrando. Esto significa que los datos se pueden recuperar de una base de datos relacional en los sistemas construidos de datos de filas múltiples y/o de tablas múltiples.

Regla 8: Independencia de datos física

Los cambios en el nivel físico (cómo se almacenan los datos, si en arreglos o en las listas encadenadas los etc.) no debe requerir un cambio a una solicitud basada en la estructura.

Regla 9: Independencia de datos lógica

Los cambios al nivel lógico (tablas, columnas, filas, etcétera) no deben requerir un cambio a una solicitud basada en la estructura. La independencia de datos lógica es más difícil de lograr que la independencia física de datos.

Regla 10: Independencia de la integridad

Las limitaciones de la integridad se deben especificar por separado de los programas de la aplicación y se almacenan en la base de datos. Debe ser posible cambiar esas limitaciones sin afectar innecesariamente las aplicaciones existentes.

Regla 11: Independencia de la distribución

La distribución de las porciones de la base de datos a las varias localizaciones debe ser invisible a los usuarios de la base de datos. Los usos existentes deben continuar funcionando con éxito:
cuando una versión distribuida del DBMS se introdujo por primera vez
cuando se distribuyen los datos existentes se redistribuyen en todo el sistema.

Regla 12: La regla de la no subversión

Si el sistema proporciona una interfaz de bajo nivel (de registro a la vez) y luego de que esa interfaz no se pueda utilizar para subvertir el sistema, por ejemplo: sin pasar por seguridad relacional o limitación de integridad.


– ¿Por qué son importantes los valores NULL? Proporcionar un ejemplo de su uso.

Por que indican que existen campos sin información dentro de la tabla.

Si en un formulario no rellenamos el campo de teléfono este aparecerá dentro de la tabla con valor NULL que indicara al administrador de la base de datos que no se ha rellenado correctamente.

– Explicar la siguiente frase: “No hay una clasificación jerárquica de las tablas y no hay una relación física entre ellas”.



Ejercicio 3 Pag. 51:

Realiza el diagrama de datos en el modelo E-R, que represente el siguiente enunciado:

La conserjería de Educación gestiona varios tipos de centros: públicos, privados y concertados. los privados tienen un atributo especifico que es la cuota y los concertados la agrupación y la comisión. También asigna plazas a los profesores de la comunidad para impartir clase en esos centros. Un profesor puede impartir clase en varios centros.
Define las entidades, los posibles atributos; identifica los atributos clave, y los datos importantes para la relación entré entidades. Indica también la cardinalidad.




viernes, 26 de septiembre de 2008

Ejercicio 1, pagina 51:

Realiza el diagrama de datos en el modelo E-R del enunciado:

En una estación de autobuses contamos con unos autobuses que recorren una serie de lugares y que son conducidos por varios conductores. Se quiere representar los lugares que son recorridos por cada autobús, conducidos por cada conductor y la fecha en la que se visita el lugar.
Define las entidades, los posibles atributos; identifica los atributos clave y los datos importantes para la relación de las entidades. Indica también la cardinalidad:














Clave Primaria: COD. CONDUC/ MATRICULA/ COD LUGAR/ FECHA


Ejercicio 3, pagina 28:

Se debe realizar el diagrama de estructuras de datos en el modelo E-R correspondiente al siguiente enunciado:

Una compañía de distribución de productos para hogar dispone de proveedores que le suministran artículos. Un artículo solo puede proveerlo un proveedor.

La empresa tiene tres tipos de empleados: oficinistas, transportistas y vendedores. Estos últimos venden los artículos. un articulo es vendido por varios vendedores, y un vendedor puede vender varios artículos en distintas zonas de venta. de las ventas nos interesa saber la fecha de venta y las unidades vendidas.