Mecanismos para mantenimiento al modelo de datos, como creación de objetos que mejoran el rendimiento.
Enviado por John0099 • 26 de Abril de 2018 • 1.019 Palabras (5 Páginas) • 415 Visitas
...
update personas set monto_credito=0
where tipo_persona='C' and codigo_persona=804;
Para actualizar más de un campo al tiempo, se escriben uno a uno con su nuevo valor, separándolos por comas.
update personas set monto_credito=0,estado_cliente = ‘D’ where tipo_persona='C' and codigo_persona=804;
Es importante destacar que el potencial del comando UPDATE depende de la destreza para manejar el WHERE, ya que permite el uso de SUBQUERY.
Actualización de dos columnas a partir de consultas:
UPDATE vendedores
SET porcentaje_comision = (SELECT porcentaje_comision FROM vendedores
WHERE codigo_vendedor = 201), sexo = (SELECT sexo FROM vendedores WHERE codigo_vendedor = 201)
WHERE codigo_vendedor = 200;
Recuerde que al ACTUALIZAR datos de una VISTA los está ACTUALIZANDO en la TABLA a la que está ligada.
OTROS TIPOS DE INSERCIÓN
Muchas veces se quiere insertar en forma selectiva y dinámica, respecto a los campos o columnas, sobretodo dentro de programas PL/SQL, para evitar el mantenimiento de programas en caso que modifiquen las estructuras de las TABLAS.
Inserción selectiva
insert into lugares(tipo_lugar, codigo_lugar,nombre_lugar,codigo_ubica) values (‘M’,34,'TUTA',2);
Otras veces se requiere insertar en forma dinámica de una tabla a otra respecto a las filas. Borre los registros de la tabla cventas y ejecute el siguiente comando:
insert into cventas select * from ventas
where codigo_recibo
Inserción usando valor DEFAULT:
insert into lugares values (35,'AQUITANIA',2,DEFAULT);
El valor DEFAULT, también es válido para UPDATE.
CREACION DE SYNONYM
Como se explicó un sinónimo es un objeto que permite acceder a objetos de otro usuario, luego que este propietario conceda los permisos correspondientes.
Lo anterior evita tener objetos duplicados, por ejemplo (tablas) en usuarios diferentes, en cuyo caso, no solo ocuparía más espacio, sino que se desactualiza el objeto original respecto a la copia.
Pensemos que el usuario LUIS le quiere compartir una de sus tablas VENTAS al usuario JULIA. Estando en el usuario dueño del objeto que quiere compartir (LUIS le quiere compartir a JULIA).
grant select, insert,update,delete,
references on ventas to julia;
Ahora me ubico en el usuario JULIA y creo el synonym recordando que el dueño es LUIS.
create synonym ventas for luis.ventas;
Verifique que se creó el synonym.
OTROS PARAMETROS DE AMBIENTE
Es posible personalizar o cambiar algunos aspectos al ambiente ORACLE.
- SET FEEDBACK OFF/ON
Permite desactivar el mensaje de número de registros mostrados en una consulta.
- SET PAUSE OFF/ON
Permite desactivar o activar la pausa entre cada pantalla al hacer una consulta.
- SET LINESIZE n
Permite redefinir la longitud de la línea en número de caracteres mostradas en pantalla.
- SET PAGESIZE n
Lo mismo anterior pero con líneas o filas. Se usa mucho en reportes inmediatos de SQL.
Ejercicio:
Qué vendedor tiene la máxima comisión?
Cuál es el costo del inventario actual de productos?
Cuál producto se ha vendido más en Tunja?
Relacione que vendedores han vendido el producto estrella, o sea el más vendido.
Qué clientes tienen copado el monto de crédito actualmente.
Cuál es el producto de menor existencia y cuál fue la última vez que se vendió de este producto.
Reconstruyan el mapa de dependencias del modelo de ventas a partir de las tablas del diccionario de datos:
user_objects user_constraints user_cons_columns
Genere un reporte que determine cantidad de ventas por ciudad para el año de 1997.
Construya el árbol que determine las ciudades en donde hay clientes y el departamento al que pertenece.
...