Introducción
Cuando se intenta diseñar una base de datos, podemos dibujar y escribir todo lo que queramos para dar a entender como funciona la base de datos, aunque, posiblemente solo nosotros entendamos lo que plasmamos. Es aquí donde entran los modelos para intentar "estandarizar" la representación y construcción, de forma que todos puedan comprender el diseño.
¿Qué es un modelo de datos?
Es un lenguaje de modelado para la definición de esquemas, es decir, una representación gráfica o simbólica de cosas materiales o inmateriales, un modelo de datos va a ser una representación gráfica de cómo interactuan los datos entre sí y cómo se relacionan con las propiedades del mundo externo.
Y... ¿esto que tiene que ver con el código o las bases de datos?
Ejemplo de modelo de datos
En la imagen se muestra una representación real del despliegue de una aplicación, supongamos que se trata de un sitio web que vende playeras.
- Cliente-Vendedor: Los clientes interesados en ciertas playeras y el vendedor interesado en vender sus productos. Para eso, deben hablar en el mismo canal, es decir, debe haber un modelo de datos para que ambos se entiendan
- Vendedor-Sistema: El vendedor gestiona todo desde su sistema, pero para esto, el vendedor debe entender al sistema y viceversa. Otro modelo de datos para que el sistema sea "usable" y el vendedor sepa manipularlo al estar en el mismo "canal".
- Código-Software: La programación se comunica con el software para hacer lo que se pide, lo mismo, el software debe ser capaz de reconocer el lenguaje de programación y el lenguaje a la arquitectura del software. Por ejemplo, Java con Android pero no Java con Apple. Otro modelo de datos para que estos se entiendan.
- Software-Almacenamiento: Todos los datos se deben guardar para su posterior uso en algún futuro. Estos dispositivos físicos de almacenamiento deben comunicarse con el software para permitir el guardado como lo dicta el software, de nuevo un modelo de datos.
Todos los involucrados se comunican entre sí.
¿Para qué usar un modelo de datos?
Para definir esquemas
¿Y qué es un esquema?
Esquema: Representación gráfica o simbólica de cosas materiales o inmateriales.
¿Para que sirven los esquemas?
1. Un lenguaje común
Permitirá que la interacción entre las entidades se comprendan entre ellas. Por ejemplo. Si yo te pongo
ерунда для тех, кто не говорит по русски
¿No lo entiendes verdad? Que tal ahora
es un texto sin sentido para el que no habla ruso
Pero que tal esto
c = a + b
No importa que idioma hables, chino, ingles, ruso, español, etc. TODOS entendemos la suma anterior, no tenemos los datos, pero sabemos que es la suma de 2 variables. Las matemáticas son un lenguaje común porque todos lo podemos entender.
2. Identificar entidades
Sirve para identificar a los involucrados del sistema
Por ejemplo, retomando la venta de playeras.
Las entidades se identifican fácilmente como sustantivos. No siempre es así, las facturas existen, explicitamente no se muestra en el modelo, pero ahí están una vez hechas las ventas.
3. Reglas del negocio
¿Cómo se hacen las cosas? ¿Que procede después de realizar x acción?
Un ejemplo de reglas, pero antes, la siguiente definición.
En las entidades Facturas-Playeras.
¿Que regla podemos sacar con estas?
Que las facturas son hechas al menos con una playera y no hay limite en las playeras que se pongan.
Esta "regla" se denota con una FLECHA CERRADA apuntando a la entidad playeras para denotar que debe haber almenos una playera y el signo infinito para denotar que no hay limite en la cantidad. Con esto se ha hecho una cardinalidad de 1 a muchos.
¿Qué es la cardinalidad?
El numero de elementos de un conjunto.
Pero ojo, también hay que establecer las reglas de Playeras-Facturas.
Ahora se analiza en el sentido opuesto. Haciendo estas cuestiones
¿Los productos aparecen en factura? Si
¿Los productos pueden NO APARECER en las facturas? Si
Existe la situación en que no se vendan todas las playeras, y no por eso tienen que tener factura.
Con una FLECHA ABIERTA apuntando a la entidad facturas para denotar que puede playeras sin facturas, y ademas, que no hay limite. Es decir, podemos tener todas las playeras que queramos sin vender (sin facturar)denotado con un signo infinito.
Quedando una relación como la mostrada en la imagen.
Es importante respetar los símbolos que se usan en un esquema, ya que son un "estándar" para que todos podamos entenderlo, si o si nos debemos apegar a sus símbolos.
Conclusión
Hubo mas explicación que definiciones, pero el punto es conocer el concepto de modelos de datos, su finalidad y porque debería interesarle a la persona que planea diseñar aplicaciones que contengan bases de datos
Así que, unos puntos para recapitular de los conceptos que debes llevarte.
Los modelos de datos...
- Son una estructura abstracta
- Documenta, organiza y estructura la información
- Define un lenguaje común para entendernos
- Identifica entidades
- Describe las reglas del negocio(relaciones)
- Son utilizados para diferentes campos, base de datos, contaduría, negocios, etc.
- Son claros (no ambiguos)
- Independientes de los dispositivos
- Flexible, Estable y reutilizable
No hay comentarios.:
Publicar un comentario