SlideShare une entreprise Scribd logo
1  sur  26
BASE DE
    DATOS
SQL Y OTROS LENGUAJES
Lenguajes de bases de datos
s   Lenguaje de definición de datos DDL, es
    una serie de definiciones que especifican el
    esquema de la base de datos
s   Lenguaje de manejo de datos DML,
    permite manipular la base de datos,
    utilizando las operaciones de recuperar,
    insertar, actualizar y borrar. Hay 2 tipos:
    - DML procedimental, se especifica qué
    datos se necesitan y cómo obtenerlos.
    - DML no procedimentales, solo se indica
    qué datos se necesitan, no cómo
    obtenerlos.
SQL
s SQL se ha establecido claramente en el lenguaje estándar de
  bases de datos relacionales.
s Es un lenguaje LDD o de definición de datos, LMD de
  manipulación de datos, y LCD o de control de datos. Todo
  esto en un solo lenguaje SQL.
s Los comandos más importante son:
s LDD, definición de datos:
  CREATE TABLE, CREATE INDEX, CREATE VIEW, DROP
  TABLE, DROP INDEX, DROP VIEW, ALTER TABLE,
  COMMENT.
s LMD, manipulación de datos:
  SELECT, INSERT, UPDATE, DELETE.
s LCD, control de datos:
  GRANT, REVOKE, COMMIT, ROOLBACK.
SQL
                      SELECT
s   Permite recuperar información de la base de datos.
s   Junto con insert, update y delete permiten manipular los
    datos de cualquier forma.

            SELECT - SELECCIÓN
       préstamo      (nom_suc    nro_pres    importe)
                     CAÑOTO         144      1500
                     BOLIVAR        122      1200
                     JUNIN          125      1800
                     BOQUERON       188      1500
                     JUNIN          132      1600
                     BOLIVAR        177      1550
    Ej.1.- “Los préstamos de la sucursal JUNIN” :
    select * from prestamo where
         nom_suc=‘JUNIN’
                  JUNIN       125         1800
                  JUNIN       132         1600
SQL
   SELECT - SELECCIÓN
préstamo     (nom_suc   nro_pres   importe)
             CAÑOTO     144        1500
             BOLIVAR    122        1200
             JUNIN      125        1800
             BOQUERON   188        1500
             JUNIN      132        1600
             BOLIVAR    177        1550

  Ej.2.- “Los préstamos de la sucursal JUNIN,
  con importe mayor a 1650” :
  select * from prestamo where
     nom_suc=‘JUNIN’ and importe>1650
     JUNIN       125      1800
SQL
SELECT - SELECCIÓN
resp_presta   (nom_clien   nom_emple nro_pres)
              SUCHA        RAMONA     134
              MARCO        JAIME      122
              RUBÉN        RUBÉN      178



Ej.3.- “Los clientes que tienen el mismo nombre que
su oficial de créditos” :
select * from resp_presta where
   nom_clien=nom_emple

         RUBÉN       RUBÉN      178
SQL
  SELECT - PROYECCIÓN
préstamo   (nom_suc   nro_pres   importe)
           CAÑOTO     144        1500
           BOLIVAR    122        1200
           JUNIN      125        1800
           BOQUERON   188        1500
           JUNIN      132        1600
           BOLIVAR    177        1550

  Ej.4.- “Número de préstamo e importe de los
  préstamos con importe mayor a 1500” :
  select nro_pres, importe from préstamo
     where importe = 1500         125       1800
                                  132       1600
                                  177       1550
SQL
SELECT - PROYECCIÓN
resp_presta   (nom_clien   nom_emple nro_pres)
              SUCHA        RAMONA     134
              MARCO        JAIME      122
              RUBÉN        RUBÉN      178


 Ej.5.- “Los clientes que tienen el mismo nombre que
 su oficial de créditos, sin repetir el nombre” :
 select nom_clien from resp_presta
   where nom_clien=nom_emple

                  RUBÉN
SQL
    SELECT - PRODUCTO
cliente                         resp_presta
(nom_clien    calle     ciudad) (nom_clien nom_emple nro_pres)
MARCO        calle5     La Paz      SUCHA   RAMONA      134
RUBÉN        calle12    Potosí      MARCO   JAIME       122
                                    RUBÉN   RUBÉN       178

Ej.6.- “Los clientes que tienen oficial y la ciudad
donde radican”. Select * from cliente, resp_presta:
 cliente.                         resp_presta.
 nom_clien    calle      ciudad   nom_clien nom_emple
 MARCO        calle5     La Paz    SUCHA     RAMONA     134
 MARCO        calle5     La Paz    MARCO     JAIME      122
 MARCO        calle5     La Paz    RUBÉN     RUBÉN      178
 RUBÉN        calle12    Potosí    SUCHA     RAMONA     134
 RUBÉN        calle12    Potosí    MARCO     JAIME      122
 RUBÉN        calle12    Potosí    RUBÉN     RUBÉN      178
SQL
    SELECT - PRODUCTO
Select * from cliente, resp_presta :
cliente.                        resp_presta.
nom_clien   calle      ciudad   nom_clien nom_emple nro_pres
MARCO       calle5     La Paz    SUCHA      RAMONA    134
MARCO       calle5     La Paz    MARCO      JAIME     122
MARCO       calle5     La Paz    RUBÉN      RUBÉN     178
RUBÉN       calle12    Potosí    SUCHA      RAMONA    134
RUBÉN       calle12    Potosí    MARCO      JAIME     122
RUBÉN       calle12    Potosí    RUBÉN      RUBÉN     178

Select * from cliente, resp_presta where
   resp_presta.nom_clien, cliente.nom_clien
cliente.                        atiende.
nom_clien    calle     ciudad   nom_clien   nom_emple nro_pres
 MARCO       calle5    La Paz     MARCO      JAIME    122
 RUBÉN       calle12   Potosí     RUBÉN      RUBÉN    178
SQL
         SELECT - PRODUCTO
  Select * from cliente, resp_présta
    where resp_presta.nom_clien, cliente.nom_clien
       cliente.                         resp_préstamo.
       nom_clien   calle     ciudad     nom_clien nom_emple nro_pres
       MARCO       calle5    La Paz      MARCO     JAIME    122
       RUBÉN       calle12   Potosí      RUBÉN     RUBÉN    178

Select cliente.nom_clien, ciudad from cliente, resp_présta
  where resp_presta.nom_clien, cliente.nom_clien
                    cliente.
                    nom_clien ciudad
                    MARCO      La Paz
                    RUBÉN      Potosí
SQL
   SELECT - RENOMBRAR
s Permite cambiar el nombre de la relación,
  para diferenciar atributos del mismo nombre.
 cliente                        resp_presta
 (nom_clien    calle    ciudad) (nom_clien nom_emple nro_pres)
 SUCHA        calle5    Sta. Cruz   SUCHA   RAMONA    134
 RUBÉN        calle12   Potosí      MARCO   JAIME     122
 RAMONA       calle8    Tarija      RUBÉN   RUBÉN     178
 RENATO       calle1    Potosí


  Select * from cliente, resp_presta, cliente as cl
SQL
      SELECT - UNION
       prestatario   (nro_pres   nom_clien)
                      144         MARCO
                      125         SUCHA

       impositor     (nro_cuen   nom_clien)
                      174         MARCO
                      182         RUBEN


Ej.7.- “Los clientes que tienen préstamo o depósito”
(select nom_clien from prestatario) union
(select nom_clien from impositor)
            nom_suc
            MARCO
            SUCHA
            RUBEN
SQL
SELECT - DIFERENCIA
       prestatario   (nro_pres   nom_clien)
                      144         MARCO
                      125         SUCHA

       impositor     (nro_cuen   nom_clien)
                      174         MARCO
                      182         RUBEN

Ej.7.- “Los clientes que tienen préstamo pero no
tienen depósito”
(select nom_clien from prestatario) except
(select nom_clien from impositor)
            nom_suc
           SUCHA
SQL
SELECT - INTERSECCIÓN
        prestatario   (nro_pres   nom_clien)
                       144         MARCO
                       125         SUCHA

        impositor     (nro_cuen   nom_clien)
                       174         MARCO
                       182         RUBEN


 Ej.7.- “Los clientes que tienen préstamo y depósito”
 (select nom_clien from prestatario) intersect
 (select nom_clien from impositor)
             nom_suc
            MARCO
SQL
    SELECT - OUTER JOIN
s Reunión externa.- Cuando hacemos
  producto natural, las tuplas de una tabla que
  no se combinan con tuplas de la otra tabla
  no aparecen en la relación resultante.
1    Select * from tabla1, tabla2
      where tabla1.columna (+) = tabla2.columna
     en el producto natural mantiene las tuplas de
     r que no se combinan.
SQL
   SELECT - OUTER JOIN
2 Select * from tabla1, tabla2
     where tabla1.columna = tabla2.columna
  (+)
  en el producto natural mantiene las tuplas de
  s que no se combinan.
3 Select * from tabla1, tabla2 where
  tabla1.columna (+) = tabla2.columna (+)
  en el producto natural mantiene las tuplas de
  r y s que no se combinan.
SQL
SELECT - FUNCIONES AGREGADAS
 s Funciones agregadas.- se puede usar las
   funciones agregadas: sum, avg, max, min,
   count, count_distinct, etc. Se usan así:
   select sum(importe) from préstamo
   suma todos los importes de la relación
   préstamo.
 s Agrupación.- Saca los resultados agrupando
   por los atributos indicados. La forma es:
   select sum(importe) from préstamo
     group by nom_suc
   suma los préstamos de cada sucursal.
SQL
                  DELETE

s Hasta ahora todos los programas se han
  centrado en extraer información. Es
  necesario además, insertar, borrar y
  modificar información en la base de datos.
s Borrado.- Permite eliminar tuplas de la
  base de datos. Se expresa así:
  delete from r where <condición>
  donde r es una relación y es una condición
  where de SQL, que obtiene las tuplas de r
  que se eliminarán.
SQL
         INSERT, UPDATE
s Inserción.- Permite aumentar una o varias
  tuplas en la base de datos. Se usa:
  insert into r E
  donde r es una relación y E es un consulta
  “select” o “values(...)” donde se indican los
  datos de la tupla a insertar.
s Actualización.- Permite modificar uno o
  varios valores de la base de datos. Se puede
  usar la proyección extendida:
  update set <asigna> where <condición>
SQL
               VISTAS
s create view v as E; donde E es una
  consulta “select” del SQL, y v es el nombre
  de la vista.
QBE
s Query by example QBE es un lenguaje para
  bases de datos relacionales, basado en el
  cálculo relacional de dominios.
s Por tanto es lo más próximo a un lenguaje
  no procedural, en la práctica no existe como
  lenguaje, está inmerso en los lenguajes
  comerciales, con excelentes resultados.
s También se conoce el QUEL basado en el
  cálculo relacional de tuplas, el cual no los
  trataremos.
QBE
            SELECT

s Permite recuperar información de la
  base de datos. QBE elimina los
  resultados duplicados por default.
s Junto con insert, update y delete
  permiten manipular los datos de
  cualquier forma.
QBE
   SELECT - SELECCIÓN
resp_préstamo        (nom_clien        nom_emple nro_pres)
                     SUCHA         RAMONA          134
                     MARCO         JAIME           122
                     RUBÉN         RUBÉN           178



  Ej.3.- “Los clientes que tienen el mismo nombre que
  su oficial de créditos” :
        resp_préstamo      nom_clien       nom_emple     nro_pres
                P.                _x          _x

           RUBÉN            RUBÉN           178
SQL
                   DELETE

s Hasta ahora todos los programas se han
  centrado en extraer información. Es
  necesario además, insertar, borrar y
  modificar información en la base de datos.
s Borrado.- Permite eliminar tuplas de la
  base de datos. Por ejemplo para eliminar los
  préstamos de la sucursal JUNIN:
        préstamo   nom_suc   nro_pres   importe
           D.      BOLIVAR
QBE
         INSERT, UPDATE
s Inserción.- Permite aumentar una o varias
  tuplas en la base de datos. Por ejemplo para
  insertar un cliente:
           cliente      nom_clien   calle     ciudad
              I.        JOSELITO     ca3       SCZ


s Actualización.- Permite modificar uno o
  varios valores de la base de datos. Por
  ejemplo para incrementar el 5% a todos los
  saldos de las cuentas:
         cuenta      nom_suc   nro_cuen      saldo
           U.                               _x * 1.05
                                               _x

Contenu connexe

Similaire à Inicio Base de Datos( Lenguajes) (12)

FSI-BD-T7-EjerciciosSQLResueltos.pdf
FSI-BD-T7-EjerciciosSQLResueltos.pdfFSI-BD-T7-EjerciciosSQLResueltos.pdf
FSI-BD-T7-EjerciciosSQLResueltos.pdf
 
Sql2
Sql2Sql2
Sql2
 
Practica5
Practica5Practica5
Practica5
 
Presentacio sql ok
Presentacio sql okPresentacio sql ok
Presentacio sql ok
 
Trabajando con sentencia SELECT y parámetros
Trabajando con sentencia SELECT y parámetrosTrabajando con sentencia SELECT y parámetros
Trabajando con sentencia SELECT y parámetros
 
Sql2
Sql2Sql2
Sql2
 
Ejercicios De Sql
Ejercicios De SqlEjercicios De Sql
Ejercicios De Sql
 
Ejercicios SQL
Ejercicios SQLEjercicios SQL
Ejercicios SQL
 
PROYECTODEBASEDEDATOSJESSI
PROYECTODEBASEDEDATOSJESSIPROYECTODEBASEDEDATOSJESSI
PROYECTODEBASEDEDATOSJESSI
 
Manual sql server
Manual sql serverManual sql server
Manual sql server
 
Manualsqlserverparte
ManualsqlserverparteManualsqlserverparte
Manualsqlserverparte
 
Consultas de tablas con comando de SQL
Consultas de tablas  con comando de SQLConsultas de tablas  con comando de SQL
Consultas de tablas con comando de SQL
 

Dernier

Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Fernando Solis
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
pvtablets2023
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
UPTAIDELTACHIRA
 

Dernier (20)

Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptxRESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
RESULTADOS DE LA EVALUACIÓN DIAGNÓSTICA 2024 - ACTUALIZADA.pptx
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 

Inicio Base de Datos( Lenguajes)

  • 1. BASE DE DATOS SQL Y OTROS LENGUAJES
  • 2. Lenguajes de bases de datos s Lenguaje de definición de datos DDL, es una serie de definiciones que especifican el esquema de la base de datos s Lenguaje de manejo de datos DML, permite manipular la base de datos, utilizando las operaciones de recuperar, insertar, actualizar y borrar. Hay 2 tipos: - DML procedimental, se especifica qué datos se necesitan y cómo obtenerlos. - DML no procedimentales, solo se indica qué datos se necesitan, no cómo obtenerlos.
  • 3. SQL s SQL se ha establecido claramente en el lenguaje estándar de bases de datos relacionales. s Es un lenguaje LDD o de definición de datos, LMD de manipulación de datos, y LCD o de control de datos. Todo esto en un solo lenguaje SQL. s Los comandos más importante son: s LDD, definición de datos: CREATE TABLE, CREATE INDEX, CREATE VIEW, DROP TABLE, DROP INDEX, DROP VIEW, ALTER TABLE, COMMENT. s LMD, manipulación de datos: SELECT, INSERT, UPDATE, DELETE. s LCD, control de datos: GRANT, REVOKE, COMMIT, ROOLBACK.
  • 4. SQL SELECT s Permite recuperar información de la base de datos. s Junto con insert, update y delete permiten manipular los datos de cualquier forma. SELECT - SELECCIÓN préstamo (nom_suc nro_pres importe) CAÑOTO 144 1500 BOLIVAR 122 1200 JUNIN 125 1800 BOQUERON 188 1500 JUNIN 132 1600 BOLIVAR 177 1550 Ej.1.- “Los préstamos de la sucursal JUNIN” : select * from prestamo where nom_suc=‘JUNIN’ JUNIN 125 1800 JUNIN 132 1600
  • 5. SQL SELECT - SELECCIÓN préstamo (nom_suc nro_pres importe) CAÑOTO 144 1500 BOLIVAR 122 1200 JUNIN 125 1800 BOQUERON 188 1500 JUNIN 132 1600 BOLIVAR 177 1550 Ej.2.- “Los préstamos de la sucursal JUNIN, con importe mayor a 1650” : select * from prestamo where nom_suc=‘JUNIN’ and importe>1650 JUNIN 125 1800
  • 6. SQL SELECT - SELECCIÓN resp_presta (nom_clien nom_emple nro_pres) SUCHA RAMONA 134 MARCO JAIME 122 RUBÉN RUBÉN 178 Ej.3.- “Los clientes que tienen el mismo nombre que su oficial de créditos” : select * from resp_presta where nom_clien=nom_emple RUBÉN RUBÉN 178
  • 7. SQL SELECT - PROYECCIÓN préstamo (nom_suc nro_pres importe) CAÑOTO 144 1500 BOLIVAR 122 1200 JUNIN 125 1800 BOQUERON 188 1500 JUNIN 132 1600 BOLIVAR 177 1550 Ej.4.- “Número de préstamo e importe de los préstamos con importe mayor a 1500” : select nro_pres, importe from préstamo where importe = 1500 125 1800 132 1600 177 1550
  • 8. SQL SELECT - PROYECCIÓN resp_presta (nom_clien nom_emple nro_pres) SUCHA RAMONA 134 MARCO JAIME 122 RUBÉN RUBÉN 178 Ej.5.- “Los clientes que tienen el mismo nombre que su oficial de créditos, sin repetir el nombre” : select nom_clien from resp_presta where nom_clien=nom_emple RUBÉN
  • 9. SQL SELECT - PRODUCTO cliente resp_presta (nom_clien calle ciudad) (nom_clien nom_emple nro_pres) MARCO calle5 La Paz SUCHA RAMONA 134 RUBÉN calle12 Potosí MARCO JAIME 122 RUBÉN RUBÉN 178 Ej.6.- “Los clientes que tienen oficial y la ciudad donde radican”. Select * from cliente, resp_presta: cliente. resp_presta. nom_clien calle ciudad nom_clien nom_emple MARCO calle5 La Paz SUCHA RAMONA 134 MARCO calle5 La Paz MARCO JAIME 122 MARCO calle5 La Paz RUBÉN RUBÉN 178 RUBÉN calle12 Potosí SUCHA RAMONA 134 RUBÉN calle12 Potosí MARCO JAIME 122 RUBÉN calle12 Potosí RUBÉN RUBÉN 178
  • 10. SQL SELECT - PRODUCTO Select * from cliente, resp_presta : cliente. resp_presta. nom_clien calle ciudad nom_clien nom_emple nro_pres MARCO calle5 La Paz SUCHA RAMONA 134 MARCO calle5 La Paz MARCO JAIME 122 MARCO calle5 La Paz RUBÉN RUBÉN 178 RUBÉN calle12 Potosí SUCHA RAMONA 134 RUBÉN calle12 Potosí MARCO JAIME 122 RUBÉN calle12 Potosí RUBÉN RUBÉN 178 Select * from cliente, resp_presta where resp_presta.nom_clien, cliente.nom_clien cliente. atiende. nom_clien calle ciudad nom_clien nom_emple nro_pres MARCO calle5 La Paz MARCO JAIME 122 RUBÉN calle12 Potosí RUBÉN RUBÉN 178
  • 11. SQL SELECT - PRODUCTO Select * from cliente, resp_présta where resp_presta.nom_clien, cliente.nom_clien cliente. resp_préstamo. nom_clien calle ciudad nom_clien nom_emple nro_pres MARCO calle5 La Paz MARCO JAIME 122 RUBÉN calle12 Potosí RUBÉN RUBÉN 178 Select cliente.nom_clien, ciudad from cliente, resp_présta where resp_presta.nom_clien, cliente.nom_clien cliente. nom_clien ciudad MARCO La Paz RUBÉN Potosí
  • 12. SQL SELECT - RENOMBRAR s Permite cambiar el nombre de la relación, para diferenciar atributos del mismo nombre. cliente resp_presta (nom_clien calle ciudad) (nom_clien nom_emple nro_pres) SUCHA calle5 Sta. Cruz SUCHA RAMONA 134 RUBÉN calle12 Potosí MARCO JAIME 122 RAMONA calle8 Tarija RUBÉN RUBÉN 178 RENATO calle1 Potosí Select * from cliente, resp_presta, cliente as cl
  • 13. SQL SELECT - UNION prestatario (nro_pres nom_clien) 144 MARCO 125 SUCHA impositor (nro_cuen nom_clien) 174 MARCO 182 RUBEN Ej.7.- “Los clientes que tienen préstamo o depósito” (select nom_clien from prestatario) union (select nom_clien from impositor) nom_suc MARCO SUCHA RUBEN
  • 14. SQL SELECT - DIFERENCIA prestatario (nro_pres nom_clien) 144 MARCO 125 SUCHA impositor (nro_cuen nom_clien) 174 MARCO 182 RUBEN Ej.7.- “Los clientes que tienen préstamo pero no tienen depósito” (select nom_clien from prestatario) except (select nom_clien from impositor) nom_suc SUCHA
  • 15. SQL SELECT - INTERSECCIÓN prestatario (nro_pres nom_clien) 144 MARCO 125 SUCHA impositor (nro_cuen nom_clien) 174 MARCO 182 RUBEN Ej.7.- “Los clientes que tienen préstamo y depósito” (select nom_clien from prestatario) intersect (select nom_clien from impositor) nom_suc MARCO
  • 16. SQL SELECT - OUTER JOIN s Reunión externa.- Cuando hacemos producto natural, las tuplas de una tabla que no se combinan con tuplas de la otra tabla no aparecen en la relación resultante. 1 Select * from tabla1, tabla2 where tabla1.columna (+) = tabla2.columna en el producto natural mantiene las tuplas de r que no se combinan.
  • 17. SQL SELECT - OUTER JOIN 2 Select * from tabla1, tabla2 where tabla1.columna = tabla2.columna (+) en el producto natural mantiene las tuplas de s que no se combinan. 3 Select * from tabla1, tabla2 where tabla1.columna (+) = tabla2.columna (+) en el producto natural mantiene las tuplas de r y s que no se combinan.
  • 18. SQL SELECT - FUNCIONES AGREGADAS s Funciones agregadas.- se puede usar las funciones agregadas: sum, avg, max, min, count, count_distinct, etc. Se usan así: select sum(importe) from préstamo suma todos los importes de la relación préstamo. s Agrupación.- Saca los resultados agrupando por los atributos indicados. La forma es: select sum(importe) from préstamo group by nom_suc suma los préstamos de cada sucursal.
  • 19. SQL DELETE s Hasta ahora todos los programas se han centrado en extraer información. Es necesario además, insertar, borrar y modificar información en la base de datos. s Borrado.- Permite eliminar tuplas de la base de datos. Se expresa así: delete from r where <condición> donde r es una relación y es una condición where de SQL, que obtiene las tuplas de r que se eliminarán.
  • 20. SQL INSERT, UPDATE s Inserción.- Permite aumentar una o varias tuplas en la base de datos. Se usa: insert into r E donde r es una relación y E es un consulta “select” o “values(...)” donde se indican los datos de la tupla a insertar. s Actualización.- Permite modificar uno o varios valores de la base de datos. Se puede usar la proyección extendida: update set <asigna> where <condición>
  • 21. SQL VISTAS s create view v as E; donde E es una consulta “select” del SQL, y v es el nombre de la vista.
  • 22. QBE s Query by example QBE es un lenguaje para bases de datos relacionales, basado en el cálculo relacional de dominios. s Por tanto es lo más próximo a un lenguaje no procedural, en la práctica no existe como lenguaje, está inmerso en los lenguajes comerciales, con excelentes resultados. s También se conoce el QUEL basado en el cálculo relacional de tuplas, el cual no los trataremos.
  • 23. QBE SELECT s Permite recuperar información de la base de datos. QBE elimina los resultados duplicados por default. s Junto con insert, update y delete permiten manipular los datos de cualquier forma.
  • 24. QBE SELECT - SELECCIÓN resp_préstamo (nom_clien nom_emple nro_pres) SUCHA RAMONA 134 MARCO JAIME 122 RUBÉN RUBÉN 178 Ej.3.- “Los clientes que tienen el mismo nombre que su oficial de créditos” : resp_préstamo nom_clien nom_emple nro_pres P. _x _x RUBÉN RUBÉN 178
  • 25. SQL DELETE s Hasta ahora todos los programas se han centrado en extraer información. Es necesario además, insertar, borrar y modificar información en la base de datos. s Borrado.- Permite eliminar tuplas de la base de datos. Por ejemplo para eliminar los préstamos de la sucursal JUNIN: préstamo nom_suc nro_pres importe D. BOLIVAR
  • 26. QBE INSERT, UPDATE s Inserción.- Permite aumentar una o varias tuplas en la base de datos. Por ejemplo para insertar un cliente: cliente nom_clien calle ciudad I. JOSELITO ca3 SCZ s Actualización.- Permite modificar uno o varios valores de la base de datos. Por ejemplo para incrementar el 5% a todos los saldos de las cuentas: cuenta nom_suc nro_cuen saldo U. _x * 1.05 _x