Beruflich Dokumente
Kultur Dokumente
Regin
NULL
NULL
centro
Centro
centro
este
este
2. este
este
este
norte
norte
oeste
Oeste
Ciudad
Elx
Valencia
Aranjuez
Mstoles
Madrid
Alicante
Valencia
Castellon
Valencia
Valencia
Pamplona
pamplona
Badajoz
A Corua
Ventas
0,00
NULL
15000,00
0,00
NULL
73500,00
69300,00
36800,00
2100,00
0,00
200000,00
NULL
84400,00
18600,00
Jefe Cuota
ventas
104
30500,0
0
47400,0
0
28600,0
0
14300,0
0
36800,0
0
29900,0
0
18600,0
0
36100,0
0
39200,0
0
7600,00
30000,0
0
108 35000,0
0
104 27500,0
0
106 20000,0
0
104 35000,0
0
NUL 27500,0
L
0
108 30000,0
0
106 35000,0
0
106 3000,00
104
NULL
NUL
L
NUL
L
NUL
L
10000,0
0
10000,0
0
10000,0
0
60000,0
0
91000,0
0
0,00
Idproducto
2a44l
2a44r
779c
775c
773c
41003
887x
xk47
2a44g
114
41089
41672
112
xk48a
Descripcin
bomba l
bomba r
reostato 3
reostato 2
reostato
manivela
manivela
red
pas
cubo
rodamiento
plato
cubo
red
Precio
45,00
45,00
18,75
14,25
9,75
6,52
4,75
3,55
3,50
2,43
2,25
1,80
1,48
1,48
existencias
12
12
0
5
28
3
32
38
14
15
78
0
115
37
Nombre
Jos Gonzlez
Jorge Gutirrez
Ventas
14300,00
18600,00
cuota
20000,00
30000,00
nombre
Antonio Viguer
Alvaro Jaumes
Juan Rovira
Vicente Pantalla
Luis Antonio
Jorge Gutirrez
Juan Victor
Juan Gris
Julin Martorell
Juan Gris
Listar de cada jefe su cdigo y el cdigo y nombre de sus subordinados ordenados por nombres.
Jefe
104
104
104
104
106
106
Numemp
101
103
110
105
108
104
nombre
Antonio Viguer
Juan Rovira
Juan Victor
Vicente Pantalla
Ana Bustamante
Jos Gonzlez
106
108
108
109
102
107
Mara Sunta
Alvaro Jaumes
Jorge Gutirrez
Numpedid Fechapedido
o
110036
1989-10-12
00:00:00.000
110037
1989-10-12
00:00:00.000
112963
2008-05-10
00:00:00.000
112968
1990-01-11
00:00:00.000
112975
2008-02-11
00:00:00.000
112979
1989-10-12
00:00:00.000
112983
2008-05-10
00:00:00.000
112987
2008-01-01
00:00:00.000
112989
2008-12-10
00:00:00.000
112992
1990-04-15
00:00:00.000
112993
2008-03-10
00:00:00.000
112997
2008-04-04
00:00:00.000
113003
2008-02-05
00:00:00.000
113007
2008-01-01
00:00:00.000
113012
2008-05-05
00:00:00.000
113013
2008-12-28
00:00:00.000
113024
2008-07-04
00:00:00.000
113027
2008-02-05
00:00:00.000
113034
2008-11-05
00:00:00.000
113042
2008-01-01
00:00:00.000
113045
2008-07-02
00:00:00.000
113048
2008-02-02
00:00:00.000
113049
2008-04-04
00:00:00.000
113051
2008-07-06
00:00:00.000
113055
2009-04-01
00:00:00.000
113057
2008-11-01
00:00:00.000
113058
1989-07-04
00:00:00.000
113062
2008-07-04
00:00:00.000
113065
2008-06-03
00:00:00.000
113069
2008-08-01
00:00:00.000
Clie
Rep
Fab
Producto
Cant Importe
Precio
descripcion
2107 110
aci
4100z
22,50
NULL
mont
2117 106
rei
2a44l
31,50
45,00
bomba l
2103 105
aci
41004
28
3,276
NULL
art t4
2102 101
aci
41004
34
39,78
NULL
art t4
2111 103
rei
2a44g
21,00
3,50
pas
2114 108
aci
4100z
150,00
NULL
mont
2103 105
aci
41004
7,02
NULL
art t4
2103 105
aci
4100y
11
275,00
NULL
extractor
2101 106
fea
114
14,58
2,43
cubo
2118 108
aci
41002
10
7,60
NULL
bisagra
2106 102
rei
2a45c
24
18,96
0,79
junta
2124 107
bic
41003
6,52
6,52
manivela
2108 109
imm 779c
56,25
18,75
reostato 3
2112 108
imm 773c
29,25
9,75
reostato
2111 105
aci
41003
35
37,45
NULL
art t3
2118 108
bic
41003
6,52
6,52
manivela
2114 108
qsa
xk47
20
71,00
3,55
red
2103 105
aci
41002
54
450,00
NULL
bisagra
2107 110
rei
2a45c
6,32
0,79
junta
2113 101
rei
2a44r
225,00
45,00
bomba r
2112 110
rei
2a44r
10
450,00
45,00
bomba r
2120 102
imm 779c
37,50
18,75
reostato 3
2118 108
qsa
xk47
7,76
3,55
red
2118 108
qsa
xk47
14,20
3,55
red
2108 101
aci
4100x
1,50
NULL
junta
2111 103
aci
4100x
24
NULL
NULL
junta
2108 109
fea
112
10
14,80
1,48
cubo
2124 107
bic
41003
10
24,30
6,52
manivela
2106 102
qsa
xk47
21,30
3,55
red
2109 107
imm 773c
22
313,50
9,75
reostato
Listar los pedidos superiores a 250 euros, incluyendo el nombre del vendedor que tom el pedido y
el nombre del cliente que lo solicit.
Numpedido Fechapedido Clie Rep Fab Producto Cant Precio Cliente
vendedor
112987
01/01/08
2103 105 aci 4100y
11 275,00 Jaime Llorens Vicente Pantalla
113027
05/02/08
2103 105 aci 41002
54 450,00 Jaime Llorens Vicente Pantalla
113045
02/07/08
2112 110 rei 2a44r
10 450,00 Mara Silva
Juan Victor
113069
01/08/08
2109 107 imm 773c
22 313,50 Alberto Juanes Jorge Gutirrez
Listar los pedidos superiores a 250 euros, mostrando el nombre del cliente que solicit el pedido y
el nombre del vendedor asignado a ese cliente.
Codigo Numpedido Fechapedido Clie Rep Fab Producto Cant Importe Cliente Vendedor
asignado
8
112987
2008-01-01
2103 105 aci 4100y
11 275,00 Jaime
Juan Victor
00:00:00.000
Llorens
18
113027
2008-02-05
2103 105 aci 41002
54 450,00 Jaime
Juan Victor
00:00:00.000
Llorens
21
113045
2008-07-02
2112 110 rei 2a44r
10 450,00 Mara Ana
00:00:00.000
Silva
Bustamante
30
113069
2008-08-01
2109 107 imm 773c
22 313,50 Alberto Juan Rovira
00:00:00.000
Juanes
Listar los pedidos superiores a 250 euros, mostrando adems el nombre del cliente que solicit el
pedido y el nombre del vendedor asignado a ese cliente y la ciudad de la oficina donde el vendedor
trabaja.
Numpedido
Clie Rep Cliente
Repclie Vendedor asignado
112987
2103 105 Jaime Llorens
105
Juan Victor
113027
2103 105 Jaime Llorens
105
Juan Victor
113045
2112 110 Mara Silva
110
Ana Bustamante
113069
2109 107 Alberto Juanes
107
Juan Rovira
Hallar los pedidos recibidos los das en que un nuevo empleado fue contratado.
ciudad
NULL
NULL
Badajoz
Alicante
Numpedido Fechapedido
Rep Numemp Nombre
Contrato
110036
1989-10-12 00:00:00.000 110 108
Ana Bustamante 1989-10-12 00:00:00.000
110037
1989-10-12 00:00:00.000 106 108
Ana Bustamante 1989-10-12 00:00:00.000
112979
1989-10-12 00:00:00.000 108 108
Ana Bustamante 1989-10-12 00:00:00.000
Hallar los empleados que realizaron su primer pedido el mismo da que fueron contratados.
Numemp Nombre
Contrato
Numpedido Rep fechapedido
108
Ana Bustamante 1989-10-12 00:00:00.000 112979
108 1989-10-12 00:00:00.000
Mostrar de cada empleado su cdigo, nombre, ventas, oficina y ciudad en la que est ubicada su
oficina.
Numemp
101
102
103
104
105
106
107
108
109
110
111
112
113
Nombre
Antonio Viguer
Alvaro Jaumes
Juan Rovira
Jos Gonzlez
Vicente Pantalla
Luis Antonio
Jorge Gutirrez
Ana Bustamante
Mara Sunta
Juan Victor
Juan Gris
Julin Martorell
Juan Gris
ventas
30500,00
47400,00
28600,00
14300,00
36800,00
29900,00
18600,00
36100,00
39200,00
7600,00
60000,00
91000,00
0,00
Oficina
12
21
12
12
13
11
22
21
NULL
NULL
NULL
NULL
NULL
ciudad
Alicante
Badajoz
Alicante
Alicante
Castellon
Valencia
A Corua
Badajoz
NULL
NULL
NULL
NULL
NULL
Listar los empleados con una cuota superior a la de su jefe, los campos a obtener son el nmero,
nombre y cuota del empleado y nmero, nombre y cuota de su jefe.
Numemp
101
103
105
108
Nombre
Antonio Viguer
Juan Rovira
Vicente Pantalla
Ana Bustamante
Cuota
30000,00
27500,00
35000,00
35000,00
Jefe
104
104
104
106
Nombre jefe
Jos Gonzlez
Jos Gonzlez
Jos Gonzlez
Luis Antonio
Cuota jefe
20000,00
20000,00
20000,00
27500,00
Desde el entorno grfico cambia el empleado 111, asgnale el jefe 110 y la oficina 21. Despus
cambia la sentencia anterior para que salgan tambin los empleados cuyo jefe no tenga cuota.
Numemp
Nombre
Cuota
Jefe Nombre jefe
Cuota jefe
101
Antonio Viguer
30000,00
104 Jos Gonzlez
20000,00
103
Juan Rovira
27500,00
104 Jos Gonzlez
20000,00
105
Vicente Pantalla
35000,00
104 Jos Gonzlez
20000,00
108
Ana Bustamante
35000,00
106 Luis Antonio
27500,00
111
Juan Gris
10000,00
110 Juan Victor
NULL
Listar los empleados que no estn asignados a la misma oficina que su jefe, queremos nmero,
nombre y nmero de oficina tanto del empleado como de su jefe.
Numemp
Nombre
Oficina
Jefe Nombre jefe
Oficina jefe
104
Jos Gonzlez
12
106 Luis Antonio
11
105
Vicente Pantalla
13
104 Jos Gonzlez
12
107
Jorge Gutirrez
22
108 Ana Bustamante
21
108
Ana Bustamante
21
106 Luis Antonio
11
En el punto anterior no salen los que no tienen oficina, cambiar la sentencia para que aparezcan.
Numemp
Nombre
Oficina
Jefe Nombre jefe
Oficina jefe
104
Jos Gonzlez
12
106 Luis Antonio
11
105
Vicente Pantalla
13
104 Jos Gonzlez
12
107
Jorge Gutirrez
22
108 Ana Bustamante
21
108
Ana Bustamante
21
106 Luis Antonio
11
109
Mara Sunta
NULL
106 Luis Antonio
11
110
Juan Victor
NULL
104 Jos Gonzlez
12
111
Juan Gris
21
110 Juan Victor
NULL
Lo mismo que la anterior pero queremos que aparezca tambin la ciudad de las oficinas (tanto del
empleado como de su jefe).
Numemp Nombre
Oficina Ciudad
Jefe Nombre jefe
Oficina jefe ciudad
104
Jos Gonzlez
12
Alicante 106 Luis Antonio
11
Valencia
105
Vicente Pantalla 13
Castellon 104 Jos Gonzlez
12
Alicante
107
Jorge Gutirrez
22
A Corua 108 Ana Bustamante 21
Badajoz
108
Ana Bustamante 21
Badajoz 106 Luis Antonio
11
Valencia
109
Mara Sunta
NULL NULL
106 Luis Antonio
11
Valencia
110
Juan Victor
NULL NULL
104 Jos Gonzlez
12
Alicante
111
Juan Gris
21
Badajoz 110 Juan Victor
NULL
NULL
Funciones de agregado
1. Cuntas oficinas tenemos en Valencia?
Valencianas
4
2. Hallar cuntos pedidos hay de ms de 250 euros.
Superiores a 250
4
3. Cuntos ttulos (cargos) de empleados se usan?
Cuntos ttulos
3
4. Entre qu cuotas se mueven los empleados?
Cuota mnima
3000,00
Cuota mxima
35000,00
nombre
Antonio Viguer
Alvaro Jaumes
Juan Rovira
Importe vendido
266,28
77,76
21,00
104
105
106
107
108
109
110
111
112
113
114
Jos Gonzlez
Vicente Pantalla
Luis Antonio
Jorge Gutirrez
Ana Bustamante
Mara Sunta
Juan Victor
Juan Gris
Julin Martorell
Juan Gris
Pablo Moreno
0,00
772,746
46,08
344,32
286,33
71,05
478,82
0,00
0,00
0,00
0,00
Cliente
2101
2102
2103
2106
2107
2108
2108
2109
2111
2111
2112
2112
2113
2114
2117
2118
2120
2124
Importe vendido
14,58
39,78
735,296
40,26
28,82
1,50
71,05
313,50
21,00
37,45
29,25
450,00
225,00
221,00
31,50
36,08
37,50
30,82
Repetir la consulta anterior pero ahora deben aparecer tambin los empleados que no han
vendido nada.
rep
101
101
101
102
102
103
104
105
105
106
106
107
Cliente
2102
2108
2113
2106
2120
2111
NULL
2103
2111
2101
2117
2109
Importe vendido
39,78
1,50
225,00
40,26
37,50
21,00
NULL
735,296
37,45
14,58
31,50
313,50
107
108
108
108
109
110
110
111
112
113
114
2124
2112
2114
2118
2108
2107
2112
NULL
NULL
NULL
NULL
30,82
29,25
221,00
36,08
71,05
28,82
450,00
NULL
NULL
NULL
NULL
2. Repetir la consulta pero ahora debe aparecer tambin el total de cunto ha vendido cada
empleado. (Recuerda una opcin de la clusula GROUP BY)
rep
NULL
101
101
101
101
102
102
102
103
103
104
104
105
105
105
106
106
106
107
107
107
108
108
108
108
109
109
110
110
110
111
111
112
112
113
clie
NULL
NULL
2102
2108
2113
NULL
2106
2120
NULL
2111
NULL
NULL
NULL
2103
2111
NULL
2101
2117
NULL
2109
2124
NULL
2112
2114
2118
NULL
2108
NULL
2107
2112
NULL
NULL
NULL
NULL
NULL
Importe vendido
2364,386
266,28
39,78
1,50
225,00
77,76
40,26
37,50
21,00
21,00
NULL
NULL
772,746
735,296
37,45
46,08
14,58
31,50
344,32
313,50
30,82
286,33
29,25
221,00
36,08
71,05
71,05
478,82
28,82
450,00
NULL
NULL
NULL
NULL
NULL
113
114
114
NULL
NULL
NULL
NULL
NULL
NULL
En los resultados anteriores no se distinguen bien las lneas que corresponden a totales.
Modificar la consulta para obtener este resultado:
rep
clie
Importe vendido
NULL
101
101
101
101
102
102
102
103
103
104
104
...
NULL
NULL
2102
2108
2113
NULL
2106
2120
NULL
2111
NULL
NULL
....
2364,386
266,28
39,78
1,50
225,00
77,76
40,26
37,50
21,00
21,00
NULL
NULL
... (sigue)
Agrupa
clie
1
1
0
0
0
1
0
0
1
0
0
1
...
Agrupa
numemp
1
0
0
0
0
0
0
0
0
0
0
0
...
3. Ahora modifica la consulta para que las filas de totales aparezcan ms claras. (Recuerda la
funcin CASE)
rep
clie
Importe vendido
Agrupa clie
NULL
101
101
101
101
102
102
102
103
103
104
104
...
NULL
NULL
2102
2108
2113
NULL
2106
2120
NULL
2111
NULL
NULL
....
2364,386
266,28
39,78
1,50
225,00
77,76
40,26
37,50
21,00
21,00
NULL
NULL
... (sigue)
Total empleado
Total empleado
Agrupa
numemp
Total final
Total empleado
Total empleado
Total empleado
...
...
Resultado:
Agrupa
numemp
Total final
Agrupa clie
rep
clie
Importe vendido
Total empleado
Total empleado
NULL
101
101
101
101
102
102
102
103
103
104
104
...
NULL
NULL
2102
2108
2113
NULL
2106
2120
NULL
2111
NULL
NULL
....
2364,386
266,28
39,78
1,50
225,00
77,76
40,26
37,50
21,00
21,00
NULL
NULL
...
Total empleado
Total empleado
... (sigue)
Total empleado
...
Ahora queremos que "Total empleado" aparezca en la columna clie. Piensa primero en cuntas
columnas quieres y luego en cada columna que tiene que salir.
Resultado:
Agrupa
numemp
Total final
... (sigue)
numemp
clie
Importe vendido
NULL
101
101
101
101
102
102
102
103
103
104
104
...
Total empleado
Total empleado
2102
2108
2113
Total empleado
2106
2120
Total empleado
2111
NULL
Total empleado
....
2364,386
266,28
39,78
1,50
225,00
77,76
40,26
37,50
21,00
21,00
NULL
NULL
...
El empleado 104 (y otros) no ha vendido a nadie y por eso sale en la columna clie la palabra
NULL, queremos que en estos casos no aparezca nada (se deje en blanco), y el importe si es
NULL que salga un cero.
Agrupa
numemp
Total final
numemp
clie
Importe vendido
NULL
101
101
Total empleado
2102
2108
2364,386
39,78
1,50
... (sigue)
101
101
102
102
102
103
103
104
104
...
2113
Total empleado
2106
2120
Total empleado
2111
Total empleado
Total empleado
....
225,00
266,28
40,26
37,50
77,76
21,00
21,00
0,00
0,00
...
Nota: Recuerda la funcin ISNULL() (para la columna importe vendido) y la funcin CASE
con
diferentes
condiciones
(para
la
columna
clie).
Lo rematamos para que el resultado quede as:
Total final
numemp
...
101
101
101
101
102
102
102
103
103
104
104
clie
...
2102
2108
2113
Total empleado
2106
2120
Total empleado
2111
Total empleado
Total empleado
Importe vendido
2364,386
39,78
1,50
225,00
266,28
40,26
37,50
77,76
21,00
21,00
0,00
0,00
nombre
Julian Lpez
Julian Lpez
Vicente Ros
Pepito Grillo
2. Listar los empleados (numemp, nombre) mayores de 40 aos que dirigen a un vendedor con
supervit (ha vendido ms que su cuota).
numemp
106
108
nombre
Luis Antonio
Ana Bustamante
110
Juan Victor
3. Listar los empleados (cdigo de empleado) cuyo importe de pedido medio para productos fabricados
por ACI es superior al importe medio global (de todos los pedidos de todos los empleados).
rep
105
4. Listar los empleados (numemp, nombre, ventas) cuyas ventas son iguales o superiores al objetivo de
las oficinas de una determinada ciudad (de todas las oficinas de esa ciudad). Las oficinas con objetivo
nulo no se deben de tener en cuenta (como si no existiesen). Y si no hay oficinas en la ciudad no
queremos que salga ningn empleado. Intentar primero resolver la consulta utilizando >=ALL. Probar
primero con A Corua:
numemp
102
111
112
nombre
Alvaro Jaumes
Juan Gris
Julin Martorell
ventas
47400,00
60000,00
91000,00
Ahora con Pamplona. Pamplona tiene una oficina con objetivo nulo, en este caso no queremos que esa
oficina cuente.
numemp
101
102
103
105
106
108
109
111
112
114
nombre
Antonio Viguer
Alvaro Jaumes
Juan Rovira
Vicente Pantalla
Luis Antonio
Ana Bustamante
Mara Sunta
Juan Gris
Julin Martorell
Pablo Moreno
ventas
30500,00
47400,00
28600,00
36800,00
29900,00
36100,00
39200,00
60000,00
91000,00
37000,00
Para Barcelona. En este caso no tenemos oficinas en Barcelona por lo que no tiene que salir ningn
empleado.
Ahora para Madrid. Como en Madrid slo hay una oficina y no tiene objetivo no tiene que salir ningn
empleado.
Intentar resolver la consulta sin utilizar ALL.
5. Listar las oficinas en donde todos los empleados tienen ventas que superan al 50% del objetivo de la
oficina.
oficina
11
13
22
ciudad
Valencia
Castellon
A Corua
1. Aadir a la oficina 40 otro empleado, Luis Valverde, con nmero de empleado 436, con los mismos
datos que el anterior pero su jefe ser el director de la oficina 40 (no sabemos qu nmero tiene).
2. Pasar los pedidos de octubre 1989 a diciembre 2008. (3 filas afectadas)
3. Queremos actualizar el importe de los pedidos del mes actual con el precio almacenado en la tabla
productos.
Ayuda: En un primer paso obtener los pedidos del mes actual obteniendo tambin el precio unitario
dentro del pedido y el precio del producto de la tabla de productos.
codigo
1
2
6
9
16
numpedido
110036
110037
112979
112989
113013
fechapedido
2008-12-12 00:00:00.000
2008-12-12 00:00:00.000
2008-12-12 00:00:00.000
2008-12-10 00:00:00.000
2008-12-28 00:00:00.000
cant
9
7
6
6
1
importe
22,50
31,50
150,00
14,58
6,52
precio pedido
2,50
4,50
25,00
2,43
6,52
precio
NULL
45,00
NULL
2,43
5,16
Actualizar despus la tabla de pedidos cambiando los importes para que el precio unitario corresponda
con el precio del producto. Los pedidos de los productos que no tienen precio se quedarn como
estaban. (3 filas afectadas)
codigo
1
2
6
9
16
numpedido
110036
110037
112979
112989
113013
fechapedido
2008-12-12 00:00:00.000
2008-12-12 00:00:00.000
2008-12-12 00:00:00.000
2008-12-10 00:00:00.000
2008-12-28 00:00:00.000
cant
9
7
6
6
1
importe
22,50
315,00
150,00
14,58
5,16
precio pedido
2,50
4,50
25,00
2,43
6,52
precio
NULL
45,00
NULL
2,43
5,16
4. Se ven algunos productos que no tienen precio, ahora vamos a actualizar el precio de estos
productos
con
el
precio
medio
utilizado
en
los
pedidos
donde
aparecen.
Ayuda: Primero sacamos los productos que queremos actualizar con los pedidos correspondientes:
idfab
aci
aci
aci
aci
aci
aci
aci
aci
aci
aci
aci
aci
idproducto
41001
41002
41002
41003
41004
41004
41004
4100x
4100x
4100y
4100z
4100z
precio
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
codigo
NULL
10
18
15
3
4
7
25
26
8
1
6
numpedido
NULL
112992
113027
113012
112963
112968
112983
113055
113057
112987
110036
112979
fechapedido
NULL
1990-04-15 20:00:00.000
2008-02-05 00:00:00.000
2008-05-05 00:00:00.000
2008-05-10 00:00:00.000
1990-01-11 00:00:00.000
2008-05-10 00:00:00.000
2009-04-01 00:00:00.000
2008-11-01 00:00:00.000
2008-01-01 00:00:00.000
2008-12-12 00:00:00.000
2008-12-12 00:00:00.000
importe
NULL
7,60
450,00
37,45
3,276
39,78
7,02
1,50
NULL
275,00
22,50
150,00
precio pedido
NULL
0,76
8,3333
1,07
0,117
1,17
1,17
0,25
NULL
25,00
2,50
25,00
Vemos que el producto ACI 41001 no se podr actualizar porque no tiene pedidos. Pero los dems se
actualizarn con el precio medio de sus pedidos, debern quedar as (7 filas afectadas):
idfab
aci
aci
aci
idproducto
41001
41002
41003
precio
NULL
4,55
1,07
aci
aci
aci
aci
41004
4100x
4100y
4100z
0,82
0,25 *
25,00
13,75
* aci 4100x tiene 2 pedidos pero uno sin precio por lo que no cuenta
5. Eliminar los pedidos del representante Luis Antonio. (2 filas afectadas)
6. Eliminar las oficinas que no tengan empleados. (11 filas afectadas)
7. Intenta eliminar el empleado 102. Te saldr un error : "Instruccin DELETE en conflicto con la
restriccin..."
Reflexiona sobre el error y elabora una consulta que liste los empleados que pueden dar problemas
(aqu no se trata de utilizar operaciones aprendidas en este tema sino de practicar la integridad
referencial y de paso recordar instrucciones vistas en temas anteriores).
Elabora ahora una consulta que liste los que se pueden borrar sin problemas, estos son:
numemp
112
113
114
115
436
Borra el primero de la lista, ste s lo puedes borrar.
8. Eliminar los pedidos de productos de ACI cuyo precio de venta en el pedido no corresponda con el
precio unitario del producto de la tabla de productos. (4 filas afectadas)
9. Ahora vamos a recuperar las tablas tal cual estaban al principio, para ello utilizaremos las copias
realizadas al principio de Nuevaoficinas, etc.
Lo ms cmodo ser vaciar las tablas y rellenarlas de nuevo con los datos de las tablas Nueva...
Pero como las tablas tienen claves ajenas y la tabla de pedidos un campo de identidad, lo tendrs que
hacer
de
forma
que
no
d
error.
Al final las tablas pedidos, clientes,... deben tener los mismos datos que NuevaPedidos,
NuevaClientes...
Empieza
por
eliminar
los
datos
de
las
tablas.
Ayuda: Recuerda el campo de identidad (codigo) que tenemos en la tabla de pedidos, cuando
insertemos las filas deber empezar otra vez por el valor 1, para poder eliminar todas las filas igual
tienes que eliminar algunos valores (por lo de la integridad referencial), hazlo siempre con SQL.
Inserta
los
datos
de
las
tablas
Nueva..
a
las
tablas
normales.
Ayuda: Necesitars una o varias instrucciones por cada tabla (recuerda las reglas de integridad
referencial), en algunos casos las filas se tendrn que rellenar en varios pasos, y el orden en que
rellenes las tablas tambin es importante.
1. Crea una nueva base de datos Gestion2, los archivos fsicos se llamarn tambin Gestion2 y se
crear en la misma carpeta que la base de datos Gestion.
2. En Gestion2, crea las mismas tablas que tenemos en Gestion con las mismas relaciones entre ellas.
Este ejercicio se rsuelve con varias sentencias.
3. La tabla Productos de Gestion2 consideramos que sufre pocas operaciones de nuevos registros o
eliminacin de registros y el nico campo que sufre actualizaciones frecuentes es el campo existencias;
por otro lado es frecuente consultar los productos por el campo descripcion (aunque varios productos
puedan tener la misma descripcin). Se podra mejorar la base de datos? Si es que s indica de qu
forma y escribe la instruccin correspondiente; en cualquier caso justifica la respuesta.
4. Qu se puede hacer para que no puedan existir en la tabla de clientes dos clientes con el mismo
nombre?
5. En nuestro sistema vamos a efectuar muchas consultas recuperando a la vez los pedidos y los
productos asociados a cada uno de ellos, por eso sera bueno. Completa la frase y escribe la
sentencia SQL correspondiente.
6. Elimina la tabla clientes dejando en pedidos el campo cliente a NULL. Este ejercicio se resuelve con
varias sentencias y se puede resolver de varias maneras. Resulvelo de distintas formas.
7. Ahora queremos permitir que dos clientes tengan el mismo nombre.
8. Elimina la base de datos Gestion2, as podrs volver a hacer los ejercicios.
Para realizar los ejercicios, utiliza Gestion10 que has creado en los ejercicios paso a paso de este tema.
1. Aadir a la tabla de productos un campo StockMinimo, y rellenarlo de tal forma que el stock
mnimo valorado de cada artculo sea de 100. El stock mnimo valorado es el resultado de multiplicar
el stock mnimo por el precio del producto. No hace falta incluir estas sentencias en un procedimiento
ya que slo nos sirven para preparar la tabla productos pero redactarlas en Transact-SQL para repasar
temas
anteriores.
Seguidamente, escribir un procedimiento que se pueda ejecutar en cualquier momento y que actualice
una lista de productos bajo stock. Esta lista se guarda en una tabla ProductosAPedir y contiene el
cdigo completo del producto, su descripcin, existencias y cantidad a pedir (para que el producto
supere en 5 unidades su stock mnimo). Si un producto bajo mnimo (cuyas existencias no llegan al
stock mnimo) no est en esa tabla, insertarlo, si est actualizar el campo CantidadAPedir, y si ya no
est bajo mnimo y est en la tabla, eliminar el registro de ProductosAPedir.
2. Obtener un listado de las oficinas de una determinada regin con ventas superiores a un determinado
importe.
3. Crea un nuevo procedimiento parecido al anterior pero que nos devuelva tambin el nmero de
oficinas recuperadas. Utilizar un parmetro de salida.
4. Crea un nuevo procedimiento parecido al anterior pero que nos devuelva tambin el nmero de
oficinas recuperadas. Sin utilizar parmetros de salida.
5. Crea un procedimiento que muestre los n productos ms caros, n es un valor que se indicar en la
llamada.
6. Crea otro procedimiento que muestre los n productos ms caros con empates y nos devuelva cuntos
hay.
7. No dejar eliminar productos que tengan existencias.
8. Hacer que no se pueda insertar un pedido si no hay suficiente stock.
9. Crea un procedimiento que impida eliminar varias oficinas en una sla operacin DELETE.