lunes, 1 de diciembre de 2008

Actividades T.4 - pág.130

  • ABS(n): Obtén el valor absoluto de SALARIO - 10.000 para todas las filas de la tabla EMPLE
  • CEIL(n): Prueba con los números positivos y negativos
  • FLOOR(n): Prueba con los números positivos y negativos
  • MOD(m, n): Prueba con números positivos y negativos
  • NVL(valor, expresión): Obtén el SALARIO, la COMISIÓN y la suma de ambos
  • POWER(m, exponente): Prueba con números positivos y negativos
  • ROUND(número[,m]): Prueba con el redondeo positivo
  • y con el negativo
  • SIGN(valor): Prueba con los números positivos y negativos
  • SQRT(n):
  • TRUNC(número, [m]):
  • Con truncamiento positivo
  • Con truncamiento negativo

jueves, 27 de noviembre de 2008

MySQL - Caso Práctico pág. 124

  • Queremos consultar los datos de los empleados que trabajan en "MADRID" o "BARCELONA". La localidad de los departamentos se obtiene de la tabla DEPART.

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

  • A continuación seleccionamos los datos de los empleados que estén en esos departamentos:

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

martes, 18 de noviembre de 2008

MySQL - Caso Práctico pág. 118

Con la tabla EMPLE, obtén el APELLIDO de los empleados con el mismo OFICIO que 'Gil'. Para ello, descomponemos el enunciado en dos consultas:
  • Averiguamos el OFICIO de 'Gil':

[ SELECT OFICIO FROM EMPLE WHERE APELLIDO = 'GIL'; ]
  • Visualizamos el APELLIDO de los empleados con el mismo OFICIO que 'Gil':
[ SELECT APELLIDO FROM EMPLE WHERE OFICIO='ANALISTA' ; ]

MySQL - Caso Práctico pág. 117

A partir de la tala EMPLE obtén el APELLIDO, SALARIO y DEPT_NO de los empleados cuyo salario sea mayor de 2000 en los departamentos 10 o 20:

[ SELECT APELLIDO, SALARIO, DEPT_NO FROM EMPLE WHERE SALARIO >2000 AND (DEPT_NO=10 OR DEPT_NO=20); ]

Si realizamos la misma consulta sin utilizar paréntesis, se obtiene como resultado los empleados cuyo SALARIO sea mayo de 2000 y pertenezcan al DEPARTAMENTO número 10; o bien, aquellos cuyo DEPT_NO sea el 20:

[ SELECT APELLIDO, SALARIO, DEPT_NO FROM EMPLE WHERE SALARIO >2000 AND DEPT_NO=10 OR DEPT_NO=20; ]

La consulta inicial también se puede hacer utilizando el operador IN:

[ SELECT APELLIDO, SALARIO, DEPT_NO FROM EMPLE WHERE SALARIO >2000 AND DEPT_NO IN(10,20); ]

lunes, 17 de noviembre de 2008

MySQL - Caso Práctico pág. 116

  • A partir de la tabla EMPLE, obtén el apellido y el salario de los empleados cuyo salario esté comprendido entre 1.500 y 2.000, ambos inclusive:
[ SELECT APELLIDO, SALARIO FROM EMPLE WHERE SALARIO BETWEEN 1500 AND 2000; ]
  • Obtener el apellido y el salario de los empleados cuyo SALARIO no esté comprendido entre 1.500 y 2.000:
[ SELECT APELLIDO, SALARIO FROM EMPLE WHERE SALARIO NOT BETWEEN 1500 AND 2000; ]

MySQL - Caso Práctico pág. 115

La lista de valores está formada por números:
  • Consulta los apellidos de la tabla EMPLE cuyo número de departamento sea 10 ó 30:
[ SELECT APELLIDO FROM EMPLE WHERE DEPT_NO IN(10,30) ; ]
  • Consulta los apellidos de la tabla EMPLE cuyo número de departamento no sea ni 10 ni 30:
[ SELECT APELLIDO FROM EMPLE WHERE DEPT_NO NOT IN(10,30) ; ]

____________________________________________________________

La lista de valores está formada por cadenas de caracteres:
  • Consulta los apellidos de la tabla EMPLE cuyo oficio sea 'VENDEDOR', 'ANALISTA' y 'EMPLEADO':
[ SELECT APELLIDO FROM EMPLE WHERE OFICIO IN ('VENDEDOR', 'ANALISTA', 'EMPLEADO');]
  • Consulta los apellidos de la tabla EMPLE cuyo oficio no sea ni 'VENDEDOR', ni 'ANALISTA' ni 'EMPLEADO':
[ SELECT APELLIDO FROM EMPLE WHERE OFICIO NOT IN('VENDEDOR', 'ANALISTA', 'EMPLEADO'); ]

lunes, 10 de noviembre de 2008

MySQL - Caso Práctico pág. 113 y 114

Utilizando la cláusula LIKE, y a partir de la tabla EMPLE, realizar las siguientes consultas:
  • Obtener aquellos apellidos que empiecen por la letra "J".
[ SELECT APELLIDO FROM EMPLE WHERE APELLIDO LIKE 'J%' ; ]
  • Obtener aquellos apellidos que tengan una "R" en la segunda posición:
[ SELECT APELLIDO FROM EMPLE WHERE APELLIDO LIKE '_R%' ; ]
  • Obtener aquellos apellidos que empiecen por "A" y tengan una "O" en su interior:
[ SELECT APELLIDO FROM EMPLE WHERE APELLIDO LIKE 'A%O%' ; ]
____________________________________________________________________

A continuación, considerando la tabla LIBRERIA, cuya descripción es la siguiente:
  • Consultar las filas de la tabla LIBRERIA cuyo tema sea "LABORES"; usando el operador "=" :
[ SELECT * FROM LIBRERIA WHERE TEMA='LABORES' ; ]
  • La misma consulta, pero utilizando el operador LIKE:
[ SELECT * FROM LIBRERIA WHERE TEMA LIKE 'LABORES' ; ]

viernes, 31 de octubre de 2008

MySQL - Caso Práctico pág. 112

A partir de la tabla NOTAS_ALUMNOS ya realizada, obtener aquellos nombres de alumno que tengan un 7 en NOTA1 y cuya media sea mayor que 6:

[ SELECT NOMBRE_ALUMNO FROM NOTAS_ALUMNOS WHERE NOTA1=7 AND (NOTA1+NOTA2+NOTA3)/3 >6; ]

MySQL - Caso Práctico pág. 111

Se trata de obtener la nota media de los siguientes alumnos en los tres exámenes de una asignatura.

La tabla que muestra sus notas:

Su nota media:

[ SELECT NOMBRE_ALUMNO, "Nombre Alumno", (NOTA1+NOTA2+NOTA3)/3 "Nota Media" FROM NOTAS_ALUMNOS; ]

MySQL - Casos Prácticos pág. 110

Utilizamos alias para las columnas DEPT_NO y NOMBRE:

Antes:

Después:

[ SELECT DNOMBRE "Departamento", DEPT_NO "Número Departamento" FROM DEPART; ]

jueves, 30 de octubre de 2008

MySQL - Caso Práctico pág. 108

Consultas en MySQL:

Tabla EMPLE

  • De la tabla EMPLE, mostrar todos los empleados del departamento 20 (DEPT_NO = 20). Además, la conuslta debe aparecer ordenada por la columna APELLIDO. Los campos a consultar son: número de empleado, apellidos, oficio y número de departamento.

[ SELECT EMPLE_NO, APELLIDO, OFICIO, DEPT_NO FROM EMPLE WHERE DEPT_NO = 20 ORDER BY APELLIDO; ]

  • Consultar los empleados cuyo oficio sea ANALISTA, ordenado por número de empleado (columna EMP_NO):
[ SELECT * FROM EMPLE WHERE OFICIO = 'ANALISTA' ORDER BY EMP_NO; ]
  • Selecciona aquellas filas del departamento 10 cuyo oficio sea analista. La consulta ha de estar ordenada de modo descendente por APELLIDO y por NUM_EMPLE (columna EMP_NO):

[ SELECT * FROM EMPLE WHERE DEPT_NO = 10 AND OFICIO = 'ANALISTA' ORDER BY APELLIDO, EMP_NO DESC; ]


miércoles, 29 de octubre de 2008

MySQL - Base de Datos ALUMNOS (ej. página 109)

A partir de la tabla ALUMNOS, que contiene los datos de todos los alumnos matriculados en el curso 2008/2009 para un centro de enseñanza, realizar las siguientes consultas:

  • Obtener todos los datos de todos los alumnos:

[ SELECT * FROM ALUMNOS; ]

  • Obtener los siguientes datos de los alumnos: DNI, NOMBRE, APELLIDOS, CURSO, NIVEL y CLASE.

[ SELECT DNI,NOMBRE,APELLIDOS,CURSO,NUVEL,CLASE FROM ALUMNOS; ]

  • Obtener todos los datos de los alumnos cuya población sea Guadalajara.
[ SELECT * FROM ALUMNOS WHERE POBLACION = 'GUADALAJARA'; ]
  • Obtener NOMBRE y APELLIDOS de todos los alumnos cuya población sea Guadalajara.
[ SELECT NOMBRE,APELLIDOS FROM ALUMNO WHERE POBLACION = 'GUADALAJARA'; ]

  • Consulta el DNI, NOMBRE, APELLIDOS, CURSO, NIVEL y CLASE de todos los alumnos por APELLIDO y NOMBRE en orden ascendente.

[ SELECT DNI,NOMBRE,APELLIDOS,CURSO,NIVEL,CLASE FROM ALUMNOS ORDER BY APELLIDOS,NOMBRE ASC;]

martes, 28 de octubre de 2008

Modelo Relacional. Ejercicio A8

Una empresa desea llevar un control de mantenimiento de sus equipos hardware, licencias de software y redes.



Ejercicio 4. Página 93

acabar

Ejercicio 3

ACABAR

jueves, 23 de octubre de 2008

Ejercicio 2. Página 93

Dada la siguiente tabla, transformarla a Tercera Forma Normal.


Solución:


lunes, 20 de octubre de 2008

Ejercicio 1. Página 93

Realizar el esquema relacional de este supuesto:

Se desea informatizar la gestión de proyectos del departamento de química de una universidad siguiendo las siguientes especificaciones:
  • Al departamento llegan clientes que quieren realizar proyectos. Un cliente puede realizar varios proyectos.
  • Un proyecto es de un cliente. Cada proyecto tiene asignada una cuantía de dinero que se utilizará para pagar los gastos del proyecto y para pagar a los colaboradores. De los proyectos nos interesa saber el nombre, la fecha de comienzo y la de fin, entre otros.
  • De cada proyecto se realizan muchos pagos para remunerar a los colaboradores.
  • De los pagos nos interesa saber el concepto, la cantidad, el IVA aplicado y la fecha de pago. Un pago es de un tipo, y a un tipo de pago pueden pertenecer muchos pagos.
  • Los colaboradores son personas o entidades que reciben el dinero de los pagos en concepto de su participación en el proyecto. Un pago sólo puede ser para un colaborador, mientras que un colaborador puede recibir muchos pagos.
  • De los colaboradores nos interesa saber: nombre, DNI, domicilio, teléfono, banco, número de cuenta.

Esquema Relacional:


Actividad 6. Página 88

A partir de las siguientes tablas, AUTORES (Nombre, editorial) y EDITORES (Nombre, editorial), inventa un contenido para sus filas y columnas, y representa las operaciones de la unión y la diferencia.

AUTORES (Nombre, editorial)

EDITORES (Nombre, editorial)


Unión:


Diferencia:

martes, 7 de octubre de 2008


Explicar la siguiente frase:

" No hay una clasificación jerárquica de las tablas y no hay una relación física entre ellas "


¿Por qué son importantes los valores NULL?

Indicar un ejemplo de su uso.


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 1: REGLA DE LA INFORMACIÓN

Toda la información en una base de datos relacional se representa en el nivel lógico de una manera: con valores en tablas.


REGLA 2: REGLA DEL ACCESO GARANTIZADO

Todos y cada uno de los datos (valores atómicos) de una BDR son accesibles a nivel lógico utilizando una combinación de nombre de tabla, valor de clave primaria y nombre de columna.


REGLA 3: TRATAMIENTO SISTEMÁTICO DE VALORES NULOS

Los valores nulos (distintos de la cadena vacía, en blanco, a ‘0 ...) sirven para representar información desconocida o a la que aún no se ha accedido, independientemente del tipo de datos.


REGLA 4: CATÁLOGO DINÁMICO EN LÍNEA BASADO EN EL MODELO RELACIONAL

La descripción de la base de datos se representa a nivel lógico de la misma manera que los datos normales, de modo que los usuarios autorizados pueden aplicar el mismo lenguaje relacional a su consulta, igual que lo aplican a los datos normales.


REGLA 5: REGLA DEL SUBLENGUAJE DE DATOS COMPLETO

Un sistema relacional debe soportar varios lenguajes y varios modos de uso de terminal (ej: rellenar formularios). Sin embargo, debe existir al menos un lenguaje cuyas sentencias sean expresables, mediante una sintaxis bien definida, como cadenas de caracteres y que sea completo, soportando:

- Definición de datos

- Definición de vistas

- Manipulación de datos (interactiva y por programa)

- Limitantes de integridad

- Limitantes de transacción (iniciar, realizar, deshacer)


REGLA 6: REGLA DE ACTUALIZACIÓN DE VISTAS

Todas las vistas que son teóricamente actualizables se pueden actualizar por el sistema.


REGLA 7: INSERCIÓN, ACTUALIZACIÓN Y BORRADO DE ALTO NIVEL

La capacidad de manejar una relación base o derivada como un solo operando se aplica no sólo a la recuperación de los datos (consultas), si no también a la inserción, actualización y borrado de datos.


REGLA 8: INDEPENDENCIA FÍSICA DE DATOS

Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuando se realizan cambios en las representaciones de almacenamiento o métodos de acceso.


REGLA 9: INDEPENDENCIA LÓGICA DE DATOS

Los programas de aplicación y actividades del terminal permanecen inalterados a nivel lógico cuando se realizan cambios a las tablas base que preserven la información.


REGLA 10: INDEPENDENCIA DE INTEGRIDAD

Los limitantes de integridad específicos para una base de datos relacional deben poder ser definidos en el sublenguaje de datos relacional, y almacenables en el catálogo, no en los programas de aplicación.


REGLA 11: INDEPENDENCIA DE DISTRIBUCIÓN

Una BDR tiene independencia de distribución.


REGLA 12: REGLA DE LA NO SUBVERSIÓN

Si un sistema relacional tiene un lenguaje de bajo nivel (un registro de cada vez), ese bajo nivel no puede ser usado para saltarse (subvertir) las reglas de integridad y los limitantes expresados en los lenguajes relacionales de más alto nivel (una relación (conjunto de registros) de cada vez).



Página 51. Ejercicio 7


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

Una agencia de viajes está formada por varias oficinas que se ocupan de atender a los posibles viajeros. Cada ofician oferta un gran número 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.


viernes, 3 de octubre de 2008


Página 51. Ejercicio 5


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 número de bastidos.
Los coches pueden ser nuevos o de segunda mano. De lo nuevos nos interesa saber las unidades que hay en el taller. De los viejos, el año de fabricación, el número de averías y la matrícula.
Los mecánicos se encargan de poner a punto los coches usados del taller. Un mecánico pone a punto varios coches usados.
Un cliente puede comprar varios coches; un coche puede ser comprado por varios clientes. De la compra nos interesa la fecha y el precio.

martes, 30 de septiembre de 2008

Modelo Entidad-Relación

Página 51. Ejercicio 3

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

La Consejería de Educación gestiona varios tipos de centros: públicos, privados y concertados. Los privados tienen un atributo específico 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 varios centros.


Modelo Entidad-Relación

Página 51. Ejercicio 1

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 cada lugar.


viernes, 26 de septiembre de 2008

Esquema Jerárquico

Página 42. Ejercicio 4

Dado el siguiente árbol, escribir sus características: niveles, número de hojas, altura, peso, recorrido y momento.


  • Niveles: 0, 1, 2, 3 (cuatro niveles).
  • Número de hojas: nodos que no tienen hijos (6 hojas).
  • Altura: número de niveles de la estructura jerárquica (4).
  • Peso: número de hojas del árbol (6).
  • Recorrido: A, B, C, D, E, F, G, H, I, J, K
  • Momento: número de nodos (11).

Modelo Entidad-Relación

Página 28. Ejercicio 3

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

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

La empresa tiene tres tipos de empleados: oficinistas, transportistas y vendedores. Estos últimos venden los artículos. Un artículo 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.

jueves, 25 de septiembre de 2008

Página 25. Ejemplo 1

Supongamos el bibliobús que proporciona un servicio de préstamo de libros a los socios de un pueblo. Los libros están clasificados por temas. Un tema puede contener varios libros. Un libro es prestado a muchos socios, y un socio puede coger varios libros. En el préstamo de libros es importante saber la fecha de préstamo y la fecha de devolución. De los libros nos interesa saber el título, el autor y el número de ejemplares.

Supongamos el bibliobús que proporciona un servicio de préstamo de libros a los socios de un pueblo. Los libros están clasificados por temas. Un tema puede contener varios libros. Un libro es prestado a muchos socios, y un socio puede coger varios libros. En el préstamo de libros es importante saber la fecha de préstamo y la fecha de devolución. De los libros nos interesa saber el título, el autor y el número de ejemplares.

miércoles, 24 de septiembre de 2008

CUESTIONES DEL PRIMER TEMA


1) ¿Qué diferencia hay entre datos e información? Poner un ejemplo.
La diferencia entre estos conceptos es que un dato no tiene significado por sí mismo, mientras que de una información es un cojunto de datos de los que se pueden obtener conclusiones valiosas.
Como ejemplo de datos podríamos decir "Estébanez, Carlos, 6.50, Geografía"; de lo que se obtendía la información de que el alumno Carlos Estébanez ha obtenido una nota de 6.50 en un examen de Geografía.

2) ¿Qué diferencia hay entre base de datos y sistema gestor de base de datos?
Una base de datos es un almacén donde se guardan datos inconexos, mientras que el sistema gestor de bases de datos es un software que permite obtener información útil a partir de los datos almacenados en la base de datos.

3) ¿Qué sistemas gestores de bases de datos conoces?
Microsoft Access, Oracle y MySQL.

4) ¿Qué relación hay entre un disco duro y una base de datos?
La relación es que un disco duro y una base de datos tienen el mismo uso, es decir, almacenar datos e informaciones.

5) ¿Crees que es importante en nuestros días a obtención rápida y eficaz de la información? Razónalo con tres ejemplos.
Sí, considero que es un aspecto importante, puesto que vivimos en la "Era de la información" y las nuevas tecnologías, que nos sirven como medio para conseguirla. Es famoso el dicho "La información es poder", quien no está informado no está tan integrado en la sociedad como podría.
Como ejemplos podríamos citar a un reportero de un canal de noticias, el redactor de un periódico y el locutor de una emisora de radio, personas que necesitan información rápida y fiable para realizar su trabajo.

6) Escribe cinco aplicaciones que puede tener una base de datos en nuestra sociedad actual.
  1. Censo de una población
  2. Lista de los alumnos inscritos en un curso
  3. Relación de los invitados a un congreso, así como su procedencia, motivo y especialidad
  4. Enumeración de proveedores, productos que suministran, su precio y los clientes que los adquieren
  5. Recuento de las entradas vendidas para un concierto y los establecimientos en los que se han vendido.

7) ¿Qué relación puede haber entre el concepto de base de datos y el uso de internet? Poner ejemplos.

Que internet, como herramienta de almacenamiento de información, contiene miles de bases de datos.

Como ejemplo tenemos a Google, que para mostrar los resultados en su motor de búsqueda debe acceder a una base de datos de donde selecciona las páginas web y los archivos (por ejemplo los pdf) que más se ajusten o aproximen a lo que se pide.


8) ¿Qué diferencia hay entre una base de datos ofimática y otra corporativa?
El uso que se le ha concedido; en el caso de la base de datos ofimática es más sencillo y pequeño (pequeña empresa, cuentas familiares...) mientras que las base de datos corporativas responden a informaciones y datos de grandes empresas.

9) Si te dan a elegir al almacenar datos sobre tus CDs entre un fichero '.doc' (con Word por ejemplo) y las tablas de una base de datos, ¿cuál tomarías? Razónalo.
Depende del tipo de texto que desees almacenar, te puede servir mejor uno u otro soporte. En caso del Word, podrías almacenar todo tipo de texto sin estructurar, mientras que para las bases de datos es más idóneo los datos estructurados.

10) ¿Qué caracteriza a los sistemas gestores de bases de datos relacionales? Decir además dos de sus propiedades.
Que están pensadas como si fueran tablas formadas por registros (las filas de la tabla) y los campos (las columnas). Es el modelo de sistemas gestores de bases de datos más utilizada actualmente, por ser menos abstracto y más sencillo que las otras opciones. La información contenida en una de estas bases de datos puede ser recuperada mediante "consultas", que que ofrecen una amplia flexibilidad y un gran poder a la hora de administrar la información.

11) Definir los tres elementos diferentes de una tabla.
  • Registro: cada fila de una tabla, que contiene datos.
  • Campo: cada columna de la tabla, que se identifica con su nombre. Los valores que almacene deben ser del mismo tipo (cadena de caracteres, numéricos, fecha, hora, moneda...).
  • Celda: intersección de un registro con una columna. Cada una contiene un dato.
12) ¿Qué propiedad deben cumplir los valores de un mismo campo?
Que deben ser del mismo tipo (cadena de caracteres, numéricos, fecha, hora, moneda...).

13) ¿Cuántos datos diferentes puede haber en una celda?
Uno.

14) ¿Por qué se debe impedir que en una tabla haya dos registros con valores iguales? ¿Cómo se consigue?
Para no caer en el problema de la redundacia, por la que se malgasta memoria al haber una información repetida varias veces, y puede ocasionar problemas a la hora de actualizar la información.
Se consigue no copiando ni repitiendo registros iguales en la misma base de datos.

15) Decir dos propiedades importantes de las claves candidatas.
  1. Permiten identificar cada registro.
  2. Sus valores no pueden ser nulos.
16) Decir tres propiedades importantes de la clave principal.
  1. Es la clave elegida por el diseñador/administrador de la base de datos.
  2. Es obligatoria y única.
  3. Con esta clave se crean los índices con los que se ordenan y buscan los datos internamente.

~ Bienvenido a mi blog ~

BLOG DE CLASE 201

Me llamo Alexia Antolín Diego, tengo 19 años y vivo en Santander, Cantabria.

Estudio segundo curso del módulo de Grado Superior de Administración de Sistemas Informáticos (ASI).

He creado este blog en la asignatura "Sistemas Gestores de Bases de Datos" (SGBD), para colgar los trabajos y apuntes y que estén al alcance de todos.

Espero que lo que encuentres aquí sea de tu agrado!

Un saludo.

 
Paradores