Translate

lunes, 22 de septiembre de 2014

Actividad #8: MODELO RELACIONAL

 EL MODELO RELACIONAL

    El Modelo Relacional, se ha establecido como el principal modelo de datos para las aplicaciones de procesos de datos, ya que es simple y facilita el trabajo del programador en comparación a otros modelos. El modelo Racional se basa en un conjunto de tablas. El usuario del sistema de bases de datos puede consultar esas tablas, insertar nuevas tuplas, borrar tuplas y actualizar (modificar) las tuplas.
Hay varios lenguajes para expresar estas operaciones. Se describe tres lenguajes formales de consulta, se usan para especificar las solicitudes de información; estos son más cómodos de usar, pero a cambio sirven como base formal para lenguajes de consulta que sí lo son. El primer lenguaje, el álgebra relacional, forma la base del lenguaje de consulta SQL ampliamente usado; el cálculo relacional de tuplas y el cálculo relacional de dominios(es la base del lenguaje QBE), que son lenguajes declarativos de consulta basados en la lógica matemática.


 LA ESTRUCTURA DE LAS BASES DE DATOS RELACIONALES



Una base de datos relacional consiste en un conjunto de tablas, a cada una de las cuales se les asigna un nombre exclusivo. Cada fila de la tabla representa una relación entre un conjunto de valores. Dado que cada tabla es un conjunto de dichas relaciones, que corresponden entre el concepto de tabla y el concepto matemático de relación.


 Estructura básica
Considérese la tabla cuenta, tiene tres cabeceras de columna: número-cuenta, nombre-sucursal y saldo. Siguiendo la terminología del modelo relacional se puede hacer referencia a estas cabeceras como atributos. Para cada atributo hay un conjunto de valores permitidos, llamado  dominio de ese atributo. Para el atributo nombre-sucursal, por ejemplo, el dominio es el conjunto de los nombres de las sucursales.

Supongamos que D1 denota el conjunto de todos los números de cuenta, Del conjunto de todos los nombres de sucursal y D3 el conjunto de los saldos. Todas las filas de cuenta deben consistir en una tupla (v1, v2, v3), donde v1 es un número de cuenta (es decir, v1 está en el dominio D1), v2 es un nombre de sucursal (es decir, v2 está en el dominio D2) y v3 es un saldo (es decir, v3 está en el dominio D3). 


Como las tablas son esencialmente relaciones, se utilizarán los términos matemáticos relación y tupla en lugar de los términos tabla y fila. Una variable tupla es una variable que representa a una tupla; en otras palabras, una tupla que representa al conjunto de todas las tuplas.

En la relación cuenta hay siete tuplas. Dado que las relaciones son conjuntos se utiliza la notación matemática t  r para denotar que la tupla t está en la relación r.
Un dominio es atómico si los elementos del dominio se consideran unidades indivisibles. Por ejemplo, el conjunto de los enteros es un dominio atómico, pero el conjunto de todos los conjuntos de enteros es un dominio no atómico. La diferencia es que no se suele considerar que los enteros tengan subpartes, pero sí se considera que los conjuntos de enteros las tienen; por ejemplo, los enteros que forman cada conjunto.

Es posible que varios atributos tengan el mismo dominio Es posible que los atributos nombre-cliente nombre-empleado tengan el mismo dominio, el conjunto de todos los nombres de personas, que en el nivel físico son cadenas decaracteres. Los dominios de saldo nombre-sucursal, por otra parte, deberían ser distintos. En el nivel físico, tanto los nombres de clientes como los nombres de sucursales son cadenas de caracteres. Sin embargo, en el nivel lógico puede que se desee que nombre-cliente y nombre-sucursal tengan dominios diferentes. Un valor de dominio que es miembro de todos los dominios posibles es el valor nulo, que indica que el valor es desconocido o no existe.

  Esquema de la base de datos
Cuando se habla de bases de datos se debe diferenciar entre el esquema de la base de datos, o diseño lógico de la misma, y el ejemplar de la base de datos, que es una instantánea de los datos de la misma en un momento dado. El concepto de relación se corresponde con el concepto de variable de los lenguajes de programación. El concepto de esquema de la relación se corresponde con el concepto de definición de tipos de los lenguajes de programación.

Se adopta el convenio de utilizar nombres en minúsculas para las relaciones y nombres que comiencen por una letra mayúscula para los esquemas de las relaciones. Siguiendo esta notación se utilizará Esquema-cuenta para denotar el esquema de la relación de la relación cuenta. Por tanto,

Esquema-cuenta = (número-cuenta, nombre-sucursal, saldo)

Los esquemas de las relaciones incluyen una lista de los atributos y de sus dominios correspondientes.

El concepto de ejemplar de relación se corresponde con el concepto de valor de una variable en los lenguajes de programación, cuyo valor puede cambiar con el tiempo, e incluso el contenido del ejemplar de una relación cuando la relación se actualiza. El utilizar atributos comunes en los esquemas de las relaciones es una manera de relacionar las tuplas de relaciones diferentes. Por ejemplo, supóngase que se desea obtener información sobre todas las cuentas abiertas en sucursales ubicadas en Arganzuela. Primero se busca en la relación sucursal para encontrar los nombres de todas las sucursales sitas en Arganzuela. Luego, para cada una de ellas, se mira en la relación cuenta para encontrar la información sobre las cuentas abiertas en esa sucursal. Esto no es sorprendente: recuérdese que los atributos que forma la clave primaria de un conjunto de entidades fuertes aparecen en la tabla creada para representar el conjunto de entidades, así como en las tablas creadas para crear relaciones en las que participar el conjunto de entidades.






            Claves

Por ejemplo, en Esquema-sucursal, tanto {nombre-sucursal} como {nombre-sucursalciudad-sucursal} son superclaves. {nombre-sucursalciudad-sucursal} no es una clave candidata porque {nombre-sucursal} es un subconjunto de {nombre-sucursalciudad-sucursal} y {nombre-sucursal} es una superclave. Sin embargo, {nombre-sucursal} es una clave candidata, y servirá también como clave primaria para estos fines. El atributo ciudad-sucursal no es una superclave, dado que dos sucursales de la misma ciudad pueden tener nombres diferentes (y diferentes volúmenes de activos).

Una superclave de un conjunto de entidades es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar unívocamente una entidad en un conjunto de entidades. Se elige una superclave mínima para cada conjunto de entidades de entre sus superclaves; la superclave mínima se denomina la clave primaria del conjunto de entidades. Análogamente, un conjunto de relaciones es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar unívocamente una relación en un conjunto de relaciones. De igual forma se elige una superclave mínima para cada conjunto de relaciones de entre todas sus superclaves; ésta es la clave primaria del conjunto de relaciones.
Un conjunto de entidades que no tiene suficientes atributos para formar una clave primaria se denomina conjunto de entidades débiles. Un conjunto de entidades que tiene una clave primaria se denomina conjunto de entidades fuertes.







Sea el esquema de una relación. Si se dice que un subconjunto de es unasuperclave de para las relaciones r(R) en las que no hay dos tuplas diferentes que tengan los mismos valores en todos los atributos de K. Es decir, si t1 y t2 están en t≠ t2, entonces t1[K t2[K]. Si el esquema de una base de datos relacional se basa en las tablas derivadas de un esquema E-R es posible determinar la clave primaria del esquema de una relación a partir de las claves primarias de los conjuntos de entidades o de relaciones de los que se deriva el esquema:
• Conjunto de entidades fuertes. La clave primaria del conjunto de entidades se convierte en la clave primaria de la relación.
• Conjunto de entidades débiles. La tabla y, por tanto, la relación correspondientes a un conjunto de entidades débiles incluyen:
— Los atributos del conjunto de entidades débiles.
— La clave primaria del conjunto de entidades fuertes del que depende el conjunto de entidades débiles.
La clave primaria de la relación consiste en la unión de la clave primaria del conjunto de entidades fuertes y el discriminante del conjunto de entidades débil.
• Conjunto de relaciones. La unión de las claves primarias de los conjuntos de entidades relacionados se transforma en una superclave de la relación. Si la relación es de varios a varios, esta superclave es también la clave primaria.
• Tablas combinadas. Un conjunto binario de relaciones de varios a uno entre Bpuede representarse mediante una tabla que consista en los atributos de y en los atributos (si hay alguno) del conjunto de relaciones. La clave primaria de la entidad «varios» se transforma en la clave primaria de la relación (es decir, si el conjunto de relaciones es de varios a uno entre B, la clave primaria de A es la clave primaria de la relación). 
• Atributos multivalorados.  Un atributo multivalorado se representa mediante una tabla consistente en la clave primaria del conjunto de entidades o de relaciones del que es atributo y en una columna C que guarda un valor concreto de M.

            Diagramas de esquema
Un esquema de bases de datos, junto con las dependencias de clave primaria y externa, se puede mostrar gráficamente mediante diagramas de esquema.
No hay que confundir un diagrama de esquema con un diagrama E-R. En particular, los diagramas E-R no muestran explícitamente  los atributos clave externa, mientras que los diagramas de esquema sí.
           
            Lenguajes de consulta
Un lenguaje de consulta es un lenguaje en el que un usuario solicita información de la base de datos. Estos lenguajes suelen ser de un nivel superior que el de los lenguajes de programación habituales. Los lenguajes de consulta pueden clasificarse como procedimentales o no procedimentales. En los lenguajes procedimentales el usuario instruye al sistema para que lleve a cabo una serie de operaciones en la base de datos para calcular el resultado deseado. En los lenguajes no procedimentales el usuario describe la información deseada sin dar un procedimiento concreto para obtener esa información.





Ejercicios.

3.1


3.2

Relación: Es una interacción entre dos o mas entidades.

Esquema de la relación: Es una definición de las tablas, sus atributos y las relaciones entre cada campo.

Diferencia: la relación solo refleja la relación de entidad o tabla con otra y el esquema muestra las relaciones que tiene una base de datos.


3.3






miércoles, 10 de septiembre de 2014

lunes, 1 de septiembre de 2014

Actividad #5: Investigar


Actividad #5



Modelo Entidad-Relacion:

es una herramienta para el modelado de datos que permite representar las entidades relevantes de un sistema de información así como sus interrelaciones y propiedades.


El Modelo Entidad-Relación:
  1. Se elabora el diagrama (o diagramas) entidad-relación.
  2. Se completa el modelo con listas de atributos y una descripción de otras restricciones que no se pueden reflejar en el diagrama.

Elementos del modelo entidad-relación:

Entidad:

Las entidades representan cosas u objetos (ya sean reales o abstractos), que se diferencian claramente entre sí.
Para poder seguir un ejemplo durante el artículo añadiré ejemplos sobre un taller mecánico, donde se podría crear las siguientes entidades:
  • Coches (objeto físico): contiene la información de cada taller.
  • Empleado (objeto físico): información de los trabajadores.
  • Cargo del empleado (cosa abstracta): información de la función del empleado.
Estas entidades se representan en un diagrama con un rectángulos, como los siguientes.

 


Atributos:

Los atributos definen o identifican las características de entidad (es el contenido de esta entidad). Cada entidad contiene distintos atributos, que dan información sobre esta entidad. Estos atributos pueden ser de distintos tipos (numéricos, texto, fecha…).
Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra entidad “Coches“, que nos darán información sobre los coches de nuestro supuesto taller.
Unos posibles atributos serían los siguientes: número de chasis, matrícula, DNI del propietario, marca, modelo y muchos otros que complementen la información de cada coche.
Los atributos se representan como círculos que descienden de una entidad, y no es necesario representarlos todos, sino los más significativos, como a continuación.


Atributos

Relación:

Es un vínculo que nos permite definir una dependencia entre varias entidades, es decir, nos permite exigir que varias entidades compartan ciertos atributos de forma indispensable.
Por ejemplo, los empleados del taller (de la entidad “Empleados“) tienen un cargo (según la entidad “Cargo del empleado“). Es decir, un atributo de la entidad “Empleados“ especificará que cargo tiene en el taller, y tiene que ser idéntico al que ya existe en la entidad “Cargo del empleado“.
Las relaciones se muestran en los diagramas como rombos, que se unen a las entidades mediante líneas.






 La simbología básica de Diagramas E-R.





Incluir un ejemplo de uso de los diagramas E-R:




tenemos un empleado que puede ser jefe de otros empleados, pero esos empleados no pueden tener mas de un jefe