Hola
•
Diagrama entidad relación:
nombreP
apellido1
apellido2
nombreDept
nombre
dni
sueldo
numDept
lugares
pertenecia
empleados
supervisor
1
n
1
departamentos
fecha
supervisado
n
1
1
dirige
controla
n
supervisa
n
trabaja en
n
m
proyectos
hijos
numHoras
nombre
fecha
lugar
numPnombre
•
Modelo relación
empleados
dni
apellido1
nombre
appellido2
sueldo
numD
dniSupervisor
departamentos
numDept
nombreDept dniJefe fecha
proyectos
numP
nombre
lugar
numDept
trabajaEn
dni
numP
numH
hijos
dni
nombre
fecha
lugaresDpto
numD
lugar
Consultas:
1. Ver todos los datos de la tabla empleados.
2. Seleccionar todoslos datos de los empleados del depto 5.
3. Nombre y apellidos de los empleados que trabajan en el depto 5 y que tienen sueldo >100.000€.
4. Nombre y apellidos de los empleados que trabajan en el depto 1, 2 ó 3.
5. Nombre y apellidos empleados que trabajan en el departamento: "investigación”.
6. Nombre de los empleados con al menos dos hijos.
7. Para cada empleado su nombre y el nombre delsupervisor.
8. Para cada proyecto número de proyecto, nombre y número de empleados que trabajan en él.
9. Empleados que tienen el mismo sueldo y trabajan en el mismo departamento que algún “garcia”.
10. Número de proyecto en que trabaja “garcia” como jefe de proyecto.
11. Nombre y apellido de los empleados con algún hijo.
12. Nombre y apellido de los empleados sin hijos.
13. Nombre y apellido dejefes de departamento con al menos un hijo.
14. Nombre y apellido de los empleados que trabajan en todos los proyectos controlados por el
departamento 5.
15. Empleados que no tiene supervisor.
16. Nombre y apellido de los empleados con al menos dos hijos.
17. Para cada proyecto: número de proyecto, nombre y número de empleados que trabajan en él.
18. Para cada departamento con más de tresempleados número de departamento y número de empleados
con sueldo mayor a 100.000€.
• Pasar a SQL
SQL:
Lenguaje de definición de datos
Lenguaje de definicion de almacenamiento
Lenguaje de manipulacion de datos
Lenguaje de definicion de vistas
mysql> source filename
mysql> \. filename
empleados.sql
-- LENGUAJE DE DEFINICION DE DATOS:
--- Tipos de datos
-Cadenas de caracteres-longitud fija char(m) 1..255 rellena con blancos
-long varibale varchar(m)
-TINYBLOB 255
-TEXT 65,535 char string
-BLOB[(M)] 65,535 binary string
-MEDIUMBLOB 16,777,215
-MEDIUMBLOB 16,777,215
-LONGTEXT 4,294,967,295
-LONGTEXT 4,294,967,295
-ENUM('value1','value2',...)
-SET('value1','value2',...)
--Numericos
-enteros
-int o integer, unsigned
-TINYINT[(M)] [UNSIGNED] [ZEROFILL] -127 a 128-SMALLINT[(M)] [UNSIGNED] [ZEROFILL] -32768 to 32767
-MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] -8388608 to 8388607
-INT[(M)] [UNSIGNED] [ZEROFILL] -2147483648 to 2147483647
-BIGINT[(M)] [UNSIGNED] [ZEROFILL] -9223372036854775808 to
9223372036854775807
-reales
-float[(m,d)]
-(4,2) 4 espacios a lo sumo 2 son decimales
-EJ
-42.35 bien
-325.54 mal redondea a 325.5
-FLOAT[(M,D)] [UNSIGNED][ZEROFILL] -3.402823466E+38 to 1.175494351E-38, 0, and 1.175494351E-38 to 3.402823466E+38
-DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL] -1.7976931348623157E+308 to
-2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to 1.7976931348623157E+308
-DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]
-BOOL, BOOLEAN
---DATE '1000-01-01' to '9999-12-31'
-yyyy-mm-dd
-1999-02-03 o 19990203
-DATETIME '1000-01-0100:00:00' to '9999-12-31 23:59:59'
-'YYYY-MM-DD HH:MM:SS'
-TIME '-838:59:59' to '838:59:59'
-hh:mm:ss
-12:45:30
-NULL pertenece a todos los tipos de datos en fichero \N
--- Modificadores:
-AUTO_INCREMENT
-DEFAULT value
-NOT NULL
-PRIMARY KEY
-UNIQUE
-ON DELETE action1 ON UPDATE action2
-action:
-SET NULL, SET DEFAULT, CASCADE
-CASCADE se eliminan todos las tuplas de empleados que hagan...
Regístrate para leer el documento completo.