Está en la página 1de 10

PRCTICA SOBRE ALGEBRA RELACIONAL Y SQL

OPERACIONES:
Operacin Smbolo
1 Proyeccin
2 Seleccin
3 Diferencia
exige compatibilidad
-
4 Division
4 Producto artesiano ! o "
# $nterseccion
exige compatibilidad

% &eunion
a' (nion
exige compatibilidad

b' )oin natural *+oin o inner +oin' , -


c' .eft +oin ,
d' &ig/t +oin -
0ota1 un .eft +oin o &igt/ +oin puede anidarse dentro de un inner +oin2 pero no al reves3
Epeci!icacione:
a' $nstalar 4yS5l 63 #37 *5ue se incluye en /erramientas como 8amp o xamp'
b' $nstalar el driver para conexin con 4yS5l por 9D: *4yS5l 9D: #31 Driver'
c' $nstalar 4yS5l;ront3
d' on 4yS5l;ront2 crear una base de datos con el nombre <n8ind=
e' >ctivar en <6er=2 <.og S?.=
.o 5ue permite visuali@ar en S?. las consultas 5ue se reali@an a travAs de los
elementos grBficos de la interfa@ de 4yS5l;ront3
f' rear un origen de datos de usuario *DS0 (suario' con 9D:323exe con el
nombre n8ind
- Cn e+ecutar2 locali@ar la ruta y el arc/ivo1
1DE$0D9ESDsystem32Dodbcad323exe
- Seleccionar >gregar e introducir los datos1
- ;inali@ar
- Proporcionar datos de conectividad1
- Cn server especificar el $P del e5uipo con 5ue se reali@arB la conexin3
- Proporcionar datos de usuario *inicialmente <root= en mys5l se instala sin
contraseFa y es recomendable poner una y crear usuario adicional con
suficientes permisos para reali@ar las operaciones correspondientes'3
- Seleccionar la base de datos crearda <n8ind=2 aceptar y cerrar 9D:323exe3
g' >brir >ccess y la base de datos <08ind= 5ue se encuentra ubicada en las carpetas de
4icrosoft 6isual Studio *6:GH'3
/' Seleccionar la seccin de tablas
i' Seleccionar cada una de ellas2 y con el botn derec/o del mouse elegir <exportar=
- Seleccionar 9D: Databases1
- >ceptar el nombre 5ue se le asignarB a la tabla o cambiarlo y aceptar *se
recomienda 5uitar acentos y espacios en blanco'1
- Seleccionar el <9rigen de datos de usuario= <n8ind= y
>ceptar3
+' Si no existen errores los datos fueron transferidos en forma satisfactoria3
I' Jener a la vista el arc/ivo <.engua+eS?.3doc= proporcionado para efectos de
prBcticas con S?. como notas de clase3
l' rear un acceso a la /erramienta <6isData3exe= 5ue se encuentra en la carpeta
1D333D4icrosoft 6isual StudioDvbGH3 on ella se pueden abrir datos con terminacin
3mdb o a travAs de conectividad 9D: /acia arc/ivos8 de datos 3mdb3
Relacin "Con#rol $e banco%:
Clien#e & "nombre'clien#e P() ci*$a$) calle%
S*c*ral & "nombre'*c*ral P() ac#i+o) ci*$a$%
Pre#amo & "n*m'pre#amo P() nombre'*c*ral ,()
nombre'clien#e ,() impor#e%
-epoi#o & "n*m'c*en#a P() nombre'*c*ral ,()
nombre'clien#e ,() al$o%
Con*l#a:
9btener el nombre de clientes y ciudades donde viven2 5ue cumplan con la condicin de
tener un prAstamo3
Repreen#acin en Al.ebra Relacional:
pre#amo/nombre'clien#e) ci*$a$ "0pre#amo/nombre'clien#e & clien#e/nombre'clien#e "clien#e 1 pre#amo%%
Implemen#acin en SQL:
SELECT pre#amo/nombre'clien#e)ci*$a$
,RO2 clien#e) pre#amo
34ERE pre#amo/nombre'clien#e &
clien#e/nombre'clien#e
9btener los nombres de los clientes 5ue tienen2 una cuenta2 un prAstamo2 o ambas cosas en
la sucursal K2L1
Repreen#acin en Al.ebra Relacional:
" nombre'clien#e "0nombre'*c*ral & 565 "pre#amo%%% " nombre'clien#e "0nombre'*c*ral & 565 "$epoi#o%%%
Implemen#acin en SQL:
SELECT nombre'clien#e ,RO2 pre#amo
34ERE nombre'*c*ral & 768
9NION
SELECT nombre'clien#e ,RO2 $epoi#o
34ERE nombre'*c*ral & 768
9btener el nombre de los clientes 5ue tienen un prAstamo en la sucursal principal2 pero 5ue
no tienen cuenta en dic/a sucursal1
Repreen#acin en Al.ebra Relacional:
"nombre'clien#e "0nombre'*c*ral & 5Principal5 "pre#amo%%% :" nombre'clien#e "0nombre'*c*ral & 5Principal5
"$epoi#o%%%
Implemen#acin en SQL:
SELECT nombre'clien#e ,RO2 pre#amo
34ERE nombre'*c*ral & 7Principal8
2IN9S
SELECT nombre'clien#e ,RO2 $epoi#o
34ERE nombre'*c*ral & 7Principal8
o
SELECT nombre'clien#e ,RO2 pre#amo
34ERE nombre'*c*ral NOT
IN"SELECT nombre'clien#e ,RO2 $epoi#o
34ERE nombre'*c*ral & 7Principal8%
9btener los nombres de los clientes 5ue tienen depsito y prAstamo al mismo tiempo en la
sucursal K17L1
Repreen#acin en Al.ebra Relacional:
" nombre'clien#e "0nombre'*c*ral & 5;<5 "pre#amo%%% = " nombre'clien#e "0nombre'*c*ral & 5;<5 "$epoi#o%%%
Implemen#acin en SQL:
SELECT nombre'clien#e ,RO2 pre#amo
34ERE nombre'*c*ral & 7;<8
INTERSECT
SELECT nombre'clien#e ,RO2 $epoi#o
34ERE nombre'*c*ral & 7;<8
o
SELECT nombre'clien#e ,RO2 pre#amo
34ERE nombre'*c*ral
IN"SELECT nombre'clien#e ,RO2 $epoi#o
34ERE nombre'*c*ral & 7;<8%
9btener los nombres de los clientes 5ue tienen prAstamo2 cuenta2 o ambas cosas en la
sucursal K17L usando $00C& )9$01
Repreen#acin en Al.ebra Relacional:
" nombre'clien#e "0nombre'*c*ral & 5;<5 "pre#amo%%% >? pre#amo/nombre'clien#e & $epoi#o/nombre'clien#e "
nombre'clien#e "0nombre'*c*ral & 5;<5 "$epoi#o%%%
Implemen#acin en SQL:
SELECT P/nombre'clien#e ,RO2 pre#amo P
INNER @OIN $epoi#o -
ON P/nombre'clien#e & -/nombre'clien#e
34ERE P/nombre'*c*ral & 7;<8
AN- -/nombre'*c*ral & 7;<8
RealiAar EBercicio obre bae $e $a#o N3IN-:
Tabla: emplea$o
1' 9btener el nombre del empleado cuyo nombre inicie con la letra <4=1
2' 9btener el nombre de los empleados 5ue tengan cargo de<&epresentante de ventas=
y el identificador *PM' estA en el rango del 2 al %1
3' 9btener los nombres de los empleados3
4' 9btener un catBlogo de puestos de empleados3
#' 9btener el promediio de los salarios de los empleado con cargo de &epresentante de
ventas3
%' 9btener la mNnima y mBxima comisin otorgada a los empleados3
O' 9btener el nombre de los empleados y de sus +efes2 basBndose en un campo 5ue
funge como llave forBnea dentro de la misma tabla3
H' 9btener los nombres de los empleados ubicados en las ciudades de <.ondres= y
<Seatle=2 y 5ue ademBs se cumpla la condicin de 5ue la fec/a de contratacin
corresponda al aFo de 1GG43
G' 9btener los datos de los empleados 5ue sean <&epresentantes de ventas= 5ue no
/ayan sido contratados en el aFo 1GG4 y 5ue ademBs sean del sexo femenino3
17' 9btener los datos generales de los empleados cuyo cdigo postal corresponda a
CC3((3
O#ra con*l#a:
1' 9btener los datos de la tabla Productos3
2' 9btener los datos de la tabla Productos donde Precio(nidad bet8een 7 and 223
3' 9btener los datos de la tabla lientes donde $dliente inicie con la letra 5ue se
encuentre en el rango >-D3
4' 9btener los datos de la tabla clientes donde $dliente inicie con la letra >3
#' 9btener los datos de la tabla clientes donde el nombre de la ciudad sea K.ondresL2
Kune8aldeL o K:uenos >iresL3
%' 9btener de la tabla pedidos los registros cuya fec/a de pedido sea mayor al aFo de
1GG#3
O' 9btener el nombre de los productos 5ue estBn registrados en la tabla
detallesdepedidos y los detalles de *cantidad vendida " precio unitario' P descuento3
H' 9btener el $dPedido dedetallesdepedidos agrupando por idpedido y filtrando los
resultados con la condicin de 5ue idpedido - 172#%3
G' 9btener los primeros 2# nombres de clientes registrados ordenBndolos
alfabAticamente en forma ascendente3
17' 9btener los Qltimos 2# nombres de clientes registrados3
11' 9btener el precio primedio unitario de la tabla productos2 mostrando solamente dos
dNgitos decimales a la drec/a del punto decimal3
12' &evisar resultado con1
*a' Select idProveedor2 0ombreProducto2
sum*(nidadesCnCxistencia' from productos
group by idProveedor2 0ombreProducto 8it/ rollup
*b' Select idProveedor2 0ombreProducto2
sum*(nidadesCnCxistencia' from productos
group by idProveedor2 0ombreProducto /aving
sum*(nidadesCnCxistencia' - 177 *>ccess y 4yS5l'
*c' Select idPedido from detallesdepedidos 8/ere preciounidad R 14
(nion
Select idPedido from pedidos 8/ere fec/apedido , S1GG4T11T7S *access
4S S5lServer'
Select idPedido from detallesdepedidos 8/ere preciounidad R 14
(nion
Select idPedido from pedidos 8/ere fec/apedido , 1GG4T11TH *4yS5l'
*d' Select " from detallesdepedidos inner +oin pedidos
9n detallesdepedidos3idpedido R pedidos3idpedido
*e' Select " from detallesdepedidos left +oin pedidos
9n detallesdepedidos3idpedido R pedidos3idpedido
13' Suponer 5ue se tiene una relacin reflexiva sobre la tabla clientes y 5ue se desea
reali@ar la siguiente consulta1
- Se desean obtener todos los valores de los campos de la tabla
clientes2 y ademBs obtener todos los campos de la tabla clientes
donde region R <:=3
14' 9btener nombre de producto y precio de unidad de la tabla productos donde el
precio de unidad de los productos se encuentre en una lista 5ue se obtenga a travAs
de una subconsulta de la tabla productos donde nombre de producto sea <JA
D/aramsala=3
1#' omparar resultados en1
13 Select distinct nombreproducto2 preciounidad from productos 8/ere $dategoria
in*select $dategoria from productos 8/ere $dategoria R H'
23 Select distinct nombreproducto2 preciounidad from productos 8/ere $dategoria
R all*select $dategoria from productos 8/ere $dategoria R H'
33 Select distinct nombreproducto2 preciounidad from productos 8/ere $dategoria
R any*select $dategoria from productos 8/ere $dategoria R H'
43 Select distinct nombreproducto2 preciounidad from productos 8/ere $dategoria
, any*select $dategoria from productos 8/ere $dategoria R H'
1%' &evisar funcionamiento de funcin concat*'
Select concat*nombre2 U U2 apellidos' as U0ombreU from empleados *4yS5l'
Select nombre V U U V apellidos as U0ombreU from empleados *acces2 4S S5l
Server'
Select nombre W U U W apellidos as U0ombreU from empleados *access2 4S
S5l Server'
1O' omparar resultados con otras funciones1
a3 Select max*unidadesCnexistencia' from productos
b3 Select min*unidadesCnexistencia' from productos
c3 Select count*unidadesCnexistencia' from productos
d3 Select avg*unidadesCnexistencia' from productos
e3 Select top 2# unidadesCnexistencia from productos
f3 Select unidadesCnexistencia from productos limit 2#
g3 Select unidadesCnexistencia from productos order by
unidadesenexistencia desc limit 2#
/3 Select top 2# unidadesCnexistencia from productos order by
unidadesenexistencia desc
select Cn9DC*UcadenaU2UsecretaU'X
select strcmp*UcadenaU2UcadU'X
select strcmp*UcadenaU2UcadenaU'X
select 4D#*U>DC0>U'
select SY>*U>DC0>U'
SC.CJ &9EZ9(0J*' ;&94 productos
select (&&C0JZ(SC&*'
select D>J>:>SC*'
select YC!*UadenaU'
1H' 90S(.J>& :>SCS DC D>J9S C!JC&0>S DC >CSS
Select " from tabla1 in <1D3333Darc/ivo3mdb=X
&C>JC J>:.C [nueva[ *
[$dliente[ varc/ar*#' default 0(..2
[0ombreontacto[ varc/ar*37' default 0(..
'X
insert into nueva *idcliente2 0ombreontacto'
select idcliente2 0ombreontacto from clientesX
1G' rear la base de datos <escuela=
*a' rear la tabla alumnos1
&C>JC J>:.C [alumnos[ *
[numexp[ int*#' 09J 0(.. autoZincrement2
[nombre[ varc/ar*37' default 0(..2
[Direccion[ varc/ar*%7' default 0(..2
[edad[ int*11' default 0(..2
P&$4>&\ MC\ *[numexp['
'X
*b' $nsertar registros1
$nsert into alumnos *nombre2 direccion2 edad' values *U)oseU2 Ucalle 3U2 2#'
$nsert into alumnos *nombre2 direccion2 edad' values *U]abrielU2 Ucalle 3U2 2#'
$nsert into alumnos *nombre2 direccion2 edad' values *U4artinU2 Ucalle 2U2 2#'
$nsert into alumnos *nombre2 direccion2 edad' values *U>belU2 Ucalle #U2 2#'
$nsert into alumnos *nombre2 direccion2 edad' values *U>lbaU2 Ucalle 4U2 24'X
$nsert into alumnos *nombre2 direccion2 edad' values *U4ariaU2 Ucalle #U2 22'X
*c' Climinar registros 5ue cumpla con la condicin de 5ue el nombre sea
<)ose=
*d' 6aciar todos los valores de la tabla alumnos2 reiniciando el campo de
tipo autoincremental3
*e' rear tabla inscripcin1
&C>JC J>:.C [inscripcion[ *
[numexp[ int*11' default 0(..2
[curso[ int*11' default 0(..
'
*f' $nsertar registros en inscripcion1
$nsert into inscripcion *numexp2 curso' values *12 UalgebraU'X
$nsert into inscripcion *numexp2 curso' values *12 U$nglesU'X
$nsert into inscripcion *numexp2 curso' values *22 UalgebraU'X
$nsert into inscripcion *numexp2 curso' values *42 UalgebraU'X
$nsert into inscripcion *numexp2 curso' values *#2 UmatematicasU'X
$nsert into inscripcion *numexp2 curso' values *%2 U/istoriaU'X
$nsert into inscripcion *numexp2 curso' values *32 UalgebraU'X
$nsert into inscripcion *numexp2 curso' values *32 UinglesU'X
*g' Debiendo 5uedar la tabla >lumnos como a continuacin se muestra1
y la de $nscripcion1
*/' 4odificar cursos de alumnos 5ue sean menores de 2# aFos y 5ue lleven
curso de <etica=1
27' Cstructurar subconsultas1
*a' Productos con precio unitario mayor 5ue el de cual5uier producto
vendido con un descuento mayor o igual al 1#^3
*b' Productos vendidos con un descuento igual o mayor al 1#^3
*c' Productos vendidos 5ue no tengan un descuento igual o mayor al 1#^3
*d' .istar los empleados y sus ventas totales3
*e' rear dos combinaciones e5uivalentes1 una entre las tablas de detalles de
pedidos y la otra entre las tablas pedidos y empleados3 .a tabla
empleados no contiene datos de ventas y la tabla detalles de pedidos no
contiene datos de los empleados3
*f' 4ostrar los nombres de los empleados cuyo salario es igual o mayor 5ue
el salario medio de todos los empleados con el mismo cargo3
*g' 9btener una lista con el nombre y el precio unitario de todos los
productos con el mismo precio 5ue el ?ueso de so+a .onglife

También podría gustarte