• No se han encontrado resultados

Modelos de bases de datos

N/A
N/A
Protected

Academic year: 2021

Share "Modelos de bases de datos"

Copied!
11
0
0

Texto completo

(1)

Modelos de bases de datos

Además de la clasificación por la función de las bases de datos, éstas también se pueden clasificar de acuerdo a su modelo de administración de datos.

Un modelo de datos es básicamente una "descripción" de algo conocido como contenedor

de datos (algo en donde se guarda la información), así como de los métodos para almacenar

y recuperar información de esos contenedores. Los modelos de datos no son cosas físicas: son abstracciones que permiten la implementación de un sistema eficiente de base de

datos; por lo general se refieren a algoritmos, y conceptos matemáticos.

Algunos modelos con frecuencia utilizados en las bases de datos:

Bases de datos jerárquicas

Éstas son bases de datos que, como su nombre indica, almacenan información en una estructura jerárquica. En este modelo los datos se organizan en una forma similar a un árbol (visto al revés), en donde un nodo padre de información puede tener varios hijos. El nodo que no tiene padres es llamado raíz, y a los nodos que no tienen hijos se los conoce como

hojas.

Las bases de datos jerárquicas son especialmente útiles en el caso de aplicaciones que manejan un gran volumen de información y datos muy compartidos permitiendo crear estructuras estables y de gran rendimiento.

Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos.

Base de datos de red

Éste es un modelo ligeramente distinto del jerárquico; su diferencia fundamental es la modificación del concepto de nodo: se permite que un mismo nodo tenga varios padres (posibilidad no permitida en el modelo jerárquico).

Fue una gran mejora con respecto al modelo jerárquico, ya que ofrecía una solución eficiente al problema de redundancia de datos; pero, aun así, la dificultad que significa administrar la información en una base de datos de red ha significado que sea un modelo utilizado en su mayoría por programadores más que por usuarios finales.

Base de datos relacional

Éste es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postulados sus fundamentos en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de "relaciones". Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados "tuplas". Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar

(2)

Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar. Esto es pensando en cada relación como si fuese una tabla que está compuesta por registros (las filas de una tabla), que representarían las tuplas, y campos (las columnas de una tabla). En este modelo, el lugar y la forma en que se almacenen los datos no tienen relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar para un usuario esporádico de la base de datos. La información puede ser recuperada o almacenada mediante "consultas" que ofrecen una amplia flexibilidad y poder para administrar la información.

El lenguaje más habitual para construir las consultas a bases de datos relacionales es SQL,

Structured Query Language o Lenguaje Estructurado de Consultas, un estándar

implementado por los principales motores o sistemas de gestión de bases de datos relacionales.

Durante su diseño, una base de datos relacional pasa por un proceso al que se le conoce como normalización de una base de datos.

Durante los años '80 (1980-1989) la aparición de dBASE produjo una revolución en los lenguajes de programación y sistemas de administración de datos. Aunque nunca debe olvidarse que dBase no utilizaba SQL como lenguaje base para su gestión.

Bases de datos orientadas a objetos

Este modelo, bastante reciente, y propio de los modelos informáticos orientados a objetos, trata de almacenar en la base de datos los objetos completos (estado y comportamiento). Una base de datos orientada a objetos es una base de datos que incorpora todos los conceptos importantes del paradigma de objetos:

• Encapsulación - Propiedad que permite ocultar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.

• Herencia - Propiedad a través de la cual los objetos heredan comportamiento dentro de una jerarquía de clases.

• Polimorfismo - Propiedad de una operación mediante la cual puede ser aplicada a distintos tipos de objetos.

En bases de datos orientadas a objetos, los usuarios pueden definir operaciones sobre los datos como parte de la definición de la base de datos. Una operación (llamada función) se especifica en dos partes. La interfaz (o signatura) de una operación incluye el nombre de la operación y los tipos de datos de sus argumentos (o parámetros). La implementación (o método) de la operación se especifica separadamente y puede modificarse sin afectar la interfaz. Los programas de aplicación de los usuarios pueden operar sobre los datos invocando a dichas operaciones a través de sus nombres y argumentos, sea cual sea la forma en la que se han implementado. Esto podría denominarse independencia entre programas y operaciones.

Se está trabajando en SQL3, que es el estándar de SQL92 ampliado, que soportará los nuevos conceptos orientados a objetos y mantendría compatibilidad con SQL92.

(3)

Sistema de gestión de base de datos

Los sistemas de gestión de base de datos (SGBD); (en inglés: Database management

system, abreviado DBMS) son un tipo de software muy específico, dedicado a servir de

interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.

Propósito

El propósito general de los sistemas de gestión de base de datos es el de manejar de manera clara, sencilla y ordenada un conjunto de datos que posteriormente se convertirán en información relevante, para un buen manejo de datos.

Objetivos

Existen distintos objetivos que deben cumplir los SGBD:

Abstracción de la información. Los SGBD ahorran a los usuarios detalles acerca del almacenamiento físico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. Así, se definen varios

niveles de abstracción.

Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.

Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los cálculos hace necesaria la aparición de redundancias.

Consistencia. En aquellos casos en los que no se ha logrado esta redundancia nula, será necesario vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.

Seguridad. La información almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta información se encuentra segura frente a usuarios malintencionados, que intenten leer información privilegiada; frente a ataques que deseen manipular o destruir la información; o simplemente ante las torpezas de algún usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categorías de permisos.

Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la información almacenada.

Respaldo y recuperación. Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder.

(4)

Control de la concurrencia. En la mayoría de entornos (excepto quizás el doméstico), lo más habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar información, bien para almacenarla. Y es también frecuente que dichos accesos se realicen de forma simultánea. Así pues, un SGBD debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.

Tiempo de respuesta. Lógicamente, es deseable minimizar el tiempo que el SGBD tarda en darnos la información solicitada y en almacenar los cambios realizados.

Ventajas

1. Facilidad de manejo de grandes volúmenes de información. 2. Gran velocidad de ejecución de las consultas.

3. Independencia del tratamiento de información.

4. Seguridad de la información (acceso a usuarios autorizados), protección de información, de modificaciones, inclusiones, consulta.

5. No hay duplicidad de información, comprobación de información en el momento de introducir la misma.

6. Integridad referencial el terminar los registros.

Inconvenientes

1. El costo de actualización del hardware y software son muy elevados.

2. El Costo (salario o remuneración) del administrador de la base de datos es grande. 3. El mal diseño de esta puede originar problemas a futuro.

4. Un mal adiestramiento a los usuarios puede originar problemas a futuro.

5. Si no se encuentra un manual del sistema no se podrán hacer relaciones con facilidad. 6. Generan campos vacíos en exceso.

7. El mal diseño de seguridad genera problemas en esta.

Modelo relacional

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicado y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.

Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, esto es, pensando en cada relación como si fuese una tabla que está compuestas por registros (cada fila de la tabla sería un registro), que representarían las tuplas, y campos (las columnas de una tabla).

(5)

En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene mayor relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de «consultas» que ofrecen una amplia flexibilidad y poder para administrar la información.

Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar campo o atributo.

Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite describir la forma de realizar una consulta, en cambio, el Cálculo relacional sólo indica lo que se desea devolver.

El lenguaje más común para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.

Esquema

Un esquema es la definición de una estructura (generalmente relaciones o tablas de una base de datos), es decir, determina la identidad de la relación y que tipo de información podrá ser almacenada dentro de ella; en otras palabras, el esquema son los metadatos de la relación. Todo esquema constará de:

• Nombre de la relación (su identificador).

• Nombre de los atributos (o campos) de la relación y sus dominios; el dominio de un atributo o campo define los valores permitidos para el mismo, es equivalente al tipo de dato por ejemplo character, integer, date, string, etc.

Instancias

Una instancia de manera formal es la aplicación de un esquema a un conjunto finito de datos. En palabras no tan técnicas, se puede definir como el contenido de una tabla en un momento dado, pero también es valido referirnos a una instancia cuando trabajamos o mostramos únicamente un subconjunto de la información contenida en una relación o tabla, como por ejemplo:

• Ciertos caracteres y números (una sola columna de una sola fila).

• Algunas o todas las filas con todas o algunas columnas

Cada fila es una tupla. El número de filas es llamado cardinalidad.

(6)

Base de datos relacional

Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos posee las mismas características como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional.

Estrictamente hablando el término se refiere a una colección específica de datos pero a menudo se le usa, en forma errónea como sinónimo del software usado para gestionar esa colección de datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o RDBMS (del inglés relational database management system).

Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera óptima.

Entre las ventajas de este modelo están:

1. Garantiza herramientas para evitar la duplicidad de registros, a través de campos claves o llaves.

2. Garantiza la integridad referencial: Así al eliminar un registro elimina todos los registros relacionados dependientes.

3. Favorece la normalización por ser más comprensible y aplicable.

Formas normales

Las relaciones que describe Codd al definir su modelo relacional, son transformadas en tablas al momento de trabajar con una base de datos. Las Formas Normales buscan optimizar estas estructuras eliminando básicamente la redundancia utilizando como medio principal las dependencias funcionales. Las Formas Normales son un pequeño número de reglas que de cumplirse hacen que las estructuras posean la menor cantidad de redundancia posible.

• Primera Forma Normal (1NF): No hay campos múltiples (todos los campos son atómicos). Todas las filas deben tener el mismo número de columnas.

• Segunda Forma Normal (2NF): Todo campo que no sea clave debe depender por completo de toda la clave.

• Tercera Forma Normal (3NF): No hay dependencias transitivas. Un campo debe depender de la clave y no de otro campo.

• Forma Normal de Boyce-Codd (BCNF): Todos los determinantes de la tabla son clave candidata.

• Cuarta Forma Normal (4NF): Una fila no debe contener dos o más campos multi-valorados (aquellos que pueden contener más de un valor simultáneamente) sobre una entidad.

• Quinta Forma Normal (5NF): Una tabla puede almacenar atributos dependientes a la clave sólo por unión.

(7)

Una base de datos relacional es una base de datos que cumple con el modelo relacional, y se refiere a una base de datos de esquema lógico (la estructura de la base de datos). Un uso común del término "Sistema de gestión de base de datos" técnicamente se refiere al software usado para crear una base de datos relacional, pero a veces erróneamente se refiere a una

base de datos relacional.

El término base de datos relacional, fue originalmente definido y acuñado por E.F. Codd.

Definiciones

Una base de datos relacional es una base de datos que está de acuerdo al modelo relacional, y puede también ser definida como un conjunto de relaciones o una base de datos construida

en un sistema de gestión de base de datos.

Un sistema de gestión de bases de datos (SGBD), es un sistema que administra o gestiona datos utilizando el modelo relacional. Frecuentemente, el término "SGBD" es inadecuadamente usado como una etiqueta genérica para el concepto de las bases de datos relacionales. Los SGBD más actuales, tales como MySQL, PostgreSQL, Oracle, Microsoft SQL Server, Ingres, se deben significativamente al modelo relacional y con mayor exactitud llamados "productos de administración de bases de datos SQL".

Una base de datos relacional es un conjunto de tablas estructuradas en registros y campos, que se vinculan entre si por uno o más campos en común.

Contenidos

Estrictamente, una base de datos relacional, es un conjunto de relaciones (frecuentemente llamadas tablas). Cada tabla a su vez es un conjunto de registros, filas o tuplas. Y cada una de éstas es un conjunto de campos, columnas o atributos. Adicionalmente todas las filas poseen el mismo número de campos y el mismo campo, sin importar la fila a la que pertenece, debe cumplir con el dominio del campo que se encuentra definido en el conjunto de requerimientos.

Terminología

La teoría de las bases de datos relacionales usa diferentes conjuntos de términos basados en las matemáticas, los cuales son equivalentes, o aproximadamente equivalentes a la terminología SQL de las bases de datos.

Relaciones o tablas

Una relación es definida como un conjunto de tuplas donde todas tienen los mismos atributos. Esto es usualmente representado por una tabla, la cual está organizada en filas y columnas. En una base de datos relacional, todos los datos son almacenados en una

columna, la que debe estar en el mismo dominio. En la práctica esto significa que los valores

almacenados en una columna deben ser de mismo tipo de dato y de acuerdo a las mismas restricciones.

(8)

El modelo relacional especifica que las tuplas de una relación deben tener órdenes no específicas y que las tuplas no deben imponerse a los atributos. En el modelo relacional se especifica que las tuplas son recuperados por usando la protección del operador sobre la relación. La operación de selección relacional es equivalente a la consulta SQL SELECT (consulta de selección SQL), posiblemente con una cláusula WHERE (donde), que limita los resultados. En el modelo relacional los atributos deben estar relacionados, explícitamente a un nombre en todas las operaciones, mientras en el estándar SQL permite tanto a columnas sin nombre en conjuntos de resultados, como el asterisco taquigráfico (*) como notación de consultas.

El estándar SQL requiere que las columnas tengan un orden definido. Los datos almacenados en un computador deben tener un orden, tal como la memoria de un ordenador es lineal. También, cuando los datos son devueltos, deben estar en un orden tal que los datos son devueltos debido a que son transferidos por protocolos que también son lineales. Es de notar, sin embargo, que en SQL el orden de las columnas y las filas devueltas en un juego de conjunto de resultado nunca está garantizado, a no ser que explícitamente sea especificado por el usuario.

Las bases de datos relacionales pasan por un proceso al que se le conoce como 'Normalización de bases de datos', el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera óptima.

Limitaciones

Los modelos de bases de datos relacionales presentan ciertas deficiencias para tratar con aplicaciones como el diseño y la fabricación asistidas por ordenador (CAD/CAM y CIM), las bases de datos gráficas y de imágenes, las bases de documentos y multimedia, y los sistemas de información geográfica. Estas nuevas aplicaciones tienen requerimientos y características diferentes a los de las aplicaciones de negocios, como estructuras más complejas para los datos, transacciones de mayor duración, nuevos tipos de datos para almacenar imágenes o bloques de texto, y la necesidad de definir operaciones específicas para cada aplicación. Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de datos relacionales.

Tabla en las bases de datos, es una estructura que contiene datos relacionados, donde se guardan los datos recolectados por un programa. Su estructura general se asemeja a la vista general de una Hoja de cálculo.

Las tablas se componen de dos estructuras:

Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado.

Registro: Corresponde a cada fila que compone la tabla. Está formado por campos. Cada registro contiene campos que se refieren a una cosa o persona.

(9)

En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí.

A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal índice a la hora de ordenar los datos contenidos.

Cada tabla creada debe tener un nombre único en la cada Base de Datos, haciéndola accesible mediante su nombre o su sinónimo (dependiendo del tipo de base de datos elegida).

La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.

Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda.

En el contexto de una base de datos relacional, un registro (también llamado fila o tupla) representa un ítem único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.

La estructura implícita de un registro y el significado de los valores de sus campos exige que dicho registro sea entendido como una sucesión de datos, uno en cada columna de la tabla. La fila se interpreta entonces como una variable relacional compuesta por un conjunto de tuplas, cada una de las cuales consta de dos ítems: el nombre de la columna relevante y el valor que esta fila provee para dicha columna.

Cada columna espera un valor de un tipo concreto.

Columna (base de datos)

En el contexto de una tabla de base de datos relacional, una columna es un conjunto de valores de datos de un simple tipo particular, uno por cada fila de la tabla. Las columnas proporcionan la estructura según la cual se componen las filas.

El término campo es frecuentemente intercambiable con el de columna, aunque muchos consideran más correcto usar el término campo (o valor de campo) para referirse específicamente al simple elemento que existe en la intersección entre una fila y una columna.

Por ejemplo, una tabla que representa compañías pudo tener las siguientes columnas:

(10)

• Nombre (texto)

• Dirección 1 (texto)

• Dirección 2 (texto)

• Ciudad (identificador entero, proviene de una tabla separada de ciudades, de la que cualquier información del estado o del país puede ser tomada)

• Código postal (texto)

• Industria (identificador entero, Proviene de una tabla separada de industrias)

• etc.

Cada fila proporcionaría un valor de los datos para cada columna y después sería entendida como solo simple valor de datos estructurado, en este caso representando a una compañía. Más formalmente, cada fila puede ser interpretada como una variable relacional, compuesta por un conjunto de tuplas, con cada tupla consistiendo en los dos elementos: el nombre de la columna relevante y el valor que esta fila proporciona para esa columna.

Índice (base de datos)

El índice de una base de datos es una estructura de datos que mejora la velocidad de las operaciones, permitiendo un rápido acceso a los registros de una tabla. Al aumentar drásticamente la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuales se hagan frecuentes búsquedas.

El índice tiene un funcionamiento similar al índice de un libro, guardando parejas de elementos: el elemento que se desea indexar y su posición en la base de datos. Para buscar un elemento que esté indexado, sólo hay que buscar en el índice dicho elemento para, una vez encontrado, devolver el registro que se encuentre en la posición marcada por el índice.

Los índices pueden ser creados usando una o más columnas, proporcionando la base tanto para búsquedas rápidas al azar como de un ordenado acceso a registros eficiente.

Los índices son construidos sobre árboles B, B+, B* o sobre una mezcla de ellos.

El espacio en disco requerido para almacenar el índice es típicamente menor que el espacio de almacenamiento de la tabla (puesto que los índices generalmente contienen solamente los campos clave de acuerdo con los que la tabla será ordenada, y excluyen el resto de los detalles de la tabla), lo que da la posibilidad de almacenar en memoria los índices de tablas que no cabrían en ella. En una base de datos relacional un índice es una copia de parte de una tabla.

Algunas bases de datos amplían la potencia del indexado al permitir que los índices sean creados de funciones o expresiones. Por ejemplo, un índice puede ser creado sobre la función

upper(apellido), que almacenaría en el índice solamente las versiones mayúsculas del campo apellido. Otra opción a veces soportada, es el uso de índices "filtrados", donde las entradas del índice son creadas solamente para los registros que satisfagan una cierta expresión condicional. Un aspecto adicional de flexibilidad es permitir la indexación en funciones definidas por el usuario, también como expresiones formadas de un surtido de funciones incorporadas. Todos estos refinamientos de la indexación son soportados en Visual FoxPro, por ejemplo.

(11)

Los índices pueden ser definidos como únicos o no únicos. Un índice único actúa como una restricción en la tabla previniendo filas idénticas en el índice.

Referencias

Documento similar

 Una clave o llave primaria es un atributo o conjunto de atributos cuyo valor es único y diferente para cada tupla.. Selección de

 EL SISTEMA RELACIONAL DEBE INCLUIR, AL MENOS, UN LENGUAJE QUE PERMITA EXPRESAR LOS SIGUIENTES ELEMENTOS: DEFINICIÓN DE DATOS, DEFINICIÓN DE VISTAS, MANIPULACIÓN DE DATOS

En Teoría de Modelos Finitos, el Modelo Relacional se formaliza observando el esquema de la base de datos relacional como un vocabulario relacional finito σ, donde cada símbolo

– De la propia definición de relación se deriva que siempre existe, al menos, una clave candidata ( al ser una relación un conjunto y no existir dos tuplas iguales, el conjunto

los atributos de igual nombre en las tablas indicadas. Sólo devuelve las tuplas que cumplen la condición y proyecta una vez por cada atributo... numP ).

Consulta: Buscar el nombre, el apellido y la dirección de los empleados que trabajan en el departamento ‘Research’. Expresión en el

(c) Realizar en Calculo Relacional de Tuplas una consulta que devuelva las personas para las que todos sus amigos son miembros de al menos un grupo con fecha de inicio mayor

Si se obtiene el esquema de la base de datos relacional creando tablas a partir de los diagramas E-R, tal y como se vio en el Capítulo 2, cada relación que pro- ceda de un conjunto