Transformacion ER - TABLAS
-
Upload
gustavo-circelli -
Category
Documents
-
view
9 -
download
0
Transcript of Transformacion ER - TABLAS
El Blog de Óscar Sotorrío Sánchez - MCP Application Development Foundation - C#
Transformación del Modelo E/R al Modelo Relacional12. October 2010 20:57 by Oscar.SS in Desarrollo Empresarial // Tags: diseño base de datos // Comments (2)
En el diseño de base de datos lo más difícil y sujeto a la interpretación del desarrollador es construir un buen modelo entidad-relación que represente fielmente el problema. Sin embargo, la transformación de este al modelo relacional es casi mecánico y se basa en unas pocas reglas que ahora veremos.
Transformación de entidades débiles
Todas la entidades del modelo E/R se convierten en tablas en el modelo relacional. Las entidades débiles también se transforman en tablas pero su clave primaria se compone de la unión de esta con la clave de la entidad fuerte a la que pertenece.
/w EPDw ULLTIw O
Transformación 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 Mínima Cero
Si alguna de las entidades participa con cardinalidad mínima igual a cero se añade una tabla intermedia cuyo identificador se forma por las claves primarias de las otras dos tablas y se le añaden los atributos de la relación cuando los haya.
Transformación de relaciones (1:N)
- Cardinalidad Mínima Uno
Si en la relación la entidad que participa con cardinalidad máxima igual a uno, lo hace también con cardinalidad mínima 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 relación.
- Cardinalidad Mínima Cero
En este caso cada entidad se transforma en una tabla con su respectiva clave primaria. Se añade otra tabla que representa la relación, 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.
Transformación de las relaciones (N:N)
Cada entidad se transforma en una tabla con su respectiva clave primaria. Se añade una tabla para la relación con los atributos de esta y como clave primaria la composición de las claves de las otras entidades.
Transformación 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) según los casos como hemos visto anteriormente. En el ejemplo que nos ocupa tendríamos las siguientes tres tablas.
Transformación de relaciones reflexivas
En este tipo de relaciones hay que suponer que se trata de una relación 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 inversión de control y el patrón inyección de dependenciasCon el permiso explícito de Martin Fowler he traducido este artículo con la intenci&oa...Closures en JavaScript: entiéndelos de una vez por todasIntroducción 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 librería que en m&...
Comments (2) -
Pablo
2/3/2012 6:33:28 PM #
Buenas!
Sólo agradecerte este magnifico tutorial. Había buscado horas por Internet, y sin duda donde más claro o por lo menos mejor lo entiendo yo ,es con tu artículo.
Sólo un apunte que es duda también: en la transformación de entidades débiles, no habría una diferenciación si la entidad débil es en existencia o en identificación. Es decir, si fuera en identificación , sería tal y como está puesto. Pero si fuera en existencia (tendría atributo que la definirían 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 sería esta sólo clave primaria , y como FK , la clave primaria de la entidad fuerte?
Un saludo y realmente gracias por este artículo, me ha servido no te imaginas cuanto.
Oscar.SS
2/4/2012 10:01:28 AM #
Hola Pablo.
Efectivamente tienes razón. Existe una pequeña diferencia, en ocasiones una entidad débil puede identificarse por si misma sin necesidad de atributos primarios de la entidad superior.
Para descargar mi culpa digamos que he puesto el caso más crítico
Dejo unos enlaces por si otros lectores tienen interés 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
Comment Preview
Comment
Notify me when new comments are added
Privacy & Terms
Page List
Aprender Programación
Argentina
03AHJ_VuvulT7f
98fafe50-cea8-4
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) Formación (18) Gestión Proyectos (1) Herramientas (6) Información (9) Internet (4) Lenguajes (7) Personal (16) Programación (1) XML (6)
Tag cloud
ajax asp.net aspnet mvc autenticación buscadores c#2.0 c#3.0 console application controles cursos dhtml diseño base de datos diseño centrado usuario empleo Entiy Framework estimación eventos
exam70-536 framework futuro javascript jquery librerías 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
June 7. 05:41Ummm...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:24Beginners guide to AMD and RequireJS http://t.co/dOue1iqiS6
June 6. 05:06Inyección de parámetros en acciones http://t.co/zfU9RERhtQ MVC (I) http://t.co/jdvq4iK2qG
June 6. 05:05Los troyanos policiales del borrador de la nueva ley http://t.co/nSlfNfXqms
Sígueme en Twitter
Recent Posts
Contenedores de inversión de control y el patrón inyección de dependenciasComments: 2
Ataques SQL InjectionComments: 4 Nuevo curso de ASP.NET MVC 4 en Campus MVPComments: 0 Closures en JavaScript: entiéndelos de una vez por todasComments: 0 PATCH y OPTIONS: nuevos verbos HTTP para métodos de acción 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 dinámicamente el texto de CommandField (6)Oscar.SS wrote: Hola Valmount, Cambiando en el CommandField el ... [More]
Programación Orientada a Objetos en .NET con C# (5ª parte) (2)Oscar.SS wrote: Hola Liz, La verdad que me gustaría tener ... [More]
Contenedores de inversión de control y el patrón inyección de dependencias (2)Oscar.SS wrote: Hola Jose, La verdad, no tengo pensado editarlo... [More]
Comment RSS
Month List
2013o February (1)
o January (1)
2012 2011 2010 2009 2008
Top© 2007-2013 Óscar Sotorrío Sánchez Powered by BlogEngine.NET 2.7.0.0
Original theme by Adopted by Rtur.net
/w EdAIYBVyWtg