100% encontró este documento útil (1 voto)
326 vistas147 páginas

Manual Completo de Interbase

MANUAL INTERBASE EN ESPAÑOL
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
100% encontró este documento útil (1 voto)
326 vistas147 páginas

Manual Completo de Interbase

MANUAL INTERBASE EN ESPAÑOL
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

UNIVERSIDAD NACIONAL DE SAN MARTÍN -1-

[Capte la atención de los lectores mediante una cita importante extraída del documento o utilice este
espacio para resaltar un punto clave. Para colocar el cuadro de texto en cualquier lugar de la página, sol o
FACULTAD DE INGENIERÍA DE SISTEMAS E
tiene que arrastrarlo.]
INFORMÁTICA

Manual de uso
InterBasee R

AUTORES:
Ing. Andy Hirvyn Rucoba Reategui
Leydi Pintado Pompa
Deisy Fiorela Quinteros Mendoza
Autores: Javier Córdova Montalván
Alejandro Zorrilla Olivera
2

CAPÍTULO I
Evolución histórica del gestor de base de datos

1.1¿Que es Interbase?

Es un sistema de gestión de bases de datos relacionales (RDBMS), Interbase se destaca

de otros DBMS´S por su trabajo consumo de recursos, su casi nula necesidad de

administración y su arquitectura multi-general. Interbase es un sistema de

administración de bases de datos relacionales disponible para diferentes plataformas.

Hablar de Interbase es hablar de una herramienta que cubre las expectativas que puedan

surgir a un programador de aplicaciones de gestión con conocimientos de SQL y

administración de Bases de datos (Méndez, 2017)

1.2 Como, cuando y donde se creo

Jim Starkey trabajaba en DEC en su producto “Datatrive network database”. Cuando

tuvo la idea de un sistema que manejara cambios hechos concurrentemente por varios

usuarios. La idea simplificaba dramáticamente los problemas existentes del control de

concurrencia utilizando trancas (locking), los cuales representaban un serio problema

para los nuevos sistemas de base de datos relacionales que se estaban desarrollando en

ese momento. Entonces comenzó a trabajar en el sistema en DEC, pero en ese momento

DEC comenzaba el desarrollo de una base de datos relacional que resultó en el producto

Rdb/VMS. Cuando se enteraron de su proyecto se desató un gran problema, y Starkey

eventualmente decidió desistir. Starkey se enteró que el proveedor de plataformas

locales Apollo Computer buscaba una base de datos para sus máquinas Unix, y accedían

a solventar su desarrollo. Con su apoyo, Starkey formó Groton Database Systems

(Groton, Massachusetts era el lugar donde se encontraban) en 1984 y comenzó a

trabajar en lo que eventualmente sería lanzado como Inter Base


3

en 1986. Apollo sufrió un inconveniente corporativo y decidió dejar el negocio del

software, pero en ese tiempo el producto ya estaba generando dinero.

Entre 1986 y 1991 el producto fue gradualmente vendido a Ashton-Tate, creadores del

famoso BASE, quienes en ese entonces se encontraban comprando varias compañías de

base de datos con el fin de ampliar su catálogo. La compañía cayó rápidamente y

Borland la compró en 1991, adquiriendo Inter Base como parte del trato. (Méndez,

2017)

1.3. Hechos trascendentales

En 1985 Interbase comenzó como Groton Database Systems y al poco tiempo fue

renombrado como Interbase.

1.3.1 Comienzos
Jim Starkey trabajaba en DEC en su producto “Datatrive network database”. Cuando

tuvo la idea de un sistema que manejara cambios hechos concurrentemente por varios

usuarios. La idea simplificaba dramáticamente los problemas existentes del control de

concurrencia utilizando trancas (locking), los cuales representaban un serio problema

para los nuevos sistemas de base de datos relacionales que se estaban desarrollando en

ese momento. Entonces comenzó a trabajar en el sistema en DEC, pero en ese momento

DEC comenzaba el desarrollo de una base de datos relacional que resultó en el producto

Rdb/VMS. Cuando se enteraron de su proyecto se desató un gran problema, y Starkey

eventualmente decidió desistir. Starkey se enteró que el proveedor de plataformas

locales Apollo Computer buscaba una base de datos para sus máquinas Unix, y

accedían a solventar su desarrollo. Con su apoyo, Starkey formó Groton Database

Systems (Groton, Massachusetts era el lugar donde se encontraban) en 1984 y comenzó

a trabajar en lo que eventualmente sería lanzado como InterBase


4

en 1986. “Apollo Computer” sufrió un inconveniente corporativo y decidió dejar

el negocio del software, pero en ese tiempo el producto ya estaba generando dinero.

(Méndez, 2017)

1.3.2 El camino hacia Borland

Entre 1986 y 1991 el producto fue gradualmente vendido a Ashton-Tate, creadores del

famoso DATABASE, quienes en ese entonces se encontraban comprando varias

compañías de base de datos con el fin de ampliar su catálogo. La compañía cayó

rápidamente y Borland la compró en 1991, adquiriendo Interbase como parte del trato.

1.3.3 Código libre

A principios del año 2000, la compañía Borland anunció que el código de Interbase

sería liberado (código libre) en la versión 6.0 y comenzó las negociaciones para que

una empresa separada se encargara del nuevo producto. Cuando los responsables de

esta nueva empresa y Borland no llegaron a un acuerdo de separación, Interbase

permaneció como un producto de Borland y el código fuente de Interbase 6 se liberó

bajo una variante de la “Mozilla Public License” a mediados del [Link] la división

de Interbase en Borland, la compañía liberó una versión propietaria de Interbase 6 y

luego 6.5. Borland liberó varias actualizaciones para la versión libre antes de anunciar

que ya no participaría activamente en el desarrollo de este proyecto De aquí nació una

nueva rama de desarrollo libre basada en el código abierto de Interbase

6 conocida como Firebird, que aún se encuentra en desarrollo .

1.4 Evolución de las versiones de Interbase

Interbase ha ido evolucionando a lo largo del tiempo, a continuación, veamos las

versiones que se han desarrollado


5

1.4.1 Versión 7 fue lanzada a finales del 2002


Recientemente Borland ha lanzado al mercado InterBase 7, la nueva versión de su base

de datos multiplataforma. InterBase 7 soporta el uso de múltiples procesadores

simétricos permitiendo el máximo aprovechamiento del hardware disponible. El

soporte para SMP comprende tanto al servidor como a los clientes. En versiones

anteriores, InterBase se ejecutaba de forma segura en hardware con varios procesadores

1.4.2 Interbase 2007 fue lanzada en el 2006


ofrece una alta eficiencia en entornos multiprocesador [SMP], permitiendo

actualizaciones Batch y optimizaciones de consultas y cuenta Con un Tama o reducido,

sencillo de distribuir con instalación silenciosa, sin administración y auto ajustable sin

necesidad de administrador

1.4.3 Interbase 2009 fue lanzada en el 2008


InterBase SMP 2009 combina el rendimiento de una arquitectura multigeneracional

con la tranquilidad de un journaling basado en logs y recuperación automática de

desastres. Su fácil instalación, rastro e impacto mínimos, recuperación automática de

caídas, auto-tuning, soporte integrado de Unicode y SMP, el cumplimiento de SQL 92,

y su mantenimiento mínimo, la convierten en la base de datos ideal para aplicaciones

de negocio de servidor críticas para la pyme.

1.4.4 Interbase XE lanzada en el 2010

XE ha sido diseñado para cubrir las necesidades de los desarrolladores, por ello te

ofrece una nueva versión que permite crear y administrar sistemas de BBDD

sorprendentemente rápido, crear aplicaciones críticas de negocio con capacidad de

recuperación, para incrustarlas en soluciones para dispositivos, escritorios y grupos de

trabajo, con la posibilidad de ser multiplataforma,


6

1.4.5 InterBase XE3 lanzado en el 2013

InterBase XE3 es un sistema completo, de alto rendimiento, seguro y escalable. Base de

datos relacional para desarrolladores que buscan incrustar un administrador cero, Base

de datos multiplataforma en sus aplicaciones y soluciones. InterBase XE3 es

totalmente compatible con 64 bits, multi-core y SMP para darle un rendimiento

increíble.

1.4.6 InterBase XE7 lanzado en el 2014

Ahora, InterBase XE7 Server Edition incluye soporte para Linux 32-bit y 64- bit,

incluido Red Hat Enterprise Linux (RHEL) 6, RHEL 7 y SUSE Linux Enterprise

11, y ahora también para Ubuntu 14. Esta nueva plataforma está disponible como

opción al comprar Interbase XE7 Server, y también está incluida en la última

Developer Edition y en la versión de evaluación de Interbase Server.

• Seguridad mejorada

• Protección sólida de contraseñas con la función de encriptación

criptográfica. Interbase XE también soporta contraseñas de hasta 32 caracteres para

cumplir con las exigencias de seguridad más estrictas.

• Escalabilidad mejorado

• Interbase tiene ahora la capacidad de gestionar más datos y bases de datos

más amplias.

• Funciones para facilitar el desarrollo.

• Soporte de Dynamic SQL en procedimientos almacenados

• Gestión mejorada de grandes objetos.


7

1.4.7 InterBase 2017 lanzado en el 2017

InterBase 2017 es una base de datos multiplataforma con funciones completas de alto

rendimiento, encriptable, relacional, y escalable dirigida a desarrolladores que buscan

embeber una base de datos de bajo coste, con cero administraciones, con seguridad de

base de datos y ligera, dentro de las aplicaciones en plataformas heterogéneas y

conectadas. Con InterBase 2017, obtienen un potente control de acceso, ChangesViews,

recuperación de desastres, e implementación de transacciones, así como soporte para

los motores de datos más populares y para una mayor flexibilidad de implementación.

1.5 Mejoras hasta la fecha

Donde quiera que sus aplicaciones son, Inter Base es allí. Con InterBase se obtiene una

verdadera flexibilidad entre plataformas y la portabilidad, desde el dispositivo al

servidor, ya través de Android, iOS, Windows, Mac, Linux y Solaris. (Mendez, 2017)

1.5.1. IBLite para Android y iOS

Ahora usted puede utilizar como base de datos Inter Base incrustado en sus

aplicaciones móviles Android e iOS! Desarrolla tus aplicaciones con Embarcadero

RAD Studio y fácilmente integrar y conectar con la base de datos IBLite para

almacenar datos de su aplicación. Usted recibe una licencia de despliegue ilimitado.

libre para IBLite para Android y iOS con la compra de RAD Studio XE5 o Delphi

XE5 con Mobile. O conseguir IBLite para iOS gratuita con C + + Builder XE5. Eso

significa que el coste cero para desplegar IBLite con sus aplicaciones móviles.
8

1.5.2. InterBase Togo para Android y iOS

InterBase Togo extiende IBLite para Android y iOS para trabajar con archivos de bases de

datos más grandes (> 100MB) y proporciona un fuerte (AES) de base de datos y la

columna de cifrado, así como una fuerte encriptación de red (SSL). Ideal para aplicaciones

corporativas y aplicaciones donde la seguridad de datos es una necesidad.

1.5.3. La estrecha integración con RAD Studio, Delphi y C + + Builder para


despliegue fluido

Inter Base libre Developer Edition se incluye con RAD Studio, C + + Builder y Delphi.

Con InterBase XE3 usted consigue una fácil implementación de sus aplicaciones para

Android, iOS, Windows y OS X (además de Linux y Solaris con Inter Base XE). Su base

de datos se empaqueta con proyectos RAD así al implementar su proyecto a cualquier

plataforma, InterBase automáticamente conseguirá desplegados con él.

1.5.4. Nuevo controlador ODBC de 64 bits permite una fácil implementación en


plataformas de 64 bits.

InterBase XE3 ofrece nuevos controladores ODBC para 64 bits que le permite implementar

y utilizar InterBase en 64 bits y clientes del servidor. También, incrustar InterBase con tus

aplicaciones de 64 bits ODBC (sólo Windows) y desplegarlo a través de múltiples

plataforma
9

CAPÍTULO II

Conociendo el gestor de base de datos

InterBase es un sistema manejador (administrador, gestor) de bases de datos relacional

que utiliza a SQL como lenguaje de definición y manipulación de datos. Interbase

ha estado en el mercado desde hace ya 15 años, lo que nos garantiza su estabilidad,

velocidad y portabilidad a otras plataformas. obtienen un potente control de acceso,

recuperación de desastres, e implementación de transacciones, así como soporte para

los motores de datos más populares y para una mayor flexibilidad de

implementación. (2004)

2.1. Características propias del gestor

Pequeña, rápida y altamente eficiente, ¿Necesita una base de datos que sea compacta

en memoria y en tamaño en disco, aunque suficientemente potente para asegurar el

soporte de sus aplicaciones críticas de negocio?, Interbase es fácil de integrar o

instalar, deja poca huella, soporta potentes cifrados y no requiere de

administración, en cuanto a la instalación ocupa 40 Mb en el disco (Emilce, 2008)

• Está construido para arquitecturas modernas de CPU, Con Interbase, puedes

confiar en más de 15 años de experiencia para sobrecargar sus aplicaciones con una de

las bases de datos nativas más rápidas disponibles. Interbase utiliza actualmente CPUs

multi-core y sistemas multi-CPU, junto con un único enfoque de versionamiento, para

recuperar y actualizar sus datos rápidamente . (Emilce, 2008)

• Es una base de datos multiplataforma, puede ser ejecutado en en

plataformas LINUX, MICROSOFT WINDOWS Y SOLARIS con funciones


10

completas de alto rendimiento, encriptable, relacional, y escalable dirigida a

desarrolladores que buscan embeber una base de datos de bajo coste, con cero

administraciones, con seguridad de base de datos y ligera. Dentro de las aplicaciones

en plataformas heterogéneas y conectadas. También presenta soporte para servidores

de 64bit para Linux y Windows ofreciendo la perfecta opción a desarrolladores para

migrar a Linux con RAD Studio. Con un formato en disco común, podrá mover

fácilmente sus bases de datos entre Windows y Linux como vea conveniente,

mejorando las opciones de desarrollo, pruebas e implantación. (Emilce, 2008)

• Es de multi- uso, Facilita el acceso instantáneo de tu aplicación a recursos mediante

el alojamiento de Interbase en la nube. O mantenerle local para mayor seguridad y más

rápido rendimiento. (Emilce, 2008)

• Potente integridad, Interbase proporciona integridad de datos a nivel de tabla,

permitiendo asignar a cada usuario de la base de datos, los permisos que permitan

independientemente consultar, agregar, modificar y eliminar datos en cada tabla. Para

lograr esto, se deben definir los usuarios en cada servidor Interbase, dando un nombre

(login), contraseña (password) y el nombre real de cada usuario. (Emilce, 2008)

• El lenguaje de procedimientos y triggers es muy potente, e incluso supera a

Oracle en la facilidad para expresar cláusulas de verificación check que involucren a

varias tablas, y en que los triggers no están sujetos a los problemas ocasionados en

Oracle por las denominadas “tablas mutantes”. (Emilce, 2008)

2.1.1 Ventajas

• Interbase destaca del resto de los sistemas de bases de datos por su arquitectura

única, basada en versiones.


11

• Otro de los puntos fuertes de InterBase es su cercanía al estándar de SQL, sobre

todo en la sintaxis de procedimientos almacenados y triggers.

• Es sumamente fácil programar una base de datos activa en InterBase y

posteriormente adaptar la definición para Oracle.

• El lenguaje de procedimientos y triggers es muy potente, e incluso supera a Oracle

en la facilidad para expresar cláusulas de verificación check que involucren a varias

tablas, y en que los triggers no están sujetos a los problemas ocasionados en Oracle

por las denominadas “tablas mutantes”.

21.2. Desventajas

• Los problemas de InterBase se deben a la misma causa que sus ventajas:

su arquitectura única.

• Es muy sencillo realizar particiones en otros sistemas (Oracle, DB2, SQL Server,

Informix) para aumentar el rendimiento físico de una base de datos, pero este concepto

es difícil de adaptar para InterBase.

• InterBase sí permite que una base de datos se expanda a lo largo de varios discos,

aunque no controla qué tablas van a parar a qué dispositivo

2.2. Diferencia frente a otros gestores

Tabla 1. Diferencia de Interbase frente a otros gestores

SGBD Interbase Postgred SQL My SQL


12

Seguridad Fuerte protección para Tiene roles heredados MySQL implementa


contraseñas con el uso de la para establecer y mantener seguridad basada en
función SHA-1 los permisos. tiene Listas de Control de
cryptographic hash. soporte nativo para SSL Acceso (ACLs) para
Interbase soporta en conexiones para cifrar todas las
contraseñas de hasta 32 la comunicación conexiones,
caracteres de longitud

Rendimiento Funciona bien con PostgreSQL se aprovecha MySQL funciona


aplicaciones de Inteligencia mejor en sistemas que bien en sistemas
Empresarial, pero se ajusta requieran ejecución de OLAP/OLTP
mejor a aplicaciones para consultas complejas, rinde cuando solo se
Almacén de Datos y bien en sistemas requiere velocidad
análisis de datos. en lectura.

Soporte para Interbase es compatible con soporta C/C++, Java, Algo de soporte para
lenguaje de Java, C, C++, .NET, JavaScript, .Net, R, Perl, programación del
programación Delphi, PHP y Ruby. Se Python, Ruby, Tcl y otros. lado del servidor, en
integra perfectamente con un solo lenguaje no
C++Builder, RAD Studio y extensible.
Delphi.

NOTA Entre todas las alternativas en Sistemas Gestores de bases de Datos, hay una que,
aunque no sea muy conocida, es posiblemente la mejor en la relación, potencia, flexibilidad,
escalabilidad, precio. Se trata de Interbase de Borland (2004)
13

2.2. instalación de Interbase


• Para descargar Interbase nos dirigimos hacia la página oficial de descarga. En este

caso descargaremos Interbase 2017

Imagen 1 página oficial de Interbase; fuente: elaboración propia

• Nos movemos hasta productos y seleccionamos a Interbase

Imagen 2 seleccionar gestor; fuente: elaboración propia


14

• Luego de hacer click, la página se redireccionará hasta la sección de

registro, donde se ingresará todos los datos que se solicitan, porque de otra forma no

se iniciará la descarga.

Imagen 3 sección de registro; fuente: elaboración propia

• Una vez que se terminó de llenar los datos y hacer click en “comenzar

prueba gratis”, la descarga iniciará y un correo con el serial del producto llegará a la

bandeja de entrada del E-mail colocado en el registro.

Imagen 4 iniciar prueba; fuente: elaboración propi


15

• Una vez terminada la descargar, damos click derecho y clickea en “Extract

Here” para descomprimir al archivo

Imagen 5 descomprimir archivo; fuente: elaboración propia

• Aparecerá una serie de archivos y carpetas, pero al único que daremos click

será al siguiente.

Imagen 6 comenzar instalación; fuente: elaboración propia

• Se le da clic derecho y lo ejecutamos como administrador.

Imagen 7 ejecutar como administrador; fuente: elaboración propia


16

• Aparecerá el asistente de instalación, y se dará click en “Install InterBase

Imagen 8 asistencia de instalación; fuente: elaboración propia

• Se mostrará un menú de opciones con las herramientas que deseamos instalar. Si

es la primera vez que Interbase se instala, se selecciona todo y damos en “Install”.

Imagen 9 herramienta de instalación; fuente: elaboración propia


17

• Esta es la ventana que inicia el proceso de instalación del gestor, le damos

en “Next”

Imagen 10 iniciar proceso de instalación; fuente: elaboración propia

• Luego de leer los términos y condiciones de uso, aceptamos y le damos

en “yes” para continuar.

Imagen 11 aceptar términos y condiciones; fuente: elaboración propia


18

• En la siguiente ventana se mostrarán las opciones de selección de los

componentes que se instalarán.

Imagen 12 componentes de instalación; fuente: elaboración propia


• Lo siguiente es seleccionar la arquitectura con la que se instalará.

Imagen 13 seleccionar arquitectura; fuente: elaboración propia


19

• correctas, y si lo fue damos click en “Next”.

Imagen 14 arquitectura correcta; fuente: elaboración propia

• Empezará la instalación de los ficheros, esperamos hasta la finaliza

Imagen 15 instalación de ficheros; f u e n t e : elaboración propia


20

• Luego se mostrará una ventana donde se solicitará el serial enviado al

Email con el que se registró. Ingresamos el serial y continuamos

Imagen 16 insertar serial ;fuente: elaboración propia

• Quitamos los check de las opciones para terminar la instalación de InterBase y, a


continuación, se iniciará la instalación de [Link] y ODBC driver.

Imagen 17 instalación de driver; fuente: elaboración propi


21

• Emergerá el asistente de instalación de [Link] y procedemos a

instalarlos.

Imagen 18 instalación completa de driver; fuente: elaboración propia

• Se abrirá el panel que controla el servicio de server. Presionamos en


“automatic ” para iniciar el servicio.

Imagen 19 panel controlador; fuente: elaboración propia


22

• Entonces, hasta aquí ya terminamos todo el proceso de instalación. Lo que

aprecian es la interfaz gráfica de Interbase

Imagen 20 interfaz gráfica de Interbase; fuente: elaboración propia

2.3. Demostración del gestor y sus herramientas básicas

• Creación de base de datos

✓ Clic derecho en Database, luego damos clic en créate Database para iniciar la

creación de la base de datos en Interbase

Imagen 21 creación de base de datos ;fuente: elaboración propia


23

✓ Clic en los 3 puntos, luego guardamos la base de datos en cualquier parte

del equipo.

Imagen 22 guardar base de datos; fuente: elaboración propia

✓ Elegimos donde se va guardar la base de datos dentro de nuestros


Archivos

Imagen 23 elegir archivo; fuente: elaboración propia


24

✓ Luego Conectamos la base de datos

Imagen 24 conexión de base de datos; fuente: elaboración propia

✓ Clic en el icono SQL para abrir la consola de comandos

Imagen 25 abrir consola; fuente: elaboración propi


25

✓ Escribir los comandos para crear una tabla, seleccionamos el código y

ejecutamos para guardar en la BD.

Imagen 26 escribir comandos; fuente: elaboración propia

✓ Tabla de forma gráfica

1. clic en tablas

2. clic derecho, aparecen las siguientes opciones y seleccionamos créate

Campos de las tablas y el tipo de datos para crear la base de datos de manera

gráfica.

Imagen 27 insertar campos; fuente: elaboración propia


CAPÍTULO III

Diccionario de datos
3.1 ¿Que son los metadatos?

Los metadatos son una parte vital de una base de datos. Dentro de la base de datos,

hay objetos, que incluyen tablas, vistas e índices. Básicamente, el catálogo del sistema es

un conjunto de objetos (Posted, 2016)

3.2. ¿Qué es el diccionario de datos?

Un diccionario de datos es una colección de descripciones de los objetos o

elementos de datos en un modelo de datos para el beneficio de los programadores y

otras personas que necesitan referirse a ellos. (Posted, 2016)

3.2.1. Importancia

Es extremadamente importante para los administradores de bases de datos o

para todos los demás usuarios de bases de datos que deseen comprender la naturaleza

y la estructura de una base de datos. El catálogo del sistema permite mantener el orden

no solo por los usuarios y el administrador de la base de datos, sino también por el

servidor de la base de datos. (Posted, 2016)


3.3. Aplicaciones/Herramientas que hacen uso el Diccionario de Datos

Herramienta cuyo único propósito es generar

documentación a partir de su esquema de base de datos. Esta

herramienta no tiene ninguna capacidad de edición y solo puede

generar una documentación a partir de los metadatos extraídos de la

base de datos. (Gomez, 2015)

Esta herramienta mantiene los datos en un repositorio separado

que le permite reunir y almacenar muchos más metadatos y los hace

independientes en la plataforma de la base de datos. Proporcionan más

funcionalidades: creación avanzada, más metadatos, diagramas de base

de datos. (Gomez, 2015)

Esta herramienta almacena metadatos en la base de

datos en sí: en Propiedades extendidas en el caso de SQL

Server o comentarios en el caso de MySQL y Oracle. (Gomez,

2015)
Existe una gran categoría de herramientas que están

diseñadas específicamente para el modelado de datos lógico y físico

independiente del motor. Proporcionan funcionalidades de

ingeniería directa e inversa. Son buenos para crear diagramas ER,

pero mucho más para describir elementos de datos (crear

diccionarios de datos). (Gomez, 2015)

3.4. Estándares ISO/IEC 10027:1990 y ISO/IEC 10728:1993

3.4.1. ISO / IEC 10027. Esta norma internacional especifica una interfaz de

servicios que le da a cualquier programa acceso total a todos los servicios IRDS, a

través de cualquier interfaz externa proporcionada por el idioma en el cual el programa

está escrito. El cuerpo de esta Norma Internacional define la semántica de este interfaz,

y también especifica los enlaces de idioma para ISO Pascal (ISO 7185). Esta Norma

Internacional describe el marco para un número de Normas Internacionales que

especifican una especialización Sistema de información, llamado Recurso de

Información Sistema de diccionario (IRDS). Un IRDS se usa para controlar y

documentar los recursos de información de una empresa. Esta Norma Internacional

define los niveles de datos relevantes a un IRDS. Define las interfaces IRDS que son

prescrito por otras Normas Internacionales en el IRDS familia de estándares. También

define los tipos de contenido de datos que están prescritos por otras Normas

Internacionales en la familia. (Aenor , 2015)

3.4.2. ISO / CEI 10728 La Norma Internacional ISO / CEI 10728 fue preparada

por el Comité Técnico Conjunto ISO / IEC JTC1, Tecnología de la información,


Subcomité SC 21, Recuperación de información, transferencia y gestión para la

interconexión de sistemas abiertos (OSI). (Aenor, 2016)

3.5. Trabajo de Demostración del Diccionario de Datos en el Gestor

1.-Cree una Base de Datos con al menos 5 tablas relacionadas, 3 Vistas, 3

Procedimientos Almacenados y 2 Disparadores en su Gestor

• A continuación, se muestra el script de la creación de la base de datos y


tablas relacionadas

imagen 29 creación de base de datos; fuente: elaboración propia

• Luego insertamos los datos para poder hacer nuestras vistas

Imagen 30 inserción de datos; fuente: elaboración propi


• Una vez insertado los datos procedemos a la Creación de vistas

imagen 30 creación de vistas; fuente: elaboración propia

• A continuación, mostramos la creación de los procedimientos


almacenados.

imagen 31 creación de procedimientos almacenados


• Ahora mostramos la Creación de triggers.

imagen 32 creación de trigger ; fuente : elaboración propia

2.- con la Base de Datos ya creada, elabore scripts SQL, que den

como resultado lo siguiente:

• Una consulta que muestre todas las tablas. Para esto

ejecutaremos la siguiente consulta para obtener el resultado

Select rdbcrelation_name as “nombre de la tabla”


From rdbcrelations
Where rdbcsystem_flag-=0 and rdbcrelation_name not in (Select
rdbcview_name from rdbcview_relation

imagen 33 todas las tablas; fuente: elaboración propia


• Una consulta que muestre las vista. Por el cual ejecutaremos la siguiente
consulta

Select rdbcview_name as vistas


Rdbcrelation_name as relación_tabla
From rdbcrelations

imagen 34 vistas ; fuente: elaboración propia

• Una consulta que muestre los procedimientos almacenados, ejecutamos la


siguiente consulta

Select rdbsprocedure_name as procedures


From rdbsprocedures

imagen 35 resultados de los procedimientos almacenados


• Una consulta sql que muestre todos los disparadores o triggers. ejecutamos la
siguiente consulta:

Select rdbstrigger _name as disparadores


From rdbstriggers
Where rdbssystem_flag=0

imagen 36 resultado de trigger

• Una consulta que muestre las llaves primarias, ejecutamos la siguiente consulta
Select rdbsconstraint _name
From rdbsrelation_constraint
Where rdbsconstraimt_type =`primary key `

imagen 37 resultados de las llaves primarias


• Una consulta que muestre todas las llaves foráneas

From rdbsrelation_constraint
Where rdbsconstraimt_type =`foreign key `

imagen 38 resltados llaves foraneas

• Crear una consulta sql que muestre una lista de los campos de una de las

tablas creadas con sus respectivos tipos de datos y tamaños.

imagen 39 resultado de tipo de dato y campo

.
- -

CAPÍTULO IV

Integridad en base de datos

4.1. Definición de integridad

Integridad se refiere a los elementos que no pueden ser modificados por

medidas externas que no son autorizadas para el manejo de éstos. En otras palabras, es

una característica que protege la calidad de los elementos ante posibles errores ante su

mala manipulación (Pérez 2015)

4.1.1. Integridad de datos.

Según Sanchez(2014)La integridad de los datos es la garantía de que la

información digital no está corrompida y solo pueden acceder o modificarla las personas

autorizadas para hacerlo. La integridad implica mantener la consistencia, precisión y

confiabilidad de los datos durante todo su ciclo de vida.

Para mantener la integridad, los datos no deben cambiarse en tránsito y deben

tomarse medidas para garantizar que los datos no puedan ser modificados por una

persona o programa no autorizado. Tales medidas incluyen la implementación de

controles de acceso de usuarios y el control de versiones para evitar cambios erróneos

o la eliminación accidental por parte de usuarios autorizados.

Otras medidas incluyen el uso de sumas de comprobación y sumas de

comprobación criptográficas para verificar la integridad. Las medidas de

administración de la red para garantizar la integridad de los datos incluyen la

documentación de los procedimientos de administración del sistema, los parámetros y


- -

las actividades de mantenimiento, y la creación de planes de recuperación de desastres

para situaciones como cortes de energía, fallas en el servidor o ataques de seguridad.

En caso de que los datos se corrompan, las copias de seguridad o las redundancias

deben estar disponibles para restaurar los datos afectados a su estado correcto.

También se deben tomar medidas para garantizar la integridad mediante el

control del entorno físico de los terminales y servidores conectados en red, ya que la

consistencia, la precisión y la confiabilidad de los datos también pueden verse

amenazadas por peligros ambientales como el calor, el polvo o los problemas

eléctricos. Deben existir algunos medios para detectar cualquier cambio en los datos

que pueda ocurrir como resultado de eventos no causados por el hombre, como un pulso

electromagnético (EMP) o un fallo del servidor. Las prácticas seguidas para proteger

la integridad de los datos en el entorno físico incluyen mantener los medios de

transmisión (como cables y conectores) cubiertos y protegidos para garantizar que no

puedan ser detectados, y proteger el hardware y los medios de almacenamiento de

sobrecargas de energía, descargas electrostáticas y magnetismo

4.2. Categorías

En el mundo de la base de datos, la integridad de los datos a menudo se coloca

en los siguientes tipos:

• Integridad de la entidad

• Integridad referencial

• Integridad de dominio

• Integridad definida por el usuario


- -

4.2.1. Integridad de entidad

La integridad de la entidad define que cada fila sea única dentro de su

tabla. No hay dos filas iguales. Para lograr esto, se puede definir una clave principal.

El campo de clave principal contiene un identificador único o sea no hay dos filas que

puedan contener el mismo identificador único.

4.2.2. Integridad de dominio

La integridad del dominio se refiere a la validez de las entradas para una

columna determinada. Seleccionar el tipo de datos apropiado para una columna es el

primer paso para mantener la integridad del dominio. Otros pasos podrían incluir la

configuración de restricciones y reglas apropiadas para definir el formato de datos o

restringir el rango de valores posibles de entrada.

4.2.3. Integridad referencial

La integridad referencial se refiere a las relaciones. Cuando dos o más

tablas tienen una relación, debemos asegurarnos de que el valor de la clave externa

coincida con el valor de la clave primaria en todo momento. No queremos tener una

situación en la que un valor de clave externa no tenga un valor de clave primaria en la

tabla con la que está relacionada. Esto daría como resultado un registro huérfano

4.2.4. Integridad definida por el usuario

La integridad definida por el usuario le permite al usuario

aplicar reglas comerciales a la base de datos que no están cubiertas por ninguno

de los otros tres tipos de integridad de datos.


- -

4.3. Trabajo de demostración de la integridad de los datos en el gestor

4.3.1 Cree una base de datos y con un ejemplo indique de qué manera el

gestor de base de datos aplica cada una de las categorías de integridad

• Primero creamos una base de datos donde podamos trabajar, en esta

ocasión se llamará semana 4 ,

imagen 41 creación de la base de datos; fuente: elaboración propia

A continuación, procedemos a crear las tablas para nuestra base de datos

imagen 42 creación de tablas


- -

[Link]. Integridad de entidad

En la tabla sede tenemos datos insertados;

imagen 43 insertar datos; fuente: elaboración propia

Intentaremos insertar un dato con ID duplicado, esto debería resultarnos un

error, ya que no se puede realizar la instrucción porque el gestor no permite la

duplicidad en campos con valor primario

imagen 44 error de integridad; fuente: Elaboración propia

[Link]. Integridad de dominio

En la creación de la tabla la tabla el tipo de datos del DNI esta con tipo de de

dato int lo cual solo permitirá el ingreso de números enteros

CREATE TABLE persona (


DNI int not null
Por lo tanto intentaremos ingresar número y letras para verificacar su entrada

y esto nos debe salir error porque solo permite números enteros

Imagen 45 error de integridad; fuente: elaboración propia


- -

[Link]. Integridad referencial


En este caso intentaremos un dato con un pk que no existe, esto deberíamos

Salir error ya que no permite tener un dato huérfano

Imagen 46 error de integridad; fuente: elaboración propia

[Link]. Integridad definida por el usuario


Creamos una tabla que que tendrá un CHECK que validará el ingreso de datos

de la columna, en este caso solo permitirá el ingreso de una letra FoM

imagen 47 Insertar check; fuente: elaboración propia

Para comprobar que el CHECK funciona realizaremos un INSERT con el valor

de una letra diferente y esto nos tendría que salir error

imagen 48 Error de integridad; fuente: elaboración propipiada


CAPÍTULO V

Seguridad en base de datos

5.1 Definición de Seguridad Confidencialidad en Base de Datos

Al concepto de seguridad también se le puede llamar privacidad. El problema de

la seguridad consiste en lograr que los recursos de un sistema sean, bajo toda circunstancia,

utilizados para los fines previsto (data, 2016)

El término seguridad posee múltiples usos. A grandes rasgos, puede afirmarse que

este concepto que proviene del latín securitas hace foco en la característica de seguro, es

decir, realza la propiedad de algo donde no se registran peligros, daños ni riesgos. Una

cosa segura es algo firme, cierto e indubitable. La seguridad, por lo tanto, puede

considerarse como una certeza. Una de las acepciones del término es el que se utiliza en

informática, un concepto moderno, pero sumamente importante para conservar los

ordenadores y equipos relacionados en buen estado. La seguridad informática permite

asegurarse que los recursos del sistema se utilizan de la manera en la que se espera y que

quienes puedan acceder a la información que en él se encuentran sean las personas

acreditadas para hacerlo. (Posted, 2017)

En informática se habla de dos tipos de seguridades, la física (barreras físicas que

impiden el paso al sistema de cualquier persona no acreditada. Se realiza a través de

aplicaciones y procedimientos específicos que tienen el objeto de bloquear el acceso a

dichos individuos) y la lógica (las formas en las que se desempeña este tipo de seguridad

es a través de encriptación de códigos, de modo que no puedan ser leídos o traducidos por
los intrusos que pudieran sobre pasar las barreras físicas, códigos de autenticación y

antivirus o pared de fuego, en el caso de usar un sistema operativo como Windows). A la

hora de elaborar un diseño, ya sea de página web o de espacio en la red de cualquier tener

en cuenta ambos tipos de seguridad es fundamental (Bembibre, 2009).

5.1.1Confidencialidad en Base de Datos

Consiste en la capacidad de garantizar que la información, almacenada en el

sistema informático o transmitido por la red, solamente va a estar disponible para aquellas

personas autorizadas a acceder a dicha información, es decir, que, si los contenidos

cayesen en manos ajenas, estas no podrían acceder a la información o a su interpretación.

Este es uno de los principales problemas a los que se enfrentan muchas empresas; en los

últimos años se ha incrementado el robo de los portátiles con la consecuente pérdida de

información confidencial, de clientes, líneas de negocio, entre otras. Cuando se produce

información confidencial, los responsables deciden quién o quiénes tienen derecho a

acceder a la misma. Los recaudos a tomar para garantizar dicha confidencialidad dependen

del contexto. Si la información confidencial incluye material que puede poner en riesgo

la seguridad de una nación, el nivel de precauciones será mucho mayor. Por lo general,

los documentos de esta naturaleza de ponen bajo la custodia de organismos públicos

especializados, en ubicaciones secretas, y en muchos casos se recurre a la escritura en

clave (Bembibre, 2009).

5.1.2 El concepto de seguridad lo medimos en:

• La protección del sistema frente a ataques externos.

• La protección frente a caídas o fallos en el software o en el equipo.

• La protección frente a manipulación por parte de usuarios no autorizados


5.1.3Tipos de seguridad:

Direccional: Se usa para otorgar y revocar privilegios a los usuarios a nivel de

archivos, registros o campos en un modo determinado (consulta o modificación)

Obligatoria: Sirve para imponer seguridad de varios niveles tanto para los

usuarios como para los datos. Para eso se utilizan mecanismos de protección.

5.1.4 Requisitos para la seguridad de las base de datos

• La base de datos debe ser protegida contra el fuego, el robo y otras formas de

destrucción. Los datos deben ser re construibles, ya que siempre pueden ocurrir accidentes.

• Los datos deben poder ser sometidos a procesos de auditoria.

• El sistema debe diseñarse a prueba de intromisiones, no deben poder pasar

por alto los controles.

• Ningún sistema puede evitar las intromisiones malintencionadas, pero es

posible hacer que resulte muy difícil eludir los controles.

• El sistema debe tener capacidad para verificar que sus acciones han sido

autorizadas.

• Las acciones de los usuarios deben ser supervisadas, de modo tal que pueda

descubrirse cualquier acción indebida o errónea.


5.2. Inicios de Sesión, Usuarios, Roles, Grupos, Funciones en el Servidor,

Privilegios

5.2.1 Inicios de Sesión

Acción de comenzar una sesión de un usuario específico, permitiendo así

identificarse frente a un sistema o servicio (Bembibre, 2009).

5.2.2 Usuarios

Un usuario es aquella persona que utiliza un dispositivo o un ordenador y realiza

múltiples operaciones con distintos propósitos. A menudo es un usuario aquel que adquiere

una computadora o dispositivo electrónico y que lo emplea para comunicarse con otros

usuarios, generar contenido y documentos, utilizar software de diverso tipo y muchas otras

acciones posibles (Bembibre, 2009).

Tipos de usuarios

Según existen 2 tipos de usuario. (Unknown, 2018)

• Usuario con derecho a crear, borrar y modificar objetos y que además puede

conceder privilegios a otros usuarios sobre los objetos que ha creado.

• Usuario con derecho a consultar, o actualizar, y sin derecho a crear o borrar

objetos. Privilegios sobre los objetos, añadir nuevos campos, indexar, alterar la estructura

de los objetos, etc.


5.2.3 Roles

Un rol define el conjunto de privilegios asignado a un miembro. Los privilegios

se asignan a los miembros mediante un rol predeterminado o un rol personalizado. A los

miembros se le asigna un rol cuando se les agrega a la organización. (Aenor, 2016)

Roles predeterminados

Según Aenor define un conjunto de privilegios para los cuatro roles

predeterminados que aparecen a continuación:

• Visualizador: ver elementos tales como mapas, aplicaciones, escenas y

capas compartidas con el público, la organización o un grupo al que pertenece el miembro.

Unirse a grupos propiedad de la organización. Arrastrar archivos CSV, GPX o de texto

a Map Viewer para geocodificar direcciones o nombres de lugares. Obtener indicaciones

en Map Viewer y en las aplicaciones.

Los miembros a los que se les asigna el rol de Visualizador no pueden crear,

poseer ni compartir contenido, ni tampoco realizar análisis. El rol de Visualizador se

puede asignar a cuentas de nivel 1 o de nivel 2.

• Usuario: privilegios de Visualizador, además de la capacidad para ver una

vista personalizada del sitio, utilizar los mapas, las aplicaciones, las capas y las

herramientas de la organización, así como unirse a los grupos que permitan a los miembros

actualizar todos los elementos del grupo. Los miembros que tienen asignado el rol

de Usuario también pueden crear mapas y aplicaciones, editar entidades, agregar

elementos al portal, compartir contenido y crear grupos. El rol de Usuario se puede asignar

a cuentas de nivel 2.
• Publicador: privilegios de Usuario, además de la capacidad de publicar

capas web alojadas y realizar análisis de entidades y de ráster. El rol de Publicador se puede

asignar a cuentas de nivel 2.

• Administrador: privilegios de Editor además de privilegios para

administrar la organización y a otros usuarios.

Una organización debe tener al menos un administrador, aunque se recomienda

tener dos. No existe ningún límite en cuanto al número de miembros a los que se puede

asignar el rol de Administrador dentro de una organización; sin embargo, por motivos de

seguridad, únicamente debería asignar este rol a quienes necesiten los privilegios

adicionales asociados a él. El rol de Administrador se puede asignar a cuentas de nivel 2.

Roles personalizados

Es posible que las organizaciones deseen refinar los roles predeterminados en un

conjunto de privilegios más detallado mediante la creación de roles personalizados. Por

ejemplo, puede que su organización desee asignar a algunos miembros los mismos

privilegios que un Usuario predeterminado, pero sin permitirles editar datos de entidades.

Esto se podría conseguir creando un rol personalizado basado en el rol

de Usuario predeterminado, desactivando los privilegios de edición y llamando al rol

personalizado Usuario sin edición o algo similar (Bembibre, 2009)

Solo los administradores predeterminados; es decir, aquellos a los que se les ha

asignado el rol de Administrador, pueden crear, configurar y asignar roles personalizados.

Los administradores predeterminados configuran roles personalizados en función de


cualquier combinación de los privilegios generales y administrativos disponibles

(Bembibre, 2009)

5.2.4 Grupos

Se afirma que la mayoría de los sistemas de administración de bases de datos

proporcionan formas para que el administrador de bases de datos agrupe a los usuarios

según las necesidades de acceso a los datos y asigne privilegios al grupo. Esto reduce el

tiempo dedicado a modificar los privilegios individuales de cada usuario y simplifica la

administración de grandes números de privilegios para grandes números de usuarios. Por

lo tanto, puede utilizar grupos (también denominados roles, tipos, o autoridades, según el

sistema de administración de bases de datos) que otorguen derechos a los usuarios de

acuerdo con las funciones comunes. (Draconis, 2008)

Las categorías o los grupos de usuarios comunes son los que visualizan los datos,

los que editan los datos y los que crean lo datos.

Sugerencias para agrupar usuarios

A continuación, se presentan algunas sugerencias para agrupar usuarios en el

sistema de administración de bases de datos.

• Cree grupos separados (roles) para los privilegios de sistema y de objeto.

• Elija una convención de nomenclatura que refleje cada tipo de grupo (rol) para

lograr una referencia fácil.

• Otorgue privilegios directamente al administrador de la geodatabase y otorgue

privilegios mediante grupos (roles) para todos los demás usuarios.


• Evite mezclar los roles con los privilegios otorgados directamente a las

cuentas de usuarios no administradores.

5.2.5 Funciones en el servidor

Se afirma que:

• Las bases de datos se utilizan para almacenar datos y las organizaciones que

tratan y almacenan grandes cantidades de datos, necesitan un potente software de bases

de datos para gestionar los datos.

• Las bases de datos proporcionan un mayor control sobre los datos y permiten

a los usuarios transformar y enriquecer los datos para todos los aspectos de la presentación

de informes empresariales y gestionar las transacciones back-end.

• Los servidores conectados a una red de gran volumen, que gestionan

transacciones múltiples y simultáneas, necesitan contar con la configuración técnica

adecuada para soportar la red de forma eficiente.

5.2.6 Privilegios
Los privilegios permiten a los miembros de la organización llevar a cabo diferentes

tareas y flujos de trabajo en la organización. Por ejemplo, algunos miembros tienen

privilegios para crear y publicar contenido, mientras que otros tienen privilegios para ver

contenido, pero no pueden crear el suyo propio. (Draconis, 2008)

Privilegios generales

A los miembros que llevan a cabo tareas específicas dentro de la organización

como, por ejemplo, crear mapas o editar entidades, se les pueden asignar los privilegios

generales que necesitan para trabajar y compartir con grupos, contenido y entidades.
Privilegios administrativos

Los privilegios que se enumeran a continuación permiten que los roles

personalizados puedan ayudar a los administradores predeterminados con la

administración de los miembros, los grupos y el contenido en la organización. Estos roles

administrativos personalizados no incluyen el conjunto de privilegios completo reservados

para los administradores predeterminados; es decir, aquellas personas que tienen asignado

el rol de Administrador.

Privilegios reservados para los administradores predeterminados

Algunos privilegios administrativos están reservados para los administradores

predeterminados y no están disponibles para los roles personalizados. Por ejemplo, solo

los administradores predeterminados pueden configurar el sitio web y eliminar a otros

administradores de la organización. La siguiente lista muestra los privilegios reservados

para los administradores predeterminados:

• Configurar el sitio web

• Configurar roles personalizados

• Configurar inicios de sesión corporativos

• Cambiar el rol de administrador de miembros

• Eliminar a otros administradores de la organización

• Compartir contenido con el público cuando la organización no permite a los

miembros compartir fuera de la organización


Privilegios para flujos de trabajo comunes

Algunos flujos de trabajo requieren una combinación de privilegios. Si no puede

realizar una función que piense que debería permitir su rol, verifique que su administrador

haya habilitado el conjunto completo de privilegios requeridos para la función.

5.3. Autenticación o autentificación, políticas de contraseñas

5.3.1 Autenticación o Autentificación

La autenticación o autentificación es el acto o proceso de confirmar que algo (o

alguien) es quien dice ser. A la parte que se identifica se le llama probador. A la parte que

verifica la identidad se la llama verificador. Es habitual que el probador sea un usuario

que quiere acceder a ciertos recursos y el verificador sea un sistema que protege el acceso

a dichos recursos y tiene que verificar que el que accede sea un usuario que tiene permisos

para acceder a esos recursos. Para poder tener autenticación es necesaria, como condición

previa, la existencia de identidades biunívocamente identificadas de tal forma que se

permita su identificación (Wikipedia ,2018)

Características de autenticación

Cualquier sistema de identificación ha de poseer unas determinadas características

para ser viable

• Ha de ser fiable con una probabilidad muy elevada (podemos hablar de tasas

de fallo de en los sistemas menos seguros)

• Económicamente factible para la organización (si su precio es superior al

valor de lo que se intenta proteger, tenemos un sistema incorrecto).


• Soportar con éxito cierto tipo de ataques.

• Ser aceptable para los usuarios, que serán al fin y al cabo quienes lo utilicen.

• Respuesta inmediata, directa, inteligente, sencilla, ante cada situación.

5.3.2 Políticas de Contraseñas

Las continuas amenazas de seguridad del mundo actual requieren que las empresas

mantengan y mejoren sus políticas de administración respecto al uso de contraseñas.

Es común que las contraseñas sean obtenidas por personas externas a la compañía,

teniendo acceso a recursos tales como documentos clasificados, equipos, servidores y

bases de datos, que normalmente no deberían tener.

La mayoría de las vulnerabilidades y amenazas en las empresas provienen del

personal interno, es por ello que se debe de informar y entrenar a todos los usuarios acerca

de la importancia de tener contraseñas con un alto nivel de seguridad.

Los sistemas deben requerir al usuario que su contraseña cumpla con ciertos requisitos para

garantizar la seguridad, como es la utilización de caracteres especiales, mayúsculas,

minúsculas y uso de números no repetidos ni consecutivos,

Otro de los mecanismos recomendados para la configuración de contraseñas es el

de colocar una “frase” que sea fácil de recordar para el usuario.

Hay que verificar que las contraseñas no puedan ser reutilizables, es decir, se debe

tener una base de datos con contraseñas previamente configuradas por el usuario.
Es recomendable el cambio periódico de las contraseñas para aumentar su

seguridad (en algunas organizaciones se puede hacer a los 30 o 90 días).

Una buena política del uso de contraseñas se debe apoyar en las políticas de

seguridad de cada empresa. El mantener contraseñas fuertes y tener un personal

capacitado y consciente acerca de su utilización, evitará que la información sea filtrada y

utilizada con propósitos negativos.

Política y acciones para construir contraseñas seguras:

• Se deben utilizar al menos 8 caracteres para crear la clave. Según un estudio

de la Universidad de Wichita, el número medio de caracteres por contraseña para usuarios

entre 18 y 58 años habituales de Internet es de 7

• Se recomienda utilizar en una misma contraseña dígitos, letras y caracteres

especiales.

• Es recomendable que las letras alternen aleatoriamente mayúsculas y

minúsculas. Hay que tener presente el recordar qué letras van en mayúscula y cuáles en

minúscula. Según el mismo estudio, el 86% de los usuarios utilizan sólo minúsculas, con

el peligro de que la contraseña sea descubierta por un atacante casi instantáneamente.

• Elegir una contraseña que pueda recordarse fácilmente y es deseable que pueda

escribirse rápidamente, preferiblemente, sin que sea necesario mirar el teclado.

• Las contraseñas hay que cambiarlas con una cierta regularidad. Un 53% de

los usuarios no cambian nunca la contraseña salvo que el sistema le obligue a ello cada
cierto tiempo. Y, a la vez, hay que procurar no generar reglas secuenciales de cambio. Por

ejemplo, crear una nueva contraseña mediante un incremento secuencial del valor en

relación a la última contraseña. P. ej.: pasar de “01Juitnx” a “02Juitnx”.

5.4 trabajo de demostración de la seguridad en el gestor

• Creamos diferentes usuarios en la base de datos y a cada uno asignándole

sus respectivos permisos y privilegios demostrando lo que pasa en cada nivel de

seguridad, a nivel de base de datos, objetos, acciones y columnas.

imagen 49 creación de usuarios; fuente: elaboración propia

• Luego verificamos que los usuarios existan

imagen 50 verificación de usuarios; fuente: Elaboración propia


5.4.1. El Usuario1 Puede Ingresar a la BD1 y no a la BD2

• Ingresaos como usuario 1 y debe ingresar correctamente

imagen 51 Ingresar como usuario 1; fuente: elaboración propia

• Creamos la base de datos y colocamos como usuario de esa base de datos al

USUARIO_1. Antes de darle en ok nos fijamos en que la autenticación de usuario esté

activada

imagen 52 verificar autentificación ;fuente :elaboración propia


• De la misma forma creamos otra base de datos, pero ésta tendrá como

usuario a USUARIO_2

imagen 53 privilegiar al usuario 2; fuente: elaboración propia

• De esta manera ya tenemos las dos bases de datos creadas con sus
respectivas limitaciones

imagen 54 base de datos limitada ;fuente :elaboración propia


• Ahora procedemos a hacer la demostración, intentaremos ingresar a DB2

con el USUARIO_1, y no debería poder acceder ya que no tiene los permisos de usuario

para ingresar.

Ilustración 1 usuario1 ingresa a db2

imagen 55 prueba de autentificación ;fuente: elaboración propia

5.4.2. Usuario2 Puede Ingresar a la BD1, tiene acceso a la Tabla1 y no a la


Tabla2
• Primero creamos un ROLE para otorgar acceso al USUARIO_2 a la base de

datos DB1

“CREATE ROLE GENERAL”

• Luego otorgamos el ROLE al USUARIO_2.

“GRANT GENERAL TO USUARIO_2”

• De esta forma nosotros podemos otorgar los permisos de LOGIN a la base

de datos. Y ahora, para comprobar que todo funcionando, intentaremos ingresar a la base

de datos DB1 con el USUARIO_2, no debería presentar problemas.


• Ingresamos y podemos verificar que si existe el ROLE que otorga el acceso

a la base de datos.

5.4.3. Usuario3 Puede Ingresar a la BD1, tiene acceso a la Tabla1, puede


hacer UPDATE y SELECT, pero no INSERT y DELETE

• Primero creamos nuestro USUARIO_3.

CREATE USER USUARIO_3


SET PASSWORD usuario 3

• Luego creamos un ROLE para poder permitir el acceso del USUARIO_3 a

la base de datos DB1

CREATE ROLE ACCES


GRANT ACCES TO usuario_3
• Ahora otorgamos y revocamos los privilegios que se mencionaron

“GRANT SELECT, UPDATE ON país TO usuario_3”

• Estas acciones se pueden corroborar de forma gráfica, en la sección de

permisos de la TABLA_1

imagen 56 tablas de forma gráfica; fuente: elaboración propia


• Ahora comprobaremos que las instrucciones se cumplan.

Comenzaremos con SELECT y luego con UPDATE.

SELECT*FROM país

imagen 57 datos de la tabla país

• Comprobamos que no tenemos problemas al ejecutar SELECT. A

continuación, realizamos un UPDATE.

UPDATE país SET nombre=Perú


WHERE idpaís=p01

• Realizamos un SELECT para verificar el cambio. Efectivamente, se realizó

la actualización.

SELECT *FROM país

imagen 58 actualización de datos


• Ahora verificamos los privilegios revocados. Escribimos el script para hacer

un DELETE, al ejecutar nos aparecerá el siguiente mensaje de error, indicando que no

contamos con los permisos necesarios para realizar la instrucción.

DELETE FROM país WHERE idpais =p01

Imagen 59 error de autentificación; fuente :elaboración propia

• Ahora un INSERT al darle en ejecutar nos aparecerá el siguiente mensaje de


error, indicando que no contamos con los permisos necesarios para realizar la
instrucción.

INSERT INTO pais (IdPais , Nombre) VALUES ('p07','España')

imagen 60 Error de permiso; fuente: elaboración propia

5.4.4. Usuario4 Puede Ingresar a la BD1, tiene acceso a la Tabla1, puede


hacer UPDATE y SELECT, pero solo en la columna1, columna2 y no en la
columna3.

• Primero creamos al USUARIO_4 para realizar el ejemplo.

CREATE USER USUARIO_4 SET PASSWORD usuario4


• Luego nos dirigimos hasta la TABLA_1 clickeamos en el siguiente icono:

imagen 61 propiedades de la tabla ;fuente: elaboración propia

• Emergerá la ventana de GRANT EDITOR donde podemos otorgar los

privilegios de manera gráfica; es este caso nos regimos al ejemplo que se menciona al

inicio.

imagen 62 otorgar privilegios ;fuente ;elaboración propia

Luego otorgamos privilegios que se encuentran en la parte superior de la ventana

,seleccionaremos con un chek para otorgar

imagen 63 seleccionar privilegios; fuente: elaboración propia


• Intentaremos realizar un UPDATE en la columna SEXO. En teoría no se

podría por la configuración que aplicamos.

UPDATE persona SET sexo = 'm' WHERE ID=2

imagen 64 error de autentificación; fuente elaboración prop


CAPITULO VI

Migración de base de datos

6.1. Definición de migración de datos.

Una definición algo más completa es ésta: la migración de datos es el proceso

mediante el cual realizamos una transferencia de datos de unos sistemas de almacenamiento

de datos a otros, de unos formatos de datos a otros o entre diferentes sistemas informáticos,

(aguile, 2014)

6.1.1 propósito de una migración

Muchas circunstancias existen cuando una organización necesita migrar las

aplicaciones o las bases de datos. Puede ser que sea tan simple como una mejora a una nueva

versión del sistema ó puede ser que implique cambiar a una nueva base de datos o aplicación.

Después de una fusión o de una adquisición, a menudo se retiran las aplicaciones redundantes,

pero los datos tienen que ser preservados en el sistema de supervivencia. Después de una

migración, el viejo sistema y el nuevo sistema tendrán que coexistir. (wikipedia, 2014)

La migración de datos es el proceso por el cual grandes volúmenes de datos son

trasladados desde sistemas existentes hacia sistemas nuevos, abarca todos los pasos

necesarios para limpiar, corregir y mover los datos al nuevo sistema. Al actualizar a una

nueva versión de una base de datos o de una aplicación, o al cambiar a un nuevo sistema, los

datos necesitan ser preservados en este nuevo sistema.


El propósito de la migración de datos es transferir datos existentes al nuevo ambiente.

Necesita ser transformado a un formato conveniente para el nuevo sistema, mientras que se

preserva la información presente en el viejo. (aguile, 2014)

6.2. Fuentes u orígenes de datos.

Los datos que se usarán en el proceso de migración son los datos reales guardados

en un backup y/o copia del backup original del anterior sistema gestor de base de datos

(wikipedia, 2014)

6.3 etapas de una migración de datos.

• limpieza de las tablas de la base de datos.

• consolidación de las tablas de la base de datos.

• mapeado de las tablas de origen y destino.

• definición de formato de origen y destino.

• ruta de saltos de formato en la migración.

• definición del set de caracteres de origen y destino.

• comprobación de los delimitadores de campos.

• migración de prueba.
6.4. Proveedores de acceso a datos (ado, oledb, odbc y jdbc)

6.4.1 Ado. El Ado es un conjunto de componentes del software que pueden ser

usados por los programadores para acceder a datos y a servicios de datos. Es parte de la

biblioteca de clases base que están incluidas en el microsoft .net framework. Es comúnmente

usado por los programadores para acceder y para modificar los datos almacenados en un

sistema gestor de bases de datos relacionales, aunque también puede ser usado para acceder

a datos en fuentes no relacionales. [Link] es a veces considerado como una evolución de la

tecnología activex data objects (ado), pero fue cambiado tan extensivamente que puede ser

concebido como un producto enteramente nuevo. (Gembeta,2014)

6.4.2 Oledb. permite separar los datos de la aplicación que los requiere. Esto se hizo

así ya que diferentes aplicaciones requieren acceso a diferentes tipos y almacenes de datos,

y no necesariamente desean conocer cómo tener acceso a cierta funcionalidad con métodos

de tecnologías específicas. Oledb está conceptualmente dividido en consumidores y

proveedores; el consumidor es la aplicación que requiere acceso a los datos y el proveedor

es el componente de software que expone una interfaz oledb a través del uso del component

object model (com). (Gembeta 2014)

6.4.3 Odbc. El objetivo de odbc es hacer posible el acceder a cualquier dato desde

cualquier aplicación, sin importar qué sistema de gestión de bases de datos (dbms) almacene

los datos. Odbc logra esto al insertar una capa intermedia (cli) denominada nivel de interfaz

de cliente sql, entre la aplicación y el dbms. El propósito de esta capa es traducir las consultas

de datos de la aplicación en comandos que el dbms entienda. Para que esto funcione tanto la
aplicación como el dbms deben ser compatibles con odbc, esto es que la aplicación debe ser

capaz de producir comandos odbc y el dbms debe ser capaz de responder a ellos. Desde la

versión 2.0 el estándar soporta sag (sql access group) y sql. (Gembeta,2014)

El software funciona de dos modos, con un software manejador en el cliente, o una

filosofía cliente-servidor. En el primer modo, el driver interpreta las conexiones y llamadas

sql y las traduce desde el api odbc hacia el dbms. En el segundo modo para conectarse a

(Gembeta, 2016) la base de datos se crea una dsn dentro del odbc que define los

parámetros, ruta y características de la conexión según los datos que solicite el creador o

fabricante. (Gembeta, 2016)

6.4.4 jdbc. se presenta como una colección de interfaces java y métodos de

gestión de manejadores de conexión hacia cada modelo específico de base de datos. Un

manejador de conexiones hacia un modelo de base de datos en particular es un conjunto

de clases que implementan las interfaces java y que utilizan los métodos de registro para

declarar los tipos de localizadores a base de datos (url) que pueden manejar. Para utilizar

una Base de datos particular, el usuario ejecuta su programa junto con la biblioteca de

conexión apropiada al modelo de su base de datos, y accede a ella estableciendo una

conexión; para ello provee el localizador a la base de datos y los parámetros de conexión

específicos. A partir de allí puede realizar cualquier tipo de tarea con la base de datos a la

que tenga permiso: consulta, actualización, creación, modificación y borrado de tablas,

ejecución de procedimientos almacenados en la base de datos, etc. (Gembeta, 2016)


6.5. Herramientas de migración de datos.

6.5.1 apache nifi Apache nifi es un proyecto de código abierto que permite la

automatización del flujo de datos entre sistemas, conocido como "logística de datos". El

proyecto se escribe utilizando programación basada en flujo y proporciona una interfaz

de usuario basada en web para administrar flujos de datos en tiempo real. (Gembeta,

2016)

6.5.2 talend open studio.

Este software es una solución de integración de datos que permite el acceso de

múltiples usuarios y el trabajo en equipo, y admite grandes volúmenes de datos. Permite

la consolidación de datos en un repositorio central al que pueden acceder todos los

miembros de un equipo colaborador. También permite la gestión de permisos y

privilegios de usuario. (Gembeta, 2016)

6.5.3 pentaho. Su integración es bien conocido por su facilidad de uso y rápida

curva de aprendizaje. Pdi implementa un enfoque basado en metadatos, lo que significa

que el desarrollo se basa en especificar qué hacer, no cómo hacerlo.

Pentaho permite a los administradores y desarrolladores de etl crear sus propios

trabajos de manipulación de datos con un creador gráfico fácil de usar y sin ingresar una

sola línea de código. Pdi utiliza un repositorio compartido común que permite la ejecución

remota de etl, facilita el trabajo en equipo y simplifica el proceso de desarrollo. (Gembeta,

2016)

6.5.4 full convert.

Puede hacer que la conversión se ejecute repetidamente; muchos clientes la ejecutan

en algún momento durante la noche, por lo que en la base de datos de la mañana se vuelven

a copiar. Por supuesto, puede cambiar la asignación de la tabla para que la base de datos de
destino se cree de manera diferente sobre la marcha. Las tablas se pueden renombrar, las

columnas se pueden renombrar, los tipos de datos se pueden cambiar, y mucho más.

(Gembeta, 2016)

6.6 taller: demostración de migración de datos del gestor hacia otros

gestores

Iniciamos este taller buscando sql server para abrirlo y restaurar la base de datos.

Cuando sql server se inicie damos click derecho en la sección de “objectexplorer”

y damos click en “restore database” para comenzar la restauración de la base de datos

imagen 65 restaurar base de datos ;fuente: elaboración propia


• Emergerá una ventana donde podremos ubicar la dirección de la base de datos para

su próxima restauración

imagen 66 ubicar dirección de base de datos ;fuente: elaboración propia

• Al encontrar la dirección de la base de datos Emergerá otra ventana donde

finalmente ubicaremos al back up de la base de datos

• imagen 67 ubicar el back; fuente: elaboración propia


• Luego buscamos el archivo con el nombre que le hemos guardado

imagen 68 buscar archivo;fuente:elaboracion propia

• le damos aceptar para ver inicicar con la restauracion

imagen 69 empezar restauración ;fuente: elaboración propia


Para comprobar que la base de datos existe, nos vamos al explorador de objetos y

buscamos nuestra base de datos y verificamos la existencia de la base de datos

imagen 70 verificación de la base de datos

Ahora pasamos al inicio de la migración de datos. Para esto, primero iniciamos el

servicio de Interbase y creamos una base datos receptora. (estos pasos se encuentran al

inicio del manual) terminada esta acción iniciaremos la herramienta de migración

llamada full conver.

Cuando la herramienta se inicie, damos clic en “new dabase conversión

imagen 71 interfaz full converter ;fuente: elaboración propia


• En la primera ventana se seleccionará la base y el servidor que contiene a la base de

datos

imagen 72 seleccionar base de datos y servidor


• En la segunda ventana se seleccionará la base de datos que contendrá a los datos de la
migración. En este caso ya contamos la base de datos que previamente creamos en
interbase. Lo ubicamos y lo seleccionamos.

imagen 73 seleccionar gestor; fuente: elaboración propia


• seguidamente se nos mostrara todas las tablas a migrar

• imagen 74 tablas que se van a migrar

• Si deseamos conocer la cantidad de datos que contiene cada tabla le damos

click en “count records” y luego le damos next para continuar.

imagen 75 verificar datos ;fuente: elaboración propia


• Esperamos que analice todos los datos

imagen 76 analizar datos ;fuente ; elaboración propia

• Ahora empezara la tranferencia de todos los datos de cada tabla. Asi que

esperamos que culmine.

imagen 77 transferencia de datos ;fuente: elaboración propia

• Esperamos a que se creen los index

imagen 78 creación de index ;fuente: elaboración propia


• Finalmente ya tenemos nuestra base de datos migrada

imagen 79 Base de datos; fuente: elaboración propia


Comparamomos los datos en cada tabla para verificar que se haya migrado todos

los datos

• Para la tabla almacen

imagen 80 consulta en Interbase ; fuente: elaboración propia

imagen 81 consulta en SQL server ; fuente: elaboración propia


• Para la tabla caja

imagen 82 consulta en Interbase; fuente: elaboración propia

imagen 83 consulta en SQL server; fuente: elaboración propia

• Para la tabla cargos

imagen 84 consulta en Interbase; fuente: elaboración propia

imagen 85 consulta en SQL server; fuente: elaboración propia


• Para la tabla cliente

imagen 86 consulta en Interbase; fuente: elaboración propia

imagen 87consulta en SQL server; fuente: elaboración propia

• Para la tabla detalle ventas

imagen 88consulta en Interbase ;fuente: elaboración propia

imagen 89consulta en SQL server; fuente: elaboración propia


• Para la tabla empleado

imagen 90 consulta en Interbase; fuente: elaboración propia

imagen 91consulta en SQL server; fuente: elaboración propia

• Para la tabla empresa

imagen 92consulta en Interbase; fuente: elaboración propia


imagen 93 consulta en SQL server ;fuente: elaboración propia

• Tabla marca

imagen 94 consulta en Interbase; fuente: elaboración propia

imagen 95 consulta en SQL server ;fuente: elaboración propia


• Tabla moneda

imagen 96consulta en Interbase; fuente: elaboración propia

imagen 97consulta en SQL server ;fuente: elaboración propia

• Tabla producto

imagen 98consulta en Interbase; fuente: elaboración propia


imagen 99consulta en SQL server ;fuente: elaboración propia

• Tabla stock

imagen 100 consulta en Interbase; fuente: elaboración propia

imagen 101 consulta en SQL server fuente: elaboración propia


• Tabla unidad venta

imagen 102 consulta en Interbase; fuente: elaboración propia

imagen 103 consulta en SQL server; fuente: elaboración propia

• Tabla ventas

imagen 104 consulta en Interbase; fuente: elaboración propia


imagen 105consulta en SQL server; fuente: elaboración propia
CAPITULO VII
Rendimiento

7.1. Control de Concurrencia


El término concurrencia se refiere al hecho de que los DBMS (Sistemas de

Administración de Bases de Datos) permiten que muchas transacciones accedan a una

misma base de datos a la vez. Como bien es sabido, en un sistema de éstos se necesita algún

tipo de mecanismo de control de concurrencia para asegurar que las transacciones

concurrentes no interfieran entre sí El control de accesos concurrentes y específicamente

de transacciones concurrentes es manejado por un módulo del DBMS llamado "scheduler

(Valle 2005)

El control de transacciones concurrentes en una base de datos brinda un

eficiente desempeño del Sistema de Base de Datos, puesto que permite controlar la

ejecución de transacciones que operan en paralelo, accesando a información compartida y,

por lo tanto, interfiriendo potencialmente unas con otras. (Valle 2005)

7.1.1 Scheduler del DBMS


El calendarizador crea agendas, secuencias ordenadas de las acciones tomadas por

una o más transacciones. El siguiente ejemplo muestra 2 transacciones cuya única

característica de consistencia es que A=B ya que ambas operaciones son iguales para ambos

elementos. Por otro lado, sabemos que si las transacciones son ejecutadas aisladamente la

consistencia se preservará. Es importante recordar que muchos de los datos de la base no

se encuentran nada más en disco, sino también en los buffers memoria, de ahí que el

scheduler interactúa con ellos y en su defecto solicita la lectura de los datos del disc

(sawatkar 2013)
Control de Concurrencia Multiversion

Este control de concurrencia los valores antiguos de un elemento de información

cuando este se actualiza estos se conocen como técnicas de control de concurrencia de 2

multiversion por que se mantienen varias versiones valores de un elemento cuando una

transacción requiere acceso a un elemento se elige una versión apropiada para mantener la

sociabilidad del plan que se está ejecutando si es posible la idea consiste en que algunas

operaciones de lectura que será rechazadas si se usaran otras técnicas se pueden aceptar

leyendo una versión anterior del elemento a fin de mantener la sociabilidad cuando una

transacción escribe un elemento escribe una nueva versión y se conserva la versión anterior

de dicho elemento. Una desventaja obvia de las técnicas de multiversion es que se requiere

más almacenamiento para mantener múltiples versiones de elementos de la base de datos

sin embargo es posible que de todos modos sea necesario mantener versiones anteriores

7.2. Optimización de Consultas, Heurística, Creación de Índices, Plan de Ejecución de


Consultas

7.2.1. Optimización de consultas


La optimización es la acción y efecto de optimizar. Este verbo hace referencia

a buscar la mejor manera de realizar una actividad. El término se utiliza mucho en el ámbito

de la iinformática. Cuando hablamos de optimización de consultas nos referimos a mejorar

los tiempos de respuesta en un sistema de gestión de bases de datos relacional, pues la

optimización es el proceso de modificar un sistema para mejorar su eficiencia o también el

uso de los recursos disponibles.

En bases de datos relacionales el lenguaje de consultas SQL es el más utilizado por

el común de los programadores y desarrolladores para obtener información desde la base

de datos. La complejidad que pueden alcanzar algunas consultas puede ser tal, que el diseño

de una consulta puede tomar un tiempo considerable, obteniendo no siempre una respuesta

óptima.
A nivel general, la optimización puede realizarse en diversos ámbitos, pero siempre

con el mismo objetivo: mejorar el funcionamiento de algo o el desarrollo de un proyecto a

través de una gestión perfeccionada de los recursos. La optimización puede realizarse en

distintos niveles, aunque lo recomendable es concretarla hacia el final de un proceso. El

Objetivo de la optimización de consultas es elegir la estrategia de ejecución que minimiza

el uso de los recursos

7.2.2. Optimización Heurística


Un método heurístico es un conjunto de pasos que deben realizarse para identificar

en el menor tiempo posible una solución de alta calidad para un determinado problema; es

un enfoque que aprovecha la estructura del problema mediante el uso de un conjunto de

reglas “racionales”, obteniendo una solución buena, es decir cercana a la óptima o en

ocasiones la óptima. Un método heurístico es un procedimiento para resolver un problema

de optimización mediante una aproximación intuitiva, en la que la naturaleza intrínseca del

problema se usa de manera inteligente para obtener una buena solución. En contraposición

de los métodos exactos que proporcionan una solución óptima del problema, los métodos

heurísticos se limitan a encontrar una buena solución, aunque no necesariamente la óptima.

Lógicamente, el tiempo que tarda un método exacto para encontrar una solución óptima de

un problema difícil es de un orden de magnitud muy superior al de un método heurístico.

(Pérez y Gardey,2009)

Los métodos heurísticos son de naturaleza muy diferentes; por ejemplo, tenemos

los métodos de descomposición los cuales descomponen el problema en subproblemas más

sencillos de resolver. Los métodos inductivos pretenden generalizar de versiones pequeñas

al caso completo. Los métodos de búsqueda local son aquellos que comienzan con una

solución del problema y la mejoran progresivamente (los algoritmos genéticos pertenecen

a esta categoría). Los métodos constructivos son deterministas y consisten en construir paso

a paso una solución del problema, y suelen mejorar la elección en cada iteración, Los
algoritmos de aproximación como el algoritmo de Christofides pertenecen a esta categoría

(Pérez y Gardey,2009).

7.2.3. Creación de índices


Un índice es una estructura interna que el sistema puede usar para encontrar 1 o más

registros en una tabla de forma rápida, un índice de Base de Datos se crea para una columna

o grupo de columnas, un índice de Base de Datos se crea para una columna o grupo de

columnas. A un índice se le asigna un nombre de acuerdo con las mismas reglas que se

aplican para los nombres de tablas. Los índices son "estructuras" alternativa a la

organización de los datos en una tabla. El propósito de los índices es acelerar el acceso a

los datos mediante operaciones físicas más rápidas (Scribd,2018).

¿Por qué usar Índices?

Mayor velocidad para localizar datos.

Reforzar la identificación única.

Tipos de Índices:

a) Índice único (UNIQUE, ADD UNIQUE): Un índice único no permite la

inserción los valores duplicados en dicha columna que marquemos como único. Se puede

aplicar a varias columnas.

b) Primario (PRIMARY KEY): Un índice primario es también conocido como

Primary KEY, permite crear un índice en cuyo valor es único y no puede ser NULL. Solo

puede haber un índice primario por tabla.

c) Índice Ordinario (ADD INDEX): Este tipo de índice permite la existencia o

inserción de valores duplicados en una tabla. Con este tipo solamente mejoramos la

ejecución y rendimiento de las consultas. .

d) Índices con parte de campos o columnas: Similar al índice FULLTEXT, pero

solamente cogiendo parte del contenido de la columna. Este tipo de índices aligeran las

consultas sobre campos de textos. Por ejemplo si realizamos búsquedas sobre tablas de
nombres o apellidos con seleccionar los primeros caracteres nos valdría para realizar la

comparación.

7.2.4. Plan de Ejecución de consultas

La ejecución de consultas y sentencias en un plan de ejecución de consultas gráfico

es mostrada por íconos. Cada ícono tiene un color específico y representa una acción

específica. Como se muestra en Viendo los planes, los planes de ejecución de consultas

también pueden ser mostrados como XML. La presentación gráfica provee un

entendimiento rápido de las características y estructura básicas del plan, por lo tanto, es útil

para el análisis del desempeño. También provee suficiente información para un análisis

más profundo (Petrovic,2018)

Líneas generales para leer un plan de ejecución de consultas:

• El plan de ejecución de consultas gráfico tiene la forma de un árbol. La estructura de

árbol depende de las sentencias en la consulta

• Cada consulta en un lote es mostrada en el plan

• Cada ícono presenta un operador

• Los íconos son leídos de derecha a izquierda, de arriba abajo

• El árbol muestra nodos a nivel de padres e hijos

• Cada nodo hijo está conectado a un nodo padre por flechas

7.3. Estimación de Costos de Procesamiento de consultas


• Consultas en paralelo en cada nodo

–Costo de transferencia de los datos sobre la red.

• Información sobre las fuentes y la red no disponible

–Costo local de las consultas es desconocido

–Difícil de estimar las estadísticas sobre los datos

–Costos de transferencias impredecibles.

• Problema de la Autonomía:

–Control completo sobre los datos locales

–Sitios libres de unirse o no al sistema (autónoma de comunicación)

–Optimizador de consultas locales (autónoma de diseño)(Hace que la estadística

global de costo quede desactualizada)

–Cooperan a través de la interface, no hay oportunidad de cooperación abajo nivel

(no semi-join).
Optimización por Costos

● Plan Físico

– Le asocia a cada operador del álgebra que aparece en un plan lógico, una

implementación.

– Como se pueden considerar diferentes implementaciones para cada operador,

entonces un mismo plan lógico puede originar diferentes planes físicos.

– Es necesario estimar el costo (cantidad de operaciones de I/O) de los diferentes

planes que se generen y elegir el de costo mínimo.

● Para evaluar el costo, es necesario considerar ciertos parámetros que tienen

influencia en el cálculo de la cantidad de operaciones de I/O.

7.4. Balanceo de Carga

El balance o balanceo de carga es un concepto usado en informática que se refiere

a la técnica usada para compartir el trabajo a realizar entre varios procesos, ordenadores,

discos u otros recursos. Está íntimamente ligado a los sistemas de multiprocesamiento, o

que hacen uso de más de una unidad de procesamiento para realizar labores útiles.

(Wikipedia 2016)

Cuando un Reuter detecta varias rutas a una red específica a través de varios

procesos de ruteo (o protocolos de ruteo, como RIP, RIPv2, IGRP, EIGRP y OSPF), instala

la ruta con la mínima distancia administrativa en la tabla de ruteo. Consulte Selección de

Rutas en Routers de Cisco para obtener más información. A veces, el router debe

seleccionar una ruta entre varias que se detectaron a través del mismo proceso de ruteo con

la misma distancia administrativa. En este caso, el router elige la trayectoria con el costo

más bajo (o la métrica más baja) hacia el destino. Cada proceso de ruteo calcula su costo

de forma diferente y es posible que se deban manipular los costos para alcanzar el balanceo

de carga. Si el router recibe e instala varias trayectorias con el mismo costo y la misma
distancia administrativa a un destino, puede ocurrir el balanceo de carga. La cantidad de

trayectorias que se utilizan está limitada por la cantidad de entradas que el protocolo de

ruteo coloque en la tabla de ruteo. El valor predeterminado es cuatro entradas en el IOS

para la mayoría de los protocolos de ruteo IP, con la excepción de Border Gateway Protocol

(BGP), donde el valor predeterminado es una entrada. La cantidad máxima es seis

trayectorias diferentes configuradas. (Wikipedia 2016)

Los procesos de ruteo IGRP y EIGRP también soportan el balanceo de carga de

costos desiguales. Puede usar el comando variance con IGRP y EIGRP para lograr el

balanceo de carga de costos desiguales. Ejecute el comando maximum-paths para

determinar la cantidad de rutas que se pueden instalar según el valor configurado para el

protocolo. Si usted configura la tabla de ruteo en una entrada, inhabilita el balanceo de

carga. Consulte ¿Cómo Funciona el Balanceo de Carga de Trayectorias de Costos

Desiguales (Variación) en IGRP y EIGRP? para obtener más información sobre la

variación. (Wikipedia 2016)

7.5. Demostración del Rendimiento en el Gestor

Antes de empezar es importante mencionar que el redimiento se realizará con una

laptop de las siguientes características

Anteriormente realizamos una migración de datos a nuestra base de datos por lo tanto Usaremos esa

base de datos para nuestra práctica de rendimiento acontinuacion se muestra la consulta que se estara

ejecutando
Ilustración106 consulta en Interbase fuente: elaboración propia

Una vez ejecutada la consulta obtenemos las siguientes estadísticas de

rendimiento con un tiempo de 17.25.0328 minutos.

Ilustración 107 ejecución de consulta ; fuente: elaboración propia


Ahora apagaremos nuestra laptop para limpiar la memoria cache. Una vez

prendida nuevamente nuestra laptop procederemos a crear los índices, los cuales nos

ayudaran a conseguir los datos necesarios para nuestra consulta en el menor tiempo

posible. A continuación, veremos cómo crear un índice. Damos click derecho sobre la

barra de información de índices y nos dirigimos hacia “Create” y lo clickeamos, nos

aparecerá una ventana.

Ilustración 107cracion de indices , fuente:elaboracion propia

Colocamos el nombre del índice y seleccionamos la tabla con la que trabajaremos,

en este caso, trabajaremos con la table “VENTA”, una vez seleccionado la tabla

buscaremos los campos que usaremos con el índice.


Ilustración 108 insertar nombre del indice ; fuente : elaboracion propia

Una vez seleccionados los campos, damos en “OK” y continuamos.

Ilustración108 inserción de campos, fuente: elaboración propia


De la misma forma creamos los índices para la tabla producto

Ilustración 109 indice de la tabla producto ,fuente :elaboracion propia

También creamos un índice para la tabla detalleventa

Ilustración 110 indece para la tabla detalle venta , fuente: elaboración propia
Una vez creaados los indeces ejecutamos nuevamente la misma consulta y

obtenes el siguiente resultado de rendimiento obteniendo un tiempo de 3.57.0672

minutos.

Ilustración 111 tiempo estimado con índices ;fuente: elaboración propia

Luego nos vamos a la opción que dice “plan” para poder observar el plan de

ejecución teniendo en cuenta que nuestra herramienta IB CONSOLE no tiene para

observarla de manera grafica si no en texto

Ilustración112 plan de ejecución ; fuente: elaboración propia


CAPITULO VIII

Encriptación o cifrado de datos

Interbase soporta tanto el cifrado DES como AES. (AES 256bit

recomendado). Cuando utilice el cifrado, debe crear una clave de respaldo que admita el

nivel más alto de cifrado en el archivo de base de datos. Esta clave de copia de seguridad

no permitirá el acceso a los datos, pero permitirá que scripts externos realicen una copia de

seguridad de la base de datos. Esto es especialmente útil si la base de datos será respaldada

por administradores de red que no necesitan ver los datos. (Ball, 2014)

Cifrado de columnas Con la configuración de los usuarios de la base de datos y

las claves de cifrado creadas, ahora es el momento de cifrar los datos que queremos cifrar

específicamente. EL Cifrado a nivel de columna puede ser mucho más eficiente que tener

toda la base de datos cifrada. (Ball,2014)

Para el control de los niveles de cifrado de datos, Interbase recomienda usar

SYSDSO (Data Security Office) como inicio de sesión para administrar la seguridad. La

secuencia de comandos primero crea SYSDSO en la base de datos (lo que requiere que las

opciones de administración / autenticación de usuario integrada estén habilitadas). La

autenticación de usuarios integrada de Interbase coloca a todos los usuarios dentro del

archivo de la base de datos para garantizar que la seguridad sea transportable durante todo

el ciclo de vida del desarrollo). (Ball,2014)


8.1 Creación función externa

Las funciones externas, también conocidas como " funciones definidas por el usuario " (UDF)

son programas escritos en un lenguaje de programación externo y almacenados en bibliotecas

cargadas dinámicamente. Una vez declarados a una base de datos, están disponibles en

declaraciones dinámicas y de procedimiento como si se implementaran en el lenguaje SQL

internamente. Las funciones externas amplían considerablemente las posibilidades de

procesamiento de datos con SQL. Para hacer que una función esté disponible para una base

de datos, se declara utilizando la instrucción DECLARE EXTERNAL FUNTION (firebird

,2109)

8.1.2 Cláusulas de las funciones y palabras clave

Cláusula RETURNS:(Requerido) especifica el parámetro de salida devuelto por la

función. Una función es escalar: devuelve uno y solo un parámetro. El parámetro de salida

puede ser de cualquier tipo de SQL (excepto una matriz o un elemento de matriz) o una cadena

terminada en nulo ( CSTRING ). El parámetro de salida se puede pasar por referencia (el valor

predeterminado), por descriptor o por valor. Si se especifica la cláusula BY DESCRIPTOR ,

el parámetro de salida se pasa por el descriptor. Si se especifica la cláusula BY VALUE , el

parámetro de salida se pasa por valor. (firebird ,2109)

Palabra clave PARÁMETRO: especifica que la función devuelve el valor del

parámetro con el número param_num . Es necesario si necesita devolver un valor de tipo de

datos BLOB. (firebird ,2109)


Palabra clave FREE_IT: significa que la memoria asignada para almacenar el valor

de retorno se liberará después de que se ejecute la función. Se utiliza solo si la memoria se

asignó dinámicamente en la UDF. En tal UDF, la memoria debe asignarse con la ayuda de

la función del módulo, un requisito de compatibilidad con las funciones usadas en el código

Firebird y en el código de los módulos UDF enviados, para asignar y liberar memoria.

(firebird ,2109)

Cláusula ENTRY_POINT: especifica el nombre del punto de entrada (el nombre

de la función importada), como se exporta desde el módulo.

Cláusula MODULE_NAME: define el nombre del módulo donde se encuentra la

función exportada. El enlace al módulo no debe ser la ruta completa y la extensión del archivo,

si eso se puede evitar. Si el módulo se encuentra en la ubicación predeterminada (en el

subdirectorio ../UDF de la raíz del servidor Firebird) o en una ubicación explícitamente

configurada facilita mover la base de datos entre diferentes

plataformas. El parámetro UDFAccess en el archivo [Link] permite configurar las

restricciones de acceso a los módulos de funciones externas. (firebird ,2109 Cualquier

usuario conectado a la base de datos puede declarar una función externa


❖ 8.2 Demostración de encriptación o cifrado de datos en el gestor

interbase

Como primer paso nos dirigimos a crear una base de datos,

Ilustración 113 creación de la base de datos

Luego nos dirigimos a crear las tablas

Una vez creada las tablas empezamos con la realización de la encriptación

Ojo: debemos aclarar que no encontramos un algoritmo para Interbase donde se realiza la
encriptación, es por eso que crearemos nuestro propio algoritmo, teniendo en cuenta la secuencia
de encriptación del gestor firebird, es por ello que como parte introductoria a este tema
conceptualizamos algunas funciones que se van a utilizar
Creación del algoritmo. -Como primer paso creamos las funciones externas o EXTERNAL

FUNTION con la siguiente sintaxis

Una vez creada las funciones continuamos a crear un procedimiento almacenado

lo cual se llamará encriptación donde se dará uso de ellas

Ilustración114Funcion de encriptación
Ilustración115 función de encriptación
• Una vez creado el algorimo procedemos a hacer la validacion del este .

Acontinuacion vamos a ejecutar :

Ilustración 115 encriptación realizada ,fuente: elaboración propia

Como observamos los datos se encriptan correctamente


CAPITULO IX
Disponibilidad

9.1. Definición e Importancia de una Disponibilidad

Disponibilidad Es un protocolo de diseño del sistema y su implementación

asociada que asegura un cierto grado absoluto de continuidad operacional durante un

período de medición dado. Disponibilidad se refiere a la habilidad de la comunidad

de usuarios para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos

existentes o recoger los resultados de trabajos previos. Si un usuario no puede acceder al

sistema se dice que está no disponible. . (Evera,2015)

Nos referimos a este término cuando hablamos del acceso de personas u organismos

a los datos con los que se trabaja. El departamento de informática debe poner en marcha

determinados mecanismos que garanticen que los interesados que estén autorizados a

acceder a esta información puedan hacerlo de forma segura y sencilla. Es clave que el

informático garantice que se pueda acceder tanto a estos datos como a procesos en sí en

cualquier momento de forma rápida y sencilla y solucionar posibles problemas cuando

puedan surgir. (Evera,2015)

En su nivel más simple, disponibilidad ya sea alta, baja, o en un término medio, es una

medida de tiempo que el sistema está funcionando normalmente. De lo cual se puede tener

una ecuación para calcular la disponibilidad:

D = TMEF/(TMEF + TMRF)
Donde D es el grado de disponibilidad expresado como porcentaje, TMEF es el tiempo

medio entre fallas, y TMRF es el máximo tiempo para reparar o resolver un problema

particular. La disponibilidad informática forma parte del día a día de una empresa, por lo

que conocer los mecanismos a poner en marcha y las estrategias de seguridad necesarias

para poder garantizar la seguridad del proceso es crucial para cualquier compañía.

Recuerda que este concepto va muy unido a otros como la confidencialidad, que trabaja

con el objetivo de evitar el conocimiento de determinados datos por personas no

autorizadas; la integridad, que se orienta a la no manipulación de la información y a la

autenticación, como un proceso de comprobación de la identidad de las personas y

entidades con acceso. Así, un buen servicio de disponibilidad de la información trabaja

constantemente en la garantía del acceso a las personas autorizadas a ello y en los procesos

de seguridad necesarios para evitar un ataque que lo impida en algún momento. Incorporar

procesos de este tipo al día a día de una compañía es un recurso que muchas empresas

deberían valorar (Evera,2015)

9.2. Copia de Seguridad (Backups) de una Base de Datos


La copia de seguridad, también llamada respaldo o backup, se refiere a la copia de archivos

físicos o virtuales o bases de datos a un sitio secundario para su preservación en caso de falla

del equipo u otra catástrofe. El proceso de copia de seguridad de los datos es fundamental para

un plan de recuperación de desastres (DRP) exitoso. (Rouse 2019)

El componente de copia de seguridad y restauración ofrece una protección esencial

para los datos críticos almacenados en las bases de datos de . Para minimizar el riesgo de
pérdida de datos catastrófica, debe realizar copias de seguridad de las bases de datos para

conservar las modificaciones en los datos de forma periódica. Una estrategia de copias de

seguridad y restauración correctamente planeada contribuye a la protección de las bases de

datos de la pérdida de datos derivada de daños causados por diferentes errores. Pruebe la

estrategia mediante la restauración de las copias de seguridad y la posterior recuperación

de la base de datos para estar preparado y poder responder de forma eficaz ante un desastre

(Rouse 2019)

9.2.1 Por qué realizar copias de seguridad

La copia de seguridad de las bases de datos, la ejecución de procedimientos de

restauración de prueba de las copias de seguridad y el almacenamiento de las copias en

una ubicación segura y fuera del sitio contribuyen a protegerse ante una pérdida de

datos catastrófica. Las copias de seguridad son la única forma de proteger los datos.

(Rouse 2019)

Con las copias de seguridad válidas de una base de datos puede recuperar los datos en

caso de que se produzcan errores, por ejemplo:

o Errores de medios.

o Errores de usuario, por ejemplo, quitar una tabla por error.

o Errores de hardware, por ejemplo, una unidad de disco dañada o la pérdida

permanente de un servidor.

o Desastres naturales. El uso de la copia de seguridad de SQL Server en el servicio de

almacenamiento Blob de Windows Azure le permite crear una copia de seguridad


externa en una región diferente de la ubicación local, con lo que podrá utilizarla en

caso de que un desastre natural afecte a su ubicación.

Además, las copias de seguridad de una base de datos son útiles para fines

administrativos habituales, como copiar una base de datos de un servidor a otro,

configurar Grupos de disponibilidad AlwaysOn o la creación de reflejo de la base de

datos y el archivo.

9.3. Técnicas de Recuperación de Datos para la restauración de una base


de datos corrupta a un estado previo libre de daños.

9.3.1 Copias de seguridad de la base de datos

Para poder efectuar cualquier tipo de restauración de una base de datos, es necesaria

la realización de copias de seguridad (backups) de la base de datos de forma periódica. Este

proceso consiste en la escritura de una copia exacta de la base de datos en un dispositivo

magnético separado del que contiene a la propia base de datos. En los sistemas más grandes,

este dispositivo suele ser una cinta magnética. En los sistemas basados en

microordenadores, puede tratarse de un cartucho de cinta de casete, o de uno o más discos

flexibles. Habitualmente, mientras se está generando una copia de seguridad es preciso

detener todas las demás actividades de la base de datos.

A menudo se realiza más de una única copia, que luego se almacenan en un lugar

lejos del ordenador, y alejadas entre sí, con el fin de que si algún tipo de suceso catastrófico

produjese la destrucción del ordenador, al menos una de las copias en cinta no resultase
dañada por el mismo suceso. Cuando se trata de bases de datos críticas, como las que

guardan información bancaria, suele guardarse al menos una copia en un lugar alejado

bastantes kilómetros de la instalación del ordenador. Además, no es raro que se mantengan

varias generaciones de copias, para añadir un nivel de seguridad adicional.( Paloma ,

2012)

9.3.2 Diarios de transacciones y restauración/ejecución

Una extensión de la técnica anterior consiste en el mantenimiento automático de un

fichero de ordenador, que contenga una lista de los cambios hechos en la base de datos

entre dos copias de seguridad consecutivas.

Esta lista se conoce como diario de transacciones, y se mantiene siempre en un

dispositivo físico diferente del que almacena a la propia base de datos. Habitualmente se

utiliza para este propósito una unidad de cinta magnética, o una unidad de disco diferente.

La razón para usar un dispositivo separado es simplemente que si la base de datos resulta

dañada, la causa de dicho daño no tiene por qué afectar a los datos almacenados en un

dispositivo físico diferente. (Paloma, 2012)

9.3.3. Recuperación por retroceso

La recuperación por retroceso resulta útil en situaciones en las que el procesamiento

de la base de datos se ve interrumpido, pero la base de datos en sí no resulta dañada de

forma alguna. Un ejemplo de esto podría ser algún tipo de fallo que produzca una

terminación anormal de la ejecución del SGBD. Las transacciones en marcha podrían ser

abortadas antes de su finalización, y los registros asociados a las mismas quedarían en


estados desconocidos, aunque el resto de la base de datos no se vería afectada. ( Paloma ,

2012)

La técnica de recuperación por retroceso requiere que el diario de transacciones

contenga imágenes iniciales de cada registro de la base de datos que haya sufrido

modificaciones desde la última copia de seguridad. Una imagen inicial es una copia de un

registro tal como se encontraba inmediatamente antes de ser modificado como parte de una

transacción, es decir, justo antes del inicio de dicha transacción.

9.3.4 Recuperación por adelantado

El adelanto es otro tipo de mecanismo de recuperación, que se usa a menudo cuando

una base de datos ha sido dañada y debe, por tanto, ser restaurada a partir de una copia de

seguridad. Se parece a la técnica del retroceso, y comparte con ésta la ventaja de que es

mucho más rápida que el método de restauración/reejecución. Requiere que el diario de

transacciones contenga una imagen final de cada registro de la base de datos que ha sido

modificado desde la última copia. Una imagen final es una copia de un registro,

inmediatamente después de haber sido modificado como parte de una transacción, es decir,

en el estado en que se encuentra al finalizar dicha transacción. ( Paloma , 2012)

9.4. Alta Disponibilidad, Estrategias

Alta disponibilidad es un protocolo de diseño del sistema y su implementación

asociada que asegura un cierto grado absoluto de continuidad operacional durante un

período de medición dado. Disponibilidad se refiere a la habilidad de la comunidad

de usuarios para acceder al sistema, someter nuevos trabajos, actualizar o alterar trabajos
existentes o recoger los resultados de trabajos previos. Si un usuario no puede acceder al

sistema se dice que está no disponible. El término tiempo de inactividad (downtime) es

usado para definir cuándo el sistema no está disponible( Tapia 2012)

Debe haber una base de datos una alta disponibilidad para asegurarse de que los

datos estén disponibles si se produce una anomalía. Puede introducir una base de datos

con funciones que se adapte a las necesidades de su organización, según el nivel de

protección y los costes asociados.

Un servidor de bases de datos puede fallar como resultado de cualquiera de los

siguientes factores:

• Ambientales, como la temperatura

• Anomalía de hardware

• Error de software

• Interrupción conectividad de red

• Intervención de usuario

Estrategias (Clustering, Replicación)

Clustering, Grupo de máquinas interconectadas en red que cooperan entre si para

procesar datos en paralelo y divide un gran problema en problemas más pequeños, Resuelve

el gran problema resolviendo la suma de los problemas más pequeños

Tipos de clustering
• Failover: usa la técnica activo – pasivo, es decir un servidor espera que el otro

muera para maximizar la disponibilidad Los datos son accedidos únicamente por el único

nodo activo, pues el otro no tiene acceso a los datos

• Activo – Activo: Los dos servidores acceden al arreglo externo de datos pero

a unidades lógicas diferentes, ej: Servidor web en un servidor y SGBD en otro servidor Si

llegaran a acceder a la misma unidad se destruyen los datos

Replicación No usa almacenamiento externo

• Los datos se replican desde un nodo hacia el otro consumiendo mucho

procesador y RAM

• Cuando hay un fallo el tiempo de recuperación es muy alto

• Ideal para organizaciones muy pequeñas que no tienen presupuesto

• Consiguen una baja disponibilida

9.5. Demostración de las Herramientas de Disponibilidad en el Gestor

9.5.1 sacar una copia de seguridad y como restaurarlo, además de ciertas opciones de
configuración de copias de seguridad propias de cada gestor

Para sacar una copia de seguridad y realizar la restauración debemos haremos un


BACKUP Y para este ejemplo utilizaremos la base de datos creada
• Crearemos una tabla e insertamos los datos
Ilustració116 Creacion de tablas fuente :elaboracion propia

• Luego conectarnos a la base de datos como propietario de la base de datos.

Ilustración 117 conexión de la base de datos fuente: elaboración propia


Le damos click derecho sobre la base de datos de la que necesitamos sacar una copia

de seguridad o Backup.

Ilustració118 sacamos copia se seguridad , fuente: elaboración propia

- Se muestra el cuadro de diálogo para el Backup de la base de datos

Ilustración 119 Cuadro de dialogo fuente: elaboración propia

IBConsole proporciona un nombre de archivo predeterminado para el archivo de copia de

seguridad. Para anular esto, haga clic en el botón de exploración a la derecha del cuadro de

entrada File Name. Aquí puede seleccionar otro archivo de copia de seguridad o crear un

nuevo nombre de archivo, para el ejemplo dejaremos como está y le damos en ok para

continuar.
Finalmente nos aparecerá un mensaje diciendo que se completó la copia de seguridad de la
base de datos

Ilustración 120 copia de seguridad completada, fuente: Elaboración propia

Una vez creado el Backup. Nos dirigimos a realizar la restauracios en otra maquina

• Creamos una base de datos receptora con el siguiente nombre(restauración)

Ilustración 121 creacion de base de datos restauracion

• Una vez creada la base de datos daremos clip derecho en backup y restauraremos la
base base de datos.

Ilustración 122 Restauración de backup fuente: elaboración propia


• Seguidamente nos aparecera un nueva pestaña don selecionaremos el backup que

deseamos restaurar y la base de datos receptora

Ilustración 123 Seleccionar backup, fuente: Elaboración propia

• Una vez selecionado el backup y la base de datos receptora le damos click en ok. luego

de eso nos aparecera un mensaje que nuetra base de daotos se retauro completamente.

Ilustración 124 Restauración completado , fuente elaboración propia


ahora revisamos que se hayan restaurado todas las tablas y su respectivos datos para tener
una mayor seguridad

Ilustración 2 Copia de seguridad restaurada fuente: Elaboración propia

Implemente una copia de seguridad automática (programada) a una cierta


hora y fecha
• En este caso, creamos un archivo “bat” el cual ejecuta la tarea de sacar un backup a
cierta base de datos

Ilustración 325 Archivo bat ;fuente:elaboracion propia


9.5.3 En el hipotético caso de que no existiera una copia de seguridad y solo
tuviéramos los archivos físicos de la base de datos. Indique el procedimiento
a seguir en su Gestor para volver a poner activa la base de datos.
Se dice que es fácil de poder llevar una base de datos de una máquina a otra, lo

único que se necesita es tener el gestor de base de datos Interbase instalado en el otro

ordenador, si hipotéticamente surge un problema con el sistema operativo de la laptop en

la cual trabajo la base de datos, y no puedo ingresar a ninguno de los archivos por tener

dañado el sistema operativo. De alguna manera, extrayendo directamente del disco duro de

la máquina afectada, el archivo de la base de datos en la cual estaba

trabajando, solo lo copio y lo pego en otro ordenador que esté en buen

funcionamiento y tenga instalado Interbase. Por lo tanto, extraemos el disco y copiamos en

un al otro pc, en el segundo pc abrimos Interbase y añadimos la base de datos y listo ya

podemos volver a usarla.


CAPITULO X
Base de datos distribuidas

10.1 Computación distribuida

Según (Pérez,2019) La computación distribuida es un sistema de administración de

computadores en los cuales un conjunto de elementos de procesamiento independiente (no

necesariamente homogéneos) se interconectan por una red de comunicaciones y trabajan

entre ellos para efectuar sus tareas asignadas. El cómputo distribuido determina la forma

como se realizan los procesos entre ellas y las funciones de manejo de datos para el manejo

de funciones distribuidas y procesamiento distribuido de datos.

¿qué es una base de datos distribuidas?

una base de datos distribuida (bdd) es, una base de datos construida sobre una red de

computadores. la información que estructura la base de datos esta almacenada en diferentes

sitios en la red, y los diferentes sistemas de información que las utilizan accedan datos en

distintas posiciones geográficas.

por ende, una base de datos distribuida es una colección de datos que pertenecen

lógicamente a un solo sistema, pero se encuentra físicamente distribuido en varios

computadores o servidores de datos en una red de computadoras. un sistema de bases de

datos distribuidas se compone de un conjunto de sitios lógicos, conectados entre sí, mediante

algún tipo de red de comunicaciones, en el cual:

• cada sitio lógico puede tener un sistema de base de datos.


• los sitios han sido diseñados para trabajar en conjunto, con el fin de que un usuario

de cualquier posición geográfica pueda obtener acceso a los datos desde cualquier punto de la

red tal como si todos los datos estuvieran almacenados en la posición propia del usuario.

entonces, la llamada "base de datos distribuida" es en realidad una especie de “objeto virtual”,

cuyos componentes se almacenan físicamente en varias “bases de datos reales” ubicadas en

diferentes sitios. en esencia es la unión lógica de esas diferentes bases de datos.

Desde el punto de vista del usuario final, un sistema distribuido deberá ser idéntico

a un sistema no distribuido. los usuarios de un sistema distribuido se comportan en su

manipulación de información exactamente como si el sistema no estuviera distribuido. todos

los problemas de los sistemas distribuidos son de tipo interno o a nivel de realización, no

pueden existir problemas de tipo externo o a nivel del usuario final.

Los datos que se encuentran distribuidos en varios sitios y que están interconectados

por una red de comunicaciones tienen capacidad de procesamiento autónomo de

transacciones y hacer procesos locales. cada sitio realiza la ejecución de al menos una

transacción global, la cual requiere accesos a datos en diversos sitios.

10.1.1 Los principios fundamentales de un sistema de datos distribuido son:

Según (chinchilla,2018) los postulados no son todas independientes entre sí, ni tienen

toda la misma importancia que cada usuario le otorgue. sin embargo, sí son útiles como

fundamento para entender la tecnología distribuida y como marco de referencia para

caracterizar la funcionalidad de sistemas distribuidos específicos.


• Autonomía local: los sitios o posiciones de un sistema distribuido deben ser

autónomos. la autonomía local significa que todas las operaciones en un sitio determinado se

controlan en ese sitio; ningún sitio a deberá depender de algún otro sitio b para su buen

funcionamiento (pues de otra manera el sitio a podría ser incapaz de trabajar, aunque no tenga

en sí problema alguno, si cae el sitio b). la autonomía local significa que existe un propietario

y un administrador local de los datos, con responsabilidad local: todos los datos pertenecen a

una base de datos local, aunque los datos sean accesibles desde algún sitio distante. todo el

manejo de la seguridad y la integridad de los datos se efectúan con control de la instalación y

administración local.

• Dependencia de un sitio central: la no dependencia de un sitio central, sería

lo ideal, pero si esto no se logra la autonomía local completa se vería comprometida. la

dependencia de un sitio central no es práctica al menos por las siguientes razones: en primer

lugar, estos sitios podrían generar un cuello de botella, y, en segundo lugar, el sistema sería

vulnerable; si el sitio central sufriera un desperfecto, todo el sistema dejaría de funcionar.

• Operación continúa: en un sistema distribuido, lo mismo que en uno no

distribuido, nunca debería haber necesidad de apagar o dejar de funcionar. es decir, el

sistema nunca debería necesitar apagarse para que se pueda realizar alguna operación, como

añadirse un nuevo sitio o instalar una versión mejorada del sgbd en un sitio ya existente.

• Independencia con respecto a la localización: la independencia con respecto

a la localización, permite que los usuarios finales no sepan dónde están almacenados

físicamente los datos, sino que trabajen como si todos los datos estuvieran almacenados en

su propio sitio local. la independencia con respecto a la localización es deseable porque

simplifica los sistemas de información de los usuarios y sus actividades en la terminal. esto
hace posible la migración de datos de un sitio a otro sin anular la validez de ninguno de esos

sistemas o actividades. esta función de migración permite modificar la distribución de los

datos dentro de la red, en respuesta a cambios en los requerimientos de desempeño.

• Independencia con respecto a la fragmentación: un sistema tiene

fragmentación de datos solo si es posible dividir una relación en partes o "fragmentos" para

propósitos de almacenamiento físico. la fragmentación es deseable por razones de

desempeño: los datos pueden almacenarse en la localidad donde se utilizan con mayor

frecuencia, de manera que la mayor parte de las operaciones sean solo locales y se reduzca

el tráfico en la red de cómputo. existen en esencia dos clases de fragmentación, la

fragmentación horizontal y la fragmentación vertical; estos tipos de fragmentación son

correspondientes a las operaciones relacionales de restricción y proyección,

respectivamente. un fragmento puede ser cualquier sub relación que pueda derivarse de la

relación original mediante operaciones de restricción y proyección; la reconstrucción de la

relación originada a partir de los fragmentos se hace mediante operaciones de reunión y

unión (reunión en el caso de fragmentación vertical, y la unión en casos de fragmentación

horizontal).

• Independencia de réplica: un sistema maneja réplica de datos si una relación

dada se puede representar en el nivel físico mediante varias copias réplicas, en muchos sitios

distintos. la réplica es deseable al menos por dos razones: en primer lugar, puede producir

un mejor desempeño (las aplicaciones pueden operar sobre copias locales en vez de tener

que comunicarse con sitios remotos); en segundo lugar, también puede significar una mejor

disponibilidad (un objeto estará disponible para su procesamiento en tanto esté disponible

por lo menos una copia, al menos para propósitos de recuperación). la desventaja principal
de las réplicas es cuando se pone al día un cierto objeto copiado, deben ponerse al día todas

las réplicas de ese objeto. la réplica debe ser "transparente para el usuario final", un sistema

que maneja la réplica de los datos deberá ofrecer también una independencia de réplica

(conocida también como transparencia de réplica); es decir, los usuarios deberán

comportarse como si sólo existiera una copia de los datos.

• Procesamiento distribuido de consultas: este manejo de datos en las consultas

permite las consultas eficientes desde diferentes usuarios con las características que

determine el sistema; la consulta de datos es más importante en un sistema distribuido que

en uno centralizado. lo esencial es que, en una consulta donde están implicados varios sitios,

habrá muchas maneras de trasladar los datos en la red de cómputo para satisfacer la solicitud,

y es crucial encontrar una estrategia suficiente. por ejemplo, una solicitud de unión de una

relación rx almacenada en el sitio x y una relación ry almacenada en el sitio y podría llevarse

a cabo trasladando rx a y o trasladando ry a x, o trasladando las dos a un tercer sitio z.

• Manejo distribuido de transacciones: este manejo tiene dos aspectos

principales, el control de recuperación y el control de concurrencia, cada uno de los cuales

requiere un tratamiento más amplio en el ambiente distribuido. en un sistema distribuido,

una sola transacción puede implicar la ejecución de programas o procesos en varios sitios

(en particular puede implicar actualizaciones en varios sitios). por esto, cada transacción está

compuesta de varios agentes, donde un agente es el proceso ejecutado en nombre de una

transacción dada en determinado sitio. y el sistema necesita saber cuándo dos agentes son

parte de la misma transacción. es importante aclarar que no puede haber un bloqueo mutuo

entre dos agentes que sean parte de la misma transacción.


• Independencia con respecto al equipo: las instalaciones de cómputo en el

mundo real por lo regular incluyen varias máquinas de diferentes marcas comerciales como

ibm, dell, hp, sun, entre otras; por esta razón existe una verdadera necesidad de poder

integrar los datos en todos esos sistemas y presentar al usuario "una sola imagen del sistema".

por tanto, conviene ejecutar el mismo sgbd en diferentes equipos, y además lograr que esos

diferentes equipos se integren en un sistema distribuido.

• Independencia con respecto al sistema operativo: es necesario y conveniente

no sólo de poder ejecutar el mismo sgbd en diferentes equipos, sino también poder ejecutarlo

en diferentes sistemas operativos y lograr que una versión linux y una windows participen

todas en el mismo sistema distribuido.

• Independencia con respecto a la red: si el sistema puede manejar múltiples

sitios, con equipos distintos y diferentes sistemas operativos, resulta obvia la conveniencia

de manejar también varios tipos de redes de comunicación distintas.

• Independencia con respecto al sgbd: en la independencia con respecto a su

manejo, se requiere que los sgbd en los diferentes sitios manejen toda la misma interfaz; no

necesitan ser por fuerza copias del mismo sistema.

10..2 Partición vertical y horizontal (fragmentación)

Según (Pereira2014) para acceder a una porción de datos en un bdd, un programa

busca y recupera el dato que necesita. dicho dato no se mueve por todo el sistema, sino que

reside en una localidad. los procesos que se ejecutan utilizan operaciones algebraicas para

determinar su ubicación y recuperarlo.


• fragmentación es la descomposición o partición de una tabla en pedazos

llamados fragmentos. La fragmentación básicamente se puede hacer de dos formas:

✓ fragmentación horizontal. selecciona registros completos de una relación

✓ fragmentación vertical. selecciona columnas completas de una relación

10.2.1 Reglas a cumplir por fragmentación

• condición de completes todos los datos de la relación global deberán ser mapeados a
algún fragmento.
• condición de reconstrucción. Deberá ser siempre posible reconstruir la relación global
a partir de sus fragmentos.
• condición de conjuntos [Link] conveniente que los fragmentos sean disjuntos.

10.2.3 Tipo de fragmentación

Los tipos de partición según (Miralles 2015) los tipos de partición son :

• fragmentación horizontal. Definir fragmentos horizontales se hace a través

del operador de selección del algebra relacional operando sobre una relación global.
los predicados que nos permiten definir una fragmentación de una relación son llamados

la calificación de la fragmentación

fragmentaciónvertical
Definir fragmentos verticales se hace a través del operador de proyección del
algebra relacional operando sobre una relación global.

una característica importante de la fragmentación vertical, es que todos los fragmentos

deben incluir la llave primaria de la relación global.

la razón es que si no incluimos la llave primaria no es posible reconstruir la relación original.

10.3 Tipos de arquitecturas / implementaciones

En un sistema de bases de datos distribuidas, existen varios factores que deben tomar

en consideración que definen la arquitectura del sistema:


• distribución: los componentes del sistema están localizados en la misma computadora o no.

• heterogeneidad: un sistema es heterogéneo cuando existen en él componentes que se

ejecutan en diversos sistemas operativos, de diferentes fuentes, etc.

• autonomía: se puede presentar en diferentes niveles, los cuales se describen a continuación:

✓ autonomía de diseño: habilidad de un componente del sistema para decidir cuestiones

relacionadas a su propio diseño.

✓ autonomía de comunicación: habilidad de un componente del sistema para decidir


como y cuando comunicarse con otros sgbd (sistema gestor de bases de datos).
✓ autonomía de ejecución: habilidad de un componente del sistema para ejecutar
operaciones locales como quiera.

10.3.1 Multi base de datos distribuida

cuando una base de datos distribuida es muy homogénea se dice que es multi base de

datos distribuida.

10.3.2 Base de datos federada

cuando una base de datos distribuida tiene mucha autonomía local se dice que es
federada.

10.3.3 Objetivos de implementación

al implementar una base de datos distribuida se tienen ciertos objetivos comunes:

• transparencia de ubicación. permite a los usuarios tener acceso a los datos sin

que tenga conocimiento de la ubicación de éstos. se puede conseguir este nivel de

transparencia al utilizar los administradores de transacciones distribuidas, los cuales son

capaces de determinar la localización de los datos y de emitir acciones a los calendarizadores


apropiados, lo cual puede ejecutarse cuando los administradores de transacciones

distribuidas poseen acceso a los directorios de localizaciones de los datos.

• transparencia de duplicación. para que la transparencia de duplicación sea

posible, los administradores de transacciones deben traducir las solicitudes de procesamiento

de transacción en acciones para el administrador de datos. para las lecturas el administrador

de transacciones selecciona uno de los nodos que almacena los datos y ejecuta la lectura.

para optimizar el proceso, el administrador de transacciones necesita información sobre el

rendimiento de varios nodos respecto al sitio de consulta, así podrá seleccionar el nodo de

mejor rendimiento.

• transparencia de concurrencia. cuando varias transacciones se ejecuten al

mismo tiempo, los resultados de las transacciones no deberán afectarse. la transparencia de

concurrencia se logra si los resultados de todas las transacciones concurrentes son

consistentes de manera lógica con los resultados que se habrían obtenido si las transacciones

se hubieran ejecutado una por una, en cualquier orden secuencial.

• transparencia de fallas. significa que a pesar de fallas las transacciones sean

procesadas de un modo correcto. frente a una falla, las transacciones deben ser atómicas,

significa que se procesen todas o ninguna de ellas. para este tipo de problemas es importante

tener resguardo de la base de datos, y así poder restaurarla cuando sea conveniente. el

sistema debe detectar cuándo falla una localidad y tomar las medidas necesarias para

recuperarse del fallo. el sistema no debe seguir utilizando la localidad que falló. por

• localidad del procesamiento. los datos se deben distribuir lo más cerca posible

de las aplicaciones que los usan para maximizar la localidad del procesamiento, este

principio responde a minimizar el acceso remoto a los datos. diseñar una distribución que
maximice localidad del procesamiento puede hacerse añadiendo la cantidad de referencias

locales y remotas correspondientes a cada fragmentación candidata y asignar la

fragmentación eligiendo la mejor solución.

10.4. Utilizando su gestor, crear un servidor espejo de la base de datos, es decir que cuando

se realice una operación de inserción, modificación, eliminación, etc. éste se ejecute

automáticamente en el otro servidor

• Como primer paso procedemos a Configuramos nuestras computadoras en red, para


poder compartir archivos y de este modo realizar la replicación, teniendo en cuenta
que dicha configuración será realizada en las dos computadoras, pero con ip diferentes
para ello realizaremos los siguientes pasos:

1.-Damos click en “conexion de area local”. Nos aparecera la siguiente ventana “estado de
conexion de area local y -damos click en propiedades
2.- Luego de dar click en propiedades nos aparece la siguente ventana y Damos click en
“protocolo de internet version 4 (TCP/IPv4)” para configurar la direccion ip de la pc.
Ilustración 421 configuration de las computadores

Ilustración 125 configurar direccion de IP


Luego aparecerá la ventana donde verificaremos la dirección ip de ambas computadoras

Computadora 1 Computadora 2

Ilustració123 configuración de la computadora1 Ilustración 126 configuracion de la computadora

4.- para verificar que los computadores están


en red, hacemos ping de una computadora a otra

❖ De la computadora 1 a la computadora 2
Ilustración 127 realizar ping del pc 1 al pc2

❖ De la computadora 2 a la computadora 1

Ilustración12 8Realizar ping del pc 2 al pc 1

Como podemos observar efectivamente hacen ping, esto quiere decir que nuestras
computadoras están en red y ya podrán compartir archivos

Una vez comprobado que la computadora maestra y la computadora esclavo están en red
procedemos a instalar los programas que se van a utilizar

✓ Programas a utilizar:

Gestor DB Interbase Interfaz gráfica de la Base de datos


Herramienta de replicación: IBPhonix
Replicator version [Link]

• Luego procedemos a instalar la herramienta de replicación IBPhonix Replicator


versión [Link] porque el Interbase y IBConsole ya se encuentra instalado (ver
instalación en el capítulo II )

✓ Como podemos observar ya tenemos el instalador lo cual ejecutamos como


administrador para realizar la instalación

Ilustración 129 Instalador de la herramienta IBReplicator

✓ Al ejecutar como administrador nos aparecerá la siguiente ventana a la cual le daremos


siguiente

Ilustración 1210 iniciando la instalación, fuente: elaboración propia

✓ Luego aparecerá la siguiente ventana donde aceptamos los términos y condiciones


Ilustración12 11 Aceptación de términos y condiciones , fuente: Elaboración propia
✓ A
continuación, nos aparecerá la siguiente ventana donde también haremos click en next
para poder continuar

Ilustración 12 Descargando information importante , fuente: elaboración propia


✓ Aqui vamos a elegir la ruta donde se va a guardar la herramienta ,luego hacemos
click en nexta para continuar

Ilustración 13 elegir ruta donde se va a guardar

✓ Una vez elegida la ruta aceptamos las tres herramientas que se van a instalar junto con
el IBPhonix Replicator como el replication server y el replication management toold
ya que estas dos herramientas seran utilizadas para la replicacion
Ilustración 14 instalamos las herramientas internas del IBReplicator

✓ Luego nos dirigimos a crear la configuración de accesos directos del programa en la


carpeta del menú de inicio y hacemos click en next

Ilustración 15 configuración de acceso , fuente: elaboración propia

✓ Luego nos dirigimos a seleccionar tareas adicionales para ejecutar el replicator de una
manera automática y click en next
Ilustración 16 ejecutar de manera automatica

✓ Como podemos observar ya se encuentra lista para la instalacion poro lo tanto


procedemaos a instalarlo .de damos click en install

Ilustración 17 finalizando instalación, Fuente: elaboración propia


✓ Finalmente esperamos que complete al 100% su instalacion y le damos finish

Ilustración 18 damos por finalizada la instalación, fuente: elaboración propia

✓ Tenemos en cuena que las herramientes se hayan creado correctamente y como podemos
observar si se pudo instalar con éxito

Ilustración 19 instalación correcta de las herramientas

✓ Luego nos dirigimos a abrir la herramienta replication manager y nos aparecerá la


siguiente ventana

Ilustración 20 abrir replication manager

✓ Damos click en file y asignamos una nueva configuracion


Ilustración 21 nueva configuración, Fuente: elaboración propia

✓ Nos aparecera la suiguiente ventana donde crearemos la nueva configuracion lo cual


sera la base de datos que nos servira para conectar la computadora maestra con la
computadora esclava y damos click en create y agregar

Ilustración 22 creación de la base de datos puente

✓ Luego crearemos al maestro por lo tanto nos dirigimos a una ventanita que dice data
base en el IBReplicator y aparecerá la siguiente ventana donde pondremos su
descripción respectiva

Ilustración 23 Agregación de la base de datos origen


Ilustración 24 configuración de la base de datos origen

✓ Damos click en donde dice test connection y nos aparecerá un mensaje lo cual
confirmará la conexión a la base de datos origen

✓ Luego asignamos una base de datos como destino

Ilustración 25 agregar base de datos esclava

Ilustración 26 agregación de la base de datos esclava

✓ También damos click en test connection y nos aparecerá el mensaje confirmando la


conexión de la base de datos destino

Ilustración 27 conexión de la base de datos destino


✓ Una vez creada las base datos origen y la base de tatos destino. Procedemos a la
agregacion del esquema donde agregaremos el origen y la base de datos destino.

Ilustración28 agreagr esquemas para origen y destino

✓ Haciendo click en new del grafico anterior nos aparecerá la siguiente ventana
le damos ok y luego test conection.

Ilustración 29 asignar nombre al esquema

✓ Luego agregamos la base de datos destino ,hacemos click en add y


posteriormente ok
Ilustració130 agregar base de datos destino

Ilustración 31 Elegir base de datos

✓ Ahora procedemmos a la creacion de esquemas en nuestra base de tatos


destino , damos click en autogenerate para generar las tablas en la base de
datos destino y luego click e generate

Ilustración 32 generador de tablas de la base de


datos destino
Ilustración 33 generar tablas de la base
de datos

✓ Cuando realizamos click en “generate” para generar los esquemas en la base de


datos destino nos aparecerá la siguiente ventana confirmando la generación de
tablas y cerramos la ventana
Ilustración 34 confirmación de generación de tablas

✓ Una vez generado todos los esquemas procedemos a la sincronización de las


bases de datos. Pero antes de este paso debemos agregar una licencia que le
encontramos en la siguiente página: [Link]
download/ibreplicator donde nos registraremos con un correo electrónico para
que nos envíen el serial de la licencia. De preferencia copiamos en un block de
notas para luego transferirle a donde nos pide

Ilustración 35 block de notas de la licencia

✓ Luego nos dirigimos al replicatos manager y abrimos la ventanita que dice “ license
manager “ y nos aparecerá la siguiente ventana lo cual seleccionamos en add para
agregar la licencia. pegamos la licencia y le damos ok

Ilustración 36 integracion de la licencia


✓ Como podemos observar nuestra licencia ya está agregada, seguidamente cerramos la
pestaña haciendo click en “close”

Ilustración 37 licencia agregada correctamente

✓ Luego nos dirigimos a “Target database\destino\replicate tables and procedures “ y


sobre este damos click derecho y escogemos la opción de “Syncronize”. Para ello es
necesario crear una base de datos con su mismo nombre en cada uno de las
computadoras

Ilustración 38 sincronizacion de las base de datos

✓ Seguidamente nos aparecerá la siguiente ventana donde se muestra el esquema de las


tablas . y damos click en “synchronize”
Ilustración 39 ejecución de sincronización

✓ configuramos que tablas deseamos sincronizar a travez de los checks, y cuando este
listo damos click en “Syncronize” para comenzar con la sincronización.

Ilustración 40 sincronización finalizada

✓ Ahora nos dirigimos a tools y seleccionamos la primera opción “Schedule”

Ilustración 41 programar el periodo de sincronización

✓ Nos aparecerá la siguiente pestaña donde seleccionaremos los dos checks y el periodo
de replicación.
Ilustración 43 seleccionar programación Ilustración 42 programar tiempo de replicación

✓ Cerramos el “Replication schulude”. Con esto estaría terminada nuestra configuración


de la replicación. Ahora abrimos el “replication server” para ejecutar la replicación ,
damos click en le icono de color verde para inicializar la replicación

Ilustración 44 Iniciando replicación

✓ Luego abrimos nuestro gestor en la pc origen e insertamos datos para verificar si la


replicación se ejecuta correctamente
Ilustración 45 insercion de datos en la tabla origen

✓ Ahora abrimos el gestor en la pc destino y verificamos si los datos se replicaron


correctamente
Ilustración 46 verificación de datos en la base de datos destino

❖ Por lo tanto, podemos decir que la replicación se realizó correctamente. este proceso se
realizó en el sistema operativo Windows 7.
Referenciacias

Aenor (2016) Estándares ISO/IEC 10027:1990 y ISO/IEC 10728:1993, obtenido


de:[Link]

Bembibre, v. (2009). definición de ABC , obtenida de [Link]

Chinchilla(2018) Fragmentación de datos en base de datos distribuida ,obtenido de :


[Link]
4835466-pdf

Embarcadero (2011). Gestor de base de datos Interbase obtenido de :


[Link] consultado abril 2019

Gómez (2015) Rol y función de los metadatos [Link]


los-metadatos

Miralles (2015) Bases de Datos Distribuidas, obtenido de: [Link]

Méndez (2017) Gestor de base de datos Interbase obtenido de prezi:


[Link]

Posted, (2016) Diccionario de datos obtenido de: [Link]

Pérez (2019) Distributed Databases, obtenido de [Link]

Pereira(2014) Bases de datos distribuidas, Obtenido de :


[Link]

- 1 - 
[Capte la atención de los lectores mediante una cita importante extraída del documento o utilice este 
espacio p
2 
 
 
CAPÍTULO I 
Evolución histórica del gestor de base de datos 
 
 
1.1¿Que es Interbase? 
 
 
Es un sistema de gestión d
3 
 
 
 
en 1986. Apollo sufrió un inconveniente corporativo y decidió dejar el negocio del 
software, pero en ese tiempo el
4 
 
 
 
en 1986. “Apollo Computer” sufrió un inconveniente corporativo y decidió dejar 
el negocio del software, pero en ese
5 
 
 
 
1.4.1 Versión 7 fue lanzada a finales del 2002 
 
Recientemente Borland ha lanzado al mercado InterBase 7, la nueva
6 
 
 
 
 
1.4.5 InterBase XE3 lan (http://docwiki.embarcadero.com/InterBase/XE7/en/Previous_Releases)zado en el 2013 
 
Inte
7 
 
 
 
 
 
1.4.7 InterBase 2017 lan (http://docwiki.embarcadero.com/InterBase/2017/en/What%27s_New)zado en el 2017 
 
Inter
8 
 
1.5.2. InterBase Togo para Android y iOS 
 
InterBase Togo extiende IBLite para Android y iOS para trabajar con archivos
9 
 
 
CAPÍTULO II 
Conociendo el gestor de base de datos 
InterBase es un sistema manejador (administrador, gestor) de bases
10 
 
 
 
completas de alto rendimiento, encriptable, relacional, y escalable dirigida a 
desarrolladores que buscan embeber

También podría gustarte