Bueno y llegamos a un capítulo increíble.
Vamos a meternos en una funcionalidad nueva que trae Maisí Kühl sobre todo a partir de la versión 8
que tiene que ver con el mundo de saison de todo este formato de JavaScript que nos permite acercarnos
a lo que hoy por hoy son las bases de datos SQL aunque no tiene nada que ver una con la otra.
Vamos a ver que vamos a poder crear dentro de una tabla de ciclos un campo de tipo saison.
Vamos a ir por ejemplo a nuestra tabla productos y vamos a agregar Yo agregué uno aquí Prot propiedades.
Voy a quitarlo para que ustedes vean cómo se crea uno es muy simple vamos a agregar nuevamente vamos
a decir proto propiedades y aquí voy a elegir.
Ni más ni menos que a la parte de texto al formato Jayson.
No hay que no hace falta colocar nada en predeterminado generalmente no debería existir nada.
Fíjense que por default ya me aparece que permite NULL y me permite ya me aparece por default para que
el dato de foll predeterminado sea un Null.
Por qué.
Porque la filosofía de saison es que si no existe un valor directamente sea nulo.
Esto ocurre con cuando trabajamos con las no SQL.
Que un documento puede tener determinados valores determinadas propiedades y otro documento no tener
esas mismas propiedades.
Por eso hace esto que por default asume que el campo va a ser null.
Aquí lo voy a descartar porque yo ya lo tengo grabado ese campo aquí lo tengo a la derecha fíjense que
como no se tiene nada a este campo me aparece como Null muy bien lo que vamos a hacer.
Vamos a hacer cinco operaciones vamos a aprender cómo crear un registro cómo insertar un registro en
un campo en una tabla que tiene un campo Saison cómo hacer un celeb cómo hacer un Hardoy y actualizar
un campo Saison cómo cambiarle un valor dentro del campo saison.
Vamos a ver cómo usar ese campo Jayson en un Wear para hacer un filtro en un CD de nuestra tabla productos
y por último vamos a ver cómo remover un valor Saison dentro del campo 6.
Vamos a lo primero lo primero que vamos a hacer es un insert vamos a insertar un registro
en la Tabla Productos y le vamos a decir por ejemplo vamos a descripción y vamos a crear a grabar en
este campo propiedades
este campo propiedades que hemos creado aquí que es de tipo Saison y donde yo voy a grabar del producto
ciertas propiedades en lugar de crear una columna un campo por cada una de las propiedades tengo mi
campo Saison y le voy a colocar tres o cuatro dos o tres propiedades a ese producto.
Entonces ahora voy a colocar un valioso y aquí lo dejo aquí abajo voy a colocar lo voy a llamar producto
con Chausson a mi producto y le voy a colocar.
Ahora sí la propiedad cómo se graba un campo Saison bueno obviamente entre comillas.
Luego lo que se coloca es una llave como tipo campo Saison entrecomillados le voy a colocarle un nombre
a esta propiedad va a ser mi mi clave principal por la que voy a armar todas las ramas de bajo la vamos
a llamar propiedades se puede llamar cualquier cosa no hace falta que el nombre sea el mismo.
Aquí es propiedades y aquí estoy creando una rama de saison que va a ser un valor propiedades que va
a tener un nombre propiedades muy bien ahora ese propiedades va a estar conformado por le vamos a colocar
una llave y ahora vamos a listar todas las propiedades.
Esta es una rama no la rama propiedades que se expande en varias clave valor.
La primera por ejemplo es eléctrico.
Si mi producto es eléctrico le voy a colocar un Tru fijese con dos puntos lo que Saison si ustedes no
conocen mucho de formato Saison para no hacer esto un capítulo donde explicó Saison porque en la mayoría
de los que estén viendo el video lo va a entender pueden encontrar en Google mucha documentación de
cómo se conforma un campo 6 o no a un valor Saison muy bien.
Ahora tengo eléctrico en la propiedad de eléctrico le puse Tru separado por cómo vamos a crear otra
propiedad vamos a decirle por ejemplo qué garantías si mi producto tiene garantía.
Esto puede ser.
También le voy a poner un toro y aquí voy a colocar por ejemplo si es un producto nuevo.
Fíjense todo esto yo podría tenerlo como campos como columnas pero qué pasa si no todos mis productos
son eléctricos o no o son eléctricos pero tienen otras propiedades que no tienen este producto.
Entonces la ventaja del documento Saison es que me permite darle propiedades diferentes a todos los
productos esto es muy bueno porque me está mezclando como les dije.
El mundo de las bases relacionales con el mundo de las no SQL donde ya no tienen una forma fija de columnas
sino que tienen toda una serie de datos metidos en valores Saison lo cual lo hace bastante caótico y
flexible y cada registro tiene una cantidad X de propiedades y no tiene por qué respetarse en todos
los productos.
Muy bien tengo este valor le voy a poner que es falso o es un producto usado no es nuevo y el último
valor que voy a poner es presenta fallas porque también vendo productos que pueden tener fallas y aquí
le pongo que este producto tiene fallas.
Cierro las dos llaves porque había abierto una antes de propiedades y otra después de propiedades.
Cierro las dos llaves coloco la comilla simple para todo el campo Saison todo esto que está aquí es
el campo Saison y ahora voy a cerrar el paréntesis propio del insert del vãlidos que viene de aquí vamos
a ampliar un poquito.
Así tenemos todo en pantalla.
Muy bien ahora yo voy a ejecutar esto y ya me insertó una fila si yo vengo aquí voy a ir debajo de todo
voy a recargar y voy a tener mi registro.
Fíjense que yo ya tenía uno creado con la misma información se llama producto con Jayson también y ahora
tengo el registro seis mil nueve noventa y dos y aquí tengo el valor todo en un solo campo llamado propiedades.
Muy bien ahora yo ya tengo mis datos grabados lo que voy a hacer ahora con estas cuatro instrucciones
que nos quedan es mostrarles a ustedes cómo puedo trabajar con esta información cómo puedo hacer búsquedas
cómo puedo hacer actualizaciones y al final de todo voy a comentarles cuáles son las ventajas y cuáles
son las desventajas de usar este tipo de campos.
Vamos a ir al siguiente a la siguiente solapa vamos a abrir una ventana de consulta nueva y lo que vamos
a hacer ahora es un select y vamos a hacer un Select por ejemplo de Prod Heidi descripción y ahora voy
a traer mi campo Jayson y voy a decirle que de pronto propiedades voy a traer y aquí hay una forma abreviada
de hacerlo porque hay una función que pueden usar pero esta es la manera más simple poniendo un guión
y un mayor y ahora lo que le voy a decir es entre comillas simple voy a colocar un peso y punto.
Así comienzan todos los de las referencias a Jayson en Maisí Kull y voy a colocar propiedades este propiedades
de dónde viene de aquí.
Fíjense que aquí yo mi Jayson arranca de el nodo principal arranca con un nombre llamado propiedades.
Entonces la rama comienza con propiedades y ahora voy a colocarle obviamente un punto Nivia por poner
uno de los valores eléctricos.
A esto lo voy a llamar eléctrico quiero que me muestre una columna eléctrico y esto va a ser un from
productos bueno para repasar voy a hacer un Cele que me va a traer tres columnas.
Lo voy a ejecutar me trae Nul porque qué pasa con todos los productos que yo ya tenía grabado.
Que yo ya tenía grabado en la tabla y que no le hice ningún insert ni ni los actualicé me trae Nul el
Nul por defecto que les dije que me iba a traer y esto es maravilloso porque ustedes pueden tranquilamente
preguntar si eléctrico es igual a Trouvé y si no pueden meter todo esto en claúsulas Wear fijense me
los dos últimos registros que habíamos visto y ya tenemos que eléctrico es igual a cero.
Esta es la sintaxis ustedes lo pueden practicar lo pueden hacer por su cuenta crear nuevas propiedades
y demás y lo que vamos a ver ahora es por ejemplo como haciendo una ley podemos modificar las propiedades
del 6o.
Yo ahora quiero que eléctrico en este registro sea Fool's cómo se hace.
Vamos a abrir uno nuevo y vamos a poner Hardoy
AV de productos y vamos a hacer un set de probado propiedades porque es lo que vamos a modificar en
definitiva cada operación que nosotros hagamos dentro de estos valores lo vamos a estar haciendo en
el campo propiedad de verdad entonces todo tiene que pasar por propiedades.
Entonces vamos a modificar Prot propiedades y dentro lo que vamos a hacer es una función llamada Chausson
replays y Saison replays.
Lo que me permite es modificar dentro de propiedades un valor Saison entonces Prot
propiedades.
Como primer parámetro coma y ahora le voy a decir dentro de las propiedades qué voy a reemplazar.
Bueno lo que voy a reemplazar es pesos.
Punto.
Propiedades.
Punto eléctrico y lo que le voy a colocar separados por coma es un fouls
muy bien.
Ahora si yo hago esto y lo ejecuto me lo va a hacer en todos los registros de la tabla.
Obviamente en los que no encuentre ninguna propiedad llamada eléctrico no va a hacer nada solo lo va
a hacer en estos dos campos donde yo tengo eléctrico pero yo no quiero modificar los dos campos quiero
modificar solamente el seis mil nueve 92 entonces aquí como cualquier AVV voy a colocar un wears donde
fue aprobado hoy día es igual a 6 mil 9 92.
Vamos a chequearlo 6 mil 9 92.
Muy bien lo ejecutamos ya lo actualizo venimos a nuestros datos Fíjense que aquí dice eléctrico Tru
porque todavía no recargue cuando se recargue aquí ya me dice eléctrico fours.
Eso es lo que hemos hecho aquí tenemos nuestro avei con la función que Saison replays para modificar
un valor dentro de una clave 6o muy bien lo que vamos a hacer ahora es ver cómo usar un Chausson dentro
de un weak porque yo ahora quiero hacer búsquedas en mi base de datos y quiero usar un valor yo quiero
que me traiga por ejemplo todos los registros donde eléctrico sea igual a Tōru.
Vamos a abrir una nueva consulta colocamos Selleck proto añadir proto descripción vamos a hacerlo así
from productos Wear y Wear.
Aquí lo que voy a colocar lo voy a colocar aquí abajo para que se pueda ver bien.
Es un Saison una función nueva es TRAC.
Esto me permite dentro de un campo de un campo normal de Maisí el que va a ser de tipo Saison como propiedades
extraer un valor.
Entonces por qué.
Porque propiedades tiene cinco valores cinco claves valor yo tengo que extraer uno solo para hacer la
comparación.
Entonces se es trac de Prod propiedades
y aquí lo que le voy a colocar es pesos punto e igual que todos los son propiedades.
Arrancamos por la rama eléctrico cierro la comilla simple y ahora el valor que yo quiero extraer
cuando eléctrico sea igual a otro muy bien muy bien.
Ahora lo que vamos a hacer es perdón.
Esto está mal.
Aquí se cierra y aquí va un toro.
Si no no me va a funcionar lo que hace esto.
Extrae el valor del eléctrico y le pregunta si ese valor que extrajo es igual a otro.
Muy bien.
No vamos a correr y me trae un solo producto por qué.
Por qué es el anterior el seis mil nueve noventa.
Dónde quedó que eléctrico es igual a cero.
Aquí eléctrico es igual a Fool's y por eso me trajo un solo registro.
Fíjense la potencia de esto como también estamos hablando de 7 mil registros.
Pero cómo enseguida me encontró un valor dentro de un campo Saison y me lo filtró por un WEA vamos a
saber ahora el último ejemplo donde lo que vamos a aprender a hacer es esto.
Fíjense que estos valores no son los mismos queesto por qué.
Porque aquí presenta fallas.
No está porque cuando hice el ejercicio precisamente lo que quise hacer es eliminar de este campo Saison
el valor presenta fallas.
Cómo se hace para quitar de todo este campo saison.
Uno de los valores vamos a venir a una nueva consulta vamos a hacer un AVE hay un ave y de productos
vamos a colocarlo en minúscula un y de productos vamos a sestear Prado propiedades.
Por qué.
Porque lo que tenemos que modificar es propiedades es la columna donde tengo mi valor Saison propiedades
vamos a aceptarlo y vamos a hacer un Saison una nueva función que es Saison removed Jayson remó me permite
eliminar una clave Jayson.
Entonces de dónde lo va a eliminar de pronto propiedades muy bien de propiedades y ahora le tengo que
decir cuál es la clave que yo voy a eliminar.
Pesos propiedades.
Punto presenta fallas.
Muy bien si yo ejecuto esto automáticamente me va a eliminar la clave presenta fallas de todos los registros.
Supongamos que además de este registro el seis mil nueve 92 presenta fallas estuviera en otros registros
bueno tendría que ejecutar esto para eliminar directamente ese valor de toda mi base de datos de toda
mi tabla.
Si lo que yo quiero es eliminarlo exclusivamente de un registro en particular o por ejemplo tengo toda
una línea de productos y toda esa línea de productos le quiero sacar ese valor porque no lo vamos a
trabajar más ese valor.
En esa línea de productos como por ejemplo el valor si es nuevo porque ya decidí que de esa línea de
productos voy a trabajar exclusivamente con productos nuevos no tengo que andar diferenciando si es
nuevo o no. Supongamos que quiero hacer eso lo que hago es lo ejecuto y ya me lo impactã en toda la
tabla pero si lo que quiero hacer ahora es simplemente a un registro eliminarlo vamos a ir al 69 92
le colocó un Wer probado ahí es igual a 69 92 le doy a ejecutar voy a ir a mí a mis datos fíjense que
todavía lo tengo voy a recargar y ya se eliminó el registro.
Esto es muy útil me lo han pedido porque son cosas muy nuevas que metió mi ciclo en la versión 8 y los
usuarios me lo están pidiendo ya vamos por la 8.ª 0.19 así que era hora de explicar estas cosas.
Bueno muy bien espero que les haya gustado el tema Gyatso no es un tema que apasiona mucho está muy
vigente en todo lo que tiene que ver con los desarrollos de Bakken frontend para comunicar datos entre
el backend y el frontend para e inclusive para guardar datos en las nuevas tablas mongo divi.
Todas las noches se cuele y Maisí quiso actualizarse e incluyó un campo de tipo Jayson.
Vamos a hablar ahora de las ventajas de esto y sobre todo de las desventajas.
La ventaja principal creo que está a la vista en un solo campo de tipo texto en el cual ni siquiera
necesito decirle cuál es la longitud.
Fíjense que ya lo asume.
Ni siquiera me permite modificar la longitud.
Acá si lo puedo modificar pero aquí no me lo permite.
Ya asume que lo que puede venir ahí va a tener un largo muy variable entonces lo maneja el mismo motor.
La ventaja de esa zona que no tengo que andar preocupándome por la longitud que no tengo límite y puedo
ir grabando todas las propiedades y los y los valores que yo quiera.
La otra ventaja es que mi ciclo me da un set de funciones para él.
Como acabamos de ver para el manejo el borrado inclusive el filtrado dentro de un.
De esto me permite tener en registros diferentes valores diferentes propiedades diferentes campos que
están en este registro y aquí no. Esas son todas las ventajas.
Realmente es muy bueno.
Ahora como desventaja tenemos que entender que este campo no se puede indexar.
No voy a indexar es un campo de texto no voy a poder indexar por un subcampo de este tipo Saison por
lo cual la performance va a haber bastante perjudicada si ustedes quieren cargar todas las tintas como
decimos en estos campos y gravar todo lo que ustedes podrían poner en una columna tranquilamente lo
deciden colocar sin ninguna justificación en un campo de tipo saison.
Si va a ser un si van a ser valores que van a ser críticos donde yo voy a tener que hacer muchas consultas
donde voy a tener que obtener una buena performance sobre todo en tablas grandes les conviene crear
columnas y no ni un campo de tipo saison.
Entonces punto importantísimo.
No pueden indexar.
No pueden ser Foreing aquí con el tema de las búsquedas impactan bastante en la performance.
Aquí no nos vamos a dar cuenta nunca porque estamos hablando de 7000 filas pero en base de tablas monstro
en tablas de muchos miles de miles y miles de registros puede llegar a haber una performance pobres
y lo que estoy haciendo es muchas actualizaciones y muchos muchas consultas con filtros que tengan que
ver con campos Saison así que manejen con criterio con cuidado y espero que les guste este capítulo
que he armado para ustedes y a pedido de ustedes voy a seguir armando más y más capítulos para que no
se nos escape ningún tema de esto que es el curso completo de base de datos así que nos vemos en el
próximo capítulo.