Hola bienvenidos a este nuevo capítulo del curso completo de base de datos y llegamos a nuestro cuarto
consejo.
Este cuarto consejo lo podríamos llamar use campos de Estado para sus tablas.
Hemos visto cuando empezamos a ver el armado de nuestras tablas.
Hemos hablado de por ejemplo el campo estátus para mis productos el campo estátus para nuestros clientes
para determinar si el producto está habilitado o no está habilitado.
En este caso hemos usado un tipo de campo Dili para indicar distintos tipos de Estado podía ser habilitado
está habilitado o le podemos agregar numerosos distintos tipos y estados a nuestro producto suspendido
discontinuado.
Podemos tener varios estados.
Vamos a ver algunos algunas variantes más y el por qué es importante cuando tengamos que hacer cualquier
tipo de sistema.
Yo estoy orientando este curso a un sistema o a base de datos que tienen que ver con el mundo administrativo
pero ustedes en lo que quieran encarar en el rubro que quieran encarar van a encontrarse de que sus
tablas maestras van a tener que tener campos de Estado les van a facilitar la vida van a hacer que el
código sea más claro más legible y va a funcionar todo mucho más rápido.
Por qué.
Porque con simplemente un campo de tipo bit con un bit guardado van a poder jugar con las distintas
posibilidades de sus tablas maestras y esto va a hacer que rápidamente vayan a poder filtrar la información
de esas tablas y a darle una potencia a todos sus desarrollos.
Por qué.
Porque en lugar de meter código que tenga que facilitar el filtro de si este producto lo debo tomar
en cuenta para esta operación.
Si este producto si este producto no que quedaría muy desprolijo lo vamos a manejar a nivel base de
datos vamos a ver un ejemplo nosotros tenemos nuestra tabla productos Oscoy tenemos ya un primer estátus
que hace que el producto esté encendido o apagado para nuestro sistema recuerden que es una muy mala
práctica una muy mala práctica borrar registros de tablas maestras.
Si ese producto si ese proveedor si ese cliente ya fue utilizado en nuestro circuito y hay información
grabada que apunta ese registro no podemos borrarlo no deberíamos borrarlo nos va a dar una inconsistencia
muy grande el sistema cuando tengamos que acceder a información que hace mención a ese cliente o a productor.
Todo eso lo manejamos con un campo de estatus estado estatus póngale el nombre que más le guste e inclusive
en algunas veces usamos el campo habilitado lo llamamos lo mismo tiene un valor 1 0 o distintos o distintos
valores.
Pero qué pasa si usamos habilitado.
No hay mucha variante esta habilitado no está habilitado.
En cambio estátus me permite jugar con distintos valores.
Cuál es el estatus de mi producto habilitado deshabilitado.
Como ya dijimos suspendido discontinuado y muchas opciones que podemos crear de acuerdo a nuestras necesidades.
Vamos a ver un par de campo más.
Esto va a ser muy útil en sistemas administrativos que manejen productos.
El primero se llama Venta Suspendida a veces para discontinuar una línea de productos lo que se hace
es suspenderlos para la venta para parar en este caso se usa para cuando tenemos que devolver toda la
mercadería al proveedor tenemos que devolver una partida que nos avisaron que había salido fallada.
Entonces ese producto lo suspendemos para la venta de nuestro sistema administrativo.
Van a encontrar un valor de uno en este campo y ese producto va a desaparecer de los factura adores
de los sistemas que tienen que facturar ese producto en las búsquedas va a desaparecer todo lo que tiene
que ver con la venta.
Por eso yo he aprendido de trabajar en cadena de retail en cadenas de negocios de usar estos dos campos
que estamos viendo ahora ventas suspendida.
Lo pueden aplicar no solo para Brite lo pueden aplicar para cualquier desarrollo comercial y luego tenemos
compra suspendida compra suspendida es que Maiar a esto es al revés voy a liquidar todo el stock que
tengo pero ya no compro más de este producto Fíjense que aquí no estoy jugando con el estatus acá no
me importa si está habilitado a deshabilitado porque si yo deshabilitado el producto vas a quedar deshabilitado
para todo el sistema no va a aparecer en ninguna opción del sistema pero yo quiero que este producto
aparezca porque es un producto activo solo que ya no lo voy a vender más como no lo voy a vender más
o no lo voy a comprar más.
Necesito tener dos campos adicionales que son ventas suspendida y compra suspendida.
Esto es una muy muy buena práctica.
Fíjense que le he puesto un valor de foll para yo no tener que mencionar estos campos en mis instrucciones
de ser de datos chato actualmente lo que está diciendo este ejemplo es que cuando yo inserte un registro
nuevo a esos campos le va a poner un valor de foll de cero o sea que van a estar habilitados para la
venta y van a estar habilitados para la compra cuando yo necesite variar esta información tendré una
opción del sistema donde daré un formulario que ese producto va a quedar suspendido para la compra o
suspendido para la venta.
Esto es una muy buena práctica y lo estamos haciendo a nivel producto si nosotros quisiéramos hacerlo
a nivel proveedor directamente ya con ese proveedor no voy a trabajar más.
Fíjense ahora estoy en la tabla a proveedores con ese proveedor no voy a trabajar más o le voy a devolver
la totalidad de la mercadería no voy a ir uno por uno los productos a colocarle el tilde esto ya es
optimización no solo de base de datos sino Optics optimización de lógica de programación voy a si tengo
350 productos de un proveedor voy a ir 350 veces a tirar todos los productos de ese proveedor para suspenderlos
en la compra.
No voy a ir a la ficha de proveedores y voy a tildar que ese proveedor está suspendido para la compra
o suspendido para la venta.
Voy a devolverle todo no toda la mercadería y por eso voy a sacar mis productos de la venta están todos
los productos fallados el proveedor al proveedor no le puedo pagar le debo dinero le devuelvo toda la
mercadería Fíjense a qué nos referimos entonces con el Consejo de usar campos de Estado y así como aquí
dice compra suspendida Venta Suspendida ustedes se van a encontrar con distintas situaciones y distintos
tipos de campo de Estado que van a requerir no ocupan absolutamente casi nada.
Estamos hablando de tablas maestras no de tablas de detalles que tengan millones de registros y aún
así en tablas de detalle dependiendo de la opción o dependiendo la necesidad que tengan.
También pueden usar campos de Estado los campos de Estado no conviene.
Si bien me lo permite el motor no conviene indexar.
No no es aconsejable que cuando estamos usando campos de Estado que solamente tienen dos valores posibles
los Cinde extremos van a tener que evaluar cada caso.
Les voy a dar un ejemplo si nuestro campo de Estado si nosotros sabemos que nuestros productos en un
90 por ciento van a estar habilitados y sólo un 10 por ciento inhabilitadas no tiene sentido meter un
índice porque se calcula que para colocar un índice al menos tiene que haber una especie de 50 y 50
para que se justifique meter el índice.
Siempre estamos hablando de valores binarios 1 y 0.
Cuando ustedes sepan que por este campo está lo van a tener la mitad de los registros enuno y la mitad
de los registros en cero.
Quizás ahí convenga convertirlos en campo índice como estamos hablando de tablas maestras las tablas
maestras generalmente no tienen muchos registros sólo las tablas históricas y de detalles son las que
van creciendo y sin sin detener su crecimiento.
Una tabla maestra de productos.
Cuántos productos podríamos llegar a trabajar en una empresa.
Lo máximo que yo he llegado a manejar es 7200 productos en esta gran cadena que es la cadena prestigio
en Argentina en la que he trabajado más de 21 años y hemos manejado.
Creo que un tope en un momento hubo de 10 mil productos pero 10 mil registros en un motor de base de
datos no es mucho créanme no es mucho y para meter un índice en un campo bit realmente es para considerarlo.
Creo que tarda más en crear el índice cuando insertamos el registro que en lo que vamos a demorar en
la.
Entonces espero que quede claro esto aquí en proveedores faltaría el estatus para directamente el proveedor
activarlo o desactivarlo nuestros valores de fold van a decir cero nuevamente y esto mismo pueden hacer
con clientes.
No vamos a repetir porque no tiene sentido.
Pueden tener clientes habilitados para la venta o sea en campo estatu donde pueden decidir qué clientes
no queremos que nos compre más o pueden tener un estatus que diga que puede comprar de contado en efectivo
pero no se le C.L deshabilita la cuenta corriente porque es un cliente que nunca paga o que nunca paga
terminó esto o van a jugar ustedes pero tengan en cuenta tengan en mente cuando tengan que crear bases
de datos y cuando tengan que crear tablas que van a tener que meter mano y usar como buena práctica
campos de Estado.
Ese es el cuarto consejo y ahora los invito a que vayamos a nuestra quinta clase a nuestro quinto concejo
nada más que para redondear el tema índice.
Ya hemos hablado muchísimo de los índices pero conviene ya darle un cierre con alguna cosita que nos
haya quedado así que los invito a la próxima clase y si ya creen que los consejos que siguen no son
para ustedes pueden ir directamente stalkear ir a las clases donde vamos a aprender el lenguaje SQL
el lenguaje de base de datos que lo vamos a ver de la manera más completa posible.
Nos vemos en la siguiente clase.