Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


sub consultas en base de datos, Apuntes de Informática

tema subconsultas en base de datos

Tipo: Apuntes

2016/2017

Subido el 19/12/2017

jesus-nopalsico
jesus-nopalsico 🇲🇽

1 documento

1 / 6

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
UNIVERSIDAD JOSE VASCONCELOS
INGENIERIA EN SOFTWARE Y SISTEMAS COMPUTACIONALES
BASE DE DATOS II
PROFESOR: BENITO GALVAN SÁNCHEZ
VIERNES – MIXTO
Jesus Reyna Hernandez
BASE DE DATOS DISTRIBUIDA
Es una colección de datos que pertenecen lógicamente a un solo sistema, pero se
encuentra físicamente distribuido en varios computadores o servidores de datos en
una red de computadoras. Un sistema de bases de datos distribuidas se compone
de un conjunto de sitios lógicos, conectados entre sí, mediante algún tipo de red
de comunicaciones.
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga sub consultas en base de datos y más Apuntes en PDF de Informática solo en Docsity!

UNIVERSIDAD JOSE VASCONCELOS

INGENIERIA EN SOFTWARE Y SISTEMAS COMPUTACIONALES

BASE DE DATOS II

PROFESOR: BENITO GALVAN SÁNCHEZ

VIERNES – MIXTO

Jesus Reyna Hernandez

BASE DE DATOS DISTRIBUIDA

Es una colección de datos que pertenecen lógicamente a un solo sistema, pero se encuentra físicamente distribuido en varios computadores o servidores de datos en una red de computadoras. Un sistema de bases de datos distribuidas se compone de un conjunto de sitios lógicos, conectados entre sí, mediante algún tipo de red de comunicaciones.

Cada sitio lógico puede tener un sistema de base de datos.

Los sitios han sido diseñados para trabajar en conjunto, con el fin de que un usuario de cualquier posición geográfica pueda obtener acceso a los datos desde cualquier punto de la red tal como si todos los datos estuvieran almacenados en la posición propia del usuario. Entonces, la "Base de Datos Distribuida" es en realidad una especie de “objeto virtual”, cuyos componentes se almacenan físicamente en varias “bases de datos reales” ubicadas en diferentes sitios. En esencia es la unión lógica de esas diferentes bases de datos.

En otras palabras, cada sitio tiene sus propias “bases de datos reales" locales, sus propios usuarios locales, sus propios SGBD y programas para la administración de transacciones y su propio administrador de comunicación de datos. El sistema de bases de datos distribuidas puede considerarse como una especie de sociedad entre los diferentes SGBD individuales locales. Un nuevo componente de software en cada sitio realiza las funciones de sociedad necesarias; y es la combinación de este nuevo componente y el SGBD ya existente constituyen el llamado Sistema de Administración o Gestión de Bases de Datos Distribuidas - SGBDD. (En ingles DDBMS, Distributed DataBase Management System).

Los datos que se encuentran distribuidos en varios sitios y que están interconectados por una red de comunicaciones tienen capacidad de procesamiento autónomo de transacciones y hacer procesos locales. Cada sitio realiza la ejecución de al menos una transacción global, la cual requiere accesos a datos en diversos sitios.

Los principios fundamentales de un sistema de datos distribuido son:

  1. Autonomía local.
  2. No dependencia de un sitio central.
  3. Operación continúa.
  4. Independencia con respecto a la localización.

dbspaces en el que se ubican los fragmentos forman la estrategia de fragmentación.

Una vez decidido si desea fragmentar filas de tablas, claves de índice o ambas, y cuando haya decidido el modo en que las filas o claves se deben distribuir sobre los fragmentos, debe escoger un esquema para implantar esta distribución.

Cuando crea tablas e índices fragmentados, el servidor de bases de datos almacena la ubicación de cada fragmento de tabla y de índice con otra información relacionada en la tabla de catálogos del sistema denominada sysfragments. Puede utilizar esta tabla para acceder a información sobre las tablas e índices fragmentados. Si utiliza una rutina definida por el usuario como parte de la expresión de fragmentación.

Desde la perspectiva de un usuario final o aplicación cliente, una tabla fragmentada es idéntica a una tabla no fragmentada. Las aplicaciones clientes no necesitan ninguna modificación para permitirles acceder a los datos de tablas fragmentadas.

Para algunos esquemas de distribución, el servidor de bases de datos tiene información sobre los datos contenidos en los fragmentos, de modo que puede direccionar solicitudes de datos de clientes al fragmento adecuado sin tener que acceder a fragmentos no relevantes. (El servidor de bases de datos no puede direccionar peticiones de datos de clientes al fragmento adecuado para esquemas circulares y para algunos esquemas de distribución basados en expresiones.) Si desea obtener más información, consulte el apartado.

SUBCONSULTA

Una subconsulta es una consulta anidada en una instrucción SELECT, INSERT, UPDATE o DELETE, o bien en otra subconsulta. Las subconsultas se pueden utilizar en cualquier parte en la que se permita una expresión. En este ejemplo, se utiliza una subconsulta como una expresión de columna llamada MaxUnitPrice en una instrucción SELECT. USE AdventureWorks2008R2; GO SELECT Ord.SalesOrderID, Ord.OrderDate, (SELECT MAX(OrdDet.UnitPrice) FROM AdventureWorks.Sales.SalesOrderDetail AS OrdDet WHERE Ord.SalesOrderID = OrdDet.SalesOrderID) AS MaxUnitPrice FROM AdventureWorks2008R2.Sales.SalesOrderHeader AS Ord

Se llama también subconsulta a una consulta o selección interna, mientras que la instrucción que contiene una subconsulta también es conocida como consulta o selección externa. Muchas de las instrucciones Transact-SQL que incluyen subconsultas se pueden formular también como combinaciones. Otras preguntas se pueden formular sólo con subconsultas. En Transact-SQL, normalmente no hay diferencias de rendimiento entre una instrucción que incluya una subconsulta y una versión semánticamente equivalente que no la incluya. Sin embargo, en algunos casos en los que se debe comprobar la existencia de un elemento, una combinación produce mejores resultados. De lo contrario, se debe procesar la consulta anidada para cada resultado de la consulta externa con el fin de garantizar la eliminación de los duplicados. En tales casos, la utilización de combinaciones producirá mejores resultados. A continuación aparece un ejemplo que muestra una subconsulta SELECT y una combinación SELECT que devuelven el mismo conjunto de resultados:

/* SELECT statement built using a subquery. */ SELECT Name FROM AdventureWorks2008R2.Production.Product WHERE ListPrice = (SELECT ListPrice FROM AdventureWorks2008R2.Production.Product WHERE Name = 'Chainring Bolts' );

/* SELECT statement built using a join that returns the same result set. */ SELECT Prd1. Name FROM AdventureWorks2008R2.Production.Product AS Prd JOIN AdventureWorks2008R2.Production.Product AS Prd ON (Prd1.ListPrice = Prd2.ListPrice) WHERE Prd2. Name = 'Chainring Bolts';

Una subconsulta anidada en la instrucción externa SELECT tiene los componentes siguientes:

  • Una consulta SELECT normal, que incluye los componentes normales de la lista de selección.
  • Una cláusula normal FROM que incluye uno o varios nombres de tablas o vistas.
  • Una cláusula opcional WHERE.
  • Una cláusula opcional GROUP BY.
  • Una cláusula opcional HAVING.