Continuando con el tema de desarrollo de software por qué no podríamos dejar por afuera uno de los temas
más importantes en el baqueanos del desarrollo de software que son las bases de datos entonces aquí
hacemos un Overview muy ligero de las bases de datos tipos de bases datos etcétera etcétera.
Sin embargo no es para nada una meta del CCCP que se conviertan en unos deve hace expertos verdad.
Pero bueno algunos temas principales de las bases de datos primero pues las bases de datos relacionales.
Está claro que son hoy en día las bases de datos o el modelo de base de datos más utilizado que básicamente
como su nombre lo indica consiste de relaciones de verdad.
Ahora bien aquí hay cuatro.
Temas claves para el conocimiento básico de una base de datos relacional primero que son las llaves
primarias verdad las llaves primarias es un registro único que identifica a una fila o una tupla como
se le conoce comúnmente verdad o un registro.
Es decir que tengo por ejemplo la tabla de productos es una llave primaria podría ser el Heydi del producto
o el identificador del producto puede ser numérico o alfanumérico.
Esto depende de la lógica de cada negocio pero el punto es que una llave primaria es un identificador
único es decir no se puede repetir y luego tenemos las llaves foráneas y ahí es cuando nosotros necesitamos
hacer referencia y por eso por eso las bases de datos relacionales de verdad necesitamos que dos tablas
tengan una referencia a una relación entre sí.
Por ejemplo yo puedo decir bueno yo tengo que hacer facturas o tengo que emitir facturas entonces tengo
que hacer una relación o una referencia a la tabla de productos.
Entonces en este caso el Heydi del producto que habíamos mencionado se convierte en la llave foránea
en la tabla de facturación porque entonces aquí podemos decir que una factura puede tener varios productos.
Entonces por eso es que hacemos la referencia a la tabla de productos desde la tabla facturación y lo
hacemos por medio de una llave foránea es decir la llave primaria en la tabla de productos se convierte
ahora en la llave foránea siempre de productos pero en la tabla de facturación luego tenemos las relaciones
de los tipos de relaciones que existen.
Primero es la de uno a muchos que es la que acabamos de ver verdad.
Una factura puede tener muchos productos.
También existen relaciones de uno a uno o sea en el caso en este caso pues no aplica a menos que de
repente se lo vendamos un producto pero bueno hay relaciones de uno a uno y hay relaciones un poco más
complejas que son de muchos a muchos.
Es decir yo puedo tener productos pero también puedo tener servicios por ahí entonces de repente obtengo
la tabla servicios y la Tabla Productos en una factura pueden ir muchos productos y muchos servicios
entonces ahí podemos hacer una combinación de entre muchos a muchos de verdad o un ejemplo muy común
que se da es el famoso encabezado y detalle de una factura verdad.
Entonces por ejemplo el encabezado podemos tener la tabla encabezado de factura y la tabla de productos
y en el detalle podríamos referenciar este tema de muchos productos de verdad porque entonces podemos
decir bueno un encabezado de factura puede incluir varios productos pero varios productos pueden estar
en muchas facturas al mismo tiempo entonces ahí tenemos la relación de muchos son muchos y hay un tema
de auto relación es decir la autorreferencia verdad existe.
Sin embargo no es tan funcional como para que nos detengamos mucho tiempo a verlo pero bueno aquí hay
un mecanismo de seguridad.
Cuando hablamos de bases de datos relacionales que es la integridad referencial es decir si yo ya tengo
un ejemplo.
Volvamos al ejemplo de producto factura que tengo la llave primaria en producto y que se convierte en
llave foránea dentro de la tabla de facturas.
Entonces yo no podría venir y eliminar un producto por ejemplo decir bueno yo ya no vendo manzanas o
voy a eliminar el producto manzanas de mi base de datos.
Si este producto está referenciado en alguna factura verdad esto es por opor por temas de integridad.
Por eso se le conoce como integridad referencial.
Yo no puedo venir y de la noche a la mañana eliminar 5 días productos.
Si de repente los tengo referenciados en muchas facturas verdad donde yo he vendido dichos productos.
Este es un mecanismo de seguridad que tienen las bases de datos.
En este caso relacionales sin embargo a pesar de que las bases de datos relacionales son las más utilizadas
tenemos algunas otras bases de datos como por ejemplo la base de datos jerárquica la base de datos de
árbol muchas bases de datos e incluso bases de datos orientadas a objetos que creo que no tuvieron el
auge que se predijo que iban a tener por el tema de la programación orientada a objetos de verdad y
por lenguajes de programación que nos hace la vida un poco más fácil como Peyton Perrault etcétera etcétera.
Pero bueno tenemos las vistas en las bases de datos.
Otro concepto clave que son básicamente una Internet una interfase restringida para algún usuario es
decir por ejemplo recuerdan el tema de Need to privilege con las vistas podríamos forzar esto es decir
yo tengo mi base datacenters que tiene 50 tablas.
Sin embargo para hacer reportería de contabilidad o temas de marketing o temas de recursos humanos o
temas de cualquier departamento yo no necesito que los usuarios tengan acceso a toda la base de datos.
Entonces lo que hago es que yo creo vistas estas vistas lo que hacen es referenciar a tablas específicas
y solo desplegar la información que quieren que desplieguen verdad es decir contabilidad por ejemplo
necesitaría acceso a las facturas.
Le vamos a dar vamos a poner en la lista de contabilidad vamos a poner la tabla de facturas y la tabla
de productos y contabilidad necesita perdón necesitaría acceso a temas de recursos humanos alguna tabla
de recursos humanos.
Bueno lo voy a poner a la vista de contabilidad esta tabla y así nos vamos armando las vistas conforme
nosotros necesitemos o le queramos dar algún acceso o algún privilegio o algún permiso a un usuario
basado en siempre los conceptos de nietzscheano y privilegios.
Luego tenemos los cueros o las consultas que se pueden hacer a una base de datos y tenemos un lenguaje
verdad el famoso dar a Baiz Quarry el lenguaje.
Entonces aquí tenemos dos conceptos o dos tipos de cuerpos o dos tipos de consultas que hacemos primero
es el Data Definition lenguaje o de D.L. y el Data Manipulation Language verdad entonces DBL se utiliza
por ejemplo el Data Definition lenguaje que se usa para crear modificar o eliminar tablas mientras que
el de M.L. Manipulation o modifiqué en un lenguaje es utilizado para hacer consultas como actualizaciones
a las tablas etc etc etc..
Antes de que se me escape esto les haya mencionado de las bases de datos jerárquicas y árbol y orientadas
a objetos por ejemplo.
Otra vez repito las bases de datos relacionales son las más utilizadas hoy en día.
Sin embargo hoy hay una base de datos que yo siempre hago la pregunta ustedes creen que existe alguna
base de datos jerárquica que se utilice o en forma de árbol que se utiliza hoy en día.
La respuesta casi siempre es no por la misma percepción y percepción de percepción correcta que las
bases de datos más utilizadas hoy en día son las relacionales.
Sin embargo tenemos una gran tecnología que funciona bajo bases de datos jerárquicas y es el protocolo
LDAP es decir el Active Directory Kerberos LDAP y todo lo relacionado con el mecanismo de autenticación
o de controles de acceso.
Utiliza bases de bases de datos relacionales por ejemplo tenemos el Domain Controller Organizational
Unit Camón etcétera etcétera que son relacionales.
Por último tenemos a data warehouse el tema de data warehouse que creo que a mi opinión es como el inicio
del big data no el data warehouse es simplemente una colección de datos inmensa muy grande puede ser
de años de años de años de recolección de datos y el Data Market.
Por otro lado es una versión más ligera del Data Warehouse.
Ahora para qué nos serviría tener tanto dato almacenado.
Si ya es obsoleto digamos ya no ya ni siquiera lo necesitamos para temas de cumplimiento de retención
de información Varda sirve.
Combinado esto combinado con con data mining o minería de datos sirve para encontrar relaciones ocultas
alguien que le saca mucho provecho a esto son los supermercados es decir de repente y coleccionan datos
de patrones de compra de 20 50 años y de repente con esto hacen data mining para saber que por ejemplo
en enero de cada año se incrementan las ventas de algún producto en específico.
Supongamos que artículos de limpieza personal entonces lo que hacen es poner estos artículos de primero
en el supermercado.
No crean que cuando cambian los productos de orden en el supermercado o cuando ponen algunas cosas en
oferta o en frente es por pura coincidencia.
Esto tiene un análisis por debajo y es con minería de datos.
Ahora bien creo yo esta es una percepción muy personal que el data warehouse y data mining fueron el
inicio del famoso Big Data y el machine learning.
Al final obviamente no podemos comparar el big data y el machine learning con data mining y data warehouse
pero si que fue como un inicio digamos común como un inicio para para para dar paso a la Big Data y
el machine learning como tal verdad.
Bueno si quieren una diferencia entre Big Data y Machine Learning bueno en este caso Big Data y Data
Warehouse creería yo que el Big Data y el data warehouse digamos que vienen de la misma base o necesidad
que fue el Business Intelligence o la inteligencia de negocios por ejemplo no sé si se recuerdan los
cubos OLAP análisis de coincidencias o análisis de patrones verdad.
Esto dio origen a todo este tema de pillines iniciados.
Ahora bien Big Data nos permite tomar data digamos desordenada o de cualquier fuente.
Es decir podríamos tomar data de x z fuente no no necesariamente tienen que ser de una misma fuente.
Mientras que el data warehouse procesa la data pero mantiene la consistencia de la información es decir
un formato específico hacia una fuente desde una fuente específica hacia un fin específico o hacia un
destino específico.
En cambio el big data puede ser un poco no quiero decir desordenado pero sí puede obtener forma de información
de cualquier formato de cualquier fuente y entregarla a cualquier destino o un destino no necesariamente
parcheado o debidamente estructurado como si como tal verdad.
Creo que esa es la gran diferencia.
Y bueno esto es todo amigos.
Pero les ha gustado y nos vemos muy pronto.