miércoles, 27 de abril de 2016

CÁLCULO RELACIONAL

DEFINICIÓN:

  • ·         Lenguaje basado en el cálculo de predicados de primer orden.
  • ·        No procedimental, se expresa qué se quiere obtener y no cómo.
  • ·        Relación: predicado Seleccionar aquellas tuplas cuyo predicado es verdadero.
    Predicado permite operaciones {=, <>, <=, >=} entre una variable y una constante o entre dos variables.



TIPOS DE CÁLCULO RELACIONAL:

Cálculo relacional orientado a tuplas:

  • ·         Se procesan tuplas de una o más relaciones.
  • ·         SQL orientado a la tupla utilizando nombres de relación y etiquetas como variables de tupla.
  • ·         Una consulta en TRC es de la forma:


{T φ (T)}
donde T es una variable tipo tupla y φ (T) es una fórmula que describe a T. El resultado de esta consulta, son todas las tuplas t para las cuales la fórmula es verdadera. 



Cálculo relacional orientado a los dominios:

  • ·         Variables de tupla se reemplazan por variables de dominio.
  • ·         Se procesan dominios que alcanzan una o más relaciones.
  • ·         Las expresiones del cálculo relacional de dominios son de la forma {(x, y, z,...) / P(x, y, z,...)}. Donde x, y, z representan las variables de dominio, P representa una fórmula compuesta de átomos (igual que en el CRT). Los átomos del cálculo relacional de dominios tienen una de las siguientes formas:


1. (x, y, z) Î r, donde r es una relación con n atributos y x, y, z .son variables de dominio o constantes.

2. x q y, donde x e y son variables de dominio y q es un operador de comparación aritmética (>, <, =, ¹). Es necesario que los atributos x e y, tengan dominios cuyos miembros puedan compararse mediante q.

3. x q c, donde x es una variable de dominio, q es un operador de comparación y c es una constante en el dominio del atributo x.


EJEMPLOS DE CÁLCULO RELACIONAL

·         Dada la relación:
ESTUDIANTE(DNI, NOM, EDAD, DIR)
·         Seleccionar tuplas de estudiantes llamados Pepe:
ESTUDIANTE: NOM=‘PEPE’
·         Seleccionar estudiantes que viven en Bilbao y tienen más de 23 años:
ESTUDIANTE: DIR=‘Bilbao’ AND EDAD>23
·         Seleccionar DNI y NOM de los estudiantes de Gasteiz:
ESTUDIANTE.DNI, ESTUDIANTE.NOM: DIR=‘Gasteiz’


SLIDESHARED:

http://es.slideshare.net/pierinamiovarias5/calculo-relacional

REALIZADO POR :

Ruíz Paredes Madai
Mio Varias Pierina













jueves, 21 de abril de 2016


ÁLGEBRA RELACIONAL


DEFINICIÓN:

El Álgebra relacional es un lenguaje de consulta procedural. Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relación, por lo tanto, es posible anidar y combinar operadores. Hay ocho operadores en el álgebra relacional que construyen relaciones y manipulan datos.

OPERACIONES CONJUNTISTAS

Las operaciones conjuntistas del álgebra relacional son la unión, la intersección, la diferencia y el producto cartesiano.

UNIÓN: 


Ejemplo de unión
Si queremos obtener una relación que tenga a todos los empleados de la empresa del ejemplo anterior, llevaremos a cabo la unión de las relacionesEMPLEADOS_ADM EMPLEADOS_PROD de la forma siguiente:
R := EMPLEADOS_ADMEMPLEADOS_PROD.
Entonces la relación R resultante será la reflejada en la tabla siguiente:
El hecho de que los atributos de la relación resultante coincidan con los atributos de la relación que figura en primer lugar en la unión es una convención; teóricamente, también habría sido posible convenir que coincidiesen con los de la relación que figura en segundo lugar.


INTERSECCIÓN:


Ejemplo de intersección
Si queremos obtener una relación R que incluya a todos los empleados de la empresa del ejemplo que trabajan tanto en administración como en producción, realizaremos la intersección de las relaciones EMPLEADOS_ADM EMPLEADOS_PROD de la forma siguiente:
R : = EMPLEADOS_ADM  EMPLEADOS_PROD.
Entonces, la relación R resultante será:
Observad que se ha tomado la convención de que los atributos de la relación que resulta coincidan con los atributos de la relación que figura en primer lugar.


DIFERENCIA:

Ejemplo de diferencia
Si queremos obtener una relación con todos los empleados de la empresa del ejemplo que trabajan en administración, pero no en producción, haremos la diferencia de las relaciones EMPLEADOS_ADM EMPLEADOS_PROD de la forma siguiente:
R := EMPLEADOS_ADM – EMPLEADOS_PROD


PRODUCTO CARTESIANO

Ejemplo de producto cartesiano
El producto cartesiano de las relaciones DESPACHOS y EDIFICIOS_EMP del ejemplo se puede hacer como se indica (es necesario redenominar atributos previamente):
EDIFICIOS(nombreedificio, supmediadesp) := EDICIOS_EMP(edificio, supmediadesp).
R := EDIFICIOS x DESPACHOS.
Entonces, la relación R resultante será:



OPERACIONES ESPECIFICAMENTE RELACIONALES

Las operaciones específicamente relacionales son la selección, la proyección y la combinación.

SELECCIÓN:


Ejemplo de selección
Si queremos obtener una relación con los despachos de la base de datos del ejemplo que están en el edificio Marina y que tienen una superficie de más de 12 metros cuadrados, haremos la siguiente selección:
R := DESPACHOS(edificio = Marina y superficie > 12).
La relación R resultante será:

PROYECCIÓN:


Ejemplo de proyección
Si queremos obtener una relación R con el nombre y el apellido de todos los empleados de administración de la base de datos del ejemplo, haremos la siguiente proyección:
R := EMPLEADOS_ADM[nombre, apellido].
Entonces, la relación R resultante será:

COMBINACIÓN:

Ejemplo de combinación
Supongamos que se desea encontrar los datos de los despachos que tienen una superficie mayor o igual que la superficie media de los despachos del edificio donde están situados. La siguiente combinación nos proporcionará los datos de estos despachos junto con los datos de su edificio (observad que es preciso redenominar previamente los atributos):
  EDIFICIOS(nombreeedficio,supmediadesp) := EDIFICIOS_EMP(edificio, supmediadesp),
R := EDIFICIOS[nombreedificio = edificio, supmediadesp<uperficie] DESPACHOS.
Entonces, la relación R resultante será:






ENLACE SLIDESHARED:

http://www.slideshare.net/pierinamiovarias5/algebra-relacional-61196396


REALIZADO POR :

Ruiz Paredes Madai
Mio Varías Pierina


















martes, 12 de abril de 2016

MODELAMIENTO ENTIDAD – RELACIÓN

Es un modelo de datos que permite representar cualquier abstracción, percepción y conocimiento en un sistema de información formado por un conjunto de objetos denominados entidades y relaciones, incorporando una representación visual conocida como diagrama entidad-relación.



TIPOS DE ENTIDAD

Regulares: La ocurrencia de un tipo de entidad regular tienen extensión propia, es decir, existen por si mismos.

Débiles: La existencia de cada ocurrencia de entidad débil depende de la existencia de la entidad regular.

Si se elimina una ocurrencia del tipo entidad regular, desaparecerán también con ella todas las ocurrencias de la entidad débil dependientes de la misma.


TIPOS DE RELACIÓN

Podemos encontrar distintos tipos de relaciones según como participen en ellas las entidades. 
Esto complementa a las representaciones de las relaciones, mediante un intervalo en cada extremo de la relación que especifica cuantos objetos o cosas (de cada entidad) pueden intervenir en esa relación.

Uno a uno: Una entidad se relaciona únicamente con otra y viceversa. Por ejemplo, si tuviésemos una entidad con distintos chasis y otra con matrículas deberíamos de determinar que cada chasis solo puede tener una matrícula (y cada matrícula un chasis, ni más en ningún caso).



Uno a varios o varios a uno: determina que un registro de una entidad puede estar relacionado con varios de otra entidad, pero en esta entidad existir solo una vez. Como ha sido en el caso anterior del trabajador del taller.



Varios a varios: determina que una entidad puede relacionarse con otra con ninguno o varios registros y viceversa. Por ejemplo, en el taller un coche puede ser reparado por varios mecánicos distintos y esos mecánicos pueden reparar varios coches distintos.



ATRIBUTOS:

a) Simples o compuestos.

SIMPLES.- Es un atributo que tiene un solo componente, que no se puede dividir en partes más pequeñas que tengan un significado propio.
COMPUESTO.- Es un atributo con varios componentes, cada uno con un significado por sí mismo. Un grupo de atributos se representa mediante un atributo compuesto cuando tienen afinidad en cuanto a su significado, o en cuanto a su uso. Se representa gráficamente mediante un óvalo.



b) Monovaluados o multivaluados.

MONOVALENTE.- Es aquel que tiene un solo valor para cada ocurrencia de la entidad o relación a la que pertenece.
POLIVALENTE.- Es aquel que tiene varios valores para cada ocurrencia de la entidad o relación a la que pertenece. También se les denomina multivaluados, y pueden tener un número máximo y un número mínimo de valores.


c) Almacenados o derivados.

Atributos derivados –Valor calculado a partir de otra información ya existente (atributos, entidades relacionadas) –Son información redundante…
Edad [de EMPLEADO], cálculo a partir de fechanacimiento

»Atributo derivado del valor de otro atributo
Numcopias [de una PELICULA], cuenta del número de entidades COPIA relacionadas con cada película concreta

»Atributo derivado de entidades relacionadas »

Atributos almacenados
Fechanacim [de cada EMPLEADO]
Nacionalidad [de una PELICULA].



ENTIDADES DÉBILES

Una entidad débil es aquella que no puede existir sin participar en la relación; es decir, aquella que no puede ser unívoca mente identificada solamente por sus atributos.
Las entidades débiles se representan mediante un doble rectángulo; es decir, un rectángulo con doble línea.
Se puede hablar de la existencia de 2 tipos de dependencias en las entidades débiles:
Dependencia por existencia
Las ocurrencias de la entidad débil pueden identificarse mediante un atributo identificador clave sin necesidad de identificar la entidad fuerte relacionada.
Dependencia por identidad
La entidad débil no puede ser identificada sin la entidad fuerte relacionada. (Ejemplo: si tenemos una entidad LIBRO y otra relacionada EDICIÓN, para identificar una edición necesitamos conocer el identificador del libro).

ENTIDADES FUERTES
Una entidad fuerte (también conocida como entidad regular) es aquella que sí puede ser identificada unívocamente. En los casos en que se requiera, se puede dar que una entidad fuerte "preste" algunos de sus atributos a una entidad débil para que esta última se pueda identificar.



ATRIBUTOS EN LAS RELACIONES

Las relaciones también pueden tener atributos asociados. Se representan igual que los atributos de las entidades. Un ejemplo típico son las relaciones de tipo "histórico" donde debe constar una fecha o una hora. Por ejemplo, supongamos que es necesario hacer constar la fecha de emisión de una factura a un cliente, y que es posible emitir duplicados de la factura (con distinta fecha). En tal caso, el atributo "Fecha de emisión" de la factura debería colocarse en la relación "se emite".



RESTRICCIONES ESTRUCTURALES

·        Limitan las posibles combinaciones de entidades que pueden participar en las relaciones.
·       Extraídas de la situación real que se modela.
Una película debe Haber sido dirigida por uno y sólo un director”
UN director ha dirigido al menos una película y puede Haber dirigido muchas

Clases de restricciones estructurales:
  • Razón de cardinalidad (o tipo de correspondencia)
  • Razón de participación





SLIDESHARED:

http://es.slideshare.net/pierinamiovarias5/modelamiento-entidad-relacion


REALIZADO POR :

Ruíz Paredes Madai
Mio Varías Pierina











martes, 5 de abril de 2016

MODELO RELACIONAL

DEFINICIÓN

Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas».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 o tupla), y columnas (también llamadas campos).



PROPIEDADES

  •          Cada relación tiene un nombre distinto. ƒ
  •          Los valores de los atributos son atómicos (relaciones normalizadas).
  •          Cada atributo tiene un nombre distinto. ƒ
  •          Los atributos no están ordenados. ƒ
  •          No hay tuplas duplicadas. ƒ
  •          Las tuplas no están ordenadas.





   TIPOS DE RELACIONES

Relaciones base: con nombre, reales, autónomas (parte directa de la base de datos).

CREATE TABLE PROVINCIAS
(CODPRO VARCHAR2 (2),
NOMBRE VARCHAR2 (30),
CONSTRAINT CP_PROVINCIAS PRIMARY KEY (CODPRO));

Vistas: con nombre, derivadas, virtuales.
CREATE VIEW COM_VAL
AS SELECT PU.CODPUE, PU.NOMBRE, PR.CODPRO, PR.NOMBRE PROVINCIA
FROM PUEBLOS PU, PROVINCIAS PR
WHERE PU.CODPRO=PR.CODPRO
AND PR.CODPRO IN (’03’,’12’,’46’);

Instantáneas: con nombre, derivadas, reales (sólo lectura), refresco periódico.
CREATE SNAPSHOT FAC_VLC 
STORAGE INITIAL 50K 
NEXT 50K REFRESH FAST NEXT NEXT_DAY (TRUNC (SYSDATE),'MONDAY') 
AS 
SELECT * FROM VLC.FACTURAS;


Resultados de consultas: con o sin nombre, no persisten en la base de datos. ƒ
Resultados intermedios: sin nombre, no persisten en la base de datos. ƒ
Resultados temporales: con nombre, se destruyen automáticamente.


REGLAS DE INTEGRIDAD – EJEMPLOS

Regla de integridad: restricción que debe cumplirse sobre una BD en todos sus estados.

Reglas de negocio: reglas de integridad específicas de cada base de datos
Reglas de integridad generales: ƒ
Regla de integridad de entidades (amiga de las claves primarias). ƒ
Regla de integridad referencial (amiga de las claves ajenas).

Además existen las restricciones de dominios: al definir cada atributo sobre un dominio, se impone una restricción sobre el conjunto de valores permitidos para cada atributo.

Regla de Integridad de Entidades
"Ninguno de los atributos que componen la clave primaria puede ser nulo."
¡¡En una base de datos relacional nunca se almacena información de algo que no se puede identificar!!
Observaciones: ƒ
La regla se aplica a las relaciones base (parte directa de la base de datos). ƒ La regla se aplica sólo a la clave primaria (no a las claves alternativas).


Regla de Integridad Referencial
"Si en una relación hay alguna clave ajena, sus valores deben coincidir con valores de la clave primaria a la que hace referencia, o bien, deben ser todos nulos." 
La regla de integridad referencial se enmarca en términos de estados de la base de datos: nos dice lo que es un estado ilegal ¡¡pero no nos dice cómo podemos evitarlo!! 
¿Qué hacer si estando en un estado legal, llega una operación que conduce a un estado ilegal?

Existen dos opciones: ƒ
Rechazar la operación. ƒ
Aceptar la operación y realizar operaciones adicionales compensatorias que conduzcan a un estado legal.


Reglas para las claves ajenas







ENLACE SLIDESHARE:

http://es.slideshare.net/pierinamiovarias5/modelo-relacional-60537495



REALIZADO POR :

Ruíz Paredes Madai
Mio Varias Pierina