0% encontró este documento útil (0 votos)
12 vistas16 páginas

Referente 1

Eje de pensamiento
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas16 páginas

Referente 1

Eje de pensamiento
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

GESTIÓN DE BASES

DE DATOS
Ángel Varón

EJE 1
Conceptualicemos

Fuente: adobestock/393791829
Generalidades de las Bases de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Arquitectura de los sistemas gestores de bases de datos . . . . . . . . . . . . . . 5

Esquemas y niveles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Independencia de los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

Flujo de datos y de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Optimización de las Bases de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Ajustes de las bases de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
ÍNDICE
Las generalidades de base de datos con-
templan no solo el conocimiento de un len-
guaje técnico para identificar múltiples ele-
mentos como son tablas, registros, relaciones,
llaves primarias, foráneas, índices, consultas,
vistas, entre otros.
INTRODUCCIÓN

Cuando emprendemos un proyecto de


creación de bases de datos se requiere cono-
cer otros conceptos, aplicar técnicas y cons-
truir esquemas que permitan llegar a concebir
la estructura lógica y depurada de la BD, sin
embargo, esto no es suficiente, también se
requiere tener un conocimiento profundo y
pertinente de los SGBD, ya que en este es que
se gestan las bases de datos, por eso es tan
importante conocer su arquitectura interna y
externas para poder identificar plenamente
los niveles que la conforman, estos son: con-
ceptual, externo, físico y lógico, ya que a tra-
vés de esto es que podemos aplicar sinergia
para obtener una buena funcionalidad.

En este referente trataremos varios temas


que son de vital importancia para conocer la
dinámica de las bases de datos y varias técni-
cas que permiten optimizar las bases de datos
y dar respuesta a la pregunta del eje:

Empecemos recordando la pregunta orien-


tadora del eje:

¿Por qué es tan importante conocer las


generalidades de las bases de datos?
Generalidades de las
Bases de Datos
Arquitectura de los sistemas realiza a través de un esquema, estos son
gestores de bases de datos componentes primordiales, que sirven para
cuando se requiera modificar el diseño de
Un sistema gestor de base de datos es la BD sin tener que interferir con el SGBD,
un producto de software que está confor- es por eso que es importante que el SGBD
mado por varias aplicaciones que a través lo tenga a la mano.
de estas se construye las BD, se aplican
los modelos y se pueden crear BD, tablas, Esquemas y niveles
generar consultas e informes, para que los
usuarios puedan tener acceso a la informa- El esquema nos permite independizar
ción que requieran o en su efecto realizar los sistemas gestores de bases de datos
las transacciones, por ejemplo XAMPP está (SGBD) de las bases de datos (BD), de
conformado por: María DB/ MYSQL, apa- este modo podremos cambiar el diseño de
che, Perl, PHP, servidor web apache. la base de datos sin generar cambios en
los sistemas gestores, dicho esquema está
Los SGBD requieren que se les propor- acompañado de acuerdo con la arquitec-
cione una explicación de la BD, esta se tura ANSI/SPARC por tres niveles:

Figura 1.
Esquemas y niveles de los SGBD

Fuente: bases de datos, software libre (2005)

Gestión de bases de datos - eje 1 conceptualicemos 5


• Nivel conceptual: en este nivel existe
Instrucción solo una representación lógica bá-
sica la cual es denominada esque-
ma conceptual que nos sirve de re-
ferencia para desarrollar los demás
esquemas, también nos describe las
entidades, restricciones, relaciones,
atributos y reglas de integridad.

• Nivel externo: se emplea el esquema


externo que son las diferentes visio-
nes lógicas tanto de los programas
de aplicación como los usuarios di-
rectos de las partes que son utiliza-
das en la base de datos, este esque-
ma citará los atributos y entidades
de interés.

• Nivel físico: utiliza el esquema inter-


no debido a una descripción física y
este contiene las características de
la organización física de la base de
Los invitamos a revisar datos.
el organizador gráfico
dispuesto para este Independencia de los datos
eje.
Es una cualidad para reformar los esque-
mas de la BD que no afecta la información
de y está dividida en dos
tipos de independencias:
ANSI/SPARC
Es un estándar de diseño
• Independencia física: abstracto de la arquitec-
no cobija los progra- tura para un sistema de
gestión de bases de da-
mas usuarios o a los tos creado por el Ameri-
usuarios directos. Se- can National Standards
Institute, Standards Plan-
gún la ANSI/SPARC, ning And Requirements
existe la independen- Committee.
cia cuando los cam-
bios que se efectúen en el esquema
interno no afecten al externo ni al
esquema conceptual.

• Independencia lógica: no afecta a los


usuarios cuando se generan cambios
en el nivel lógico.

Gestión de bases de datos - eje 1 conceptualicemos 6


Flujo de datos y de control • Si los pasos anteriores son válidos el
SGBD consulta al esquema interno
para que determine qué mecanis-
mos utiliza para dar respuesta, ya
Instrucción
que el programa usuario no especi-
fica cómo se hace la consulta físi-
camente, es en ese punto cuando el
SGBD establece el paso a seguir, sin
embargo, hay va-
rios métodos para
dar respuesta, pero
SGBD
supongamos que Sistema gestor de bases
en este caso aplica de datos.
un Hashing, el re-
sultado es la direc- Hashing
ción o el número de Convierte un conjunto de
elementos en cadena, en
página en donde un rango de salida finita.
se encuentra el re-
gistro solicitado. Buffers
Los invitamos a realizar Espacio temporal en
donde se almacenan
la actividad de control de • El SGBD compro- datos.
lectura que se encuentra bará si ya se hizo
disponible para este eje. una búsqueda so-
bre la misma consulta y si es así la
encontrara con el acceso directo en
el área de los buffers.

Instrucción

En este punto es impor-


tante que realicen la
ac tividad prác tica
El proceso que se hace cuando se va a
Hashing y Buffer, que
hacer una consulta en la base de datos, se
se encuentra en la parte
genera de la siguiente manera:
principal de este eje.

• Se hace una llamada al SGBD y este


cuando la recibe, verifica que la sin-
taxis de la consulta sea correcta,
después que el usuario o la aplica-
ción que esté autorizado.

Gestión de bases de datos - eje 1 conceptualicemos 7


• Si no se encuentra en el área de buffers, el SGBD con ayuda del S.O, busca en disco,
lo carga y genera el acceso directo, extrae los registros que se pueden encontrar
en dicha página, interpreta la codificación y da el resultado según lo determinado
por el esquema interno.

• El SGBD aplica transformaciones lógicas que lleva la consulta al área del trabajo
del programa que solicitó dicha información.

• Por último, el SGBD retorna al control del programa y da por terminada la ejecu-
ción.

Lectura recomendada

Para profundizar más en el tema, los invitamos a acceder a la lectura


complementaria, Modelo de datos y tipos de sistemas gestores de bases
de datos (pp. 17-24).

Gestión de Bases de Datos

Pablo Valderrey Sanz

Optimización de las Bases de datos

Es una acción considerada muy importante en un sistema de datos, optimizar las


consultas puede hacer significativo el tiempo de ejecución y de respuesta en la manipu-
lación de la información.

El usuario puede mejorar el tiempo de respuesta si comprende que puede tomar deci-
siones que acortan el proceso de optimización tales como:

• Sintaxis y análisis de semántica: evitar los errores de semántica nos ayuda, ya


que esto puede incluir el mal uso de las columnas y tablas, los errores de sintaxis
pueden dañar la ejecución a realizar o confundir al compilador de que es lo que se
desea cumplir.

• Transformación de consultas: el compilador transforma la sintaxis en un formato


simplificado y estructurado lo que permite eliminar partes redundantes de lo ex-
presado lógicamente y optimizar el compilado del lenguaje de programación. El
formato estructurado se basa en el álgebra relacional y esto permite que las ope-
raciones algebraicas organicen la consulta para que su ejecución sea más rápida.

Gestión de bases de datos - eje 1 conceptualicemos 8


• Evaluación de plan de accesos: es aquel que evalúa diferentes alternativas para
optimizar las consultas en las bases de datos para dar una
respuesta más rápida y utiliza siguientes métodos:
Join
1. Utiliza nodos hoja los cuales son tablas independientes Son consultas que
permite la combina-
de la consulta y genera flechas que apuntan hacia arriba ción de registros de
para indicarnos que hay un flujo de datos. También tiene una o más tablas en
una base de datos.
un apartado de nodos que están sobre los nodos hojas
que nos señalan las decisiones para acceder a las tablas,
esto quiere decir que evalúa un gran número de planes de acceso y estos varían
de acuerdo con el número de orden de los joins.

2. Para las estructuras de archivos puede considerar operaciones de conjuntos


para combinar resultados múltiples generados a una misma tabla.

3. El componente que utiliza de optimización en las consultas evalúa más planes


de acceso, los cuales pueden involucrar cantidades significativas de información
para generar el resultado de la consulta.

La mayoría de los componentes emplean algoritmos en pequeños conjuntos de join,


para cada operación en una consulta el componente de optimización analiza cada algo-
ritmo para determinar cuál utilizar, los join más comunes son los siguientes:
Figura 2.
Algoritmos de los Joins

ALGORITMO SE APLICA

Se usa cuando todas las páginas de la consulta de la


tabla interna caben en memoria y cuando en la tabla
Ciclos anidados
externa existen pocas filas, en cualquiera de los dos
casos puede ser aplicado.

Usado para optimizar consultas de un data


Enlace de estrella
warehouse.

Cuando no existen índices o las tablas están


Enlace hash
desorganizadas.

Enlace híbrido Cuando no existe un índice agrupado.

Mezcla ordenada Para ordenar pequeños grupos de índices de joins.

Fuente: propia

Gestión de bases de datos - eje 1 conceptualicemos 9


• Prácticas en la codificación de consultas.

Figura 3.
Práctica en la codificación de consultas

NOMBRE DE LA PRACTICA INDICACIONES

Condiciones en columnas de Estas condiciones deben ser usadas en la tabla


enlace madre y no en la tabla hija.

Consultas usando vistas Reescriba consultas ya utilizadas y que estas


complejas usen vistas complejas.

Utilice constantes que coincidan con los tipos


Conversiones de tipo implícito
de datos en cada columna.

Funciones en las columnas Evitar utilizar funciones en las columnas.

Eliminar operaciones de enlace innecesarias que


Operaciones de enlace adicionales no involucren en la búsqueda de tablas condi-
ciones o columnas.

Asegurarse de que las consultas se usen una


Reutilización de consultas
sola vez en un procedimiento almacenado.

Fuente: propia

Otras opciones:

1. Combinar operaciones de selección y reunión.

2. Combinar las operaciones de proyección, selección y reunión.

3. Consultas que involucren 1-N debe generar la condición en la tabla madre en


lugar de hacerla en la tabla hija, ya que puede reducir el proceso de optimización
debido a que esta acción evita que se tengan que ejecutar más procedimientos al
momento en que se enlacen las tablas.

Diseño físico: garantiza el buen rendimiento y permite crear la estructura adecuada


para almacenar los datos de manera colectiva, las decisiones sobre el nivel de almace-
namiento se conocen como esquema interno, el almacenamiento de una base de datos
está organizado en archivos conformados por registros físicos.

Gestión de bases de datos - eje 1 conceptualicemos 10


El objetivo del diseño físico es minimizar los tiempos de respuesta a la hora de inte-
ractuar para acceder o modificar una base de datos, balancea las necesidades de recu-
peración y actualización de las aplicaciones.

Entradas, salidas y entorno: para diseñar las tablas se basa en el diseño lógico de la
base de datos, esta emplea diferentes elementos para generar la estructura de los archi-
vos y optimizar las consultas, dichos elementos poseen una característica y como todo
proceso estos tienen una entrada y una salida permitiendo estructurar el diseño físico:

Figura 4.
Características de entrada y salidas de los elementos

ENTRADA SALIDA

ELEMENTO DESCRIPCION ELEMENTO DESCRIPCION

Organiza los regis-


Ayuda a generar estadís- Estructura de
tros físicos de cada
ticas para cada tabla pro- archivos
tabla.
Perfil de porcionando valores como:
tablas
• Numero de filas
• Numero de columnas Colocación de Organiza los regis-
dato tros físicos.

Comprime los
Formato de datos
Genera estadísticas de datos.
reporte y consulta para
Perfil de
cada formulario, también
aplicación
de cada acceso y actualiza-
ción que se genera. Son separadas las
Desnormalización
tablas agrupadas.

Fuente: propia

Perfiles de las tablas: nos presenta los elementos que componen una tabla para el
diseño físico donde se contemplan únicamente las columnas, las relaciones y las tablas,
esto se debe a que para construir un perfil de tablas manualmente es complicado, la
mayoría de los SGBD nos proporcionan estadísticas, para que de manera automática se
puedan crear.

Gestión de bases de datos - eje 1 conceptualicemos 11


Los perfiles son utilizados a la hora de no pueden ser utilizados en los siguientes
calcular los accesos a registros físicos en casos:
el que son extraídas las filas de una tabla,
para estimar el desempeño de la aplicabi- 1. Cuando dos llaves llevan el mismo
lidad. Los cuales pueden ser: registro físico y no a la dirección en
donde se encuentra dicho registro. A
• Consultas: el tiempo en que tarda en esto se le llama colisión.
realizar una consulta.
2. Si existe una colisión, las inserciones
• Formularios: la frecuencia en que son y extracciones pueden generar con-
utilizadas las operaciones de inser- flicto y volverse lentas.
tar, recuperar, actualizar y eliminar.
3. Si un archivo hash está lleno, se debe
• Reportes: la frecuencia en que se de- hacer una reorganización y esto
mora en generar un reporte. puede generar contratiempos.

Archivos secuenciales: es la forma en 4. Los registros lógicos almacenados no


que los registros lógicos se almacenan en son guardados secuencialmente.
la estructura de archivos, en el orden en
que fueron insertados, existen dos tipos A rc h i vo s d e á r b o l m u l t i fo r m e
de archivos secuenciales organizados y (Btrees): estos archivos proporcionan un
desorganizados. buen desempeño en las búsquedas ya sean
secuenciales o en llaves, es una estructura
• La ventaja de los archivos secuencia- de ficheros ampliamente utilizados, y su
les desorganizados es que a la hora estructura se da en forma de árbol y es
insertar datos, este proceso es más determinado como especial, en el cual cada
rápido. nodo tiene una madre a excepción del nodo
raíz o superior. Es un árbol que proporciona
• La ventaja de los archivos secuencia- una gran cantidad de propiedades que lo
les organizados es que los registros componen de la siguiente forma:
lógicos son más rápidos, cuando son
recuperados con el orden de la llave • División e integración de nodos.
primaria.
• Costo en las operaciones.
Archivos hash: es aquella que permite
que una función convierte el valor de una • Inserción en un Btree.
llave en la dirección en donde se encuentra
un registro físico, estos soportan el acceso • Eliminación de nodos.
rápido utilizando el valor de llave primaria
para obtener registros. • B + tree.

Pueden asignar más de una llave en • Estructura de un B + tree.


donde se encuentra la dirección del regis-
tro físico, sin embargo, los archivos hash • Coincidencia de índices.

Gestión de bases de datos - eje 1 conceptualicemos 12


Ajustes de las bases de datos
Lectura recomendada
Para realizar y mejorar el rendimiento se
requiere conocer las técnicas adecuadas
que se pueden aplicar para optimizar las
bases de datos, y que a continuación se
abordan.

Ajustes del rendimiento: nos permite


ajustar parámetros y opciones de diseño
que nos pueden estar afectando el rendi-
miento de las aplicaciones, nos ofrece la
Para profundizar más en el oportunidad de ajustar el esquema y diseño
tema los invito a acceder a de las transacciones, tamaños de memoria
la lectura complementaria intermedia y el número de discos.
Archivos de árbol multiforme
(Btrees) (pp. 266-269). Parámetros ajustables: este se encuen-
tra divido en tres niveles:
Administración de Bases de
Datos • Nivel inferior o de hardware: en este
Michael Mannino se puede incluir discos o usar sis-
temas de RAID (redundant array
of independent disks), añadir más
memoria o aumentar la velocidad
del procesador si la CPU lo permite,
asegurarse de que el subsistema del
rendimiento de memoria admita la
velocidad que requieren las opera-
ciones.

• Nivel medio: ajustar la memoria in-


termedia, modificando los indicado-
res de las tasas de fallo.
Índices bitmap: es una estructura
secundaria de los archivos que se relaciona • Nivel superior: ajustar el diseño del
con el valor de una columna, funciona esquema sus índices y el número de
correctamente solo para las columnas transacciones que se ejecuten para
estables que son las que contienen pocos aumentar y mejorar el desempeño.
valores, y que son utilizados frecuente-
mente, a estos se les denominan como Ajuste del esquema: guardar una rela-
valores típicos, los cuales contienen una ción desnormalizada, nos ayuda a que las
valoración en bits y se emplean para las vistas materializadas, nos reduzcan el coste
tablas relacionadas con cada fila. Hace de algún almacenamiento extra, el man-
referencia a las filas de las tablas hijas que tenimiento de la consistencia de los datos
están unidas con las filas de la tabla madre. duplicados pasa a ser labor del sistema

Gestión de bases de datos - eje 1 conceptualicemos 13


de base de datos, este les puede brindar El SQL que incorporan ayuda a los sis-
soporte y ayudar a mejorar el desempeño, temas a entender múltiples llamadas
al agrupar los registros de una misma independientemente de sus valores así ya
página del disco. se haya ejecutado más de una vez. Per-
miten el control de concurrencia multi-
Ajuste de los índices: la elección del versión, esto quiere decir que se pueden
tipo del índice es importante y esto se ejecutar varias consultas y actualizaciones
puede hacer creando los índices adecuados simultáneamente.
como, por ejemplo, índices asociativos o de
árboles enfocados para las relaciones y que Otra opción para mejorar el rendimiento
permitan actualizarlos solamente cuando es usar niveles de consistencias débiles, lo
se renuevan las relaciones, también utilizar que hace es que las consultas se ejecuten
los índices asociativos y de árboles B. en un perfil bajo utilizando una cantidad
de memoria baja, pero que pueda realizar
Ajuste automático del diseño físico: la transacción mientras las actualizaciones
existen herramientas como, por ejemplo, sigan de manera concurrente, la desventaja
Database Tuning Assistant de Microsoft, es que no garantiza que los resultados que
SQL ServerBuffer Manager, PostgreSQL, se le den a las consultas sean consistentes
Redisy SQL Auditing, que permiten al admi- y por último evitar transacciones de actua-
nistrador seleccionar índices, vistas mate- lización de larga duración, ya que generan
rializadas y división de datos. Implementan problemas de rendimiento.
varias alternativas para el optimizador de
consultas, estas opciones examinan la Simulación del rendimiento: modelar
carga de trabajo analizando las actualiza- cada servicio de la CPU, disco, control de
ciones y el historial de consultas. concurrencia y de memoria intermedia
para que nos muestre los tiempos de servi-
Con ayuda de estas herramientas mejo- cio de cada uno, para determinar el tiempo
rarían las consultas y las actualizaciones de de demora en procesar solicitudes, el admi-
comprensión que son aquellas que analizan nistrador puede simular transacciones con
las cargas de trabajo, examina las ventajas diferentes velocidades, para comprobar
de materialización de las diferentes vistas e cómo se comporta el sistema y establecer
índices que ofrecen ganancia por unidad de modelos para ajustar el rendimiento.
disco, si se desea se pueden probar diver-
sas combinaciones que ayuden a mejorar Pruebas de rendimiento: existen dife-
el rendimiento. rentes pruebas de rendimiento como:

También se analizan las opciones para Pruebas de rendimiento TPC (Transac-


el diseño físico como el de dividir relacio- tion Processing Perfomance Council): se
nes en las bases de datos paralelas, o el compone de un conjunto de operaciones
almacenaje físico que se va a usar para una básicas diseñadas para ejercitar las funcio-
relación. nalidades del sistema de una manera que
represente los entornos complejos de apli-
Ajustes de transacciones: pueden caciones. Estas operaciones básicas se les
transformar las consultas mal escritas, da un contexto, que retrata la actividad de
ejecutarlas y dar una respuesta eficiente. un proveedor mayorista, para ayudar a los

Gestión de bases de datos - eje 1 conceptualicemos 14


usuarios a relacionarse intuitivamente con algunas operaciones en la ejecución, estas
los componentes del punto de referencia. pueden recorrer un conjunto de objetos
determinados que se encuentran conecta-
La carga de trabajo se centra en la dos para recuperar todos los elementos de
actividad de procesamiento de pedidos y una clase, pero no nos muestra el conjunto
proporciona un diseño de base de datos de pasos o funciones que ejecuta.
lógico, que se puede distribuir sin cambios
estructurales en las transacciones. Por lo tanto; la prueba proporciona
resultados separados para cada clase de
El propósito de un punto de referencia operaciones, que se pueden combinar de
es reducir la diversidad de operaciones que manera adecuada, en función de la aplica-
se encuentran en una aplicación de pro- ción concreta, esta técnica actualmente se
ducción, conservando las características de encuentra en estudio.
rendimiento esenciales para la aplicación,
el nivel de utilización del sistema y la com-
plejidad de las operaciones.
Instrucción
Al momento de utilizar una gran canti-
dad de procedimiento para gestionar una
entrada de orden de la productividad del
sistema pueden ayudar, ya que algunas de
estas funciones no son prioritarias y utilizan
menos recursos para el análisis de desem- Los invitamos a revisar el
peño, estas son proporcionalmente peque- videorresumen correspon-
ñas en términos de utilización de recursos diente a este eje.
del sistema o en términos de frecuencia de
ejecución, que definen el conjunto de rela-
ciones y el tamaño de las tuplas.

Pruebas de rendimiento OODB (Object


Oriented Databases): este tipo de pruebas
proporciona pocos resultados a las prue- Conclusiones
bas independientes para cada clase de
operaciones, estos resultados se dan por
promedio de transacciones o en tiempo de Para una buena funcionalidad de la
duración de la transacción en milisegundos, base de datos se requiere la aplicación
proporciona un conjunto de resultados que de una serie de técnicas para lograr una
contienen un producto de prueba indepen- buena optimización en lo concerniente al
diente para cada una de las diferentes cla- rendimiento, el cual se traduce en tiempos
ses de operaciones. de respuesta en las transacciones que se
realizan en esta, además; se debe tener en
Cabe resaltar que este planteamiento cuenta la disponibilidad, usabilidad y segu-
no está definido porque no se plantea una ridad que esta implementa para brindar un
transacción OODB específica, lo que sí está mayor nivel de confianza a cada uno de sus
definido es que una transacción efectuará usuarios.

Gestión de bases de datos - eje 1 conceptualicemos 15


Cuadra et al. (2013). Bases de datos. Alfa-Omega Garceta. 2ª Edición.
España.

Mannino, M. (2007). Administración de Bases de Datos, Diseño y


BIBLIOGRAFÍA

Desarrollo de Aplicaciones. 3ra edición Título. Mc Graw Hill.

Ramez, W. y Navathe, S. (2007). Desarrollo de base de datos desde el


análisis a la implementación. Pearson Adisson. 5ª Edición. España.

Ramez, W. y Navathe, S. (2007). Fundamentos de Sistemas de Bases


de datos. Editorial Pearson.

Ricardo, C. (2009). Bases de datos. Edición 1ra respecto a la versión


en español. Titulo Mc Graw Hill.

Silberschatz, A., Sudarshan, S. y Korth, H. (2006). Fundamentos de


Bases de Datos. A. 5ta edición Título. Mc Graw Hill.

Téllez, M. (2007). Bases de datos distribuidas. Editorial Universitaria.


Recuperado de: https://elibro-net.proxy.bidig.areandina.edu.co/
es/lc/areandina/titulos/71306

Valderrey, P. (2015). Gestión de bases de datos. RA-MA Editorial.


Recuperado de: https://elibro-net.proxy.bidig.areandina.edu.co/
es/lc/areandina/titulos/62469

También podría gustarte