Está en la página 1de 10

PRCTICA SOBRE ALGEBRA RELACIONAL Y SQL OPERACIONES: Operacin 1 2 3 4 4 # % Proyeccin Seleccin Diferencia exige compatibilidad Division Producto artesiano

$nterseccion exige compatibilidad &eunion a' (nion exige compatibilidad b' )oin natural *+oin o inner +oin' c' .eft +oin d' &ig/t +oin Smbolo ! o " ,, -

0ota1 un .eft +oin o &igt/ +oin puede anidarse dentro de un inner +oin2 pero no al reves3 E peci!icacione : a' b' c' d' e' $nstalar 4yS5l 63 #37 *5ue se incluye en /erramientas como 8amp o xamp' $nstalar el driver para conexin con 4yS5l por 9D: *4yS5l 9D: #31 Driver' $nstalar 4yS5l;ront3 on 4yS5l;ront2 crear una base de datos con el nombre <n8ind= >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 S'c'r al & Pre #amo & ,epo i#o & & (nombre_cliente PK, ciudad, calle) (nombre_sucursal PK, activo, ciudad) "n'm(pre #amo P)* nombre( 'c'r al +)* nombre(clien#e +)* impor#e% "n'm(c'en#a P)* nombre( 'c'r al +), nombre_cliente FK, saldo)

Con 'l#a : 9btener el nombre de clientes y ciudades donde viven2 5ue cumplan con la condicin de tener un prAstamo3 Repre en#acin en Al-ebra Relacional: prestamo.nombre_cliente, ciudad (prestamo.nombre_cliente (cliente x prestamo))

= cliente.nombre_cliente

Implemen#acin en SQL: SELECT prestamo.nombre_cliente,ciudad +RO. clien#e* pre #amo /0ERE prestamo.nombre_cliente = cliente.nombre_cliente 9btener los nombres de los clientes 5ue tienen2 una cuenta2 un prAstamo2 o ambas cosas en la sucursal K2L1 Repre en#acin en Al-ebra Relacional: " nombre_cliente (nombre_sucursal = "2" (prestamo))) (nombre_sucursal = "2" (deposito))) Implemen#acin en SQL: SELECT nombre(clien#e +RO. pre #amo WHERE nombre_sucursal = 2 1NION SELECT nombre(clien#e +RO. $epo i#o WHERE nombre_sucursal = 2 9btener el nombre de los clientes 5ue tienen un prAstamo en la sucursal principal2 pero 5ue no tienen cuenta en dic/a sucursal1 Repre en#acin en Al-ebra Relacional: "nombre(clien#e (nombre_sucursal = "Principal" (prestamo))) -( nombre_cliente (nombre_sucursal = "Principal" (deposito))) " nombre_cliente

Implemen#acin en SQL: SELECT nombre(clien#e +RO. pre #amo WHERE nombre_sucursal = Principal .IN1S SELECT nombre(clien#e +RO. $epo i#o WHERE nombre_sucursal = Principal o SELECT nombre_cliente FROM prestamo /0ERE nombre_sucursal NOT IN"SELECT nombre(clien#e +RO. $epo i#o WHERE nombre_sucursal = Principal) 9btener los nombres de los clientes 5ue tienen depsito y prAstamo al mismo tiempo en la sucursal K17L1 Repre en#acin en Al-ebra Relacional: " nombre_cliente (nombre_sucursal = "10" (prestamo))) ( (nombre_sucursal = "10" (deposito))) Implemen#acin en SQL: SELECT nombre(clien#e +RO. pre #amo WHERE nombre_sucursal = 10 INTERSECT SELECT nombre(clien#e +RO. $epo i#o WHERE nombre_sucursal = 10 o SELECT nombre_cliente FROM prestamo /0ERE nombre( 'c'r al IN"SELECT nombre(clien#e +RO. $epo i#o WHERE nombre_sucursal = 10) 9btener los nombres de los clientes 5ue tienen prAstamo2 cuenta2 o ambas cosas en la sucursal K17L usando $00C& )9$01 Repre en#acin en Al-ebra Relacional: " nombre(clien#e (nombre_sucursal = "10" (prestamo))) <> prestamo.nombre_cliente deposito.nombre_cliente ( nombre(clien#e (nombre_sucursal = "10" (deposito))) Implemen#acin en SQL: SELECT P2nombre(clien#e +RO. pre #amo P INNER 3OIN $epo i#o , ON P2nombre(clien#e & ,2nombre(clien#e WHERE P.nombre_sucursal = 10 AN, D.nombre_sucursal = 10

nombre(clien#e

Reali4ar E5ercicio obre ba e $e $a#o N/IN,: Tabla: emplea$o 1' 9btener el nombre del empleado cuyo nombre inicie con la letra <4=1 2' 9btener el nombre de los empleados que tengan cargo deRepresentante de ventas y el identificador (PK) est en el rango del 2 al 6: 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 mMnima y mBxima comisin otorgada a los empleados3 N' 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 $d liente inicie con la letra 5ue se encuentre en el rango >-D3 4' 9btener los datos de la tabla clientes donde $d liente inicie con la letra >3 #' 9btener los datos de la tabla clientes donde el nombre de la ciudad sea K.ondresL2 K une8aldeL o K:uenos >iresL3 %' 9btener de la tabla pedidos los registros cuya fec/a de pedido sea mayor al aFo de 1GG#3 N' 9btener el nombre de los productos 5ue estBn registrados en la tabla detallesdepedidos y los detalles de *cantidad vendida " precio unitario' O 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 Pltimos 2# nombres de clientes registrados3 11' 9btener el precio primedio unitario de la tabla productos2 mostrando solamente dos dMgitos 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 Q 14 (nion Select idPedido from pedidos 8/ere fec/apedido , R1GG4S11S7R *access 4S S5lServer' Select idPedido from detallesdepedidos 8/ere preciounidad Q 14 (nion Select idPedido from pedidos 8/ere fec/apedido , 1GG4S11SH *4yS5l' *d' Select " from detallesdepedidos inner +oin pedidos 9n detallesdepedidos3idpedido Q pedidos3idpedido *e' Select " from detallesdepedidos left +oin pedidos 9n detallesdepedidos3idpedido Q pedidos3idpedido 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 Q <: =3 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

13'

14'

1#' omparar resultados en1 13 Select distinct nombreproducto2 preciounidad from productos 8/ere $d ategoria in*select $d ategoria from productos 8/ere $d ategoria Q H' 23 Select distinct nombreproducto2 preciounidad from productos 8/ere $d ategoria Q all*select $d ategoria from productos 8/ere $d ategoria Q H' 33 Select distinct nombreproducto2 preciounidad from productos 8/ere $d ategoria Q any*select $d ategoria from productos 8/ere $d ategoria Q H' 43 Select distinct nombreproducto2 preciounidad from productos 8/ere $d ategoria , any*select $d ategoria from productos 8/ere $d ategoria Q H' 1%' &evisar funcionamiento de funcin concat*'

Select concat*nombre2 T T2 apellidos' as T0ombreT from empleados *4yS5l' Select nombre U T T U apellidos as T0ombreT from empleados *acces2 4S S5l Server' Select nombre V T T V apellidos as T0ombreT from empleados *access2 4S S5l Server' 1N' 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 1H' select Cn 9DC*TcadenaT2TsecretaT'W select strcmp*TcadenaT2TcadT'W select strcmp*TcadenaT2TcadenaT'W select 4D#*T >DC0>T' select SX>*T >DC0>T' SC.C J &9EY 9(0J*' ;&94 productos select (&&C0JY(SC&*' select D>J>:>SC*' select XC!*T adenaT' CSS

90S(.J>& :>SCS DC D>J9S C!JC&0>S DC > Select " from tabla1 in < 1D3333Darc/ivo3mdb=W &C>JC J>:.C ZnuevaZ * Z$d lienteZ varc/ar*#' default 0(..2 Z0ombre ontactoZ varc/ar*37' default 0(.. 'W insert into nueva *idcliente2 0ombre ontacto' select idcliente2 0ombre ontacto from clientesW

1G'

rear la base de datos <escuela= *a' rear la tabla alumnos1 &C>JC J>:.C ZalumnosZ * ZnumexpZ int*#' 09J 0(.. autoYincrement2 ZnombreZ varc/ar*37' default 0(..2 ZDireccionZ varc/ar*%7' default 0(..2 ZedadZ int*11' default 0(..2 P&$4>&[ \C[ *ZnumexpZ' 'W *b' $nsertar registros1 $nsert into alumnos *nombre2 direccion2 edad' values *T)oseT2 Tcalle 3T2 2#' $nsert into alumnos *nombre2 direccion2 edad' values *T]abrielT2 Tcalle 3T2 2#' $nsert into alumnos *nombre2 direccion2 edad' values *T4artinT2 Tcalle 2T2 2#' $nsert into alumnos *nombre2 direccion2 edad' values *T>belT2 Tcalle #T2 2#' $nsert into alumnos *nombre2 direccion2 edad' values *T>lbaT2 Tcalle 4T2 24'W $nsert into alumnos *nombre2 direccion2 edad' values *T4ariaT2 Tcalle #T2 22'W *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 ZinscripcionZ * ZnumexpZ int*11' default 0(..2 ZcursoZ int*11' default 0(.. ' *f' $nsertar registros en inscripcion1 $nsert into inscripcion *numexp2 curso' values *12 TalgebraT'W $nsert into inscripcion *numexp2 curso' values *12 T$nglesT'W $nsert into inscripcion *numexp2 curso' values *22 TalgebraT'W $nsert into inscripcion *numexp2 curso' values *42 TalgebraT'W $nsert into inscripcion *numexp2 curso' values *#2 TmatematicasT'W $nsert into inscripcion *numexp2 curso' values *%2 T/istoriaT'W $nsert into inscripcion *numexp2 curso' values *32 TalgebraT'W $nsert into inscripcion *numexp2 curso' values *32 TinglesT'W *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