INTRODUCCIÓN A LAS
BASES DE DATOS
RELACIONALES
Bases de datos relacionales

• Codd propone el modelo relacional para bases
de datos en 1970.
• Ésta es la base para la construcción de los
SGBDR.
• El modelo relacional consiste en:
 Conjunto de objetos o relaciones
 Conjunto de operadores que actúan sobre los objetos
 Reglas para asegurar la integridad y consistencia del
propio modelo.
Bases de datos relacionales

   Una relación consta de:
   •Un esquema: conjunto de pares (atributo,dominio).
   •Un cuerpo: conjunto de tuplas de pares (atributo,valor).




 Definición de una Base de Datos Relacional Una base de datos relacional
 es un conjunto de relaciones (o tablas) de dos dimensiones.
Bases de datos relacionales

 Un modelo relacional de datos es considerado teóricamente desde varios
 aspectos.

 1. Aspecto estructural: El usuario percibe la información de la base de
    datos como tablas y nada más que tablas.

 2. Aspecto de integridad: Estas tablas satisfacen ciertas restricciones
 de integridad .

 3. Aspecto de manipulación: Los operadores disponibles para que el
 usuario manipule estas tablas, por ejemplo, para fines de recuperación
 de datos. En particular hay tres operadores : restringir, proyectar y juntar
 (este último operador también es conocido como combinar
 o reunir).
Ejemplo base de datos
relacional
Algunas reglas

Propiedad de la llave principal
Primera Regla de Integridad (de la Entidad): Las componentes de una
llave primaria no pueden ser nulos.

Propiedad de la llave foránea
Segunda Regla de Integridad (de Referencia): Las componentes de una
llave foránea son nulas o son iguales que el valor de alguna llave primaria
en una tabla del modelo.
Operaciones restringir, proyectar y juntar


■ La operación restringir (también conocida
como seleccionar) extrae las filas
especificadas de una tabla.

■ La operación proyectar extrae las columnas
especificadas de una tabla.

■ La operación juntar reúne dos tablas con
base en valores comunes de una columna
común.
Operaciones restringir, proyectar y
juntar
Bases de Datos Orientadas a
Objetos
Cada objeto representa una entidad del mundo real con la capacidad de
actuar consigo misma y de interactuar con otros objetos. Teniendo en
cuenta este concepto, las bases de datos orientadas a objetos (OODB)
están diseñadas para capturar los datos de un sistema de negocio, que
puede ser considerado como un conjunto de objetos que interactúan entre
sí.

Objeto, entidad y tupla
Un objeto OODM tiene características adicionales a las de las entidades o
tuplas, como comportamiento, herencia y encapsulado. Tales características
OODM hacen que el modelado OO sea más natural que el modelado E-R y
relacional.

Atributos
Los objetos son descritos por sus atributos, conocidos como variables de
instancia en un ambiente OO. Cada atributo tiene un nombre único y un tipo
de datos asociado a él. Los atributos también tienen un dominio. El dominio
Modelado orientado a objetos

Identidad del objeto
La identidad del objeto está representada por el ID de objeto (OID), el cual es
único de ese objeto. El OID es asignado por el sistema al momento de la
creación del objeto y no puede ser cambiado en ninguna circunstancia.

Clase, conjunto de entidades y tabla
El concepto de clase puede ser asociado con los conceptos de conjunto de
entidades y tabla de los modelos E-R y relacional, respectivamente. No
obstante, clase es un concepto más poderoso que permite no sólo la
descripción de la estructura de datos sino también la descripción del
comportamiento de los objetos clase.

Encapsulado y herencia
El encapsulado es la capacidad de ocultar los detalles internos del objeto
(atributos y métodos). Esta capacidad deriva de que la estructura interna de
un objeto no puede ser accedida directamente por otro objeto, garantizando
la integridad del estado del objeto.
Modelado orientado a objetos

Relaciones
La principal propiedad de cualquier modelo de datos se encuentra en su
representación de relaciones entre los componentes de datos. Las relaciones
en un OODM pueden ser de dos tipos: relación interobjeto o herencia de
jerarquía de clases.

Relaciones interobjeto: Una relación atributo-clase o relación interobjeto, se
crea cuando el atributo de un objeto hace referencia a otro objeto de la misma
o diferente clase. Existen dos tipos de relaciones interobjeto: relaciones 1:M y
M:N.

Relaciones de herencia de jerarquía de clases
Las relaciones de herencia de jerarquía de clases se utilizan para describir la
relación entre las clases de la jerarquía.
Relaciones entre clases

•uno o muchos: 1..* (1..n)
•0 o muchos: 0..* (0..n)
•número fijo: m (m denota el
número).

Especialización/Generalización:
Indica que una subclase hereda los
métodos y atributos especificados por
una SuperClase, por ende la
Subclase además de poseer sus
propios métodos y atributos, poseerá
las características y atributos visibles
de la SuperClase (public y protected).
Relaciones entre clases
Agregación:
Cuando se requiere componer objetos que son instancias de clases definidas por
el desarrollador de la aplicación, tenemos dos posibilidades:

    Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del
    objeto incluido esta condicionado por el tiempo de vida del que lo incluye.
    Este tipo de relación es comúnmente llamada Composición (el Objeto base
    se construye a partir del objeto incluido, es decir, es "parte/todo"). ROMBO
    RELLENO

    Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida
    del objeto incluido es independiente del que lo incluye. Este tipo de relación es
    comúnmente llamado Agregación (el objeto base utiliza al incluido para su
    funcionamiento).                       Un Almacén posee Clientes y Cuentas (los
                                          rombos van en el objeto que posee las
                                          referencias).

                                          Cuando se destruye el Objeto Almacén también
                                          son destruidos los objetos Cuenta asociados, en
                                          cambio no son afectados los objetos Cliente
                                          asociados.
Relaciones entre clases

Asociación:
La relación entre clases conocida como Asociación, permite asociar objetos
que colaboran entre si. Cabe destacar que no es una relación fuerte, es
decir, el tiempo de vida de un objeto no depende del otro.




  Un cliente puede tener asociadas muchas Ordenes de Compra, en
  cambio una orden de compra solo puede tener asociado un cliente.
Relaciones entre clases

Dependencia o Instanciación (uso): -------- >
Representa un tipo de relación muy particular, en la que una clase es
instanciada (su instanciación es dependiente de otro objeto/clase). Se
denota por una flecha punteada.

El uso más particular de este tipo de relación es para denotar la
dependencia que tiene una clase de otra, como por ejemplo una aplicación
grafica que instancia una ventana (la creación del Objeto Ventana esta
condicionado a la instanciación proveniente desde el objeto Aplicación):
Modelado orientado a objetos

Introducción a las bases de datos relacionales

  • 1.
    INTRODUCCIÓN A LAS BASESDE DATOS RELACIONALES
  • 2.
    Bases de datosrelacionales • Codd propone el modelo relacional para bases de datos en 1970. • Ésta es la base para la construcción de los SGBDR. • El modelo relacional consiste en: Conjunto de objetos o relaciones Conjunto de operadores que actúan sobre los objetos Reglas para asegurar la integridad y consistencia del propio modelo.
  • 3.
    Bases de datosrelacionales Una relación consta de: •Un esquema: conjunto de pares (atributo,dominio). •Un cuerpo: conjunto de tuplas de pares (atributo,valor). Definición de una Base de Datos Relacional Una base de datos relacional es un conjunto de relaciones (o tablas) de dos dimensiones.
  • 4.
    Bases de datosrelacionales Un modelo relacional de datos es considerado teóricamente desde varios aspectos. 1. Aspecto estructural: El usuario percibe la información de la base de datos como tablas y nada más que tablas. 2. Aspecto de integridad: Estas tablas satisfacen ciertas restricciones de integridad . 3. Aspecto de manipulación: Los operadores disponibles para que el usuario manipule estas tablas, por ejemplo, para fines de recuperación de datos. En particular hay tres operadores : restringir, proyectar y juntar (este último operador también es conocido como combinar o reunir).
  • 5.
    Ejemplo base dedatos relacional
  • 6.
    Algunas reglas Propiedad dela llave principal Primera Regla de Integridad (de la Entidad): Las componentes de una llave primaria no pueden ser nulos. Propiedad de la llave foránea Segunda Regla de Integridad (de Referencia): Las componentes de una llave foránea son nulas o son iguales que el valor de alguna llave primaria en una tabla del modelo.
  • 7.
    Operaciones restringir, proyectary juntar ■ La operación restringir (también conocida como seleccionar) extrae las filas especificadas de una tabla. ■ La operación proyectar extrae las columnas especificadas de una tabla. ■ La operación juntar reúne dos tablas con base en valores comunes de una columna común.
  • 8.
  • 9.
    Bases de DatosOrientadas a Objetos Cada objeto representa una entidad del mundo real con la capacidad de actuar consigo misma y de interactuar con otros objetos. Teniendo en cuenta este concepto, las bases de datos orientadas a objetos (OODB) están diseñadas para capturar los datos de un sistema de negocio, que puede ser considerado como un conjunto de objetos que interactúan entre sí. Objeto, entidad y tupla Un objeto OODM tiene características adicionales a las de las entidades o tuplas, como comportamiento, herencia y encapsulado. Tales características OODM hacen que el modelado OO sea más natural que el modelado E-R y relacional. Atributos Los objetos son descritos por sus atributos, conocidos como variables de instancia en un ambiente OO. Cada atributo tiene un nombre único y un tipo de datos asociado a él. Los atributos también tienen un dominio. El dominio
  • 10.
    Modelado orientado aobjetos Identidad del objeto La identidad del objeto está representada por el ID de objeto (OID), el cual es único de ese objeto. El OID es asignado por el sistema al momento de la creación del objeto y no puede ser cambiado en ninguna circunstancia. Clase, conjunto de entidades y tabla El concepto de clase puede ser asociado con los conceptos de conjunto de entidades y tabla de los modelos E-R y relacional, respectivamente. No obstante, clase es un concepto más poderoso que permite no sólo la descripción de la estructura de datos sino también la descripción del comportamiento de los objetos clase. Encapsulado y herencia El encapsulado es la capacidad de ocultar los detalles internos del objeto (atributos y métodos). Esta capacidad deriva de que la estructura interna de un objeto no puede ser accedida directamente por otro objeto, garantizando la integridad del estado del objeto.
  • 11.
    Modelado orientado aobjetos Relaciones La principal propiedad de cualquier modelo de datos se encuentra en su representación de relaciones entre los componentes de datos. Las relaciones en un OODM pueden ser de dos tipos: relación interobjeto o herencia de jerarquía de clases. Relaciones interobjeto: Una relación atributo-clase o relación interobjeto, se crea cuando el atributo de un objeto hace referencia a otro objeto de la misma o diferente clase. Existen dos tipos de relaciones interobjeto: relaciones 1:M y M:N. Relaciones de herencia de jerarquía de clases Las relaciones de herencia de jerarquía de clases se utilizan para describir la relación entre las clases de la jerarquía.
  • 12.
    Relaciones entre clases •unoo muchos: 1..* (1..n) •0 o muchos: 0..* (0..n) •número fijo: m (m denota el número). Especialización/Generalización: Indica que una subclase hereda los métodos y atributos especificados por una SuperClase, por ende la Subclase además de poseer sus propios métodos y atributos, poseerá las características y atributos visibles de la SuperClase (public y protected).
  • 13.
    Relaciones entre clases Agregación: Cuandose requiere componer objetos que son instancias de clases definidas por el desarrollador de la aplicación, tenemos dos posibilidades: Por Valor: Es un tipo de relación estática, en donde el tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye. Este tipo de relación es comúnmente llamada Composición (el Objeto base se construye a partir del objeto incluido, es decir, es "parte/todo"). ROMBO RELLENO Por Referencia: Es un tipo de relación dinámica, en donde el tiempo de vida del objeto incluido es independiente del que lo incluye. Este tipo de relación es comúnmente llamado Agregación (el objeto base utiliza al incluido para su funcionamiento). Un Almacén posee Clientes y Cuentas (los rombos van en el objeto que posee las referencias). Cuando se destruye el Objeto Almacén también son destruidos los objetos Cuenta asociados, en cambio no son afectados los objetos Cliente asociados.
  • 14.
    Relaciones entre clases Asociación: Larelación entre clases conocida como Asociación, permite asociar objetos que colaboran entre si. Cabe destacar que no es una relación fuerte, es decir, el tiempo de vida de un objeto no depende del otro. Un cliente puede tener asociadas muchas Ordenes de Compra, en cambio una orden de compra solo puede tener asociado un cliente.
  • 15.
    Relaciones entre clases Dependenciao Instanciación (uso): -------- > Representa un tipo de relación muy particular, en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada. El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra, como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicación):
  • 16.