Está en la página 1de 14

SISTEMA GESTOR DE BASES DE DATOS

Presentado por:
Tatiana Vanessa Campo Matute
German Mauricio Trejo Bastidas
Carlos Eloy Barrios Vargas
José Arley Sánchez
Jhoan Sebastián Rosero Rodríguez

Presentado a:
Docente: Ing. Milton Hernando Buitrago Torres

Administración de Bases de Datos, CUN Corporación Unificada de educación


Superior
Ingeniería de sistemas virtual - Primer bloque 22V04 – Ficha 51104
Septiembre de 2022
SISTEMAS GESTORES DE DE BASES DE DATOS 3
Sistemas Gestores de bases de datos Relacionales (SQL) 3
Imagen 1: La imagen representa un cuadro comparativo de algunos de los gestores de
bases de datos relacionales más utilizados 3
Imagen 2: Modelo entidad relacion expuesto como ejemplo por el docente para el ACA2
4

OPCIONES 4
MySQL 4
MariaDB 5
SQLite 5
PostgreSQL 5
Microsoft SQL Server 5
Oracle 5

SISTEMA GESTOR DE BASES DE DATOS MySQL 5


Razones para utilizar MySQL 6
Administración del SGBD MYSQL 6
Copias de seguridad 7
Reparación de tablas 7
Análisis y optimización 9
Replicación 9
Crear y demostrar, las entidades generadas por el gestor a nivel UML 10
Un poco de historia 10

BIBLIOGRAFÍA 14

2
SISTEMAS GESTORES DE DE BASES DE DATOS
Un Sistema Gestor de Base de Datos (SGBD) o DataBase Managenent System (DBMS) es
un sistema que permite la creación, gestión y administración de bases de datos, así como la
elección y manejo de las estructuras necesarias para el almacenamiento y búsqueda de
información del modo más eficiente posible.
Un gestor de base de datos da una serie de servicios y lenguajes para la creación,
configuración y manipulación de la base de datos, además de mecanismos de respaldo.
Las organizaciones que usan un sistema gestor de base de datos también pueden
almacenar una descripción de dichos lenguajes en un diccionario de datos y también
asegurar su mantenimiento, proporcionando un acceso controlado a la misma.
Sabemos que la gestión, optimización y monitorización de los datos resulta un activo muy
importante para cualquier organización.

En la actualidad, existen multitud de SGBD y pueden ser clasificados según la forma en que
administran los datos en:

● Relacionales (SQL)
● No relacionales (NoSQL)

Sistemas Gestores de bases de datos Relacionales (SQL)


Desde que se comenzó a usar el modelo de bases de datos relacionales, ha ido sufriendo
una serie de transformaciones hasta convertirse, hoy en día, en el modelo más utilizado
para administrar bases de datos.
Este modelo se basa fundamentalmente en establecer relaciones o vínculos entre los datos,
imaginando una tabla aparte por cada relación existente con sus propios registros y
atributos.

Imagen 1: La imagen representa un cuadro comparativo de algunos de los gestores de


bases de datos relacionales más utilizados

3
Sistemas Gestores de bases de datos No Relacionales (NoSQL)
Una base de datos no relacional (NoSQL) es aquella base de datos que:

- No requiere de estructuras de datos fijas como tablas


- No garantiza completamente las características ACID
- Escala muy bien horizontalmente.

Se utilizan en entornos distribuidos que han de estar siempre disponibles y operativos y que
gestionan un importante volumen de datos.

Dado el siguiente modelo entidad relación

Imagen 2: Modelo entidad relacion expuesto como ejemplo por el docente para el ACA2

Se ve necesario elegir un sistema gestor de bases de datos relacional, se cuenta con las
siguientes opciones:

OPCIONES

1. MySQL
Es un SGBD multihilo y multiusuario utilizado en gran parte de las páginas web actuales.
Además es el más usado en aplicaciones creadas como software libre.

4
2. MariaDB
Este SGBD es una derivación de MySQL que cuenta con la mayoría de características de
este e incluye varias extensiones.

3. SQLite
Más que un Sistema Gestor de bases de datos como tal, SQLite es una biblioteca escrita en
C que implementa un SGBD y que permite transacciones sin necesidad de un servidor ni
configuraciones.

4. PostgreSQL
Este sistema gestor de base de datos relacional está orientado a objetos y es libre,
publicado bajo la licencia BSD.

5. Microsoft SQL Server


Es un sistema gestor de bases de datos relacionales basado en el lenguaje Transact-SQL,
capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera
simultánea.

6. Oracle
Tradicionalmente, Oracle ha sido el SGBD por excelencia para el mundo empresarial,
considerado siempre como el más completo y robusto.

Después de evaluar las anteriores opciones, se elige el sistema gestor de bases de datos
MySQL, para la elaboración de una base de datos. A continuación se realizará una
descripción de dicho gestor así como sus ventajas.

SISTEMA GESTOR DE BASES DE DATOS MySQL


MySQL es un sistema de gestión de base de datos (SGBD) de código abierto. El SGBD
MySQL pertenece actualmente a Oracle. Funciona con un modelo cliente-servidor. Eso
quiere decir que los ordenadores que instalan y ejecutan el software de gestión de base de
datos se denominan clientes. Cada vez que necesitan acceder a los datos, los clientes se
conectan al servidor del sistema de gestión de base de datos y le solicitan la información
que necesitan. El servidor se la brinda siempre y cuando tenga los derechos de acceso.

Aparte de su uso como sistema de gestión de base de datos, también es bastante frecuente
encontrarse MySQL funcionando con los sistemas operativos, servidores y lenguajes de
programación de Linux, Apache y PHP/Per/Python para desarrollar aplicaciones web, por
ejemplo, webs dinámicas. Por eso, suele encontrarse el acrónimo LAMP (las iniciales de
Linux, Apache, MySQL y PHP/Per/Python) cuando se habla de MySQL.

5
Razones para utilizar MySQL

● Se puede ejecutar en muchos sistemas. MySQL corre en muchos sistemas


operativos, Windows, Linux, Mac OS, la mayoría de las variedades de Unix
(incluyendo Solaris y AIX), FreeBSD, OS / 2, Irix, y otros.
● Es fácil encontrar ayuda: Al ser una base de datos que se utiliza en multitud de
aplicaciones web existen multitud de tutoriales, foros, documentación en la red
donde podemos encontrar la información que necesitamos.
● Es muy fácil de usar. Podemos empezar a usar la base de datos MySQL sabiendo
unos pocos comandos.
● Es fácil de aprender: Simplemente con conocer el estándar de SQL podemos
manejar la base de datos MySQL sin ningún problema.
● MySQL es una base de datos ampliamente probada por distintos usuarios y
empresas con alto éxito.
● Menos características. Menos mantenimientos: Realmente esto nos da la ventaja
para que un programador cualquiera pueda aprender rápidamente cómo debe
mantener la base de datos para sus aplicaciones. Sin necesidad de ser un experto
Administrador en Base de Datos (DBA). Bases de datos como Oracle requieren de
DBA para la gestión de su información debido a todas las características que tienes
para su administración. En cambio MySQL para el funcionamiento habitual de una
aplicación incluye unas características mínimas que nos sirven ampliamente para
nuestras aplicaciones sin tener que recurrir a un DBA para que administre la base
datos.
● Soporte para la transacciones. Una de las grandes ventajas de utilizar MySQL es la
gestión de las transacciones. Las transacciones en MySQL son Atómicas,
consistentes, aisladas (isolated) y durables; ACID.
● Es una base de datos gratuita. Al ser de código abierto, no tiene coste, con el ahorro
que eso conlleva. El coste total de inicio es ampliamente inferior al de Oracle o
Microsoft SQL Server.
● Es una base de datos muy rápida. Su rendimiento es estupendo sin añadir ninguna
funcionalidad avanzada.
● Utiliza varias capas de seguridad. Contraseñas encriptadas, derechos de acceso y
privilegios para los usuarios.
● Pocos requerimientos y eficiencia de memoria. Tiene una baja fuga de memoria y
necesita pocos recursos de CPU o RAM.
● Tiene un soporte técnico ampliamente disponible. Su gran base de usuarios ofrece
soporte gratuito a través de listas de correo. Los desarrolladores de MySQL también
participan en estas listas de correo electrónico.
● Es personalizable. La licencia GPL de código abierto permite a los programadores
modificar el software MySQL para adaptarse a sus propios entornos específicos.

Administración del SGBD MYSQL

Las tareas administrativas como la instalación, gestión de usuarios, copias de seguridad,


restauraciones, entre otras, son tareas ineludibles en cualquier organización.

6
Copias de seguridad
Ningún sistema es perfecto ni está a salvo de errores humanos, cortes en el suministro de la
corriente eléctrica, desperfectos en el hardware o errores de software; así que una labor
más que recomendable del administrador del servidor de bases de datos es realizar copias
de seguridad y diseñar un plan de contingencia. Se deben hacer ensayos del plan para
asegurar su buen funcionamiento y, si se descubren anomalías, realizar los ajustes
necesarios.

MySQL ofrece varias alternativas de copia de seguridad de la información. La que


consideramos óptima consiste realizar un volcado de las bases de datos pero traduciéndose
a SQL; es decir, entrega un archivo de texto con todos los comandos necesarios para volver
a reconstruir las bases de datos, sus tablas y sus datos. Es el método más útil para copiar o
distribuir una base de datos que deberá almacenarse en otros servidores.

Todo esto se realiza con el comando $ mysqldump demo > demo.sql, mysqldump ofrece
multitud de parámetros para modificar su comportamiento o el tipo de volcado generado:
por defecto, genera sentencias SQL, pero puede generar ficheros de datos tipo CSV u
otros formatos. También podemos especificarle que haga el volcado de todas las bases de
datos o que sólo vuelque los datos y no la creación de las tablas, etc.

La ventaja de utilizar mysqldump es que permite que los archivos puedan ser leídos (y
modificados) en un simple editor de textos, y pueden ser utilizados para migrar la
información a otro SGBD que soporte SQL. Además soporta todos los tipos de tablas.

Restaurar a partir de respaldos

La restauración de un archivo SQL obtenido con mysqldump, se realiza desde el cliente


mysql, la base de datos debe existir, ya que el archivo demo.sql no la crea por defecto.

$ mysql demo -u root -p < demo.sql

Reparación de tablas
En determinadas circunstancias como la inserción y borrado masivos de datos, coincidiendo
con bloqueos del sistema o llenado del espacio en disco u otras circunstancias, es posible
que una tabla o algunos de sus índices se corrompan.

Podemos consultar el estado de integridad de una tabla con el comando check table, que
realiza algunas verificaciones sobre la tabla en busca de errores y nos entrega un informe
con las siguientes columnas de información:

7
La columna Msg_type puede contener uno de los valores status, error, info, o warning. Y la
columna Msg_text es el texto que reporta de alguna situación encontrada en la tabla.

Es posible que la información entregada incluya varias filas con diversos mensajes, pero el
último mensaje siempre debe ser el mensaje OK de tipo status.

En otras ocasiones check table no realizará la verificación de tabla, en su lugar entregará


como resultado el mensaje Table is already up to date, que significa que el gestor de la tabla
indica que no hay necesidad de revisarla.

El programa myisamchk es una utilidad en línea de comandos que se incluye con la


distribución de MySQL y sirve para reparar tablas tipo MyISAM. Para utilizarlo con
seguridad el servidor no debe estar ejecutándose y se recomienda realizar un respaldo del
directorio de datos antes de su utilización.

Recibe como parámetro principal los archivos .MYI correspondientes a las tablas que hay
que revisar; es decir, myisamchk no conoce la ubicación del directorio de datos. Por
ejemplo, si el directorio de datos está ubicado en /val/ lib/mysql, las siguientes serían dos
maneras de realizar una comprobación de los archivos de la base de datos demo:

# myisamchk /var/lib/mysql/demo/*.MYI

# cd /var/lib/lib/mysql/demo

# myisamchk *.MYI

Se pueden revisar todas las bases de datos utilizando ’*’ para denominar el directorio de la
base de datos:

# myisamchk /var/lib/mysql/*/*.MYI

Para realizar una comprobación rápida, el manual sugiere utilizar el siguiente comando:

# myisamchk --silent --fast *.MYI

Y para realizar la corrección de las tablas corruptas, el manual sugiere la sintaxis siguiente:

# myisamchk --silent --force --update-state -O key_buffer=64M \ -O sort_buffer=64M -O


read_buffer=1M -O write_buffer=1M *.MYI

Las opciones dadas por -O se refieren al uso de memoria, que permiten acelerar de forma
notoria el proceso de reparación.

--force reinicia myisamchk con el parámetro --recover cuando encuentra algún error.

--updatestate almacena información sobre el resultado del análisis en la tabla MYI.

8
Análisis y optimización
El diseño de MySQL le permite funcionar con un rendimiento notable, sin embargo, se
pueden cometer fácilmente errores que disminuyan la capacidad de respuesta del servidor.
También se pueden realizar algunos ajustes a la configuración de MySQL que incrementan
su rendimiento.

Indexación: es la principal herramienta para optimizar el rendimiento general de cualquier


base de datos. Es también la más conocida por los usuarios de servidores MySQL y,
paradójicamente, su no utilización es una de las principales causas de bajo rendimiento en
servidores de bases de datos.

Muchos administradores y diseñadores simplemente parecen olvidar usar índices para


optimizar los accesos a las bases de datos. Por otro lado, algunas personas tienden a
indexar todo, esperando que de esta manera el servidor acelere cualquier tipo de consulta
que se le solicite. En realidad, esta práctica puede causar una disminución en el
rendimiento, sobre todo en lo que respecta a inserciones y modificaciones.

A pesar de estos inconvenientes, la utilización de índices ofrece mayores ventajas que


desventajas, sobre todo en la consulta de múltiples tablas, y el aumento de rendimiento es
mayor cuanto mayor es la tabla.

La caché de consultas de MySQL: El servidor MySQL incluye la posibilidad de utilizar una


caché (Memoria intermedia de acceso rápido) con los resultados de las últimas consultas
para acelerar la velocidad de respuesta. Esta solución es útil cuando las tablas tienen
relativamente pocos cambios y se realizan los mismos tipos de consultas. El
funcionamiento de la caché se basa en las premisas siguientes:

● La primera vez que se recibe una consulta se almacena en la caché.


● Las siguientes veces la consulta se realiza primero en la caché; si tiene éxito, el
resultado se envía inmediatamente.

Replicación
La replicación es la copia sincronizada entre dos servidores de bases de datos de forma
que cualquiera de los dos puede entregar los mismos resultados a sus clientes.

MySQL incluye la posibilidad de replicación con las siguientes características:

● Funciona con el esquema maestro-esclavo: existe un servidor maestro que lleva el


control central y uno o varios servidores esclavos que se mantienen sincronizados
con el servidor maestro.
● La réplica se realiza mediante un registro de los cambios realizados en la base de
datos: no se realizan las copias de las bases de datos para mantenerlas
sincronizadas, en su lugar se informa de las operaciones realizadas en el servidor
maestro (insert, delete , update ...) para que las realicen a su vez los servidores
esclavos.
● No es posible realizar cambios en los servidores esclavos, son exclusivamente para
consultas.

9
Este sencillo esquema permite la creación de réplicas sin mayores complicaciones
obteniendo los siguientes beneficios: se distribuye la carga de trabajo, el sistema es
redundante, por lo que en caso de desastre hay menos probabilidades de perder los datos.
Es posible realizar los respaldos de un esclavo sin interrumpir el trabajo del servidor
maestro.

Crear y demostrar, las entidades generadas por el gestor a nivel UML

Drogas la Economía

Un poco de historia

Somos una cadena de droguerías líder en el suministro de medicamentos, productos de


higiene personal, cuidado del bebé y cosméticos entre otros, que tiene como compromiso
principal la salud y el bienestar de nuestros clientes.

Fundada en Febrero de 1.979 en Valledupar como distribuidora mayorista en el sur de la


Guajira y el Cesar.

Se inaugura la primera sucursal de Droguería La Economía en Santa Marta iniciándo así


nuestra cadena de droguerías con cubrimiento en toda la costa norte de Colombia
distinguiéndose por su excelencia operacional, procesos innovadores, un extenso surtido y
cálida atención.

1.990 La expansión

Con el propósito de mejorar los procesos de distribución y atención de nuestros clientes, se


inició operaciones desde el nuevo centro de distribución en Barranquilla el 2 de Diciembre
de 1.990, en Sincelejo el primero de de Diciembre de 2.000, en Bogotá el 26 de septiembre
de 2006 y en Cali el 23 de Abril de 2008 Actualmente Droguerías La Economía es la mejor
opción en atención farmacéutica y es símbolo de innovación y confianza. Contamos con
más de 260 sucursales en el país y más de 1.700 empleados comprometidos con la
satisfacción total de nuestros clientes.

MISIÓN

Estamos dedicados a proteger la salud a través de la comercialización de productos


farmacéuticos, productos para el cuidado del bebé, cosméticos y de higiene personal con
cubrimiento nacional ofreciendo calidad, seguridad y economía para toda la comunidad con
un equipo humano comprometido en el mejoramiento continuo para el bienestar de los
usuarios, empleados y accionistas.

VISIÓN

Seremos innovadores, liderando el sistema de comercialización y distribución de productos


que proporcionan bienestar a la comunidad, excediendo las expectativas de clientes y
proveedores, contando con un recurso humano idóneo y comprometido, que garantice la
excelencia operacional con responsabilidad social y brindando un adecuado retorno a los
socios.

10
Definición del Por qué Desarrollar este Sistema

Es necesario contar con un sistema de información o software que ordene y controle


adecuadamente todas sus sucursales, personal a cargo y sus productos, es decir,
automatizar las operaciones o registros con la finalidad de tener información real y
actualizada, en el momento oportuno. Se pretende realizar un sistema de información
específico, basado en el control de inventario de la cadena de droguerías. Para cumplir con
esto, se desea comenzar abarcando la problemática desde su diseño, para lo cual se
utilizarán herramientas, tales como: uml, diagramas de actividad, diagramas de secuencia,
etc.

El sistema a desarrollar, permitirá al usuario tener control total de las sucursales en tiempo
real y así saber cuál de estas genera mayores ventas, tener el control del stock de los
productos que se vayan registrando en cada venta, además podrá registrar las compras
realizadas a sus proveedores. Gracias a esto el sistema podrá entregar al usuario
información respecto a los stocks de los productos facilitando la decisión de que productos
comprar. También podrá generar documentos con los datos de las ventas, compras
(devoluciones dentro del informe de compras) y consumo interno tanto diarias como
mensuales. Este sistema estará bajo un control de roles de usuarios donde el administrador
será el encargado de registrar a los nuevos usuarios vendedores, caja y almacén. También
tendrá un rol especial para el auditor.

Objetivos del Sistema

Objetivo General

Se pretende desarrollar un sistema para el control de sucursales a la cadena de droguerías,


control de ventas y stock de Drogas la Economía.

Objetivos Específicos

Obtener conocimiento sobre Drogas la Economía, respecto a su organización, tipos de


productos, empleados y proveedores asociados.

Implementar un módulo de ventas con ayuda de la información obtenida, para facilitar el


manejo de Drogas la Economía.

Verificar junto al cliente que el sistema abarque y cumpla con los requerimientos
especificados.

Especificación de Requerimientos

Dentro de los requerimientos se pueden identificar dos tipos. Están aquellos que son
generales y los que son específicos, para poder tenerlos claros a continuación, se detallará
cada uno de ellos.

Requerimientos Funcionales

El sistema tendrá que contar con las siguientes características:

11
❖ Deberá manejar productos con diferentes unidades de medida (Kilo, Litro, Kit, Caja,
unidad entre otras) y con distinto impuesto.
❖ Deberá controlar el stock de productos (mínimo y un máximo para cada producto).
❖ Permitirá el ingreso de facturas o boletas de compra.
❖ Calculará las utilidades y el vuelto.
❖ Tendrá que controlar otras transacciones (mermas, devoluciones y/o consumo
interno, tarjeta de crédito o débito, cheques).
❖ Deberá ser accesible a través de un usuario y contraseña.
❖ Registrará la venta de cada vendedor.
❖ Permitirá la creación, modificación y/o eliminación de productos, familia de
productos, operadores (vendedores) y proveedores.
❖ Generará informe de detección de compras según el stock mínimo definido para
cada producto.
❖ Deberá chequear la cantidad de productos que hay en stock.
❖ Permitirá la creación de informes diarios y mensuales relacionados con las ventas y
compras.

Requerimientos no Funcionales

❖ La interfaz del sistema debe ser simple, intuitiva, fácil de usar y aprender.
❖ Permitir el ingreso de productos al sistema, a través de un lector de código de
barras.
❖ Estabilidad del sistema.
❖ El software tiene que ser escalable, para así poder adaptarse y mejorar a través del
tiempo.
❖ Las plataformas a utilizar serán Windows, Mac y Linux.
❖ El lenguaje de programación a utilizar será MySQl.

Diseño de la Solución

Modelo Entidad Relación Un diagrama o modelo entidad-relación es una herramienta para


el modelado de datos, que permite representar las entidades relevantes de un sistema de
información, así como sus interrelaciones y propiedades. A continuación, se mostrará el
modelo entidad-relación que refleja el sistema de Drogas la Economía.

12
Imagen 3: Diagrama UML donde se representan las identidades requeridas para trasladarlo
a el sistema de información o software ordenará y permitira el control adecuado de las
sucursales

13
BIBLIOGRAFÍA

Digital Marketing Specialist. (s/f). Gestor de Base de datos: Qué es, Funcionalidades y

Ejemplos. Intelequia. Recuperado el 9 de septiembre de 2022, de

https://intelequia.com/blog/post/2949/gestor-de-base-de-datos-qu%C3%A9-es-fun

cionalidades-y-ejemplos

Marín, R. (2019, abril 16). Los gestores de bases de datos (SGBD) más usados. Canal

Informática y TICS.

https://www.inesem.es/revistadigital/informatica-y-tics/los-gestores-de-bases-de-d

atos-mas-usados/

Contenidos, H. N. (2015, enero 21). Las ventajas de MySQL por Sobre Otras Bases de

Datos. Hosting Rápido con cPanel y certificado SSL en Chile | HN Datacenter; HN

Datacenter.

https://www.hn.cl/blog/las-ventajas-de-mysql-por-sobre-otras-bases-de-datos/

Por qué elegir el gestor de base de datos MySQL. (2018, febrero 26). FP Online.

https://fp.uoc.fje.edu/blog/por-que-elegir-el-gestor-de-base-de-datos-mysql/

Instituto, F. O. C. (2013, abril 11). Razones por la que utilizar MySQL. Instituto FOC; Instituto

FOC - FP Informática Online.

http://www.foc.es/2013/04/11/988-razones-por-la-que-utilizar-mysql.html

Florencio, A. (2017, 17 mayo) comparativa principales sistemas gestores de bases de datos


Comparativa de los principales sistemas gestores de BBDD (cursosgis.com)

Bases de datos en MYSQL. (n.d.). Dataprix.com. Retrieved September 9, 2022, from

https://www.dataprix.com/es/book/export/html/743

Drogas la Economía.

https://www.droguerialaeconomia.com/empresa/historia

14

También podría gustarte