Bueno hoy tocó el turno de las tablas de ubicación.
Vamos a ver las tablas que nos van a permitir armar todo un esquema de ubicaciones dentro de nuestra
empresa.
A grandes rasgos si tuviéramos que dividir nuestra empresa la dividimos en sucursales aún si no tuviera
ninguna sucursal tendría una sola sucursal que es Casa Central entonces está muy bien crear la tabla
sucursales aunque vuelvo a repetir podría tener un solo registro pero nos va a permitir armar ya nuestro
sistema y nuestro modelado de bases de datos de acuerdo a el crecimiento que puede tener el negocio.
El día de mañana de una sucursal pasan a ser dos.
Luego pasan a ser cuatro 10 20 y la empresa va creciendo.
Vamos a crear la primer tabla que es la tabla sucursales vamos a venir aquí vamos a ampliarlo un poquito
doble y vamos a crear la tabla sucursales esta tabla yo la voy a hacer ahora con simplemente tres campos.
Por qué.
Porque lo que quiero que ustedes entiendan el circuito luego una tabla sucursales puede tener la dirección
de la sucursal el teléfono esos datos ahora no nos interesan.
Vamos a crear la prima ariki que es su CAIR como son pocas sucursales nunca va a ser un dato de tipo
entero no vamos a tener millones o miles de millones de sucursales vamos a usar un Molinet a lo sumo
de tres.
No creo que tengan 1000 sucursales pero bueno auto incremento aun Singler y tenemos nuestra primarily
el segundo campo vamos aquí su nombre.
Vamos a dejar esto con 50 para que tenga un largo coherente de nombre de sucursal y el último campo
el estatus recuerden lo que dije.
Todo tiene que tener su campo estátus porque una sucursal no puede ser dada de baja.
Si yo cerré una sucursal si yo tengo una cadena de locales y se RE1 ese dato tiene que seguir estando
en la base de datos porque voy a tener mucha información histórica que va a decir que una venta determinada
se realizó en la sucursal número 15.
Y cuando tenga que ir a buscar el dato de la sucursal número 15 ese registro tiene que estar.
No puede estar borrado entonces nuestro estatus muy bien ya tenemos nuestra tabla sucursal ya voy dividiendo
mi compañía en sucursales ahora cuál es la siguiente división que tienen que pensar ustedes una sucursal.
Cuando hablamos de stock se dividen depósitos y es muy normal que una sucursal tenga un depósito pero
ha pasado y es más común de lo que ustedes creen que una sola sucursal pueda tener más de un depósito.
Distintas secciones dentro del edificio distintos sectores dentro de un galpón.
Lo voy a dividir y a cada uno lo voy a llamar un depósito diferente.
Vamos a crear la tabla de depósitos DoubleClick depósitos muy bien.
Vamos a ampliar esto y aquí vamos a empezar a crear.
Por ejemplo vamos a ponerle un prefijo DEP.
Nuestra clave principal cómo como depósitos en realidad va a haber tantos mínimamente tantos como sucursales
tenga.
Pero puede haber más registros porque si una de esas sucursales tiene más de un depósito entonces mi
tabla de depósitos va a tener más registros que la tabla.
Sucursal aquí es lo que voy a hacer es colocar nuevamente un Molinet.
Le voy a decir que de cuatro números enteros alto incremento asignã muy bien.
Ahora lo que voy a hacer es la unión de la tabla de depósitos con la tabla sucursal un depósito no es
una entidad flotando en el aire que no está atado a nada un depósito tiene que estar asociado a una
sucursal.
Entonces aquí voy a tener la Foreing aquí que voy a unir me tengo que fijar recuerdo en que tengo que
fijarme cuál era el tipo de dato de la tabla a la que quiero linkear entonces aquí yo voy a poner un
Molinet de tres.
Este dato y este tipo de dato tienen que coincidir con el de la tabla que voy a referenciar va a ser
signed tiene que ser igual.
Si yo aquí no tildara y aquí está atildados que es Ancic no me la va a dejar ir esas tablas muy bien
ya tengo a mi Heydi de depósito.
Ya tengo la Unión el campo offshoring aquí por el cual voy a hacer una Foreing aquí a mi tabla sucursales
ahora lo que voy a hacer es nuevamente status por qué un depósito que yo creé era una sección luego
la la Kyte porque ahí usé para ampliar el local y hacer otro puesto de venta.
Ya no es más depósito pero yo tengo que mantener ese estado y ese registro como vigente muy bien.
Y ahora un nombre en el caso que quiera darle a cada depósito un nombre descriptivo lo dejamos ahí no
hay problema.
Esta es mi tabla depósitos ok luego vamos a hacer todas las uniones que necesito.
Voy a unir depósitos a sucursales y ahora vamos a ver qué pasa dentro de un depósito porque un depósito
es un universo en sí mismo y dentro del depósito puede haber secciones así que vamos a crear una tabla
nueva llamada DoubleClick se va a llamar de secciones y aquí vamos a colocar un prefijo de DP y le vamos
a poner una idea y vamos a hacer que esto sea medio Ninet.
Ya no me sirve un esmoquin porque aquí va a haber muchos más registros.
Todo esto es exponencial por cada sucursal va a haber en depósitos por cada depósito va a haber excepciones.
Entonces todo se va a ir multiplicando y voy a tener que tener un tipo de dato acorde va a ser un medio
Ninet y le voy a poner por ejemplo seis auto incremento Ansina ya me creó la primarily y aquí voy a
poner Perdón esto es de S de DEPT secciones una DS sino la palabra secciones no está representada en
el prefijo y aquí voy a poner obviamente nuestra Foreing aquí hacia la tabla de depósitos porque esta
sección pertenece a un depósito no esta no es una entidad flotando así que voy a tener que unirlo y
aquí yo ya tengo que es un molín de cuatro y aquí tengo que repetir que es un molín de cuatro assigned
y nada más.
Aquí le vamos a dar un nombre y cuál puede ser el nombre una sección por ejemplo una sección dentro
de mi depósito puede ser la sección accesorios.
Otra puede ser la sección combustibles donde voy a guardar todo lo que es inflamable otra sección es
la sección pintura otras secciones la sección no sé ferretería donde voy a tener los tornillos todas
esas secciones cuando yo tenga que encontrar y saber el stock de un producto y su ubicación.
El sistema me va a poder decir bueno hay diez unidades y se encuentra en la sección accesorios del depósito
tal de la sucursal tal se entiende todo esto esto va cobrando forma la estructura.
Entonces le colocamos un nombre y por supuesto un estatus que va a ser un Character de uno muy bien.
Ahora una sección vamos a ampliar esto una sección puede estar dividida en racks los Rags.
Yo voy a mostrarles una imagen ahora quiero mostrarles una imagen fíjense esta imagen.
Nosotros tenemos una tenemos sucursales.
Las sucursales tienen depósitos los depósitos tienen secciones y en las secciones yo podría dividir
todo en Rags qué son los racks los Rak son estas estructuras.
Vamos a ampliarlo un poquito más los Rak son estas estructuras y cada rack tiene una identificación
en este caso es una letra yo el sistema lo que les voy a enseñar es hacerlo con números pese a un dato
numérico y cada una de estas estructuras que yo la voy a llamar Rags tiene filas y tiene columnas.
Es como una gran planilla Excel y la intersección de una fila y una columna es una celda y en una celda
yo puedo tener un producto puedo tener varios y puedo tener una capacidad para tantas unidades de un
producto puedo tener varios.
Esto es fundamental.
Por eso yo no les quise enseñar un caso muy simple donde solamente lo que nosotros vemos es un stock
con un depósito con un depósito con un un stock y nada más.
Decir que en la sucursal 2 de tal producto hay 15 sino que les estoy enseñando algo mucho más avanzado
de sistemas de logística que ustedes van a poder desarrollar con esta lógica porque todo esto a mi me
ha tocado desarrollarlo ha sido un desarrollo muy importante muy grande de mucho tiempo hemos demorado
más de un año en hacer ese desarrollo porque yo les voy a enseñar algo intermedio pero yo tuve que hacer
algo extremadamente avanzado y aquí nosotros lo que vemos es las filas de 1 a 5 aquí hay 6 no se ve
pero hay una sexta fila y ustedes van a tener que definir en si les toca trabajar con esto cuántos racks
tienen cada rack cuántas filas y columna porque quizás no todos los racks son iguales quizás el rango
de edad llegue hasta aquí y nada más por una cuestión edilicia una cuestión de espacio.
Quizás el rock tenga una fila más porque justo ahí el techo me permite tener una fila más de altura.
En definitiva ustedes van a poder sestear con el modelado que yo les voy a enseñar ahora cada una de
estas estructuras cómo se tirarlas entonces vamos a volver a nuestro modelado y vamos a crear una tabla
nueva llamada racks la vamos a ubicar aquí.
Nosotros ubicamos todo aquí y luego lo vamos a ubicar para que se vea bien el diagrama la vamos a llamar
Rags y aquí yo voy a tener nuestro RUC aided que va a ser nuestro auto incremental Ansina es una clave
única vamos a tener nuestro rack que apunte a ese aided Halep secciones porque nuestro Rak nuestra tabla
de Rak va a tener que estar unida a las secciones.
Obviamente no va a ser una isla.
Repito el mismo concepto aquí vamos a tener un medio NiMH de cuánto es de 6.
Vamos a poner un medio Ninth de 6 tal cual figura en la tabla original y aquí lo que vamos a hacer es
darle un nombre no un nombre no un número.
Este es el número que yo dije que podía en lugar de nombrarlo con letras lo nombramos con números si
ustedes quieren nombrarlo con letras usan un char un character o un parchar pero yo voy a usar un Ninth
muy bien.
Aquí lo que voy a hacer.
Perdón vamos a usar por las dudas un medio de cuatro porque puedo tener muchos racks muchos Rags en
una misma sección.
Si es un depósito que ocupa varias hectáreas van a tener muchos Rags y aquí lo que vamos a hacer es
colocar cuantas filas tiene ese Rak si tiene 5 de altura 6 de altura 10 de altura he visto por ejemplo
el depósito de la compañía Basf en Argentina cuando nos tocó hacer este sistema nos llevaron ahí para
aprender cosas que tienen que ver con el sistema SAP y ahí es conmoví un rack que tenía 10 columnas
10 filas perdón y tenían un una especie de que tenían una especie de máquina que subía hasta las 10
columnas para ir a buscar a las diez filas para ir a buscar mercadería.
Era una cosa impresionante así que bueno aquí en filas Leo les voy a poner que es un Tinet de dos porque
no va a tener 100 filas.
No existe un rack tan alto entonces lo colocamos aquí.
Vamos a ir a checando un poco esto Rack columnas.
Lo que estoy creando aquí es la definición de un rack es decir bueno va a haber un rack que se va a
ser el número 5 va a tener tantas filas y tantas columnas y va a estar ubicado en la sección tal que
va a estar ubicada su vez en el depósito tal y que ese depósito va a pertenecer a la sucursal tal fíjense
como vamos creando la estructura y estas columnas también va a ser assigned y muy bien y por último
nuestro inefable estátus.
Por qué.
Porque por motivos de espacio yo tuve que achicar perdón aquí me pasó algo columnas no me no me cambió
el dato es un Tiny.
Vamos a ponerle de porque porque puedo llegar a tener 100 columnas puede ser muy largo el rack muy bien
y aquí estátus era un parchar era un char de uno esto no sé qué pasó que me lo creo solo Workbench hace
esas cosas muy bien aquí tenemos ya todo creado.
Vamos a ampliar aquí muy bien aquí tenemos nuestra nuestro Rags.
Ok ahora vamos a la última tabla de ubicación que tiene que ver ya no con el Ubi con la ubicación en
sí pero la quise incluir en este capítulo para que no perdamos el hilo y es la tabla de del detalle
de esto es lo que va a unir la Tabla Productos con todas estas tablas.
Vamos a crear una tabla aquí vamos a hacer la grandecita lo vamos a llamar Stop Death y aquí vamos a
tener un STD aided que es nuestra prima ariki aun signar vamos a tener por ejemplo el producto porque
aquí vamos a grabar el stock de cada producto stock provided y la tabla productos es un intrigar muy
bien.
Ahora voy a explicarles voy grabando los campos y les voy a explicar absolutamente todo esto es Rak
aided muy bien ahora por qué.
Por qué yo no llevo una tabla producto y su stock.
Yo voy a llevar una tabla que va a tener n registros para el mismo producto.
Por qué.
Porque yo lo abrí tanto lo atomiza tanto que le voy a poder decir que de un producto determinado por
eso se llama de detalle.
No es una tabla maestra sino que es una tabla de detalle de un producto determinado.
Yo tengo tres unidades en el rack 5 fila tal columna tal y tengo cinco unidades más en el rack 8 porque
esto me da la posibilidad y la libertad de tener un mismo producto ubicado en distintos lugares de un
mismo depósito.
Esto es algo más habitual de lo que ustedes creen.
Así que vamos a continuar con esto ya tengo la unión de mi tabla de stock Death a la tabla racks y ahora
vamos a crear vamos a crear los campos por ejemplo fila en qué fila está ubicado ese rack que estoy
apuntando mi producto en qué fila está ubicada.
Entonces vamos a decirle que es un Tiny Hind de dos y ahora vamos a decirle Vamos a ponerle assigned
vamos a decirle que está en la columna vamos a recuerden que era un Tiny de 3 Ansina.
Vamos a bajar esto muy bien.
Muy bien yo ya estoy diciendo que tengo un producto ubicado en un rango determinado que pertenece a
una sección a un depósito de una sucursal y que en ese Rack determinado que yo estoy apuntando el producto
está ubicado en una fila y en una columna inclusive podría llegar a pasar de que el mismo producto esté
dos o tres veces en el mismo rack.
Supongamos que el producto me ocupa la fila 1 columna 1 pero como necesito mucho stock de ese producto
a la mano por qué se vende mucho.
No solo ocupa la fila una columna 1 sino que ocupa la fila una columna 2.
Entonces en el mismo mata en la misma tabla voy a tener dos registros para el mismo producto.
Muy bien.
Entonces después de poner la fila y la columna voy a colocar obviamente
cuánto tengo de stock.
Esto va a ser una cantidad obviamente aquí voy a ponerle que es un medio de Dionis de 5.
Por ejemplo si vendo cosas muy chiquitas puede ser que tenga 100 mil unidades en una ubicación.
Fíjense que aquí yo no voy a tildar a signed porque si yo tildo signed y por algún problema del sistema
o una inconsistencia yo tuviera que tener un stock negativo en una celda porque vendí más de lo que
de lo que realmente tengo.
Tengo que permitir que la celda quede en negativo.
Por ese motivo yo no tildo el Ancic para que admitas signo ahora voy a grabar dos campos fecha último
movimiento es un dato que se va a actualizar cuando yo mueva mercadería en esa celda cuando ingrese
mercadería o cuando las saque por una venta o por lo que sea yo.
Es un dato muy útil que en los sistemas los grabamos.
Cuál fue la última vez que Yo moví datos en esa celda y por último la fecha del último inventario cuándo
fue la última vez que yo fui a esa celda a controlar el stock del producto.
Recuerden que este es un módulo una sección de que tiene que ver con el inventario y con el stock el
inventario que yo voy a ir a controlar el stock de un producto determinado.
Entonces si mi sistema me tiró una planilla con todas las ubicaciones y el stock que tengo que tener
de cada producto y va un supervisor o voy yo a controlar esa mercadería cuando yo cargue el resultado
de ese control al sistema el sistema va a ir a esa celda y va a decir Ojo ese inventario fue ese producto
fue inventariado hoy y en esa celda va a quedar esa fecha.
Es un dato estadístico luego me permite sacar nuevos listados de productos o celdas que no hayan sido
inventariadas hace en los últimos 30 días por ejemplo para no tener que volver a ir a la misma celda
que fui el día de ayer a contar nuevamente lo mismo y esto es algo muy útil.
El tema de manejar la fecha del último inventario muy bien ahora yo ya tengo mi stock de detalle lo
que vamos a hacer ahora es vamos a ir al próximo capítulo y vamos a ir viendo tablas maestras que hay
que agregar a este esquema y tablas históricas así que nos vemos en el próximo capítulo.