{"id":143,"date":"2015-10-06T18:11:27","date_gmt":"2015-10-06T23:11:27","guid":{"rendered":"http:\/\/naps.com.mx\/blog\/?p=143"},"modified":"2017-11-16T12:15:52","modified_gmt":"2017-11-16T18:15:52","slug":"lo-que-debes-saber-acerca-del-modelo-relacional","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/lo-que-debes-saber-acerca-del-modelo-relacional\/","title":{"rendered":"Lo que debes saber acerca del Modelo Relacional"},"content":{"rendered":"<p>El Modelo Relacional es un modelo de datos que actualmente sigue\u00a0estando vigente (Gutierrez J. J., 2005), por lo que conocerlo y aplicarlo correctamente es necesario para dise\u00f1ar, organizar y gestionar sistemas de Base de Datos.<\/p>\n<p><!--more--><\/p>\n<p>En el Modelo Relacional, los datos se representan como una estructura tabular conformada por filas y columnas. Esta estructura se denomina formalmente <strong>relaci\u00f3n<\/strong>, aunque en la pr\u00e1ctica se le conoce m\u00e1s como <strong>tabla<\/strong>. (Reynosa E., Maldonado C., Mu\u00f1oz R., Damiano L., Abrutsky M, 2012).<\/p>\n<h3><strong>Conceptos b\u00e1sicos del modelo relacional<\/strong><\/h3>\n<ul>\n<li><strong>Relaci\u00f3n<\/strong>. Una representaci\u00f3n en dos dimensiones (filas y columnas) que cumple un conjunto de restricciones.<\/li>\n<li><strong>Fila o tupla<\/strong>. Colecci\u00f3n ordenada de elementos diferentes que contienen datos de la realidad. Las tuplas no se repiten dentro de la misma relaci\u00f3n.<\/li>\n<li><strong>Cuerpo<\/strong>. Conjunto de tuplas de una relaci\u00f3n.<\/li>\n<li><strong>Columna o atributo<\/strong>. Una propiedad que caracteriza a cada entidad.<\/li>\n<li><strong>Cabecera<\/strong>. Conjunto de atributos de una relaci\u00f3n.<\/li>\n<li><strong>Dato<\/strong>. M\u00ednima unidad que se almacena en una relaci\u00f3n. En una BD relacional los datos son at\u00f3micos como n\u00famero, texto, fecha, etc. (Mu\u00f1oz A. C., Aguilar J., Mart\u00ednez R., 2011)<\/li>\n<li><strong>Grado<\/strong>. N\u00famero de columnas que conforman la relaci\u00f3n.<\/li>\n<li><strong>Cardinalidad<\/strong>. N\u00famero de tuplas o filas de una relaci\u00f3n.<\/li>\n<li><strong>Dominio<\/strong>. Conjunto de valores posibles de un atributo en una relaci\u00f3n.<\/li>\n<\/ul>\n<h3><strong>Propiedades de las relaciones<\/strong><\/h3>\n<p>Las BD relacionales est\u00e1n basadas en la teor\u00eda de conjuntos por lo que tienen ciertas propiedades como las siguientes:<\/p>\n<ol>\n<li><strong>Orden de las tuplas<\/strong>. Una relaci\u00f3n es un conjunto de tuplas y en Matem\u00e1ticas los conjuntos no son ordenados, por lo que las tupas en la relaci\u00f3n no est\u00e1n ordenadas.<\/li>\n<li><strong>Orden de los atributos<\/strong>. Tampoco pueden estar ordenados (al ser un conjunto de atributos).<\/li>\n<li><strong>Todas las filas son distintas<\/strong>. En Matem\u00e1ticas los elementos de un conjunto no est\u00e1n duplicados, sino que todos son distintos, por lo que en las relaciones no deber\u00eda haber duplicidad de filas.<\/li>\n<li><strong>Un valor \u00fanico en la intersecci\u00f3n de fila y columna<\/strong>. En la definici\u00f3n original del modelo relacional se dice que toda relaci\u00f3n est\u00e1 normalizada, por lo que un valor en la intersecci\u00f3n de fila y columna no podr\u00eda ser divisible. Sin embargo, actualmente, hay productos que permiten incluir una relaci\u00f3n dentro de otra relaci\u00f3n.<\/li>\n<\/ol>\n<h3><strong>Reglas de Codd para los Sistemas Gestores de Base de Datos (SGBD)<\/strong><\/h3>\n<ul>\n<li><strong>Regla 0: Regla de fundaci\u00f3n<\/strong><\/li>\n<\/ul>\n<p>El SGBD gestiona los datos almacenados usando solo sus capacidades relacionales.<\/p>\n<ul>\n<li><strong>Regla 1: Regla de la informaci\u00f3n<\/strong><\/li>\n<\/ul>\n<p>Toda la informaci\u00f3n en la BD estar\u00e1 representada \u00fanicamente como valores en una relaci\u00f3n.<\/p>\n<ul>\n<li><strong>Regla 2: Regla de acceso garantizado<\/strong><\/li>\n<\/ul>\n<p>Todos y cada uno de los datos pueden ser accesibles a trav\u00e9s de una combinaci\u00f3n de nombre de la relaci\u00f3n, valor de clave primaria, y nombre de la columna.<\/p>\n<ul>\n<li><strong>Regla 3: Tratamiento sistem\u00e1tico de valores nulos.<\/strong><\/li>\n<\/ul>\n<p>Los valores nulos se soportan en los DBMS relacionales para la representaci\u00f3n de la informaci\u00f3n que falta.<\/p>\n<ul>\n<li><strong>Regla 4: Cat\u00e1logo din\u00e1mico en l\u00ednea basado en el modelo relacional.<\/strong><\/li>\n<\/ul>\n<p>La descripci\u00f3n de la BD est\u00e1 representada de igual forma que los datos ordinarios y se pueden consultar de igual forma que los datos regulares.<\/p>\n<ul>\n<li><strong>Regla 5: Regla del sublenguaje de datos completa<\/strong><\/li>\n<\/ul>\n<p>Debe existir por lo menos un lenguaje que soporte:<\/p>\n<ol>\n<li>Definici\u00f3n de datos.<\/li>\n<li>Definici\u00f3n de vista.<\/li>\n<li>Manipulaci\u00f3n de datos (interactiva y por programa).<\/li>\n<li>Restricciones de integridad.<\/li>\n<li>Autorizaci\u00f3n.<\/li>\n<li>L\u00edmites de la transacci\u00f3n (<em>BEGIN<\/em>,<em>COMMIT<\/em>, <em>ROLLBACK<\/em>).<\/li>\n<\/ol>\n<ul>\n<li><strong>Regla 6: Regla de actualizaci\u00f3n de vistas<\/strong><\/li>\n<\/ul>\n<p>Se deben actualizar todas las vistas que son te\u00f3ricamente actualizables.<\/p>\n<ul>\n<li><strong>Regla 7: Inserci\u00f3n, actualizaci\u00f3n y borrado de alto nivel<\/strong><\/li>\n<\/ul>\n<p>La capacidad de manejar una relaci\u00f3n (recuperaci\u00f3n, inserci\u00f3n, actualizaci\u00f3n, borrado) en forma simple.<\/p>\n<ul>\n<li><strong>Regla 8: Independencia f\u00edsica de datos<\/strong><\/li>\n<\/ul>\n<p>Los programas de aplicaci\u00f3n permanecen inalterables aunque se realicen cambios en las representaciones de almacenamiento\u00a0 o m\u00e9todos de acceso.<\/p>\n<ul>\n<li><strong>Regla 9: Independencia l\u00f3gica de datos<\/strong><\/li>\n<\/ul>\n<p>Los programas de aplicaci\u00f3n permanecen l\u00f3gicamente inalterables cuando los cambios preservan la informaci\u00f3n en las relaciones base.<\/p>\n<ul>\n<li><strong>Regla 10: Independencia de integridad<\/strong><\/li>\n<\/ul>\n<p>Las reglas de integridad se deben almacenar en\u00a0 el diccionario de datos, no en los programas de aplicaci\u00f3n.<\/p>\n<ul>\n<li><strong>Regla 11: Independencia de distribuci\u00f3n<\/strong><\/li>\n<\/ul>\n<p>Los programas de aplicaci\u00f3n permanecen l\u00f3gicamente intactos cuando los datos est\u00e1n f\u00edsicamente centralizados o distribuidos.<\/p>\n<ul>\n<li><strong>Regla 12: Regla de no subversi\u00f3n<\/strong><\/li>\n<\/ul>\n<p>Un lenguaje de bajo nivel soportado por el DBMS no puede subvertir (violar u omitir) las reglas de integridad expresadas en el lenguaje relacional de alto nivel.<\/p>\n<h3><strong>Referencias<\/strong><\/h3>\n<ol>\n<li>Reynosa E., Maldonado C., Mu\u00f1oz R., Damiano L., Abrutsky M. (2012). <strong>Bases de datos. Editorial Alfaomega<\/strong>. M\u00e9xico.<\/li>\n<li>Mu\u00f1oz, A. C., Aguilar, J., &amp; Mart\u00ednez, R. (2011). <strong>Modelo Inteligente para Bases de Datos Distribuidas<\/strong>. REVISTA GTI, 4(10).<\/li>\n<li>Guti\u00e9rrez, J. J., Escalona, M. J., Villadiego, D., &amp; Mej\u00edas, M. (2005). <strong><a href=\"https:\/\/www.researchgate.net\/profile\/Mj_Escalona\/publication\/266037513_Comparativa_de_herramientas_para_la_enseanza_de_lenguajes_relacionales\/links\/54be8c090cf28ce312326dc4.pdf\" target=\"_blank\" class=\"broken_link\">Comparativa de herramientas para la ense\u00f1anza de lenguajes relacionales<\/a><\/strong>.\u00a0<i>Actas de las XI Jornadas de Ense\u00f1anza Universitaria de la Inform\u00e1tica<\/i>, <i>11<\/i>, 297-304.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>El Modelo Relacional es un modelo de datos que actualmente sigue\u00a0estando vigente (Gutierrez J. J., 2005), por lo que conocerlo y aplicarlo correctamente es necesario para dise\u00f1ar, organizar y gestionar sistemas de Base de Datos.<\/p>\n","protected":false},"author":1,"featured_media":146,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[49],"tags":[68,69],"class_list":["post-143","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bases-de-datos","tag-modelo-relacional","tag-reglas-codd"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=143"}],"version-history":[{"count":4,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/143\/revisions"}],"predecessor-version":[{"id":389,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/143\/revisions\/389"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media\/146"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}