Entonces, los comerciantes pueden tener muchos países, los países pueden tener muchos comerciantes y sus respectivos códigos de país, etc. Y hay algunos otros puntos de referencia aquí también. Así que esta es una gran herramienta y la vamos a usar para construir nuestro esquema inicial.
Así que hagamos eso. Voy a hacer clic en el menú desplegable y hacer clic en nuevo diagrama. Y luego aquí, voy a empezar mi primera tabla así. Y simplemente la voy a llamar origen, abrir y cerrar llaves. Y luego veamos si vamos a ID UUID. Así que un UUID es un valor entero de 16 bits. Parece, usualmente se representa con guiones en él para hacerlo un poco más legible. Cada database lo tiene. Es una forma de asegurar que tu ID es único. Y a diferencia del auto incremento donde puedes tener conflictos porque irá uno, dos, tres, cuatro, cinco, y luego si más de una persona está tratando de insertar algo, puedes tener un conflicto donde de alguna manera obtienen el cinco y luego el cinco se sobrescribe, o el cinco se borra, y luego alguien más intenta agregarlo y puede haber una colisión entre esos porque no son números particularmente únicos. Alguien puede terminar con el mismo ID en esa situación. Sin embargo, un UUID, si usas un generador de UUID, que cada database tiene una función o algo que te permitirá crearlo automáticamente. Y la mayoría de las bases de código, ya sea que estés usando JavaScript o Python o lo que sea, hay algo que te permitirá crear un UUID. Así que puedes insertar sin preocuparte por el conflicto y puedes hacer referencia sin preocuparte por tener que, necesitar deduplicar por alguna razón como que alguien apague la llave alrededor del UUID que lo mantiene único. Así que en este caso, voy a empezar de inmediato, estableciendo este UUID como la clave primaria, P-K-A. Luego voy a agregar una marca de tiempo. Así que a menudo, y esto es algo muy importante para el modelado de data. Es una buena idea tener un conjunto predeterminado de columnas que básicamente se duplican en todas las tablas que te ofrecen capacidades de auditoría. Especialmente cuando se trabaja en el entorno enterprise donde las auditorías ocurren de manera semi-regular, siempre es genial tener ciertas cosas que la auditoría requerirá, como la marca de tiempo para representar cuándo se cambió por última vez la data y otra información pertinente que puede ser requerida por la auditoría. Como el usuario que hizo el último cambio. Y da un camino, un rastro en el que se puede hacer la auditoría para que sepas todas las cosas que han cambiado o alterado o manipulado la data de alguna manera a lo largo de la database. Algunas de las cosas predeterminadas que siempre agrego son la marca de tiempo y a menudo, pondré en el usuario del sistema, no particularmente el usuario de la database, sino el usuario del sistema. Porque muchas veces el sistema de la database llevará un registro del usuario que está cambiando la data de todos modos. Así que si quieres hacerlo fácil para ser consultable en las tablas mismas, quieres agregar una marca de tiempo, quieres agregar un usuario, tal vez el usuario del sistema o el usuario de la database dependiendo de cuáles sean tus requisitos. Así que en este caso, lo estoy manteniendo simple y solo voy a tener la marca de tiempo, no voy a entrar en los usuarios y todo eso. Así que para eso es. Y de nuevo, la database tiene una función que podemos usar para que marque la hora, pone la marca de tiempo en la columna. Así que no tenemos que ingresar eso manualmente o derivarlo del code o algo así. Puede ser sobrescrito, pero la database también puede hacerlo por nosotros. Creo que respondí a la pregunta del UUID, Pravin. Así que si tienes alguna otra pregunta sobre eso, no dudes en preguntar y entraré en eso más. Y también veremos un ejemplo. Así que más allá de solo hablar de esto, verás que la database genera uno cuando ingresamos algunos data en la database en breve. Muy bien, entonces lo siguiente en origen, quiero hacer nombre, así que pongo texto y luego URI. Así como el nombre de la fuente, estoy pensando en esta tabla como algo que proporciona fuentes de donde está la data o una referencia a data, donde está la data. Piénsalo como algo donde tuviste que buscar en un diccionario o en una biblioteca o algo así, pero en este caso, sabes, es internet, lo has buscado en internet y quieres el URI, así que la ubicación real del indicador de recurso universal, y quieres un nombre para poder darle un nombre amigable que nosotros los humanos podemos leer y entender qué es, y luego finalmente, voy a agregar detalles, y los detalles serán básicamente algo como solo notas que podríamos mantener sobre una fuente particular que hemos recogido por alguna razón. Como si encuentro una página impresionante sobre GraphQL y React o algo así, pondría el URI allí, agregaría un nombre amigable, y luego agregaría más detalles sobre qué es específicamente. Así que básicamente una tabla muy glorificada de marcadores.
Luego agreguemos uno para las notas de origen así, y agregaré un ID de origen. Así que ese ID de origen, la razón por la que lo nombré así, porque no es el ID de la tabla. Es el ID que hace referencia a otra tabla a la que esta tabla estará relacionada. Así que haré un UUID porque necesita ser el mismo que la tabla a la que hace referencia, y luego voy a agregar una referencia. En dbDiagram, eso es ref colon chevron, el nombre de la tabla a la que está relacionado,.id, la columna a la que está relacionado. Así que eso es, y los detalles del texto, y luego sello, voy a tener marca de tiempo para esta tabla también Hubo una pregunta de Nebertec, ¿qué es más rápido, UUID o auto incremento? Si estás hablando de un gran volumen de data siendo insertado, vas a ganar con los UID's, UUID's, y te diré una razón. Si tienes un solo sistema, solo un sistema, con solo ese rendimiento de sistemas escribiendo inserciones en una database con auto incrementos, puede ser bastante rápido, y los auto incrementos pueden ser rápidos en todo sentido de realidad. Sin embargo, a menudo si tienes muchas inserciones, también tienes muchos clientes tratando de hacer las inserciones.
Comments