tag:blogger.com,1999:blog-40798711873118525882024-03-13T06:34:48.402-07:00Modelo Relacional Base de DatosBase de Datos Ticshttp://www.blogger.com/profile/10280624809275049241noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-4079871187311852588.post-90065228361162801872013-03-07T22:49:00.001-08:002013-03-07T22:49:42.146-08:00Video Access<div class="separator" style="clear: both; text-align: center;">
Creación de una Base de Datos enAccess</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/0T3szWJ2Jnc?feature=player_embedded' frameborder='0'></iframe></div>
<br />Base de Datos Ticshttp://www.blogger.com/profile/10280624809275049241noreply@blogger.com1tag:blogger.com,1999:blog-4079871187311852588.post-90508177534960237802013-03-07T22:22:00.001-08:002013-03-07T22:22:27.952-08:00Modelo Relacional <iframe src="http://www.slideshare.net/slideshow/embed_code/17025607" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0;margin-bottom:5px" allowfullscreen webkitallowfullscreen mozallowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="http://www.slideshare.net/yepao2/modelo-relacional-17025607" title="Modelo relacional" target="_blank">Modelo relacional</a> </strong> from <strong><a href="http://www.slideshare.net/yepao2" target="_blank">yepao2</a></strong> </div>Base de Datos Ticshttp://www.blogger.com/profile/10280624809275049241noreply@blogger.com4tag:blogger.com,1999:blog-4079871187311852588.post-38854070159894900102013-03-07T22:15:00.005-08:002013-03-07T22:15:48.769-08:00Foro<h2>
<span style="color: #351c75;">Foro</span></h2>
<h2>
<span style="color: #351c75;"><br />¿Qué tan eficiente es hacer primero
el análisis de una base de datos en el Modelo Entidad Relación y no realizar el
modelo relacional desde el inicio del proyecto?</span></h2>
<h2>
<span style="color: #351c75;"><br />Participa con tus comentarios!!!!!</span></h2>
<br />
<div class="MsoNormal" style="text-align: justify;">
<span style="color: #351c75;"><o:p></o:p></span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
Base de Datos Ticshttp://www.blogger.com/profile/10280624809275049241noreply@blogger.com28tag:blogger.com,1999:blog-4079871187311852588.post-73637491213881520152013-03-07T22:11:00.006-08:002013-03-07T22:11:41.852-08:00<br />
<h1 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;"> Modelo relacional</span></h1>
<h2 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Introducción</span></h2>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">En el capítulo anterior se mencionaron 3 tipos de modelado: conceptual, lógico y físico.</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">El modelo e-r se considera un modelo conceptual ya que permite a un nivel alto el ver con claridad la información utilizada en algun problema o negocio.</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">En este capítulo nos concentraremos en desarrollar un buen modelo "lógico" que se conoce como "esquema de la base de datos" (<em>database schema</em>) a partir del cual se podrá realizar el modelado físico en el DBMS, es importante mencionar que es un paso necesario, no se puede partir de un modelo conceptual para realizar un físico.</span></div>
<table align="center" border="1" style="background-color: white; font-family: tahoma, verdana, helvetica; width: 75%px;"><tbody>
<tr><td bgcolor="#CCFF99"><div align="center">
<span style="color: #cc0000;"><img height="64" src="http://ict.udlap.mx/people/carlos/is341/images/db_process.png" width="477" /></span></div>
</td></tr>
</tbody></table>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<br /></div>
<h2 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Por qué "modelo relacional" ?</span></h2>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Puede resultar confuso el concepto de modelo entidad-relación vs modelo relacional, quizás porque ambos comparten casi las mismas palabras. Como se mencionó en la sección anterior, el objetivo del modelo relacional es crear un "esquema" (<em>schema</em>), lo cual como se mencionará posteriormente consiste de un conjunto de "tablas" que representan "relaciones", relaciones entre los datos.</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Estas tablas, pueden ser construídas de diversas maneras:</span></div>
<ul style="background-color: white; font-family: tahoma, verdana, helvetica;">
<li><span style="color: #cc0000;">Creando un conjunto de tablas iniciales y aplicar operaciones de normalización hasta conseguir el esquema más óptimo. Las técnicas de nomalización se explican más adelante en este capítulo.</span></li>
<li><span style="color: #cc0000;">Convertir el diagrama e-r a tablas y posteriormente aplicar también operaciones de normalización hasta conseguir el esquema óptimo.</span></li>
</ul>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">La primer técnica fue de las primeras en existir y, como es de suponerse, la segunda al ser más reciente es mucho más conveniente en varios aspectos:</span></div>
<ul style="background-color: white; font-family: tahoma, verdana, helvetica;">
<li><span style="color: #cc0000;">El partir de un diagrama visual es muy útil para apreciar los detalles, de ahí que se llame modelo conceptual.</span></li>
<li><span style="color: #cc0000;">El crear las tablas iniciales es mucho más simple a través de las reglas de conversión.</span></li>
<li><span style="color: #cc0000;">Se podría pensar que es lo mismo porque finalmente hay que "normalizar" las tablas de todas formas, pero la ventaja de partir del modelo e-r es que la "normalización" es mínima por lo general.</span></li>
<li><span style="color: #cc0000;">Lo anterior tiene otra ventaja, aún cuando se normalice de manera deficiente, se garantiza un esquema aceptable, en la primer técnica no es así.</span></li>
</ul>
<h3 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;"> </span></h3>
<h2 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Conceptos básicos</span></h2>
<h3 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Tablas</span></h3>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">El modelo relacional proporciona un manera simple de representar los datos: una tabla bidimensional llamada relación.</span></div>
<table align="center" border="1" style="background-color: white; font-family: tahoma, verdana, helvetica; width: 50%px;"><tbody>
<tr><td width="32%"><div align="center">
<strong><span style="color: #cc0000;">título</span></strong></div>
</td><td width="18%"><div align="center">
<strong><span style="color: #cc0000;">año</span></strong></div>
</td><td width="25%"><div align="center">
<strong><span style="color: #cc0000;">duración</span></strong></div>
</td><td width="25%"><div align="center">
<strong><span style="color: #cc0000;">tipo</span></strong></div>
</td></tr>
<tr><td><span style="color: #cc0000;">Star Wars</span></td><td><span style="color: #cc0000;">1977</span></td><td><span style="color: #cc0000;">124</span></td><td><span style="color: #cc0000;">color</span></td></tr>
<tr><td><span style="color: #cc0000;">Mighty Ducks</span></td><td><span style="color: #cc0000;">1991</span></td><td><span style="color: #cc0000;">104</span></td><td><span style="color: #cc0000;">color</span></td></tr>
<tr><td><span style="color: #cc0000;">Wayne's World</span></td><td><span style="color: #cc0000;">1992</span></td><td><span style="color: #cc0000;">95</span></td><td><span style="color: #cc0000;">color</span></td></tr>
</tbody></table>
<div align="center" style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Relación Películas</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">La relación Películas tiene la intención de manejar la información de las instancias en la entidad Películas, cada renglón corresponde a una entidad película y cada columna corresponde a uno de los atributos de la entidad. Sin embargo las relaciones pueden representar más que entidades, como se explicará más adelante.</span></div>
<h3 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Atributos</span></h3>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Los atributos son las columnas de un relación y describen características particulares de ella.</span></div>
<h3 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Esquemas</span></h3>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Es el nombre que se le da a una relación y el conjunto de atributos en ella.</span></div>
<div align="center" style="background-color: white; font-family: tahoma, verdana, helvetica;">
<strong><span style="color: #cc0000;">Películas (título, año, duración, tipo)</span></strong></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">En un modelo relación, un diseño consiste de uno o más esquemas, a este conjunto se le conoce como "esquema relacional de base de datos" (relational database schema) o simplemente "esquema de base de datos" (database schema)</span></div>
<h3 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Tuplas</span></h3>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Cada uno de los renglones en una relación conteniendo valores para cada uno de los atributos.</span></div>
<div align="center" style="background-color: white; font-family: tahoma, verdana, helvetica;">
<strong><span style="color: #cc0000;">(Star Wars, 1977, 124, color)</span></strong></div>
<h3 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Dominios</span></h3>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Se debe considerar que cada atributo (columna) debe ser atómico, es decir, que no sea divisible, no se puede pensar en un atributo como un "registro" o "estructura" de datos.</span></div>
<h3 style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Representaciones equivalentes de una relación</span></h3>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Las relaciones son un conjunto de tuplas, no una lista de tuplas. El orden en que aparecen las tuplas es irrelevante.</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Así mismo el orden de los atributos tampoco es relevante</span></div>
<table align="center" border="1" style="background-color: white; font-family: tahoma, verdana, helvetica; width: 50%px;"><tbody>
<tr><td width="18%"><div align="center">
<strong><span style="color: #cc0000;">año</span></strong></div>
</td><td width="32%"><div align="center">
<strong><span style="color: #cc0000;">título</span></strong></div>
</td><td width="25%"><div align="center">
<strong><span style="color: #cc0000;">tipo</span></strong></div>
</td><td width="25%"><div align="center">
<strong><span style="color: #cc0000;">duración</span></strong></div>
</td></tr>
<tr><td><span style="color: #cc0000;">1991</span></td><td><span style="color: #cc0000;">Mighty Ducks</span></td><td><span style="color: #cc0000;">color</span></td><td><span style="color: #cc0000;">104</span></td></tr>
<tr><td><span style="color: #cc0000;">1992</span></td><td><span style="color: #cc0000;">Wayne's World</span></td><td><span style="color: #cc0000;">color</span></td><td><span style="color: #cc0000;">95</span></td></tr>
<tr><td><span style="color: #cc0000;">1977</span></td><td><span style="color: #cc0000;">Star Wars</span></td><td><span style="color: #cc0000;">color</span></td><td><span style="color: #cc0000;">124</span></td></tr>
</tbody></table>
<div align="center" style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Otra representación de la relación Películas</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<br /></div>
Base de Datos Ticshttp://www.blogger.com/profile/10280624809275049241noreply@blogger.com0tag:blogger.com,1999:blog-4079871187311852588.post-36326580892671418102013-03-07T22:09:00.000-08:002013-03-07T22:09:33.160-08:00Del E/R al Relacional<br />
<span style="color: #cc0000;">Conversión del modelo e-r a un esquema de base de datos (Conversión a tablas)</span><span style="color: #cc0000;"> Introducción</span><br /><span style="color: #cc0000;">Conversión a tablas desde un modelo con relaciones (1-1,1-m,m-m)</span><table align="center" border="1" style="background-color: white; font-family: tahoma, verdana, helvetica; width: 85%px;"><tbody>
<tr><td><strong><span style="color: #cc0000;">modelo e-r conversión a tablas</span></strong><br />
<ul>
<li><span style="color: #cc0000;">una tabla por cada conjunto de entidades</span><ul>
<li><span style="color: #cc0000;">nombre de tabla = nombre de conjunto de entidades</span></li>
</ul>
</li>
<li><span style="color: #cc0000;">una tabla por cada conjunto de relaciones m-m</span><ul>
<li><span style="color: #cc0000;">nombre de tabla = nombre de conjunto de relaciones</span></li>
</ul>
</li>
<li><span style="color: #cc0000;">definición de columnas para cada tabla</span><ul>
<li><span style="color: #cc0000;">conjuntos fuertes de entidades</span><ul>
<li><span style="color: #cc0000;">columnas = nombre de atributos</span></li>
</ul>
</li>
<li><span style="color: #cc0000;">conjuntos débiles de entidades</span><ul>
<li><span style="color: #cc0000;">columnas = llave_primaria (dominante) U atributos(subordinado)</span></li>
</ul>
</li>
<li><span style="color: #cc0000;">conjunto de relaciones R (m-m) entre A, B</span><ul>
<li><span style="color: #cc0000;">columnas (R) = llave_primaria (A) U llave_primaria (B) U atributos(R)</span></li>
</ul>
</li>
<li><span style="color: #cc0000;">conjunto de relaciones R (1-1) entre A y B</span><ul>
<li><span style="color: #cc0000;">columnas (A) = atribs(A) U llave primaria(B) U atributos(R)</span></li>
</ul>
</li>
<li><span style="color: #cc0000;">conjunto de relaciones R (1-m) entre A y B</span><ul>
<li><span style="color: #cc0000;">columnas (B) = atribs(B) U llave primaria(A) U atributos(R)</span></li>
</ul>
</li>
</ul>
</li>
</ul>
</td></tr>
</tbody></table>
<table align="center" border="1" cellpadding="25" style="background-color: white; font-family: tahoma, verdana, helvetica; width: 85%px;"><tbody>
<tr><td><div align="center">
<span style="color: #cc0000;"><img height="437" src="http://ict.udlap.mx/people/carlos/is341/images/conversion_tables.png" width="567" /></span></div>
</td></tr>
<tr><td><span style="color: #cc0000;">El diagrama anterior se convertiría al siguiente esquema:</span><br />
<strong><span style="color: #cc0000;">Debil</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 50%px;"><tbody>
<tr><td><span style="color: #cc0000;">atribs_Debil</span></td><td><span style="color: #cc0000;">LLP_A</span></td><td><span style="color: #cc0000;">atribs_rel_0</span></td><td></td><td></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">A</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 50%px;"><tbody>
<tr><td><span style="color: #cc0000;">LLP_A</span></td><td><span style="color: #cc0000;">atribs_A</span></td><td></td><td></td><td></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">B1</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 50%px;"><tbody>
<tr><td><span style="color: #cc0000;">LLP_B1</span></td><td><span style="color: #cc0000;">atribs_B1</span></td><td></td><td></td><td></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">B2</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 50%px;"><tbody>
<tr><td><span style="color: #cc0000;">LLP_B2</span></td><td><span style="color: #cc0000;">atribs_B2</span></td><td><span style="color: #cc0000;">LLP_A</span></td><td><span style="color: #cc0000;">attribs_rel_2</span></td><td></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">B3</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 54%px;"><tbody>
<tr><td><span style="color: #cc0000;">LLP_B3</span></td><td><span style="color: #cc0000;">atribs_B3</span></td><td><span style="color: #cc0000;">LLP_A</span></td><td><span style="color: #cc0000;">atribs_rel_3</span></td><td></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">A_B1</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 50%px;"><tbody>
<tr><td><span style="color: #cc0000;">LLP_A</span></td><td><span style="color: #cc0000;">LLP_B1</span></td><td><span style="color: #cc0000;">atribs_rel_1</span></td><td></td><td></td></tr>
</tbody></table>
<span style="color: #cc0000;">donde:</span><br />
<span style="color: #cc0000;">LLP_X es la llave primaria de la entidad X (un subconjunto de atribs_X)</span></td></tr>
</tbody></table>
<table align="center" border="1" style="background-color: white; font-family: tahoma, verdana, helvetica; width: 75%px;"><tbody>
<tr><td><span style="color: #cc0000;"><img height="243" src="http://ict.udlap.mx/people/carlos/is341/images/modelo_curso_escuela.gif" width="773" /></span></td></tr>
</tbody></table>
<table align="center" border="1" cellpadding="25" style="background-color: white; font-family: tahoma, verdana, helvetica; width: 85%px;"><tbody>
<tr><td><strong><span style="color: #cc0000;">escuela</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 75%px;"><tbody>
<tr><td><u><span style="color: #cc0000;">id</span></u></td><td><span style="color: #cc0000;">url</span></td><td><span style="color: #cc0000;">nombre</span></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">departamento</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 75%px;"><tbody>
<tr><td><u><span style="color: #cc0000;">clave</span></u></td><td><span style="color: #cc0000;">url</span></td><td><span style="color: #cc0000;">nombre</span></td><td><span style="color: #cc0000;">id_escuela</span></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">curso</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 75%px;"><tbody>
<tr><td><u><span style="color: #cc0000;">clave</span></u></td><td><u><span style="color: #cc0000;">seccion</span></u></td><td><span style="color: #cc0000;">nombre</span></td><td><span style="color: #cc0000;">clave_depto</span></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">profesor</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 75%px;"><tbody>
<tr><td><u><span style="color: #cc0000;">id</span></u></td><td><span style="color: #cc0000;">nombre</span></td><td><span style="color: #cc0000;">extension</span></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">estudiante</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 75%px;"><tbody>
<tr><td><u><span style="color: #cc0000;">id</span></u></td><td><span style="color: #cc0000;">nombre</span></td><td><span style="color: #cc0000;">carrera</span></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">profesor_curso</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 75%px;"><tbody>
<tr><td><u><span style="color: #cc0000;">id_prof</span></u></td><td><u><span style="color: #cc0000;">clave_curso</span></u></td><td><u><span style="color: #cc0000;">seccion_curso</span></u></td></tr>
</tbody></table>
<strong><span style="color: #cc0000;">estudiante_curso</span></strong><br />
<table bgcolor="#CCFF99" border="1" cellspacing="0" style="width: 75%px;"><tbody>
<tr><td><u><span style="color: #cc0000;">id_estud</span></u></td><td><u><span style="color: #cc0000;">clave_curso</span></u></td><td><u><span style="color: #cc0000;">seccion_curso</span></u></td></tr>
</tbody></table>
</td></tr>
</tbody></table>
<br />
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">El modelo es una representación visual que gráficamente nos da una perspectiva de como se encuentran los datos involucrados en un proyecto u organización.</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Pero el modelo no nos presenta propiamente una instancia de los datos, un ejemplo que muestre con claridad algunas datos de muestra y como se relacionan en realidad. Por eso es conveniente crear un "esquema", el cual consiste de tablas las cuales en sus renglones (tuplas) contienen instancias de los datos.</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Las tablas siguientes muestran las reglas que se deben seguir para poder crear dicho esquema.</span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;"><br /></span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;"><br /></span></div>
<div style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Ejemplo:</span></div>
<div align="center" style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;"><br /></span></div>
<div align="center" style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;"><br /></span></div>
<div align="left" style="background-color: white; font-family: tahoma, verdana, helvetica;">
<span style="color: #cc0000;">Para el ejemplo de la figura tendríamos el esquema:</span></div>
Base de Datos Ticshttp://www.blogger.com/profile/10280624809275049241noreply@blogger.com0tag:blogger.com,1999:blog-4079871187311852588.post-67468917539762111712013-03-07T21:55:00.001-08:002013-03-07T21:55:33.669-08:00Modelo RelacionalEl Modelo Relacional, es una modelo de datos que permite describir la definición o disposición de una base de datos.<br />
Entre los modelos lógicos, el modelo relacional está considerado como el más simple.<br />
<br />
<br />
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Relación</h3>
<div style="color: #12100d; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Es el concepto básico del modelo relacional. En el modelo relacional este término se refiere a una tabla, y es el paralelo al concepto conjunto de entidades del modelo E-R.</div>
<div style="color: #12100d; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
<br /></div>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Relación:</b> es un conjunto de datos referentes a un conjunto de entidades y organizados en forma tabular, que se compone de filas y columnas, (tuplas y atributos), en la que cada intersección de fila y columna contiene un valor.</div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Tupla</h3>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
A menudo se le llama también <i style="margin: 0px; padding: 0px;">registro</i> o <i style="margin: 0px; padding: 0px;">fila</i>, físicamente es cada una de las líneas de la relación. Equivale al concepto de entidad del modelo E-R, y define un objeto real, ya sea abstracto, concretos o imaginario.</div>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Tupla:</b> cada una de las filas de una relación. Contiene la información relativa a una única entidad.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
De esta definición se deduce que no pueden existir dos tuplas iguales en la misma relación.</div>
<a href="" name="REL_atributo" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Atributo</h3>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
También denominado <i style="margin: 0px; padding: 0px;">campo</i> o <i style="margin: 0px; padding: 0px;">columna</i>, corresponde con las divisiones verticales de la relación. Corresponde al concepto de atributo del modelo E-R y contiene cada una de las características que definen una entidad u objeto.</div>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Atributo:</b> cada una de las características que posee una entidad, y que agrupadas permiten distinguirla de otras entidades del mismo conjunto.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Al igual que en el modelo E-R, cada atributo tiene asignado un nombre y un dominio. El conjunto de todos los atributos es lo que define a una entidad completa, y es lo que compone una tupla.</div>
<a href="" name="REL_NULL" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Nulo (<i style="margin: 0px; padding: 0px;">NULL</i>)</h3>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Hay ciertos atributos, para determinadas entidades, que carecen de valor. El modelo relacional distingue entre valores vacíos y valores nulos. Un valor vacío se considera un valor tanto como cualquiera no vacío, sin embargo, un nulo <i style="margin: 0px; padding: 0px;">NULL</i> indica la ausencia de valor.</div>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Nulo:</b> (<i style="margin: 0px; padding: 0px;">NULL</i>) valor asignado a un atributo que indica que no contiene ninguno de los valores del dominio de dicho atributo.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
El nulo es muy importante en el modelo relacional, ya que nos permite trabajar con datos desconocidos o ausentes.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Por ejemplo, si tenemos una relación de vehículos en la que podemos guardar tanto motocicletas como automóviles, un atributo que indique a qué lado está el volante (para distinguir vehículos con el volante a la izquierda de los que lo tienen a la derecha), carece de sentido en motocicletas. En ese caso, ese atributo para entidades de tipo motocicleta será <i style="margin: 0px; padding: 0px;">NULL</i>.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Esto es muy interesante, ya que el dominio de este atributo es (derecha,izquierda), de modo que si queremos asignar un valor del dominio no hay otra opción. El valor nulo nos dice que ese atributo no tiene ninguno de los valores posibles del dominio. Así que, en cierto modo amplia la información.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Otro ejemplo, en una relación de personas tenemos un atributo para la fecha de nacimiento. Todas las personas de la relación han nacido, pero en un determinado momento puede ser necesario insertar una para la que desconocemos ese dato. Cualquier valor del dominio será, en principio, incorrecto. Pero tampoco será posible distinguirlo de los valores correctos, ya que será una fecha. Podemos usar el valor <i style="margin: 0px; padding: 0px;">NULL</i> para indicar que la fecha de nacimiento es desconocida.</div>
<a href="" name="REL_dominio" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Dominio</h3>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Dominio:</b> Rango o conjunto de posibles valores de un atributo.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
El concepto de dominio es el mismo en el modelo E-R y en el modelo relacional. Pero en este modelo tiene mayor importancia, ya que será un dato importante a la hora de dimensionar la relación.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
De nuevo estamos ante un concepto muy flexible. Por ejemplo, si definimos un atributo del tipo entero, el dominio más amplio sería, lógicamente, el de los números enteros. Pero este dominio es infinito, y sabemos que los ordenadores no pueden manejar infinitos números enteros. Al definir un atributo de una relación dispondremos de distintas opciones para guardar datos enteros. Si en nuestro caso usamos la variante de "entero pequeño", el dominio estará entre -128 y 127. Pero además, el atributo corresponderá a una característica concreta de una entidad; si se tratase, por ejemplo, de una calificación sobre 100, el dominio estaría restringido a los valores entre 0 y 100.</div>
<a href="" name="REL_modrelacional" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Modelo relacional</h3>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Ahora ya disponemos de los conceptos básicos para definir en qué consiste el modelo relacional. Es un modelo basado en relaciones, en la que cada una de ellas cumple determinadas condiciones mínimas de diseño:</div>
<ul style="list-style-image: url(http://mysql.conclase.net/include/estilo/item1.php?col=FD6b00); margin: 0px 3em 0px 2em; padding: 0px; position: relative;">
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;">No deben existir dos tuplas iguales.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;">Cada atributo sólo puede tomar un único valor del dominio, es decir, no puden contener listas de valores.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;">El orden de las tuplas dentro de la relación y el de los atributos, dentro de cada tupla, no es importante.</li>
</ul>
<a href="" name="REL_cardinalidad" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Cardinalidad</h3>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Cardinalidad:</b> número de tuplas que contiene una relación.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
La cadinalidad puede cambiar, y de hecho lo hace frecuentemente, a lo largo del tiempo: siempre se pueden añadir y eliminar tuplas.</div>
<a href="" name="REL_grado" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Grado</h3>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Grado:</b> número de atributos de cada tupla.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
El grado de una relación es un valor constante. Esto no quiere decir que no se puedan agregar o eliminar atributos de una relación; lo que significa es que si se hace, la relación cambia. Cambiar el grado, generalmente, implicará modificaciones en las aplicaciones que hagan uso de la base de datos, ya que cambiarán conceptos como claves e interrelaciones, de hecho, puede cambiar toda la estructura de la base de datos.</div>
<a href="" name="REL_esquema" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Esquema</h3>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Esquema:</b> es la parte <i style="margin: 0px; padding: 0px;">constante</i> de una relación, es decir, su estructura.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Esto es, el esquema es una lista de los atributos que definen una relación y sus dominios.</div>
<a href="" name="REL_instancia" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Instancia</h3>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Instancia:</b> es el conjunto de las tuplas que contiene una relación en un momento determinado.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Es como una fotografía de la relación, que sólo es válida durante un periodo de tiempo concreto.</div>
<a href="" name="REL_clave" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Clave</h3>
<div class="definicion" style="background-color: #e3e3e3; border-color: black; border-style: solid; border-width: 1px 3px 3px 1px; color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 1em 3em; text-align: justify;">
<b style="margin: 0px; padding: 0px;">Clave:</b> es un conjunto de atributos que identifica de forma unívoca a una tupla. Puede estar compuesto por un único atributo o una combinación de varios.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Dentro del modelo relacional no existe el concepto de clave múltiple. Cada clave sólo puede hacer referencia a una tupla de una tabla. Por lo tanto, todas las claves de una relación son únicas.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Podemos clasificar las claves en distintos tipos:</div>
<ul style="list-style-image: url(http://mysql.conclase.net/include/estilo/item1.php?col=FD6b00); margin: 0px 3em 0px 2em; padding: 0px; position: relative;">
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;"><i style="margin: 0px; padding: 0px;">Candidata:</i> cada una de las posibles claves de una relación, en toda relación existirá al menos una clave candidata. Esto implica que ninguna relación puede contener tuplas repetidas.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;"><i style="margin: 0px; padding: 0px;">Primaria:</i> (o principal) es la clave candidata elegida por por el usuario para identificar las tuplas. No existe la necesidad, desde el punto de vista de la teoría de bases de datos relacionales, de elegir una clave primaria. Además, las claves primarias no pueden tomar valores nulos.<br style="margin: 0px; padding: 0px;" />Es preferible, por motivos de optimización de <b style="margin: 0px; padding: 0px;">MySQL</b>, que estos valores sean enteros, aunque no es obligatorio. <b style="margin: 0px; padding: 0px;">MySQL</b> sólo admite una clave primaria por tabla, lo cual es lógico, ya que la definición implica que sólo puede existir una.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;"><i style="margin: 0px; padding: 0px;">Alternativa:</i> cada una de las claves candidatas que no son clave primaria, si es que existen.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;"><i style="margin: 0px; padding: 0px;">Foránea:</i> (o externa) es el atributo (o conjunto de atributos) dentro de una relación que contienen claves primarias de otra relación. No hay nada que impida que ambas relaciones sean la misma.</li>
</ul>
<a href="" name="REL_interrelacion" style="margin: 0px; padding: 0px;"></a></div>
<div class="texto" style="background-color: #c0c9d2; border: 1px solid rgb(33, 33, 33); color: #ececec; font-family: Georgia, Verdana, Tahoma, Arial, sans-serif; font-size: 15px; margin: 10px; padding: 8px;">
<h3 style="background-image: url(http://mysql.conclase.net/include/estilo/h3.php?col=FD6b00565d63); background-position: 0px 0px; background-repeat: repeat no-repeat; color: #e5e3e1; font-size: 14px; height: 26px; margin: 0px; overflow: hidden; padding: 0px 0px 0px 12px;">
Interrelación</h3>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Decimos que dos relaciones están interrelacionadas cuando una posee una clave foránea de la otra. Cada una de las claves foráneas de una relación establece una interrelación con la relación donde esa clave es la principal.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Según esto, existen dos tipos de interrelación:</div>
<ul style="list-style-image: url(http://mysql.conclase.net/include/estilo/item1.php?col=FD6b00); margin: 0px 3em 0px 2em; padding: 0px; position: relative;">
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;">La interrelación entre entidades fuertes y débiles.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;">La interreación pura, entre entidades fuertes.</li>
</ul>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Extrictamente hablando, sólo la segunda es una interrelación, pero como veremos más tarde, en el modelo relacional ambas tienen la forma de relaciones, al igual que las entidades compuestas, que son interrelaciones con atributos añadidos.</div>
<div style="color: #12100d; margin-bottom: 0.5em; margin-top: 0.5em; padding: 0px; text-align: justify;">
Al igual que en el modelo E-R, existen varios tipos de interrelación:</div>
<ul style="list-style-image: url(http://mysql.conclase.net/include/estilo/item1.php?col=FD6b00); margin: 0px 3em 0px 2em; padding: 0px; position: relative;">
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;"><i style="margin: 0px; padding: 0px;">Uno a uno:</i> a cada tupla de una relación le corresponde una y sólo una tupla de otra.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;"><i style="margin: 0px; padding: 0px;">Uno a varios:</i> a cada tupla una relación le corresponden varias en otra.</li>
<li style="color: #12100d; margin: 0.5em 0px; padding: 0px; text-align: justify;"><i style="margin: 0px; padding: 0px;">Varios a varios:</i> cuando varias tuplas de una relación se pueden corresponder con varias tuplas en otra.</li>
</ul>
</div>
Base de Datos Ticshttp://www.blogger.com/profile/10280624809275049241noreply@blogger.com0