domingo, 16 de mayo de 2010

GENERACION DE UN SISTEMA DE BASE DE DATOS

GENERACION DE UN SISTEMA DE BASE DE DATOS
  • Cuando hablamos de bases de datos, en nuestras conversaciones nos referimos a datos relacionales. Esto no fue siempre así, antes que el modelo relacional fuese desarrollado, existió otro modelo de datos.Ahora, el caso para considerar las alternativas ha llegado a ser cada vez más fuerte, con las nuevas generaciones de leguajes de desarrollo orientados a objetos se abre una gama de oportunidades a las aplicaciones, y a su vez a las base de datos con la aparición de las bases de datos nativas, orientadas a guardar estos objetos creados por las aplicacionesPrimera generación: modelo jerárquicos y redEl modelo jerárquicosEl modelo de dato de redSegunda generación de bases de datos.: modelo relacionalAccesando el modelo relacionalModelo relacional con programación de procedimientosModelo relacional con programación orienta a objetosTercera generación: modelo post-relacionalEl modelo de objetoEl modelo objeto a relacional
  • LA GENERACION MUESTRA LA DIVERSIDAD DE SISTEMAS QUE SE CREARON Y LOS QUE ACTUALMENTE EXISTEN.
  • CIBER.http://labloguera.net/blogs/elperucho/archive/2007/10/31/generaciones-de-bases-de-datos-un-poco-de-historia.aspx

DISEÑO FISICO DE UNA BASE DE DATOS

DISEÑO FISICO DE UNA BASE DE DATOS
  • diseño de una base de datos se descompone en tres etapas: diseño conceptual, lógico y físico. La etapa del diseño lógico es independiente de los detalles de implementación y dependiente del tipo de SGBD que se vaya a utilizar. La salida de esta etapa es el esquema lógico global y la documentación que lo describe. Todo ello es la entrada para la etapa que viene a continuación, el diseño físico.
    Mientras que en el diseño lógico se especifica qué se guarda, en el diseño físico se especifica cómo se guarda. Para ello, el diseñador debe conocer muy bien toda la funcionalidad del SGBD concreto que se vaya a utilizar y también el sistema informático sobre el que éste va a trabajar. El diseño físico no es una etapa aislada, ya que algunas decisiones que se tomen durante su desarrollo, por ejemplo para mejorar las prestaciones, pueden provocar una reestructuración del esquema lógico.
  • ESTO SE REFIERE A COMO VA ESTAR ESTRUCTURADA NOESTRA INFORMACION.
  • CIBER:http://www.mailxmail.com/curso-diseno-base-datos-relacionales/diseno-fisico-bases-datosT

TRANSFORMACION AL MODELO DE DATOS

TRANSFORMACION AL MODELO DE DATOS
  • el diseño de una base de datos relacional puede seguir dos caminos. Por una parte, puede crearse tomando como punto de partida la observación del universo en estudio, dando lugar a un conjunto de esquemas de relaciones, que contengan los atributos y sus restricciones. Por otra parte, puede dividirse el diseño en dos fases, la primera de las cuales sería definir el modelo conceptual y su esquema, y la segunda transformar el esquema conceptual en un esquema relacional mediante una transformación realizada de acuerdo a unas reglas dadas.
  • ESTO NOS MUESTRA UNA FORMA DE CREAR UNA BASE EN LA QUE MAS SE ACOMODE A NUESTRAS NECESIDADES
  • tramullas.com/documatica/2-8.html

ELECCION DE UN SISTEMA GESTOR DE UNA BASE DE DATOS

ELECCION DE UN SISTEMA GESTOR DE UNA BASE DE DATOS
  • Si no se dispone de un SGBD, o el que hay se encuentra obsoleto, se debe escoger un SGBD que sea adecuado para el sistema de información. Esta elección se debe hacer en cualquier momento antes del diseño lógico.
  • SE DEBE DE ESCOGER UN SGBD DEACUERDO ALAS NECECIDADES QUE SE REQUIERAN PARA EL SISTEMA DE INFORMACION Y ESTA DEBE DE SER ESCOGIDA ANTES DE EL DISEÑO LOGICO
  • CIBER,http://www3.uji.es/~mmarques/f47/apun/node67.html

DISEÑO CONCEPTUAL DE LA BASE DE DATOS

DISEÑO CONCEPTUAL DE LA BASE DE DATOS
1.-Esta etapa consta de tres fases: diseño conceptual, diseño lógico y diseño físico de la base de datos. La primera fase consiste en la producción de un esquema conceptual, que es independiente de todas las consideraciones físicas. Este modelo se refina después en un esquema lógico eliminando las construcciones que no se pueden representar en el modelo de base de datos escogido (relacional, orientado a objetos, etc.). En la tercera fase, el esquema lógico se traduce en un esquema físico para el SGBD escogido. La fase de diseño físico considera las estructuras de almacenamiento y los métodos de acceso necesarios para proporcionar un acceso eficiente a la base de datos en memoria secundaria.
Los objetivos del diseño de la base de datos son:
Representar los datos que requieren las principales áreas de aplicación y los grupos de usuarios, y representar las relaciones entre dichos datos.
Proporcionar un modelo de datos que soporte las transacciones que se vayan a realizar sobre los datos.
Especificar un esquema que alcance las prestaciones requeridas para el sistema.Hay varias estrategias a seguir para realizar el diseño: de abajo a arriba, de arriba a abajo, de dentro a fuera y la estrategia mixta. La estrategia de abajo a arriba parte de todos los atributos y los va agrupando en entidades y relaciones. Es apropiada cuando la base de datos es simple, con pocos atributos. La estrategia de arriba a abajo es más apropiada cuando se trata de bases de datos complejas. Se comienza con un esquema con entidades de alto nivel, que se van refinando para obtener entidades de bajo nivel, atributos y relaciones. La estrategia de dentro a fuera es similar a la estrategia de abajo a arriba, pero difiere en que se parte de los conceptos principales y se va extendiendo el esquema para considerar también otros conceptos, asociados con los que se han identificado en primer lugar. La estrategia mixta utiliza ambas estrategias, de abajo a arriba y de arriba a abajo, con un esquema de divide y vencerás. Se obtiene un esquema inicial de alto nivel, se divide en partes, y de cada parte se obtiene un subesquema. Estos subesquemas se integran después para obtener el modelo final.

2.LO PRINCIPAL EN ESTA ETAPA ES REPRESENTAR LOS DATOS QUE REQUIEREN LOS USUARIOS,PROPORCIONAR UN MODELO DE DATOS Y ESPECIFICAR UN SISTEMA DE DATOS QUE ALCANCE LAS PRESTACIONES REQUERIDAS.

3.-CIBERGRAFIAhttp://www3.uji.es/~mmarques/f47/apun/node67.html

RECOLECCION Y ANALISIS DE INFORMACION

RECOLECCION Y ANÁLISIS DE INFORMACION
  • En esta etapa se recogen y analizan los requerimientos de los usuarios y de las áreas de aplicación. Esta información se puede recoger de varias formas:
    Entrevistando al personal de la empresa, concretamente, a aquellos que son considerados expertos en las áreas de interés.
    Observando el funcionamiento de la empresa.
    Examinando documentos, sobre todo aquellos que se utilizan para recoger o visualizar información.
    Utilizando cuestionarios para recoger información de grandes grupos de usuarios.
    Utilizando la experiencia adquirida en el diseño de sistemas similares.La información recogida debe incluir las principales áreas de aplicación y los grupos de usuarios, la documentación utilizada o generada por estas áreas de aplicación o grupos de usuarios, las transacciones requeridas por cada área de aplicación o grupo de usuarios y una lista priorizada de los requerimientos de cada área de aplicación o grupo de usuarios.
    Esta etapa tiene como resultado un conjunto de documentos con las especificaciones de requisitos de los usuarios, en donde se describen las operaciones que se realizan en la empresa desde distintos puntos de vista.
    La información recogida se debe estructurar utilizando técnicas de especificación de requisitos, como por ejemplo técnicas de análisis y diseño estructurado y diagramas de flujo de datos. También las herramientas CASE ( Computer-Aided Software Engineering) pueden proporcionar una asistencia automatizada que garantice que los requisitos son completos y consistentes.
  • AQUI LO MAS IMPORTANTE ES ANALIZAR Y RECOGER LOS REQUERIMENTOS DE LOS USUARIOS;ENTREVISTANDO OBSERVANDO,EXAMINANDO LA INFORMACION RECOGIDA
  • CIBERGRAFIA:http://www3.uji.es/~mmarques/f47/apun/node67.html

CICLO DE VIDA DEL SISTEMA DE APLICACION DE BASE DE DATOS

CICLO DE VIDA DEL SISTEMA DE APLICACIÓN DE BASE DE DATOS
*Las etapas del ciclo de vida de una aplicación de bases de datos son las siguientes:1.Planificación del proyecto.2.Definición del sistema.3.Recolección y análisis de los requisitos.4.Diseño de la base de datos.5.Selección del SGBD.6.Diseño de la aplicación.7.Prototipado.8.Implementación.9.Conversión y carga de datos.10.Prueba.11.Mantenimiento.Estas etapas no son estrictamente secuenciales. De hecho hay que repetir algunas de las etapas varias veces, haciendo lo que se conocen como ciclos de realimentación. Por ejemplo, los problemas que se encuentran en la etapa del diseño de la base de datos pueden requerir una recolección de requisitos adicional y su posterior análisis.
*Las etapas del ciclo de vida son secuenciales, y algunas de ellas se tiene que repetir varias veces.
* http://www3.uji.es/~mmarques/f47/apun/node67.html

TERCER FORMA NORMAL

TERCERA FORMA NORMAL
*La tercera forma normal (3NF) es una forma normal usada en la normalización de bases de datos. La 3NF fue definida originalmente por E.F. Codd[1] en 1971. La definición de Codd indica que una tabla está en 3NF si y solo si las dos condiciones siguientes se mantienen:La tabla está en la segunda forma normal (2NF)Ningún atributo no-primario de la tabla es dependiente transitivamente de una clave candidataUn atributo no-primario es un atributo que no pertenece a ninguna clave candidato. Una dependencia transitiva es una dependencia funcional X → Z en la cual Z no es inmediatamente dependiente de X, pero sí de un tercer conjunto de atributos Y, que a su vez depende de X. Es decir, X → Z por virtud de X → Y y Y → Z.Una formulación alternativa de la definición de Codd, dada por Carlo Zaniolo[2] en 1982, es ésta: Una tabla está en 3NF si y solo si, para cada una de sus dependencias funcionales X → A, por lo menos una de las condiciones siguientes se mantiene:X contiene A, óX es una superclave, óA es un atributo primario (es decir, A está contenido dentro de una clave candidato)La definición de Zaniolo tiene la ventaja de dar un claro sentido de la diferencia entre la 3NF y la más rigurosa forma normal de Boyce-Codd (BCNF). La BCNF simplemente elimina la tercera alternativa ("A es un atributo primario").
*Para que la tercera fase normal pertenezca a está, la tabla utilizada debe perteneces a la fase dos.
*http://es.wikipedia.org/wiki/3NF

SEGUNDA FORMA NORMAL

SEGUNDA FORMA NORMAL
*La segunda forma normal (2NF) es una forma normal usada en normalización de bases de datos. La 2NF definida originalmente por E.F. Codd[1] en 1971. Una tabla que está en la primera forma normal (1NF) debe satisfacer criterios adicionales para calificar para la segunda forma normal. Específicamente: una tabla 1NF está en 2NF si y solo si, dada cualquier clave candidata y cualquier atributo que no sea un constituyente de la clave candidata, el atributo no clave depende de toda la clave candidata en vez de solo una parte de ella.En términos levemente más formales: una tabla 1NF está en 2NF si y solo si ninguno de sus atributos no-principales son funcionalmente dependientes en una parte (subconjunto apropiado) de una clave candidata. (Un atributo no-principal es uno que no pertenece a ninguna clave candidata).
*La segunda forma normal las cualidades q debe tener la primra fase, deben de satisfacer a la segunda fase.
* http://es.wikipedia.org/wiki/2NF

PRIMERA FORMA NORMAL

PRIMERA FORMA NORMAL
*La primera forma normal (1FN o forma mínima) es una forma normal usada en normalización de bases de datos. Una tabla de base de datos relacional que se adhiere a la 1FN es una que satisface cierto conjunto mínimo de criterios. Estos criterios se refieren básicamente a asegurarse que la tabla es una representación fiel de una relación[1] y está libre de "grupos repetitivos".[2]Sin embargo, el concepto de "grupo repetitivo", es entendido de diversas maneras por diferentes teóricos. Como consecuencia, no hay un acuerdo universal en cuanto a qué características descalificarían a una tabla de estar en 1FN. Muy notablemente, la 1FN, tal y como es definida por algunos autores excluye "atributos relación-valor" (tablas dentro de tablas) siguiendo el precedente establecido por E.F. Codd) (algunos de esos autores son: Ramez Elmasri y Shamkant B. Navathe[3] ). Por otro lado, según lo definido por otros autores, la 1FN sí los permite (por ejemplo como la define Chris Date)
*La primera forma normal, es la que se utiliza en la normalización de base de datos para satisfacer cierto conjunto mínimo de criterios.
* http://es.wikipedia.org/wiki/1NF

NORMALIZACION DE UNA BASE DE DATOS

NORMALIZACIÓN EN UNA BASE DE DATOS

*NORMALIZACIÓN*El proceso de normalización de bases de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional.Las bases de datos relacionales se normalizan para:Evitar la redundancia de los datos.Evitar problemas de actualización de los datos en las tablas.Proteger la integridad de los datos.En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla sea considerada como una relación tiene que cumplir con algunas restricciones:Cada columna debe tener su nombre único.No puede haber dos filas iguales. No se permiten los duplicados.Todos los datos en una columna deben ser del mismo tipo.
*La normalización es aplicar algunas reglas a bases de datos ya establecidas, por el modelo entidad-relación o el modelo relacional.
* http://es.wikipedia.org/wiki/Clave_for%C3%A1nea

lunes, 15 de marzo de 2010

Operadores Primitivos, derivados, adicionales de consulta

OPERADORES PRIMITIVOS

  • A) Unarios Los operadores unarios tienen como operando una única relación; para su definición utilizaremos la siguiente notación: q Restricción o selección La restricción, también llamada selección, de una relación mediante una expresión lógica da como resultado una relación formada por el subconjunto de tuplas que satisface dicha expresión lógica. Se denota mediante la letra s. s condicion_de_seleccion (nombre_de_relacion) Ejemplo: Dada la tabla AUTOR:

AUTOR

Nombre

Nacionalidad

Institucion

Pepe

España

O.N.U.

John

EE.UU.

O.M.S.

Perez

España

I.N.I.

Suárez

España

I.N.E.

Pierre

Francia

N.A.S.A.

Selección de nacionalidad española (AUTOR): s Nacionalidad=”España” (AUTOR) Nombre Nacionalidad Institucion Pepe España O.N.U. Perez España I.N.I. Suárez España I.N.E. q Proyección La proyección de una relación sobre un subconjunto de sus atributos es una relación definida sobre ellos, eliminando las tuplas duplicadas que hubieran podido resultar. Se denota mediante la letra P. P lista_de_atributos (nombre_de_relacion) Ejemplo: Para la tabla AUTOR, la proyección de nacionalidad e institución. P Nacionalidad, Institucion (AUTOR) Nacionalidad Institucion España O.N.U. EE.UU. O.M.S. España I.N.I. España I.N.E. Francia N.A.S.A. En general, es posible que deseemos aplicar varias operaciones de álgebra relacional una tras otra. Para ello podemos escribir las operaciones en una sola expresión del álgebra relacional, anidándolas, o bien, podemos aplicar las operaciones una a una y crear relaciones intermedias. En el segundo caso tendremos que nombrar las relaciones que contienen los resultados intermedios. Ejemplo. Si se quiere obtener el nombre e institución de los autores españoles podemos escribir: P Nombre, Institucion ( s Nacionalidad=”España” (AUTOR) ) O bien mostrar explícitamente la secuencia de operaciones dando un nombre a cada una de ellas. AUTOR_ESP ¬ s Nacionalidad=”España” (AUTOR) RESULTADO ¬ P Nombre, Institucion (AUTOR_ESP) B) Binarios Los operadores binarios se aplican a dos relaciones, y algunos de ellos (unión, diferencia e intersección) exigen que las dos relaciones involucradas sean compatibles en sus esquemas. Es decir deben estar definidas sobre el mismo dominios, lo que no quiere decir que los nombres de los atributos sean los mismos q Unión La unión de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación cuya extensión estará constituida por las tuplas que pertenezcan a una de las dos relaciones o a ambas (se eliminarán las tuplas duplicadas puesto que se trata de una relación). Se denota mediante el símbolo U. Relacion1 U Relacion2 Ejemplo de unión de dos relaciones.
AUTOR

Nombre

Nacionalidad

Institucion

John

EEUU

I1

Juan

España

I2

Pedro

España

I3

Luigi

Italia

I4


EDITOR

Nombre

Nacionalidad

Institucion

Juan

España

I2

Chen

EEUU

I5

Smith

EEUU

I6

Pedro

España

I3


AUTOR U EDITOR

Nombre

Nacionalidad

Institucion

John

EEUU

I1

Juan

España

I2

Pedro

España

I3

Luigi

Italia

I4

Chen

EEUU

I5

Smith

EEUU

I6


Nota: Si la correspondencia de los nombres de los atributos de las relaciones R y R' no fuese 1: 1 sería preciso aplicar la operación de renombrado de atributo en la relación resultante.

q Diferencia La diferencia de dos relaciones compatibles en su esquema es otra relación definida sobre el mismo esquema de relación, cuya extensión estará constituida por el conjunto de tuplas que pertenezcan a la primera relación, pero no a la segunda. Se denota mediante el símbolo

Relacion1 - Relacion2


Ejemplo de diferencia de dos relaciones.

AUTOR

Nombre

Nacionalidad

Institucion

John

EEUU

I1

Juan

España

I2

Pedro

España

I3

Luigi

Italia

I4

EDITOR

Nombre

Nacionalidad

Institucion

Juan

España

I2

Chen

EEUU

I5

Smith

EEUU

I6

Pedro

España

I3


AUTOR -­­ EDITOR

Nombre

Nacionalidad

Institucion

John

EEUU

I1

Luigi

Italia

I4

q Producto cartesiano
Producto cartesiano de dos relaciones de cardinalidades m y n es una relación cuyo esquema estará definido sobre la unión de los atributos de ambas relaciones, y cuya extensión estará constituida por las m x n tuplas formadas concatenando cada tupla de la primera relación con cada una de las tuplas de la segunda. Se denota por la letra x. Relacion1 x Relacion2

Ejemplo:
SOCIO

Codigo

Nombre

Direccion

1

Elena

Madrid

2

Manuel

Bilbao


LIBRO

Libro

Autor

Editorial

BD

Gardarin

McGraw

INFORMIX

Zeroual

Ra-Ma


SOCIO x LIBRO

Codigo

Nombre

Direccion

Libro

Autor

Editorial

1

Elena

Madrid

BD

Gardarin

McGraw

1

Elena

Madrid

INFORMIX

Zeroual

Ra-Ma

2

Manuel

Bilbao

BD

Gardarin

McGraw

2

Manuel

Bilbao

INFORMIX

Zeroual

Ra-Ma


OPERADORES DERIVADOS

Los operadores derivados son aquellos que se pueden expresar siempre en función de operadores primitivos, pero su introducción tiene por fin la simplificación de las consultas.

q Combinación o join La combinación de dos relaciones respecto de sus columnas d y k es otra relación constituida por todos los pares de tuplas concatenadas, tales que, en cada par, las columnas d y k de las correspondientes tuplas satisfacen la condición especificada. Si la condición es de igualdad se denomina combinación por igualdad (también se denomina equijoin o join).
La llamada combinación natural (o join natual) es una combinación por igualdad donde se ha eliminado en la relación resultante uno de los atributos idénticos. Es el caso más utilizado de combinación para relaciones que tienen un atributo común (se suele hablar de join para referirse a esta posibilidad por ser el caso más usual). Se denota mediante el símbolo

Relacion1 Relacion2


Relacion1 Relacion2 Ejemplo:
AUTOR

Nombre

Nacionalidad

Institucion

A1

N1

I1

A2

N2

I2

A3

N3

I3

A4

N4

I4


LIBRO

Libro

Autor

Editorial

L1

A1

E1

L2

A4

E2

L3

A1

E1

L4

A2

E3


Õ Nombre, Nacionalidad, Institucion, Libro, Editorial (sAUTOR.Nombre=LIBRO.Autor (AUTOR x LIBRO))

Nombre

Nacionalidad

Institucion

Libro

Editorial

A1

N1

I1

L1

E1

A1

N1

I1

L3

E1

A2

N2

I2

L4

E3

A4

N4

I4

L2

E2


La combinación es un producto

Cartesiano seguido de restricción, y la combinación natural es un producto cartesiano seguido de una restricción por igualdad y de proyección. q Intersección La intersección de dos relaciones compatibles en sus esquema es otra relación definida sobre el mismo esquema de relación, cuya extensión estará constituida por las tuplas que pertenezcan a ambas relaciones. Se denota por la letra I. Relacion1 I Relacion2 = Relacion1 – (Relacion1 – Relacion2) Ejemplo de intersección de dos relaciones.


AUTOR

Nombre

Nacionalidad

Institucion

A1

N1

I1

A2

N2

I2

A3

N3

I3

A4

N4

I4


EDITOR

Nombre

Nacionalidad

Institucion

A2

N2

I2

A5

N1

I5

A6

N1

I6

A3

N2

I3



AUTOR I­­ EDITOR

Nombre

Nacionalidad

Institucion

A2

N2

I2

A3

N2

I3


q División

La división de dos relaciones otra relación cuya extensión estará formada por las tuplas que al completarse con las tuplas de la segunda relación permiten obtener la primera. Se denota por el símbolo :

Relacion1 : Relacion2 = PA(Relacion1) - PA[(PA(Relacion1) x Relacion2) - Relacion1]

A = { Atributos Relacion1 – Atributos Relacion 2}


Ejemplo de división de dos relaciones.


VINO

Tipo

Cosecha

Calidad

Albariño

1977

Bueno

Ulla

1978

Malo

Condado

1977

Bueno

Condado

1978

Bueno

Amandi

1978

Bueno


CALIDAD_BUENA

Cosecha

Calidad

1977

Bueno

1978

Bueno



Vinos con calidad buena en todas las cosechas:

AUTOR :­­ CALIDAD_BUENA

Tipo

Condado


Es un operador muy útil para simplificar consultas como en el ejemplo donde se desea obtener los vinos con buena calidad en todas las cosechas


Los operadores de consulta estándar son los métodos que forman el modelo de Language-Integrated Query (LINQ). La mayoría de estos métodos funciona en secuencias, donde una secuencia es un objeto cuyo tipo implementa la interfaz IEnumerable<(Of <(T>)>)o la interfaz IQueryable<(Of <(T>)>). Los operadores de consulta estándar proporcionan capacidades de consulta que incluyen filtrado, proyección, agregación, ordenación y otras.

Hay dos conjuntos de operadores de consulta estándar de LINQ, uno que funciona sobre objetos de tipo IEnumerable<(Of <(T>)>) y otro que funciona sobre objetos de tipo IQueryable<(Of <(T>)>). Los métodos que constituyen cada conjunto son miembros estáticos de las clases Enumerable y Queryable, respectivamente. Se definen como métodos de extensión del tipo sobre el que operan. Esto significa que se pueden llamar utilizando sintaxis del método estático o sintaxis del método de instancia.

Además, varios métodos de operador de consulta estándar funcionan con tipos distintos de los que se basan en IEnumerable<(Of <(T>)>) o IQueryable<(Of <(T>)>). El tipo Enumerable define dos de esos métodos, que operan sobre objetos de tipo IEnumerable. Estos métodos, Cast<(Of <(TResult>)>)(IEnumerable) y OfType<(Of <(TResult>)>)(IEnumerable), permiten que una colección no parametrizada, o no genérica, pueda ser consultada en el modelo de LINQ. Esto lo consiguen creando una colección de objetos con establecimiento inflexible de tipos. La clase Queryable define dos métodos similares, Cast<(Of <(TResult>)>)(IQueryable) y OfType<(Of <(TResult>)>)(IQueryable), que operan sobre objetos de tipo Queryable.

Los operadores de consulta estándar difieren en el momento de su ejecución, dependiendo de si devuelven un valor singleton o una secuencia de valores. Los métodos que devuelven un valor singleton (por ejemplo, Average y Sum) se ejecutan inmediatamente. Los métodos que devuelven una secuencia retrasan la ejecución de la consulta y devuelven un objeto enumerable.

En el caso de los métodos que operan sobre colecciones en memoria, es decir, aquellos métodos que extienden IEnumerable<(Of <(T>)>), el objeto enumerable devuelto captura los argumentos que se pasaron al método. Cuando se enumera ese objeto, se emplea la lógica del operador de consulta y se devuelven los resultados de la consulta.

En contraste, los métodos que extienden IQueryable<(Of <(T>)>) no implementan cualquier comportamiento de consulta, sino que generan un árbol de expresión que representa la consulta que se va a realizar. El procesamiento de la consulta es administrado por el objeto IQueryable<(Of <(T>)>) del origen.

Las llamadas a métodos de consulta se pueden encadenar juntas en una sola consulta, lo cual permite hacer consultas arbitrariamente complejas.

  • Los operadores primitivos se dividen en:

Unarios

Restricción o selección

Proyección

Binarios

Unión

Diferencia

Producto cartesiano

Los operadores derivados tienen por fin simplificar las consultas, se expresan en función de los operadores primitivos.

Combinación o Join.

Combinación por igual.

Combinación natural

Intersección

División: las Duplas que al completarse con las Duplas de la segunda relación permiten obtener la primera, simplifica las consultas.

Operadores de consulta