You are on page 1of 17

/w EPDw ULLTIw O

El Blog de scar Sotorro Snchez - MCP Application Development Foundation - C# Transformacin del Modelo E/R al Modelo Relacional
12. October 2010 20:57 by Oscar.SS in Desarrollo Empresarial // Tags: diseo base de datos // Comments (2)

En el diseo de base de datos lo ms difcil y sujeto a la interpretacin del desarrollador es construir un buen modelo entidad-relacin que represente fielmente el problema. Sin embargo, la transformacin de este al modelo relacional es casi mecnico y se basa en unas pocas reglas que ahora veremos.

Transformacin de entidades dbiles Todas la entidades del modelo E/R se convierten en tablas en el modelo relacional. Las entidades dbiles tambin se transforman en tablas pero su clave primaria se compone de la unin de esta con la clave de la entidad fuerte a la que pertenece.

Transformacin de las relaciones (1:1)

- Mismo Identificador Si las dos identidades tienen el mismo identificador se transforman en nica tabla que contendr este identificador como clave primaria y los atributos de ambas entidades.

- Diferente Identificador Cuando tienen diferente identificador cada entidad se convierte en una tabla con su identificador como clave primaria y como clave ajena el identificador de la otra entidad.

- Cardinalidad Mnima Cero Si alguna de las entidades participa con cardinalidad mnima igual a cero se aade una tabla intermedia cuyo identificador se forma por las claves primarias de las otras dos tablas y se le aaden los atributos de la relacin cuando los haya.

Transformacin de relaciones (1:N)

- Cardinalidad Mnima Uno Si en la relacin la entidad que participa con cardinalidad mxima igual a uno, lo hace tambin con cardinalidad mnima igual a uno, cada entidad se transforma en una tabla con su respectiva clave primaria. La tabla, que participa con caridnalidad N, tendr como clave ajena la clave primaria de la otra tabla, as como los atributos de la relacin.

- Cardinalidad Mnima Cero En este caso cada entidad se transforma en una tabla con su respectiva clave primaria. Se aade otra tabla que representa la relacin, cuya clave primaria ser la clave primaria de la tabla con cardinalidad N. Y tendr como clave ajena la clave primaria de la tabla con cardinalidad uno.

Transformacin de las relaciones (N:N) Cada entidad se transforma en una tabla con su respectiva clave primaria. Se aade una tabla para la relacin con los atributos de esta y como clave primaria la composicin de las claves de las otras entidades.

Transformacin de las relaciones N-arias En este tipo de relaciones intervienen 3 o N entidades.

Al transformarlo al modelo relacional podemos separar cada una de las relaciones y tratarlas por separado.

De este modo, podemos aplicar las relaciones (1:1), (1:N) o (N:N) segn los casos como hemos visto anteriormente. En el ejemplo que nos ocupa tendramos las siguientes tres tablas.

Transformacin de relaciones reflexivas

En este tipo de relaciones hay que suponer que se trata de una relacin binaria normal en la que las dos entidades son iguales. A partir de aqu, aplicar las reglas de las relaciones (1:1) o (N:N).

Related posts
Contenedores de inversin de control y el patrn inyeccin de dependenciasCon el permiso explcito de Martin Fowler he traducido este artculo con la intenci&oa...Closures en JavaScript: entindelos de una vez por todasIntroduccin Los closures, en castellano cierres o clausuras, son una potente caracter&iacut...Interoperabilidad de Microsoft Office Project en .NETEn las ltimas semanas en el trabajo he tenido que pelearme con una librera que en m&...

Comments (2) -

Pablo
2/3/2012 6:33:28 PM #

Buenas! Slo agradecerte este magnifico tutorial. Haba buscado horas por Internet, y sin duda donde ms claro o por lo menos mejor lo entiendo yo ,es con tu artculo. Slo un apunte que es duda tambin: en la transformacin de entidades dbiles, no habra una diferenciacin si la entidad dbil es en existencia o en identificacin. Es decir, si fuera en identificacin , sera tal y como est puesto. Pero si fuera en existencia (tendra atributo que la

definiran por si misma, es decir alguna clave primaria que permite identificarlo de forma nica, y que sus valores no se repetieran. En ese caso, la clave principal no sera esta slo clave primaria , y como FK , la clave primaria de la entidad fuerte? Un saludo y realmente gracias por este artculo, me ha servido no te imaginas cuanto.

Oscar.SS
2/4/2012 10:01:28 AM #

Hola Pablo. Efectivamente tienes razn. Existe una pequea diferencia, en ocasiones una entidad dbil puede identificarse por si misma sin necesidad de atributos primarios de la entidad superior. Para descargar mi culpa digamos que he puesto el caso ms crtico Dejo unos enlaces por si otros lectores tienen inters en ampliar estos u otros conocimientos. http://www.lsi.us.es/docencia/get.php?id=5390 http://www.lsi.us.es/docencia/get.php?id=5425 ocw.uoc.edu/.../P06_M2109_02150.pdf

Un saludo y muchas gracias por tu aporte Pablo

Add comment
Name* E-mail*

Website Country biuquote



Argentina

Comment Preview

Comment Notify me when new comments are added

Privacy & Terms


98fafe50-cea8-4

Page List

Aprender Programacin Hosting para .NET

Category list

Certificaciones (8) Desarrollo .NET (24) Desarrollo Empresarial (8) Desarrollo Office (1) Desarrollo Web (41) Desarrollo Windows (6) Experiencia Usuario (1) Formacin (18) Gestin Proyectos (1) Herramientas (6) Informacin (9) Internet (4) Lenguajes (7) Personal (16) Programacin (1) XML (6)

Tag cloud

ajax asp.net aspnet mvc autenticacin buscadores c#2.0 c#3.0 console application controles cursos dhtml diseo base de datos diseo centrado usuario empleo Entiy Framework estimacin eventos exam70-536

framework futuro javascript jquery libreras libros linq mis cosas mis cursos mis opiniones noticias objetos patrones plugins poo programas project seguridad sql server 2008 tareas t-sql tutoriales usabilidad utilidades visual studio webcasts windows form workshop xml server xslt

Twitter

June 7. 05:41 Ummm...I must check this: LINQ for JavaScript http://t.co/aUyGYAGPBK

June 7. 05:36 Preventing Cross Site Scripting Attacks in http://t.co/zfU9RERhtQ MVC 4

http://t.co/rYhh4YIu6R

June 6. 05:24 Beginners guide to AMD and RequireJS http://t.co/dOue1iqiS6

June 6. 05:06 Inyeccin de parmetros en acciones http://t.co/zfU9RERhtQ MVC (I) http://t.co/jdvq4iK2qG

June 6. 05:05 Los troyanos policiales del borrador de la nueva ley http://t.co/nSlfNfXqms Sgueme en Twitter

Recent Posts

Contenedores de inversin de control y el patrn inyeccin de dependenciasComments: 2 Ataques SQL InjectionComments: 4 Nuevo curso de ASP.NET MVC 4 en Campus MVPComments: 0 Closures en JavaScript: entindelos de una vez por todasComments: 0 PATCH y OPTIONS: nuevos verbos HTTP para mtodos de accin en ASP.NET MVC 4Comments: 0

Recent Comments

Insertar datos XML (29) Oscar.SS wrote: Hola Martin: Espero que esto te ayude: http://o... [More] Insertar datos XML (29) Martin Aguirre wrote: Buenas, Estoy llevando este proceso de inserci... [More] GridView: asignar dinmicamente el texto de CommandField (6) Oscar.SS wrote: Hola Valmount, Cambiando en el CommandField el ... [More] Programacin Orientada a Objetos en .NET con C# (5 parte) (2) Oscar.SS wrote: Hola Liz, La verdad que me gustara tener ... [More] Contenedores de inversin de control y el patrn inyeccin de dependencias (2) Oscar.SS wrote: Hola Jose, La verdad, no tengo pensado editarlo... [More]

Comment RSS

Month List

2013
o o

February (1) January (1)

2012 2011 2010 2009 2008

Top
2007-2013 scar Sotorro Snchez Original theme by
/w EdAIYBVyWtg

Powered by BlogEngine.NET 2.7.0.0

Adopted by Rtur.net

You might also like