RENTABILIDAD
davitsitop7 de Noviembre de 2012
4.078 Palabras (17 Páginas)315 Visitas
El modelo relacional.
EL MODELO RELACIONAL
En capítulos anteriores hemos estudiado que existen distintos modelos según los cuales la información puede ser almacenada y relacionada entre sí. Actualmente, para la mayoría de las aplicaciones de gestión que utilizan bases de datos, el modelo más empleado es el modelo relacional, por su gran versatilidad, potencia y por los formalismos matemáticos sobre los que se basa. Este modelo permite representar la información del mundo real de una manera intuitiva, introduciendo conceptos cotidianos y fáciles de entender por cualquier inexperto. Asimismo, mantiene información sobre las propias características de la bas e de datos (metadatos), que facilitan las modificaciones, disminuyendo los problemas ocasionados en las aplicaciones ya desarrolladas. Por otro lado, incorpora mecanismos de consulta muy potentes, totalmente independientes del S.G.B.D., e incluso de la organización física de los datos; el propio S.G.B.D. es el encargado de optimizar estas preguntas en formato estándar, a sus características propias de almacenamiento. El modelo relacional fue propuesto por E.F . Codd en los laboratorios de IBM en California. Se trata de un modelo lógico [Irene Luque Ruiz- Ed. Ra-ma], que establece una estructura sobre los datos, aunque posteriormente éstos puedan ser almacenados de múltiples formas para aprovechar características físicas concretas de la máquina sobre la que se implante
la base de datos realmente. Es algo así como guardar unos libros en una biblioteca; dependiendo del número de salas de la biblioteca, del tamaño y forma de cada una de ellas, su número de estanterías, y en definitiva, de las características físicas del recinto, podremos disponer los libros de una forma u otra para hacer más cómoda y fácil su consulta y acceso. Los libros son los mismos, pero pueden ubicarse de muy distintas formas. Vamos a estudiar entonces, las características concretas de este modelo de datos, sin entrar para nada en cómo los almacena físicamente cada ordenador, o cada S.G.B.D.
Estructura general.
El nombre de modelo relacional viene de la estrecha relación que existe entre el elemento básico de este modelo, y el concepto matemático de relación. Podemos decir que una relación R sobre los conjuntos D1 , D2 , .., Dn , se define como: R D1 × D2 × ... × Dn donde los conjuntos D1 , D2 , .., Dn pueden ser cualesquiera, e incluso estar repetidos.
1
El modelo relacional.
Los conjuntos p ueden s er cualesquiera, aunque en el momento en que se trabaja con ordenadores, hay que imponer ciertas restricciones de discretización.
Nombre
Jua n Antonio Pedro
Oficio
Cocinero
Si nos fijamos en el dibujo adjunto, Botones 100 200 podemos ver que una de estas relaciones no Esto e s una re la ción. Dado q ue s e trata de un con ju nto 500 700 es más que una lista de líneas, donde cada n o pued e
haber elemen to s repetid os. 1200 línea está dividida en trozos. Sueldo Para observar bien el porqué ha surgido el método relacional, pensemos en cómo almacenaríamos las líneas de la lista anterior, si los ordenadores no existiesen. Para almacenar estas líneas, tendríamos que emplear papel, de manera que en un folio escribiríamos todas las líneas de la lista, empezando por la primera y continuando en el folio secuencialmente; si el folio se acaba, cogemos otro, y hacemos la misma operación, de forma que, al final, la lista está escrita o almacenada en varios folios. Este método, que es el más directo, tiene el problema de qué ocurre cuando se desean introducir nuevas líneas. Inicialmente, la tarea parece fácil, pues nos basta con seguir escribiendo líneas tras la última línea de la última página, e ir tomando nuevos folios a mediada que las páginas se vayan llenando. No obstante, este método sólo es adecuado si las líneas no están ordenadas según un criterio. Si las líneas ya están ordenadas, y deseamos introducir una nueva, ¿cómo lo hacemos?, ¿escribiendo una línea por enmedio con letra más pequeña?, o bien ¿escribiendo de nuevo todas las líneas, pero esta vez con la que se desea insertar? Está claro que ninguna de estas posibilidades es una solución factible. Otra posibilidad de registrar esas líneas es utilizando una ficha de cartón para cada una de ellas. Cada ficha de cartón será parecida a las que el alumno rellena
para el profesor de cada asignatura a la que asiste, con la variante de que en lugar de poner el nombre, apellidos, dirección, etc. del alumno, se pondrá la información que nos interese guardar. de esta manera cada línea queda almacenada en una ficha de cartón. Si se desea insertar una nueva ficha basta con rellenarla y meterla en su posición adecuada. De la misma forma se puede proceder a la hora de eliminar alguna ficha. P ues bien, este último método es el que, a grandes rasgos, intenta utilizar el modelo relacional. El modelo relacional representa las listas de líneas mediante registros o fichas cada una de las cuales puede ser manejada individualmente y con independencia de las demás. No obstante, a efectos de facilitar la visualización, puede ser posible ver todas las líneas juntas como si de una
- Jua n - Pedro - Jua n - Pedro - Jua n
Nombre Oficio Sueldo
Cocinero Botones Cocinero Cocinero Cocinero
100 700 200 700 1200
2
El modelo relacional.
lista se tratase. Ver figura. Nombre: Jua n De esta manera, tendremos varios Oficio: Cociner o Sueldo: 100 tipos de fichas: fichas de clientes, de Nombr e: Pedr o proveedores, de facturas, de albaranes, de Oficio: Botones Nombre: Jua n Sueldo: 700Oficio: Cociner o reservas, de empleados, de apuntes Sueldo: 200 contables, etc., cada una de las cuales Nombr e: Pedr o podemos almacenar en un cajón o en un Oficio: Cociner o Sueldo: 700 fichero independiente.
De cada tipo de ficha Nombre: Jua n tendremos un montón de fichas rellenas: 100 Oficio: Cociner o Sueldo: 1200 ó 200 clientes, 4 ó 5 proveedores, miles de facturas, etc. Por tanto, es interesante distinguir entre un tipo de ficha, que no hace referencia a ninguna ficha rellena en concreto (p.ej. una ficha de clientes), y una ficha concreta, rellena con unos datos concretos (la ficha de Juan el Cocinero). Pues bien, el modelo relacional plasma en un ordenador este mismo esquema, aprovechando las enormes características de computación y almacenamiento de las máquinas actuales.
Concepto de tabla. Dominios y atributos.
Una tabla en el modelo relacional viene a s er como una de las listas descritas anteriormente. Una tabla o relación es una matriz rectangular que almacena líneas con una estructura concreta: • La primera línea de una tabla, es una cabecera que indica el nombre de cada columna. O sea, cada columna tiene asignado un nombre único, e indica que los ítemes almacenados en esa columna deben pertenecer a un conjunto de valores concreto: Números, Letras, Frases, etc. • Cada línea (excepto la primera) recibe el nombre de tupla, y almacena ítemes concretos para cada columna. • Todas las filas deben ser diferentes entre sí. PLATOS • El orden de las filas y de las columnas Código Nombre Precio Menú carece de importancia a efectos del 15 Solomillo a la pimienta 1000 No S.G .B.D. Este hecho es el que 23 Fondue Neûchatel
1500 No verdaderamente diferencia las tablas 17 Migas con chocola te 850 Sí relacionales del concepto matemático de 34 Ajo blanco con uva s 850 Sí relación, en el que el orden de las 12 Paella valenciana 1100 Sí columnas es fundamental. 21 Mono a la cantonesa 7500 No En la figura aparece una tabla de 3
07 Sopa de aleta de tiburón 525 Sí
El modelo relacional.
Platos. Toda tabla debe poseer al menos la primera línea, que identifica el nombre de la columna. En este caso, nuestra tabla o relación contiene las columnas Código, Nombre, Precio y M enú (que indica si ese plato pertenece o no a las opciones del menú del día). El grado de esta tabla es el número de campos que posee, en nuestro caso 4. La cardinalidad es el número de tuplas concretas que almacena: 7. Nótese que el grado de una tabla es independiente del momento en que observemos la tabla (el número de columnas es invariable, y queda definido en el momento en que se crea la tabla), mientras que la cardinalidad depende de la situación real que represente la tabla y puede variar en el tiempo; p.ej., la lista de platos puede cambiar todos los meses, o según la estación del año, para adecuarse a los gustos propios de cada una de ellas. La primera fila de una t abla es la más importante, ya que nos da su estructura. Esta columna identifica los nombres de campo o atributos de que consta cada tabla. En otras palabras, cada tupla está formada por un conjunto
de información estructurada en elementos más simples llamados atributos. El nombre del atributo debe describir el significado de la información que representa. En la tabla Platos, el atributo Precio tendrá como cometido almacenar el valor en pesetas con el que ese plato se vende al público. A menudo suele ser necesario añadir una pequeña descripción a cada atributo que aclare su naturaleza: ¿el precio lleva I.V.A. o no? En el atributo Menú no está claro que es lo que se almacena. Una descripción del mismo aclararía más las cosas: Indica si el cliente puede pedir este plato o no en el menú del día. Por otro lado, está claro que un atributo en una tupla no puede tomar un valor cualquiera, p.ej., no tiene sentido que en el precio del Ajo blanco con uvas se guarde una palabra como pueda ser Gerente. Para evitar este
...