• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Manipulacion de Bases de Datos
 

Manipulacion de Bases de Datos

on

  • 10,758 views

manipulacion de bases de datos, fundamentos de bases de datos

manipulacion de bases de datos, fundamentos de bases de datos

Statistics

Views

Total Views
10,758
Views on SlideShare
10,727
Embed Views
31

Actions

Likes
1
Downloads
121
Comments
0

2 Embeds 31

http://www.slideshare.net 30
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Manipulacion de Bases de Datos Manipulacion de Bases de Datos Presentation Transcript

    • SQL: MANIPULACION DE DATOS Herramienta: Oracle
    • 5.3.5 Subconsultas
      • Se trata de utilizar una instrucción SELECT completa incluida dentro de otra instrucción SELECT.
      • Se pueden utilizar SELECT internos como subconsultas en:
          • Clausulas WHERE y HAVING
          • INSERT, UPDATE y DELETE
      • Existen tres tipos de subconsultas:
          • Subconsulta escalar
          • Subconsulta de fila
          • Subconsulta de tabla
    • 5.3.5 Subconsultas
      • Las reglas aplicables a las subconsultas son las siguientes:
          • No puede utilizarse la cláusula ORDER BY dentro de una subconsulta.
          • La lista SELECT de la subconsulta debe estar compuesta por un único nombre de columna o expresión.
          • De manera predeterminada, los nombres de columna de una subconsulta hacen referencia al nombre de tabla incluido en la clausula FROM de la subconsulta
          • Cuando una subconsulta actúa como uno de los operandos implicados en una comparación. La subconsulta debe aparecer en el lado derecho de la comparación.
    • 5.3.6 ANY y ALL
      • Las palabras clave ANY y ALL pueden utilizarse con aquellas subconsultas que generan una única columna de números.
      • La clave ALL solo será cierta si se ve satisfecha por todos los valores generados por la subconsulta.
      • Si una subconsulta esta precedidad por la clave ANY, la condición sólo será cierta si se va satisfecha por alguno (uno o más) de los valores generados por la subconsulta.
    • Las palabras clave exist y no exist estan diseñadas para utilizarlas unicamente dentro de una subconsulta. Estas palabras clave producen un simple resultado de tipo verdadero / falso. Exist es verdadera si y solo si existe una fila en la tabla de resultados y Es falsa si la subconsulta devuelve una tabla de resultados vacia. No exist es la condicion opuesta a exist. Exist y no exist solo comprueban la existencia o no existencia de filas en la tabla de resultados de la subconsulta, la subconsulta puede tener cualquier numero columnas.
    • SELECT hotelname, city FROM hotel a WHERE EXISTS (select * FROM room b WHERE a.hotelno = b.hotelno AND type = ‘doble'); MUESTRA TODOS LOS HOTELES DONDE EXISTE RESERVACIONES EN HABITACIONES DOBLES
    • SELECT notelname, city FROM hotel a WHERE NO EXISTS (select * FROM room b WHERE a.hotelno = b.hotelno AND type = 'simple'); MUESTRA TODOS LOS HOTELES DONDE NO EXISTE RESERVACIONES EN HABITACIONES SIMPLES
    • En sql podemos utilizar las operaciones normales de conjuntos union, interseccion y diferencia para combinar los resultados de dos o mas consultas en una unica tabla de resultados. Union de dos tablas a y b, es una tabla que contiene todas las filas que estan incluidas en a, en b o en ambas. Intercepcion de dos tablas es una tabla que contiene todas las filas que son comunes tanto en a como en b. Diferencia de dos tablas es una tabla que contiene todas las filas que están contenidas en a pero no en b.
    • SELECT * FROM hotel WHERE (hotelno = 10001) UNION SELECT * FROM hotel WHERE (hotelno = 10003); Existen restricciones sobre las tablas que pueden combinarse mediante estas operaciones de conjuntos, siendo la mas importante aquella que explica que las tablas deben ser compatibles respecto a la union Deben tener la misma estructura, esto implica que las dos tablas pueden contener el mismo numero de columnas y que sus correspondentes columnas deben tener el mismo tipo de dato y longitudes.
    • RESULTADO DE LA UNION DE LOS ELEMENTOS DE LA TABLA HOTEL
    • (SELECT hotelno FROM room WHERE (roomno = 20001) INTERSECT SELECT hotelno FROM booking WHERE (roomno = 20001); Al realizar la consulta utilizando intersect, se ejecutan las sentencias generando una tabla de resultados para la primera consulta y otra tabla a partir de la segunda consulta y luego creando una unica tabla de resultados compuesta por todas las filas que sean comunes a ambas tablas.
    • RESULTADO DE LA INTERCEPCION DE LOS ELEMENTOS DE LAS TABLAS ROOM Y BOOKING
    • SELECT DISTINCT hotelno FROM Hotel WHERE hotelno NOT IN (SELECT hotelno FROM Room WHERE type = 'Doble'); Al realizar la consulta utilizando except se produce una tabla de resultados a partir de la primera consutla y otra tabla de la segunda, luego se crea una tabla compuesta por las flas que aparecen en la primera tabla de resultados, pero no en la segunda
    • RESULTADO DE LA DISTINCION DEL NUMERO DE HOTEL EN DONDE EN CUARTOS DOBLES HAY RESERVACIONES Todos excepto estas condiciones
    • 5.3.10 ACTUALIZACIONES DE LA BASE DE DATOS
      • SQL nos ofrece tres instrucciones para modificar los contenidos de las tablas de la base de datos.
        • INSERT: añade nuevas filas de datos a una tabla.
        • UPDATE: modifica los datos existentes en una tabla.
        • DELETE: elimina filas de datos de una tabla
      • Existen dos formas de instrucciones INSERT.
      • La primera permite insertar una única fila en una tabla especificada, y su formato es el siguiente:
      • INSERT INTO Nombre Tabla [(Lista Columnas)] VALUES (lista_valores_datos)
      • La segunda forma de la instrucción INSERT permite copiar múltiples filas de una o más tablas en otra tabla, su formato es:
      • INSERT INTO nombre [(ListaColumnas)] SELECT…
      INSTRUCCIÓN INSERT
      • Ejemplos:
      • Insertar una nueva fila en la tabla Hotel.
      • Permite modificar el contenido de filas ya existentes en una tabla especificada, su formato es:
      • UPDATE NombreTabla
      • SET NombreColumna1= valorDatos1[,NombreColumna2=valorDatos2…]
      • [WHERE condiciónBúsqueda]
      • La cláusula SET especifica los nombre de una o más columnas que hay que actualizar.
      INSTRUCCIÓN UPDATE
      • Ejemplos:
      • Incrementar un 2% el precio de las habitaciones dobles y cambiar el tipo de la habitación doble a simple.
    • INSTRUCCIÓN DELETE
      • Permite borrar filas de una tabla especificada. El formato del comando es:
      • DELETE FROM NombreTabla [WHERE CondicionBúsqueda]
      • De igual manera la condición de búsqueda es opcional; si se la omite, todas las filas serán borradas de la tabla
      • Si necesitamos borrar una tabla, debemos utilizar la instrucción DROP TABLE.
      • Ejemplos:
      • Borrar una fila de la tabla Hotel donde RoomNo=10005.