BBDD Relacionales (III): Paso al Modelo Relacional
Para pasar al Modelo Relacional, partiendo del Modelo Entidad/Relación seguiremos una serie de pautas:
- Toda entidad se transforma en una tabla.
- Todo atributo se transforma columna dentro de una tabla.
- El identificador único de la entidad se convierte en clave primaria.
- Toda relación N:M se transforma en una tabla que tendrá como clave primaria la concatenación de los atributos clave de las entidades que asocia.
- Para las transformaciones de relaciones 1:N vamos a tener dos soluciones:
a) Transformarlo en una tabla: Este proceso se va a hacer como si se tratara de una relación 1:N y la vamos a hacer si vemos que en un futuro la relación se pueda convertir en N:M.
b) Propagar la clave: Propagamos el atributo principal de la entidad que tiene cardinalidad máxima 1 a la que tiene cardinalidad máxima N. Desaparece el nombre de la relación.
- Transformaciones 1:1: Si las entidades poseen cardinalidades (0,1) la relación se convierte en una tabla. Si una de las entidades posee cardinalidades (0,1) y la otra (1,1) conviene propagar la clave de la entidad con cardinalidad (1,1) a la tabla de la entidad con cadinalidad (0,1). Si ambas entidades poseen cardinalidades (1,1) se puede propagar la clave de la forma que queramos.
Ejemplo: Vamos a pasar el siguiente Modelo E/R al Modelo Relacional

- Tenemos dos entidades DEPARTAMENTO y EMPLEADO.
- Tabla DEPARTAMENTO: NumDepart, Nombre, Localidad. Tabla EMPLEADO: NumEmple, Apellido, Salario, Comision.
DEPARTAMENTO (NumDepart, Nombre, Localidad) EMPLEADO (NumEmple, Apellido, Salario, Comision)
- Id Tabla DEPARTAMENTO: NumDepart (No puede haber dos departamentos con la misma identificacion)
- Id Tabla EMPLEADOS: NumEmple (No puede haber dos empleados con la misma identificacion)
DEPARTAMENTO (NumDepart, Nombre, Localidad) EMPLEADO (NumEmple, Apellido, Salario, Comision)
- En la relación ‘Pertenece’, se propaga el atributo de la entidad que tiene 1 como cardinalidad máxima (DEPARTAMENTO) hacia la que tiene cardinalidad máxima N (EMPLEADO). Se propaga NumDepart (la clave). La Tabla EMPLEADOS tiene ahora esta estructura:
EMPLEADO (NumEmple, Apellido, Salario, Comision, NumDepart)
- En la relación ‘Jefe’, se hace igual. La Tabla EMPLEADOS queda con un atributo más, que es el número de empleado del jefe del empleado. Le ponemos como nombre JEFE.
EMPLEADO (NumEmple, Apellido, Salario, Comision, NumDepart, Jefe)
Es decir que el Modelo Relacional sería el siguiente:
DEPARTAMENTO (NumDepart, Nombre, Localidad) EMPLEADO (NumEmple, Apellido, Salario, Comision, NumDepart, Jefe)
Hola Santi,
Una pregunta: en mi blog uso (entre muchas otras) dos tablas destinadas a los post. Una contiene los posts publicados (con su p_id) y la otra está destinada a los comments de todos los posts, pero incluyendo p_id (el post al que corresponde el comment) más su co_id.
Sería esto una BBDD Relacional?
Un abrazo,
Carles (www.evostudio.com/loksea/litus-blog/lb_02)
Hola Lîtus!!
La relación entre esas dos tablas sí sería relacional. Concretamente la relación entre la tabla POST y la tabla COMMENTS sería de 1:N, dado que un POST puede tener varios COMMENTS, pero un COMMENT solo puede pertenecer a un POST.
Por lo cual la PK (Primary Key - Tabla Primaria) de la tabla POST es p_id, y la de la tabla COMMENT, co_id. Al tener la relaciónq que hemos dicho antes, p_id pasaría también a la tabla COMMENT como FK (Foreign Key - Tabla Ajena).
Espero que esta pequeña duda haya quedado aclarada.
Un abrazo,
Santi M.
hola solo quiero saber la definicon de llaves, esntidad, atributo, dominio, vistas, campos, tuplas, tablas y relaciones
por fas
Hola Karen!
Échale un vistazo a los artículos anteriores a éste:
http://www.martinpulido.com/blog/2006/12/04/bbdd-relacionales-i-modelo-entidad-relacion/
http://www.martinpulido.com/blog/2006/12/06/bbdd-relacionales-ii-modelo-relacional/
Ahí lo explico todo.
Salu2
Santi M.
QUE SIGNIFICA EL 1:N, 1:1 ,O:N,
RESPONDEME LO MAS PRONTO POSIBLE
Hola!!!
que me dices de las figuras que se utilizan en una cardinalidad del modelo entidad-relacion
@Jacqueline
¿Has visto los artículos que menciono arriba?. Ahí está explicado.
PD: Escribe en minúsculas sino parece que estás gritando.
Salu2
Santi M.
Las tablas contruidas en excel se pueden utilizar para crear bases de datos en sQL, o que requisitoas deben tener éstas bases de datos construidas en hojas de calculo en excel?
Hola Ernesto,
Quizá puedas construir una tabla, exportando una hoja de excel, pero no lo sé con seguridad. Puede que los datos sí puedas exportarlos en un formato SQL, pero siempre y cuando tengas una estructura sólida y bien construida de base de datos detrás. Excel es una hoja de cálculo, no una base de datos, en mi opinión querer construir una base de datos con Excel es como intentar construir una casa sin cemento.
Para empezar, recomendaría Access, se acerca un poco más al concepto de Base de Datos; aunque si nos queremos dedicar un poquito más a ello podríamos probar con MySQL.
Salu2,
Santi M.
Hola, me gustaría saber con que software hiciste el diagrama
gracias.
diego
muy bueno el curso faltan mas ejemplos para aclarar mas dudas pero en general es muy bueno sobretodo este temita entidad relacion que ya estaba volviendo loco
Graciasssss tengo mañana un examen y me ha aclarado unas dudillas..N:M 1:n 1:1….bfffff hasta que no lo entiendes….es un LIO!
graciassss