M AT E R I A : D I SEÑA Y A DMINISTRA B ASES D E DATOS S I MPLES
D O C E N T E : M S C . A L E Q U E T Z A LC Ó AT L N AVA P E R E G R I N A SEMESTRE ENERO – JUNIO 2019 FEBRERO DE 2019 Presentación Docente MSC. Ale Quetzalcóatl Nava Peregrina • Maestro en Sistemas Computacionales especialidad en Tecnologías de la Información por la Universidad Cuauhtémoc plantel Aguascalientes (2015). • Investigaciones en Data Mining, Text Mining, aplicados a la Bioinformática. • Diplomado en Big Data: Procesamiento Masivo de Datos, Analítica Web, entornos virtuales de aprendizaje, Inteligencia Artificial. • Catedrático: UCA (2 años), UTNA, (5 años), UNIDEP (2 años), ITPA (2 años), ITEL (1 año) UVM (2 años) y recientemente CBTis 284 (1 semestre). • Administrador (CEO) de Integral Systems Solutions que ofrece soluciones de TIC’s para la empresa privada y pública (desde 2013). - Desarrollo de Software (WEB, POO, Mobile). - Campañas de Marketing (Google). - Telecomunicaciones (CISCO Networking). - Sysadmin (Windows, Linux, MACOSx). CONTENIDO INTRODUCCIÓN FUNDAMENTOS DE BASES DE DATOS 1. ¿Qué es una Base de Datos? 5. Fundamentos 2. ¿Qué es un Sistema Gestor de Base de Datos? 6. Claves 7. Relaciones 8. Transacciones DISEÑO DE BASES DE DATOS 3. Diseño de Bases de Datos 4. Modelo Entidad – Relación ¿Qué es una Base de Datos? Antes de intentar crear una BD directamente en un SGBD entendamos primeramente el concepto para poder abordar el proceso de realización de la misma. Muchos habrán respondido a la interrogante diciendo que es el sitio donde yo almaceno toda la información de mi aplicación, puedo tener información de: clientes, proveedores, productos, ventas, etc., pero: ¿Cómo tengo yo almacenada toda esta información? Una afirmación cotidiana que todos tenemos es que las hojas y los libros de Excel (o cualquier hoja de cálculo de nuestra preferencia) es una base de datos y aquí habrá que entrar en un pequeño debate que derrumba esta teoría. Excel presenta desventajas en cierta etapa de uso que lo hacen ser una mala herramienta para este propósito. Veamos… TAMAÑO Pregunta: ¿puedo tener una hoja de cálculo que pese 2 GB o 1 TB de información? Esto podría ser posible pero tardaría horas al menos en poderse desplegar en una nuestra pantalla, otro tanto de tiempo en poder guardar cambios y otro tanto de tiempo (si no es que más) el poder exportarla en la nube. Cuando se presentan pocos registros esto puede ser posible pero a medida que la información crece esto se complica bastante. ACTUALIZACIÓN Una persona puede fácilmente actualizar (entiéndase como actualizar al hecho de poder modificar la información) una hoja de cálculo, pero: ¿Qué sucede si queremos hacerlo de forma simultánea 2, 3, 5, 20, 100 usuarios? Simplemente no podríamos estar utilizando Excel de forma colaborativa y terminamos por guardarlo para que otro actualice o edite a partir de la última modificación que realizamos y así sucesivamente. Esto es un problema cuando como buen usuario tienes más de una versión “final” del archivo, a final de cuentas no se sabe cuál tiene los cambios más recientes. Google quiso intentar solucionar este problema con la capacidad de poder trabajar las Google Sheets de forma simultánea por un grupo limitado de usuarios pero al día de hoy no se considera una solución definitiva cuando los usuarios son redundantes y de forma continua. CONSISTENCIA En una hoja de cálculo es posible guardar montos, fechas, texto, pero estás seguro que realmente un monto está guardado como tal y no como otro tipo de formato de celda? Eso es algo que no se puede asegurar en una hoja de cálculo motivo por el cual se pierde consistencia y seguridad en los datos almacenados. SEGURIDAD En una hoja de cálculo se puede tener la capacidad de asegurarla con contraseñas o passwords, pero hay un inconveniente: cuando tenemos datos sensibles para los usuarios (cuentas bancarias, números de tarjeta de crédito, etc.), existe de manera particular delimitar quién puede ver y quién no la información que existe? Es algo que no se puede asegurar por el tipo de archivo que se trata. REDUNDANCIA Tienes una hoja de cálculo con productos y tienes un producto repetido: a cuál producto descontarás del inventario, a cuál harás un descuento, a cuál modificarás un precio, etc. Es decir, con la permisión que existe de poder “duplicar” la información cuando hablamos de administración de productos como es el caso se complica de forma total. IMPORTANCIA Esto tiene que ver con la seguridad a nivel de pertenencia de la información, si tu sistema se cae por tiempo ilimitado, ¿qué certifica que siempre tengas los datos? ¿qué siempre mantengas la información?. Esto no lo pueden certificar las herramientas de éste tipo, para la gran mayoría de las empresas a nivel mundial los datos significan dinero, no se pueden dar el lujo de perder dinero. BASES DE DATOS Tamaño Facilidad de Actualización Consistencia Seguridad Redundancia Seguridad - Importancia DataBase Management System SQL Server Oracle MySQL PostgreSQL DB2 … Sistemas Administradores de Bases de Datos: Gestores de bases de datos para mantener los datos asegurados. SOFTWARE DBMS En una misma empresa lo normal es que se tengan tantas bases de datos como procedimientos clave se presenten ejemplo: BDnomina, BDventas, BDinsumos, etc. (A veces se cree que todo se unifica en una sola y no necesariamente) De igual forma se pueden tener bases de datos creadas en distintos DBMS y poder trabajar de forma unificada. RELATIONAL DBMS DBMS Relacionales SQL Server No SQL Oracle MongoDB MySQL PostgreSQL CouchDB DB2 … Cassandra