sici 4030 base de datos n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
SICI-4030 Base de Datos PowerPoint Presentation
Download Presentation
SICI-4030 Base de Datos

Loading in 2 Seconds...

play fullscreen
1 / 122

SICI-4030 Base de Datos - PowerPoint PPT Presentation


  • 122 Views
  • Uploaded on

SICI-4030 Base de Datos. Prof. Nelliud D. Torres SQL - Avanzado– DML DIRECTIVA SELECT. CONTENIDO. UNIÓN DE DOS O MÁS TABLAS HACIENDO JOIN CON IN Y EXITS UNIENDO MÚLTIPLES TABLAS RELATIONAL SET OPERATORS UNION UNION ALL INTERSECT MINUS JOIN OPERATORS INNER JOIN (Natural) OUTER JOIN

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'SICI-4030 Base de Datos' - shika


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
sici 4030 base de datos

SICI-4030Base de Datos

Prof. Nelliud D. Torres

SQL - Avanzado– DML

DIRECTIVA SELECT

contenido
CONTENIDO
  • UNIÓN DE DOS O MÁS TABLAS
  • HACIENDO JOIN CON IN Y EXITS
  • UNIENDO MÚLTIPLES TABLAS
  • RELATIONAL SET OPERATORS
    • UNION
    • UNION ALL
    • INTERSECT
    • MINUS
  • JOIN OPERATORS
    • INNER JOIN (Natural)
    • OUTER JOIN
      • Left Outer Join
      • Right Outer Join
      • Full Outer Join
    • CROSS JOIN
    • Ejemplos de Left, Right y Full Join
  • CONCEPTOS AVANZADOS MISCELÁNEOS
    • SELF JOIN
  • PRODUCT
  • SQL PLUS
  • FUNCIONES DE SQL
    • Date & Time
    • Numeric
    • String
    • Conversion
  • VIEWS
  • EJERCICIOS DE PRÁCTICA
uni n de dos o m s tablas
UNIÓN DE DOS O MÁS TABLAS

Volver a los Objetivos

haciendo consultas de m ltiples tablas
Haciendo Consultas de Múltiples Tablas
  • Cuando hacemos consultas de más de una tabla, estas tienen que unirse (Join).
  • Se unen (join) las tablas al encontrar columnas que pareen (match) los datos.
  • Las tablas que se unen suelen utilizar una condición con la cláusula WHERE que limitan la cantidad de filas que se van a mostrar.
uni n joining de dos tablas
Unión (Joining) de Dos Tablas
  • En la clausula SELECT se listan todas las columnas que se desean mostrar.
  • En la clausula FROM se listan todas las tablas a las que se les hace referencia en el query.
  • En la clausula WHERE se mencionan las filas que tienen valores comunes de acuerdo a ciertas columnas.
otro ejemplo de uni n de multiples tablas

Cuatro tablas se utilizan para este join

Cada par de tablas requieren una condición de cotejo en la cláusula WHERE en donde se parean los Primary Keys con los Foreign Keys

Otro Ejemplo de Unión de Multiples Tablas
  • Muestra toda la información necesária para crear un invoice para la orden número 1006

SELECT CUSTOMER_T.CUSTOMER_ID, CUSTOMER_NAME, CUSTOMER_ADDRESS, CITY, SATE, POSTAL_CODE, ORDER_T.ORDER_ID, ORDER_DATE, QUANTITY, PRODUCT_DESCRIPTION, STANDARD_PRICE, (QUANTITY * UNIT_PRICE)

FROM CUSTOMER_T, ORDER_T, ORDER_LINE_T, PRODUCT_T

WHERE CUSTOMER_T.CUSTOMER_ID = ORDER_LINE.CUSTOMER_ID AND

ORDER_T.ORDER_ID = ORDER_LINE_T.ORDER_ID

AND ORDER_LINE_T.PRODUCT_ID = PRODUCT_PRODUCT_ID

AND ORDER_T.ORDER_ID = 1006;

Pag: 340

slide12

De la tabla CUSTOMER_T

De la tabla PRODUCT_T

De la tabla ORDER_T

Figure 8-2 El resultado que se obtiene al buscar entre las cuatro tablas

Pag: 340

join in exits
JOIN, IN, EXITS

Volver a los Objetivos

haciendo join con in y exists
Haciendo JOIN con IN y EXISTS
  • Las tablas pueden ser unidas utilizando las clausulas IN o EXISTS
  • Utilice el operador IN dentro de un sub-query
  • Utilice el operador EXISTS para obtener datos de más de una tabla
restrici n al unir join tablas utilizando el in
Restrición al Unir (Join) Tablas (utilizando el IN)

Se obtiene el mismo resultado, sin embargo

en este ejemplo no se coteja directamente el PK de una

tabla contra el FK de la otra.

uso del operador exists para obtener informaci n de una orden
Uso del operador EXISTS para obtener información de una orden

En el próximo slide se comparan ambos formatos.

Pag: 343

comparaci n in y exits
Comparación IN y EXITS

Se obtiene el mismo resultado,

uniendo m ltiples tablas
UNIENDO MÚLTIPLES TABLAS

Volver a los Objetivos

uniendo join m ltiples tablas
Uniendo (Join) Múltiples Tablas
  • Las condiciones muestran como las columnas se relacionan por cada dos tablas
uniendo m ltiples tablas paso a paso 1
Uniendo Múltiples Tablas Paso a Paso - 1
  • En la clausula SELECT hay que nombrar todas las columnas que queremos mostrar
  • Cualificar el nombre de la columna si hace falta (alias)
  • En la clausula FROM, nombrar todas las tablas afectadas
  • Incluir las tablas que se utilizan en la cláusula WHERE (definidas en el FROM), aún si no se mencionan en la cláusula SELECT
uniendo m ltiples tablas paso a paso 2
Uniendo Múltiples Tablas Paso a Paso - 2
  • Tomar un par de tablas y relacionarlas
  • Indicar en la cláusula WHERE, la condición que relaciona las tablas
  • Unir (Join) las condiciones con el operador AND
  • Incluir cualquier condición adicional en la cláusula WHERE
  • Conectarlas con el operador AND
relational set operators
RELATIONAL SET OPERATORS

Volver a los Objetivos

set operations
SET OPERATIONS
  • SET OPERATIONS - Se utilizan para fomar la unión (union), intersección, (intersection) o diferencias (differences ) de dos tablas.
  • UNION – Une dos tablas que contienen cada fila que está en la primera tabla, en la segunda tabla o en ambas. No duplica aquellas filas que se encuentren en ambas tablas.
set operations1
SET OPERATIONS
  • INTERSECT – Muestratodas las filas que se duplican en ambas tablas únicamente.
  • MINUS – Muestratodas las filas que están en la primera tabla, pero que no aparecen en la segunda tabla.
restricciones a los set operations
RESTRICCIONES A LOS SET OPERATIONS
  • Requiere que las tablas sean compatibles en su unión.
    • Deben tener el mismo número de columnas

Y

    • Sus correspondientes columnas deben tener los mismos tipos de datos y el mismo largo.
union
UNION
  • Ejemplo en una consulta:

SELECT cus_lname, cus_fname, cus_initial, cus_areacode, cus_phone

FROM customer

UNION

SELECT cus_lname, cus_fname, cus_initial, cus_areacode, cus_phone

FROM customer_2;

Pag: 346

ejemplo de union
EJEMPLO DE UNION

Une dos tablas que contienen cada fila que está en la primera tabla, en la segunda tabla o en ambas. No duplica aquellas filas que se encuentren en ambas tablas

cvc

cvc

cvc

cvc

UNION descarta las filas repetidas. Una tabla tiene 10 filas y la otra 7, pero al final se crean solo 15 porque hay dos repetidas.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

union all
UNION ALL
  • Incluye las filas duplicadas. Ejemplo:

SELECT cus_lname, cus_fname, cus_initial, cus_areacode, cus_phoneFROM customer

UNION ALL

SELECT cus_lname, cus_fname, cus_initial, cus_areacode, cus_phoneFROM customer_2;

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

union all continuaci n
UNION ALL (continuación)

UNION ALL incluye lad 17 filas producto de la primera tabla de 10 y la segunda de 7.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

intersect
INTERSECT

Muestratodas las filas que se duplican en ambas tablas únicamente.

Se explica en el próximo slide.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

intersect con distinct
INTERSECT con DISTINCT

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

minus
MINUS

Muestratodas las filas que están en la primera tabla, pero que no aparecen en la segunda tabla.

Se explica en el próximo slide.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

minus con distinct
MINUS con DISTINCT

Muestratodas las filas que están en la primera tabla, pero que no aparecen en la segunda tabla.

Ninguno de estos códigos está en la tabla INVOICE

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

join operators
JOIN OPERATORS

Volver a los Objetivos

diferentes tipos de joins 1
DIFERENTES TIPOS DE JOINS - 1
  • Join – Una operación relacional que causa que dos o más tablas con un dominio común se combinen en una sola tabla o view.
  • Equi-join – Una unión en donde la condición de unión se basa en igualdades entre valores en las columnas comunes. Las columnas comunes aparecen redundantemente en el resultado.
  • Natural join – Es un Equi-join en el cual una de las columnas duplicadas se elimina en el resultado.

Pag: 335

Pag: 336

diferentes tipos de joins 2
DIFERENTES TIPOS DE JOINS - 2
  • Outer join – Una unión en donde las filas que no tienen valores que pareen en columnas comunes se incluyen como quiera en el resultado (lo opuesto a inner join en donde las filas deben tener valores que pareen para que puedan aparecer en el resultado)
  • Union join – Incluye todas las columnas de cada tabla en la union y una instancia de cada fila de cada tabla.

Pag: 337

Pag: 339

Las columnas comunes en las tablas que se unen son usualmente el primary key de la tabla dominante y el foreign key de la tabla dependiente en relaciones uno a muchos

sql join operators resumen
SQL Join Operators - RESUMEN

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

special operations
SPECIAL OPERATIONS
  • Inner Join
    • Una unión que compara las tablas en la cláusula FROM y muestra aquellas filas que satisfagan la condición en la clausula WHERE
  • Outer Join
    • Una unión que muestra todas filas de una de las tablas independientemente del par
  • Cross Join
    • Una unión que muestra todas filas de una tabla multiplicada por la combinación de la otra tabla.
ejemplo de natural join fig 8 1

Join implica dos o más tablas en el FROM

La cláusula ON ejecuta el cotejo de igualdad para columnas comunes de las dos tablas.

Ejemplo de Natural Join (Fig 8-1)
  • Por cada cliente que puso una orden, ¿Cuál es su nombre y el número de la orden?

SELECT CUSTOMER_T.CUSTOMER_ID, CUSTOMER_NAME, ORDER_ID

FROM CUSTOMER_T NATURAL JOIN ORDER_T ON

CUSTOMER_T.CUSTOMER_ID = ORDER_T.CUSTOMER_ID;

Nota: En la Fig. 1, se ve que solo 10 clientes tienen ordenes emitidas

 Sólo 10 filas deben devolverse de este INNER join.

Pag: 336

otro ejemplo de natural join
Otro Ejemplo de Natural Join

Nota: Curiosamente no incluye la directiva ON

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

join using clause
JOIN USING Clause

La cláusula USING permite hacer las conexiones entre las relaciones de las tablas afectadas

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

join on clause
JOIN ON Clause

Similar al JOIN del libro de texto que se explicó de la fig 8-1. Observe que la cláusula ON requiere comparar el Primary Key de una tabla contra el Foreign Key de la otra.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

outer joins
Outer Joins
  • Devuelven no solamente las filas que parean, sino también las filas con atributos que no parean ya sea de una tabla o de ambas.
  • Hay tres tipos:
    • Left outer join: Todas las filas de la tabla de la izquierda (la primera que se menciona en el query) se parean con las filas de la tabla a la derecha. Estas son las que se van a incluir.
    • Right outer join: Todas las filas de la tabla de la derecha (la segunda que se menciona en el query) se parean con las filas de la tabla a la izquierda. Estas son las que se van a incluir.
    • Full outer join: Todas las filas de ambas tablas se van a incluir independientemente del pareo.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

ejemplo del libro de texto de outer join microsoft syntax

LEFT OUTER JOIN con el ON causa que la data de los clientes aparesca aún si no hay datos de ordenes correspondiente

Ejemplo del Libro de texto de Outer Join (Microsoft Syntax)
  • Muestra el nombre del cliente, su ID y el número de la orden de todos los clientes. Incluye la información del cliente incluyendo a los que tienen ordenes y también a los que no.

SELECT CUSTOMER_T.CUSTOMER_ID, CUSTOMER_NAME, ORDER_ID

FROM CUSTOMER_T, LEFT OUTER JOIN ORDER_T

ON CUSTOMER_T.CUSTOMER_ID = ORDER_T.CUSTOMER_ID;

A diferencia del INNER join, este SELECT incluirá las filas de clientes que no tienen filas de ordenes creadas.

Pag: 336

cross join1
CROSS JOIN
  • Syntax:
    • SELECT column-list FROM table1 CROSS JOIN table2
    • Ejemplo:
      • SELECT * FROM invoice CROSS JOIN line;
      • Si la tabla invoice tiene 8 filas y la tabla line tiene 18, el total del resultado será 144 filas (8 * 18)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

outer joins left
Outer Joins - LEFT
  • No tienen producto asignado
  • Left outer join: Todas las filas de la tabla de la izquierda (la primera que se menciona en el query) se parean con las filas de la tabla a la derecha. Estas son las que se van a incluir.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

Pag: 338

outer joins right
Outer Joins - RIGHT
  • Salen las 16 filas de la tabla PRODUCT
  • Right outer join: Todas las filas de la tabla de la derecha (la segunda que se menciona en el query) se parean con las filas de la tabla a la izquierda. Estas son las que se van a incluir.

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

Pag: 339

outer joins full
Outer Joins - FULL
  • No tienen producto asignado
  • Se incluyen todas

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

  • Full outer join: Todas las filas de ambas tablas se van a incluir independientemente del pareo.
conceptos avanzados miscel neos
CONCEPTOS AVANZADOS MISCELÁNEOS

Volver a los Objetivos

uniendo una tabla consigo misma
Uniendo una tabla consigo misma
  • Se conoce como self-join
  • Se necesita utilizar los alias para poder utilizarlo
  • Se utiliza cuando se comparan records dentro de una tabla
  • El alias permite tratar una tabla como dos tablas separadas
ejemplo de self join
Ejemplo de Self Join
  • Esto se puede hacer con el Primary key también.
product1
PRODUCT

Volver a los Objetivos

product2
Product
  • El producto (Cartesian Product) de dos tablas es la combinación de todas las filas en la primera tabla y todas las filas en la segunda tabla
  • Se omite la cláusula WHERE cuando se utiliza PRODUCT
sql plus
SQL PLUS

Volver a los Objetivos

sql plus manejo de reportes en pantalla
SQL Plus - Manejo de Reportes en Pantalla
  • SQL Plus es una herramienta de Oracle que reconoce y ejecuta las instrucciones de SQL.
  • Contiene varios comandos que permiten aplicar formato a los datos que obtenemos en pantalla a un estilo tipo reporte.
  • A continuación se va a mostrar algunas de esas instrucciones y su explicación.
  • Las instrucciones que se mencionan a continuación corren en Oracle 10g.
ejemplo de instrucciones sql plus
EJEMPLO DE INSTRUCCIONES SQL Plus
  • ACCEPT variable PROMPT ‘Favor entrar # de empleado’ – Aceptavaloresporpantalla.
  • SET PAGESIZE 35 – Define la página del reporte a 35 líneas.
  • SET LINESIZE 80 – Largo de la línea a 80.
  • SET FEEDBACK ON/OFF – Activa/Desactiva la opción de mostrar filas seleccionadas después de correr un query.
  • TTITLE ‘Titulo 1 | Titulo 2’ – Pone títulos al principio del reporte por página.
  • BTITLE ‘Titulo’ – Pone un título al final de cada página del reporte (Footer)
  • SPOOL ON / OFF – Permite enviar los resultados de un query que salen en pantalla a otro medio como por ejemplo un archivo.
  • BREAK ON atributoSKIP 1 ON atributo – Rompe control y salta una línea cada vez que hay un cambio en atributo.
  • CLEAR BREAK – Remueve cualquier BREAK definido.
  • COMPUTE – Ejecuta cálculos de suma(SUM), promedio(AVG), mayor(MAX), menor(MIN), etc. Trabaja en conjunto con el BREAK.
  • CLEAR COMPUTE – Elimina los COMPUTE que se hayan definido.
  • COLUMN atributo HEADING ‘Titulo' FORMAT A22 – Pone el atributo en columnas con su respectivo encabezamiento. En adición le aplica formato al resultado. Algunos formatos son: A22 = String de 22 caracteres de ancho, 999 numérico de tres posiciones. Los numéricos se pueden combinar con signo de dólar ($), coma (,), espacio en blanco (B), etc.
ejemplo de scrip
Ejemplo de Scrip

REM *******************************************

REM * Author: Nancy SantaneVelez *

REM * Comentarios: Este sript corre y crea *

REM * un reporte de los profesores. *

REM *******************************************

SET ECHO OFF

SET PAGESIZE 35

SET LINESIZE 80

SET FEEDBACK OFF

TTITLE 'REPORTE DE PROFESORES | ORGANIZADO POR DEPARTAMENTO'

BTITLE 'ReporteFacultad.sql'

COLUMN dep_nombre HEADING 'DEPARTAMENTO' FORMAT A22

COLUMN fac_nombre HEADING 'PROFESOR' FORMAT A22

COLUMN conf_titulo HEADING 'TOPICO' FORMAT A24

COLUMN conf_cuantasveces HEADING 'CANTIDAD' FORMAT 999

BREAK ON dep_nombre SKIP 1 ON dep_nombre

BREAK ON fac_name SKIP 1 ON REPORT

COMPUTE count OF conf_titulo ON fac_nombre

COMPUTE count OF conf_titulo ON REPORT

SPOOL ON

SPOOL C:\ReporteFacultad.txt

SELECT DISTINCT dep_nombre, fac_nombre, conf_titulo, conf_cuantasveces

FROM departamento d, facultad f, conferencia c

WHERE (d.dep_numero = f.dep_numero) AND

(f.fac_numero = c.fac_numero)

ORDER BY dep_nombre, fac_nombre, conf_titulo, conf_cuantasveces;

SPOOL OFF

CLEAR COMPUTE

CLEAR BREAK

COLUMN conf_cuantasveces CLEAR

COLUMN conf_titulo CLEAR

COLUMN dep_nombre CLEAR

COLUMN fac_nombre CLEAR

BTITLE OFF

TTITLE OFF

SET FEEDBACK ON

SET PAGESIZE 14

SET ECHO ON

resumen de funciones de sql

RESUMEN DE FUNCIONES DE SQL

Volver a los Objetivos

date and time functions
Date and Time Functions

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

date and time functions cont
Date and Time Functions (cont.)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

date and time functions cont1
Date and Time Functions (cont.)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

date and time functions cont2
Date and Time Functions (cont.)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

numeric functions
Numeric Functions

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

numeric functions cont
Numeric Functions (cont.)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

string functions
String Functions

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

string functions cont
String Functions (cont.)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

conversion functions
Conversion Functions

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

conversion functions cont
Conversion Functions (cont.)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

conversion functions cont1
Conversion Functions (cont.)

Database Systems: Design, Implementation, & Management, 7th Edition, Rob & Coronel

views
VIEWS

Volver a los Objetivos

usando y definiendo views
Usando y Definiendo Views
  • Views - Provee a los usuarios un acceso controlado a las tablas.
  • Es una tabla virtual que se crea en el buffer cuando se ejecuta una consulta que utiliza el view como tabla en el from.
  • Puede utilizar columnas de una o varias tablas simultáneamente.
  • Los Views requieren diseño.
  • Su propósito principal es facilitar las consultas a un usuario que no tenga mucha experiencia o privilegios en el sistema.

Pag: 322

usando y definiendo views1
Usando y Definiendo Views
  • Base Table – Es la tabla que contiene los datos crudos (raw data). Hay dos tipos de Views.
  • Dynamic View
    • Es una tabla virtual que se crea dinámicamente a petición del usuario
    • No se almacenan datos sino que los datos del “base table” se ponen a la disposición del usuario
    • Se basa en el enunciado SELECT
  • Materialized View
    • Se copian o replican los datos
    • La data si queda almacenada
    • Se debe actualizar periódicamente para que corresponda a los valores de las tablas originales

Pag: 326

Pag: 322

ejemplo de create view
Ejemplo de CREATE VIEW

CREATE VIEW EXPENSIVE_STUFF_V AS

SELECT PRODUCT_ID, PRODUCT_NAME, UNIT_PRICE

FROM PRODUCT_T

WHERE UNIT_PRICE >300

WITH CHECK_OPTION;

Indica que este view se va a utilizar únicamente para leer datos y que no se van a modificar los mismos si se hace a través de este view. En unas versiones de Oracle se utiliza WITH READ ONLY.

  • A los Views se les asigna nombre
  • Los View se basan en un enunciado SELECT
  • CHECK_OPTION se utiliza en los VIEWS que se actualizan y previenen updates que puedan crear filas que no están creadas en el VIEW

Pag: 323

ventajas de los views
Ventajas de los Views
  • Simplifican los “querycommands”
  • Ayudan en la seguridad de acceso a los datos ya que puede restringir el acceso a los datos de parte del usuario para que no vea datos sensitivos. (hay otras formas de hacer esto)
  • Mejora la productividad en la programación ya que una consulta compleja se puede obtener de forma sencilla una vez implementado el view.
  • Utiliza los datos más comunes de las tablas
  • Utiliza poco espacio de almacenamiento
  • Provee la opción para “customize” los VIEWS a los usuarios
  • Establece independencia física de los datos
desventajas de los views
Desventajas de los Views
  • Utiliza tiempo de procesamiento (producción) cada vez que se utiliza el VIEW. por lo tanto degrada el performance del sistema.
  • Puede o no ser actualizado directamente
ejemplo de un view
Ejemplo de un View

CREATE VIEW departamento50 AS

SELECT emp_id, last_name, first_name, title

FROM empleado

WHERE dept_id = 50;

  • Luego podemos hacer la siguiente consulta al View.

SELECT * FROM departamento50;

  • Y la siguiente actualización:

UPDATE departamento50

SET dept_id = 10

WHERE emp_id = 10;

Esto afecta directamente la tabla de empleado.

informaci n sobre los views
Información sobre los Views
  • Podemos conseguir información sobre los Views creados buscando en las tablas del diccionario de datos que se llama USER_VIEWS.
  • DESCRIBE user_views– Muestra los atributos de la tabla user_views.
  • También se puede hacer la siguiente consulta:

SELECT view_name, view_type_owner, text

FROM user_views;

  • Se puede eliminar un view con la instrucción DROP. Ejemplo:

DROP VIEW empleado50;

ejercicios de pr ctica
EJERCICIOS DE PRÁCTICA

Volver a los Objetivos

que debe estar creado en oracle con el siguiente script
Que debe estar creado en Oracle con el siguiente script.

REM **************************************************************

REM * Author: Nelliud D. Torres Batista *

REM * Comentarios: Este sript crea la tablas solicitadas en el *

REM * primer laboratorio. *

REM **************************************************************

REM SET ECHO ON

REM ***************************************************************

REM * Creacion de la tabla DEPARTAMENTO *

REM ***************************************************************

CREATE TABLE DEPARTAMENTO (

dep_numero NUMBER(1) NOT NULL,

dep_nombre VARCHAR2(25) NOT NULL,

dep_localización VARCHAR2(15),

CONSTRAINT dep_numero_pk PRIMARY KEY (dep_numero) );

REM ***************************************************************

REM * Creacion de la tabla ASEGURADORA *

REM ***************************************************************

CREATE TABLE ASEGURADORA (

ase_numeroPlan NUMBER(1) NOT NULL,

ase_descripcion VARCHAR2(15) NOT NULL,

CONSTRAINT ase_numeroPlan_pk PRIMARY KEY (ase_numeroPlan) );

REM ***************************************************************

REM * Creacion de la tabla FACULTAD *

REM ***************************************************************

CREATE TABLE FACULTAD (

fac_numero NUMBER(3) NOT NULL,

fac_nombre VARCHAR2(25) NOT NULL,

fac_direccion VARCHAR2(20),

fac_salario NUMBER(7,2),

fac_salarioAcumulado NUMBER(9,2),

dep_numero NUMBER(1) NOT NULL,

fac_grado VARCHAR2(3),

fac_especialidad VARCHAR2(12),

fac_rango CHAR(4) NOT NULL,

ase_numeroPlan NUMBER(1),

fac_dependientes CHAR(1),

CONSTRAINT fac_departamento_fk FOREIGN KEY (dep_numero)

REFERENCES DEPARTAMENTO (dep_numero),

CONSTRAINT fac_aseguradora_fk FOREIGN KEY (ase_numeroPlan)

REFERENCES ASEGURADORA (ase_numeroPlan),

CONSTRAINT fac_numero_pk PRIMARY KEY (fac_numero)

);

REM ***************************************************************

REM * Creacion de la tabla CONFERENCIA *

REM ***************************************************************

CREATE TABLE CONFERENCIA (

fac_numero NUMBER(3) NOT NULL,

conf_id NUMBER(1) NOT NULL,

conf_titulo VARCHAR2(25) NOT NULL,

conf_cuentasVeces NUMBER(2),

conf_ultimaVez DATE NOT NULL,

CONSTRAINT fac_numero_fk FOREIGN KEY (fac_numero)

REFERENCES FACULTAD (fac_numero),

CONSTRAINT conf_pk PRIMARY KEY (fac_numero, conf_id)

);

REM ***************************************************************

REM * Creacion de la tabla HISTORIAL *

REM ***************************************************************

CREATE TABLE HISTORIAL (

fac_numero NUMBER(3) NOT NULL,

hist_id NUMBER(1) NOT NULL,

hist_rango VARCHAR2(4) NOT NULL,

hist_fechaRango DATE NOT NULL,

CONSTRAINT fac_numero2_fk FOREIGN KEY (fac_numero)

REFERENCES FACULTAD (fac_numero),

CONSTRAINT hist_pk PRIMARY KEY (fac_numero, hist_id) );

y con la siguiente data entrada
Y con la siguiente data entrada

REM ***************************************************************

REM * Datos de la tabla DEPARTMENTO *

REM ***************************************************************

INSERT INTO DEPARTAMENTO VALUES (2,'Physics','Edificio 100');

INSERT INTO DEPARTAMENTO VALUES (5,'Computer Science','Edificio 100');

INSERT INTO DEPARTAMENTO VALUES (7,'Geology','Edificio 200');

COMMIT;

REM ***************************************************************

REM * Datos de la tabla ASEGURADORA *

REM ***************************************************************

INSERT INTO ASEGURADORA VALUES (1,'Triple-Azul');

INSERT INTO ASEGURADORA VALUES (2,'Cruz SSS');

INSERT INTO ASEGURADORA VALUES (4,'Extra');

COMMIT;

REM ***************************************************************

REM * Datos de la tabla FACULTAD *

REM ***************************************************************

INSERT INTO FACULTAD VALUES (119,'Nelliud Torres','Bayamón',70100.00,890900.00,5,'MS','Information','Asst',1,1);

INSERT INTO FACULTAD VALUES (120,'José Díaz','Carolina',69000.69,789000.00,5,'MS','Engineer','Asso',2,1);

INSERT INTO FACULTAD VALUES (201,'Alz Heimer','Cayey',55500.10,324000.00,7,'PhD','Geology','Full',1,0);

INSERT INTO FACULTAD VALUES (204,'Park Inson','Caguas',27390.00,89000.25,2,'PhD','Physics','Asst',1,1);

COMMIT;

REM ***************************************************************

REM * Datos de la tabla CONFERENCIA *

REM ***************************************************************

INSERT INTO CONFERENCIA VALUES (120,1,'El Tarot ',3,'6-Jun-2004');

INSERT INTO CONFERENCIA VALUES (119,1,'Base de Datos',5,'6-May-2004');

INSERT INTO CONFERENCIA VALUES (119,2,'Usando Access',1,'7-Feb-2005');

COMMIT;

REM ***************************************************************

REM * Datos de la tabla HISTORIAL *

REM ***************************************************************

INSERT INTO HISTORIAL VALUES (119,1,'Asst','1-May-1990');

INSERT INTO HISTORIAL VALUES (120,1,'Asso','1-Jun-1991');

INSERT INTO HISTORIAL VALUES (120,2,'Full','1-Jul-2001');

INSERT INTO HISTORIAL VALUES (204,1,'Asst','15-Feb-04');

COMMIT;