Anda di halaman 1dari 7

Modelo Relacional

El modelo relacional para la gestin de una base de datos es un modelo de datos basado en la lgica de predicados y en la teora de conjuntos. Es el modelo ms utilizado en la actualidad para modelar problemas reales y administrar datos dinmicamente. Su idea fundamental es el uso de relaciones. Estas relaciones podran considerarse en forma lgica como conjuntos de datos llamados tuplas. Pese a que sta es la teora de las bases de datos relacionales creadas por Edgar Frank Codd, la mayora de las veces se conceptualiza de una manera ms fcil de imaginar, esto es, pensando en cada relacin como si fuese una tabla que est compuesta por registros (cada fila de la tabla sera un registro o tupla), y columnas (tambin llamadas campos).

Tablas, Dominio y Atributos


Una tabla o relacin es una matriz rectangular que almacena lneas con una estructura concreta: La primera lnea de una tabla, es una cabecera que indica el nombre de cada columna. O sea, cada columna tiene asignado un nombre nico, e indica que los tems almacenados en esa columna deben pertenecer a un conjunto de valores concreto: Nmeros, Letras, Frases, etc. Cada lnea (excepto la primera) recibe el nombre de tupla, y almacena informacin concreta para cada columna. Todas las filas deben ser diferentes entre s. El orden de las filas y de las columnas carece de importancia a efectos del S.G.B.D. Este hecho es el que verdaderamente diferencia las tablas relacionales del concepto matemtico de relacin, en el que el orden de las columnas es fundamental. Ejemplo de tabla platos para un restaurant. Platos

El grado de esta tabla es el nmero de campos que posee, en nuestro caso 4. La cardinalidad es el nmero de tuplas concretas que almacena: 7. El nombre del atributo debe describir el significado de la informacin que representa. Los dominios a que puede pertenecer un atributo, suelen depender de los que proporciona el S.G.B.D. que empleemos. Suelen ser comunes dominios como: Texto, Nmero entero, Nmero decimal, Fecha, Hora, S/No, Fecha, Hora, etc. El nombre del Plato de qu tipo sera? Del Tipo Texto. Al SGB tenemos que especificarle el dominio de cada atributo por ejemplo:

La informacin anterior son los metadatos que definen la estructura (esquema) de la BD. Actividad: Generar 5 tablas con el nombre de la tabla, por lo menos 4 columnas cada una.

Restricciones 1. 2. 3. 4. 5. Restriccin de atributo. Imposibilidad de guardar tipos de datos de diferentes dominio Imposibilidad de repetir tuplas en una misma tabla. Imposibilidad de establecer un orden en las tuplas. Claves Como en una tabla, las tuplas pueden estar en cualquier orden, no podemos referenciar una tupla concreta mediante su posicin entre las dems, y necesitamos alguna forma deseleccionar una tupla concreta. La forma de hacerlo es mediante una clave. 6. Una clave es un atributo o conjunto de atributos cuyo valor es nico y diferente para cada tupla. Cada tabla puede poseer ms de una clave. P.ej., en nuestro caso de la tabla Platos, la clave puede ser tanto el atributo Cdigo, como el atributo Nombre. Tenemos dos claves potenciales, tambin llamadas claves candidatas.

7. De entre todas las claves candidatas, el administrador, cuando define la tabla, debe decidir cul de ellas va a ser la clave principal o clave primaria, mientras que el resto de las claves pasan a denominarse claves alternativas o claves alternas. 8. El concepto de clave es tan importante, que da lugar a la regla de identificacin nica. Regla de identificacin nica En ninguna tupla de una tabla, ninguno de los atributos que formen parte de la clave primaria deuna relacin podr tomar un valor nulo. El valor de la clave ser nico para cada tupla de la tabla. Actividad: Identificar la clave en las tablas del ejercicio anterior.

Conversin de diagramas E-R a esquemas relacionales.


1. Utilizacin de atributos atmicos En caso de existir atributos mltiples o multivaluados se deber crear una nueva relacin junto con una nueva entidad que represente el conjunto de los valores del atributo mltiple. Ejemplo:

Conversin de entidades y relaciones a tablas. Una vez preparados los atributos de las entidades y relaciones, la conversin del diagramaE-R al modelo relacional pasa por dos etapas: una en la que se convierten las entidades, y otra enla que se convierten las relaciones. No obstante, las tablas que se van obteniendo no adoptan suforma definitiva hasta que se ha acabado el proceso. Conversin de entidades a tablas Una entidad A con atributos a1..an se convierte en una tabla de nombre A, y nombres decolumna o atributos a1..an. Si la clave de la entidad A est formada por los atributos ai..ai+k, laclave de la tabla correspondiente estar formada por dichos atributos.

P.ej., siguiendo con el caso anterior, la entidad Clientes se convertira en la tabla adjunta,en la que no hay ningn dato insertado.

Conversin de relaciones binarias a tablas Supongamos por ejemplo eldiagrama que nospermite representar lasfacturas propias de cualquier negocio. Dadoque el nmero de lneas de detalle de unafactura es indeterminado, es necesario crearuna relacin dbil que relacione cada facturacon los detalles que en ella se facturan, tal ycomo se ve en el diagrama adjunto. Cuando convertimos las entidadesFacturas y Lneas de Detalle en sus tablascorrespondientes, obtenemos las de la figura,en la que se observa quela tabla de Lneas deDetalle hereda los atributos que forman laclave de Facturas.

De esta forma, la relacin dbil Detalle queda representada en el modelo relacional por lainclusin de la clave de la relacin fuerte en la tabla de la dbil.Una relacin es-un se trata de la misma forma que cualquier otra r elacin binaria dedebilidad. Conversin de relaciones uno a uno

La conversin de una relacin uno a uno, no da lugar a una tabla nueva, sino que modificauna de las dos tablas correspondientes a las entidades que relaciona. Una relacin R del tipo uno a uno con atributos r1..rn que relaciona entidades A y B declaves ai..ai+k y bj..bj+m, modifica la tabla de la entidad A, aadindole como atributos los de la clavede B, y los suyos propios, esto es bj..bj+m y r1..rn. Por ejemplo, supongamos eldiagrama E-R de la figura que representa auna entidad Clientes y a una entidadTaquillas, en un sistema en el que queremosrepresentar parte de un gimnasio, de maneraque un cliente alquila una taquilla, y unataquilla slo puede pertenecer como muchoa un

cliente. Esta situacin se representa mediante la relacin Alquila, que en tal caso es del tipouno a uno. Si ahora aplicamos la regla dadaanteriormente, nos damos cuenta de su ambigedad,en el sent ido de que hace referencia a una entidad Ay otra B. En nuestro caso, da lo mismo cualconsideremos como entidad A (si a Clientes o aTaquillas), ya que el proceso a seguir es idnticoescojamos la que escojamos. Supongamos que la entidad A es Clientes, en tal caso para convertir la relacin Alquila conatributos Fecha alquiler yDuracin, ampliaremos la tabla deClientes con la clave de Taquillas, osea Nmero, y los atributos de larelacin, dando lugar a la figurasiguiente.

Como resultado de esta conversin, hemos transformado una tabla aadindole atributosque permiten seguir la relacin existente ent re un Cliente y una Taquilla. Podemos saberdirectamente qu Taquilla tiene asignada un Cliente sin ms que consultar su clave, en este casoel atributo Nmero, que, por el hecho de ser clave, identifica de forma nica una tupla en la tablade Taquillas. Asimismo, acompaamos la adicin de esta clave con la adicin de los atributospropios de la relacin, con lo que podemos saber qu Taquilla ha alquilado cada Cliente, en quFecha alquiler y por cunta Duracin. Por otro lado, para saber a partir de un Nmero de Taquilla, qu Cliente la ha alquilado,basta con inspeccionar todas las tuplas de Clientes en busca de uno cuyo atributo Nmerocoincida con el que estamos buscando. Esta operacin, en la que la clave de una tabla emigra a otra, da lugar a lo que se llamaclave fornea, que no es ms que el conjunto de atributos que conforman la clave migrada. Conversin de relaciones uno a muchos Una relacin R del tipo uno a muchos con atributos r1..rn que relaciona entidades A yB de claves ai..ai+k y bj..bj+m de manera que una instancia de A se puede relacionar con muchas deB, modifica la tabla de la entidad B, aadindole como atributos los de la clave de A, y los suyospropios, esto es ai..ai+k y r1..rn. Tpico ejemplo de esta situacin esel diagrama E-R que representa la relacin entre una lista de vuelos comerciales y lascompaas areas que los realizan. Estopuede verse en la figura adjunta. Tras haber convertido las entidadesen tablas se obtienen las de la figurasiguiente.

Compaas En esta situacin, para convertir larelacin Realizar al modelo relacional,observamos que una Compaa se relacionacon muchos Vuelos, por lo que siguiendo la regla anterior, Compaa hace las veces de entidad A, y Vuelos hace las veces de entidad B. Por tanto, para convertir la relacin, basta con incluir laclave de Compaas en la tabla de Vuelos,dando lugar al siguiente esquema. En este caso, la relacin Realizarcarece de atributos propios por lo que no seaaden ms atributos a la tabla de Vuelos.En este punto es interesante hacer notar que en el diagrama E-R existe la posibilidad de tener entidades distintas con atributos distintos pero con el mismo nombre. Nada nos impide renombrarlos atributos en su nueva ubicacin. Porejemplo, en el caso anterior, la tablaVuelos podra haber quedado como se ve en la figura: el atributo Nombre hapasado a llamarse Nombre deCompaa.Lo que s est claro, en cualquier caso, es que el atributo Nombre de Compaa siguesiendo clave fornea, aunque tenga distinto nombre Conversin de relaciones muchos a muchos Este es el caso ms general de conversin de relaciones, pudiendo incluso aplicarse en lasrelaciones uno a uno y uno a muchos. El nico motivo por el que no se da esta regla como nicaregla general es la eficiencia, ya que como veremos implica la creacin de tablas nuevas y laduplicacin de informacin en gran cantidad. Una relacin R del tipo muchos a muchos con atributos r1..rn que relaciona entidadesA y B de claves ai.ai+k y bj..bj+m respectivamente, se convierte en una tabla llamada R ycompuesta por los atributos de las claves de A y B, as como por los atributos propios de larelacin R, esto es ai..ai+k, bj..bj+m, y r1..rn. Los atributos ai..ai+k, bj..bj+m forman la clave de lanueva tabla. La solucin pasa por crearuna nueva tabla con el nico objetivo de contener los pares de instancias que se relacionan;evidentemente, en lugar de repetir toda la informacin de cada instancia, se almacena tan slo la informacin identificativa: la clave.Para

ilustrar esto, supongamos quequeremos representar la informacin relativaa los alumnos de una Facultad y lasasignaturas en que se halan matriculados. El diagrama E-R que representa esto puedeverse en la figura. Dado que la relacin Matrculas esmuchos a muchos, segn la regla anterior, laconversin implica crear una nueva tabla conel mismo nombre, o sea Matrculas, y con los atributos Veces Matriculado y ConvocatoriasAgotadas, as como las claves de Alumnos y Asignaturas, o sea, NIF y Cdigo, que podemosrenombrar como NIF del Alumno y Cdigo de Asignatura, quedando las tablas de la figurasiguiente.

Anda mungkin juga menyukai