Вы находитесь на странице: 1из 5

IMPLEMENTACIÓN DE UN PROCESO DE INGENIERÍA CON POWER DESIGNER Y ORACLE 11G

Autores: Ruben Jaya, Luis Espin, Jhon Pincay, Angel Valle

I.

INTRODUCCIÓN

La

información a través de los años se ha convertido en uno de

los

fundamentales puntos a evaluar para la toma de decisiones.

Para manipular la información que se obtiene se han creado diversos sistemas para su gestión, uno de ellos el DBMS (Data Base Management System) Oracle 11g, es un potente motor de base de datos de alto rendimiento, que por su alto precio de implementación, es comúnmente usado en grandes empresas, es

de fácil configuración e instalación y posee la arquitectura

cliente/servidor, también es compatible para trabajar con herramientas CASE, en este caso Power Designer.

Las herramientas CASE son un conjunto de herramientas y

métodos, que ayudan al desarrollo y gestión de las bases de datos, funciona de manera óptima en conjunto con el DBMS Oracle 11g, donde es posible implementar la ingeniería y reingeniería de

las bases de datos.

A continuación, vamos a implementar las herramientas en

conjunto para el desarrollo de la base de datos de una liga cantonal.

II. INVESTIGACIÓN LITERARIA

Oracle

Oracle fue la primera Base de datos diseñada para Grid Computing, es un sistema de gestión de base de datos relacional fabricado por Oracle Corporation. Oracle es básicamente una herramienta para cliente/ servidor para la gestión de bases de datos, la gran potencia que tiene y su alto precio hace que sólo se vea en empresas muy grandes y multinacionales, como regla general. [1] Desarrollador Oracle SQL Oracle SQL Developer es una herramienta gráfica gratuita que mejora la productividad y simplifica las tareas de desarrollo de bases de datos. Con SQL Developer, puede navegar por objetos

de base de datos, ejecutar sentencias SQL y secuencias de

comandos SQL, editar y sentencias PL/SQL depuración, manipular y exportar datos, y ver y crear informes. Puede conectarse a bases de datos Oracle, conectarse a bases de datos seleccionadas de terceros (no Oracle), ver metadatos y datos, y puede mover estas bases de datos a Oracle. [2]

Herramientas CASE Las herramientas CASE (Computer Aided Software Engineering) son un conjunto de herramientas y métodos asociados que proporcionan asistencia automatizada en el proceso de desarrollo del software. Esencialmente un CASE es una herramienta que ayuda a un ingeniero en software a desarrollar y mantener un software. [3] Componentes o elementos de una herramienta CASE [4] Repositorio (diccionario). Es donde se almacena los elementos definidos o creados por la herramienta, los cuales se gestionan mediante un SGBD (Sistema de Gestión de Base de Datos) o sistema de gestión de ficheros.

Meta modelo. Constituye el marco para la definición de la técnicas y metodologías soportadas por la herramienta CASE.

Carga o Descarga de datos. Permite cargar el repertorio de la Herramienta Case con datos provenientes de otros sistemas o generar esquemas de base de datos desde la Herramienta Case. Comprobación de Errores. Permite tener un análisis con exactitud, integridad y consistencia de los esquemas generados por la Herramienta CASE. Interfaz de usuario. Consta de editores de textos y herramientas de diseño gráfico, que permitan definir los diagramas, matrices, etc. Roles [5] Los Roles, que son simplemente un conjunto de privilegios que

se pueden otorgar a un usuario o a otro Rol. De esa forma se

simplifica el trabajo del DBA en esta tarea. Por default cuando

se crea un usuario desde el Enterprise Manager se le asigna el

permiso de connect, lo que permite al usuario conectarse a la BD

y crear sus propios objetos en su propio esquema. De otra manera, se debe asignarlos en forma manual.

Privilegios [6]

Existen en Oracle dos tipos de privilegios de usuario:

System: Permiten al usuario hacer ciertas tareas sobre la base de datos, como crear un tablespace. Estos permisos son otorgados por el administrador o por alguien que haya recibido el permiso para administrar ese tipo de privilegio. Existen como 100 tipos

distintos

En general los permisos de sistema, permiten ejecutar comandos

del tipo DDL (Data definition Language), como CREATE, ALTER y DROP o del tipo DML (Data Manipulation Language).

Oracle 11G tiene más de 170 privilegios de sistema los cuales

vistos mediante la vista-

SYSTEM_PRIVILEGE_MAP.

pueden

de

privilegios

de

este

tipo.

ser

Entre todos los privilegios de sistema que existen, hay dos que son los más fuertes: SYSDBA y SYSOPER. Estos prácticamente son dados a los administradores de base de datos.

Object: Este tipo de permiso le permite al usuario hacer cierta acción en un objeto de la base de datos, como puede ser una tabla, vista, función etc. Si a un usuario no se le dan estos permisos solo podrías acceder a sus propios objetos. Y estos tipos de permisos los da el dueño del objeto, el administrador o alguien que haya recibido este permiso explícitamente.

Roles definidos [6] Oracle tiene un número de roles predefinidos, entre ellos:

Connect. Autoriza la conexión (contiene únicamente el privilegio de sistema CREATE SESSION). Resource. Permite la creación de los principales objetos de un esquema (tabla, vista DBA. Otorga todos los privilegios de sistema con la opción WITH ADMIN OPTION. No es recomendable asignarlo a usuarios que no son administradores.

Los privilegios de cada uno de los roles son los siguientes:

Connect: CONNECT. Resource: CREATE TABLE, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, CREATE TYPE, CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR. DBA: Posee todos los privilegios de sistema.

III.

METODOLOGÍA

Instalación y Configuración del DMBS Oracle 11g. Descargar Oracle 11g (versión gratuita del sitio web oficial

technologies/express-edition/downloads/index.html junto con la herramienta JDK que se puede descargar junto con el instalador de Oracle 11G o individualmente.

Abra el instalador y siga las instrucciones. En las instrucciones se pedirá ingresar una contraseña, se debe ser muy cuidadoso con esta contraseña porque es lo que permitirá hacer una conexión a la base de datos Oracle y la misma contraseña será asignada al usuario SYSTEM, que tiene la capacidad de realizar todo tipo de movimientos y procesos en toda la base de datos y usuarios, por esta razón se debe ingresar una contraseña segura y fácil de recordar.

Una vez realizada la instalación, deberá ir al siguiente enlace

Developer, interfaz gráfica proporcionada por Oracle, esta herramienta no necesita ser instalada ya que es un archivo ejecutable, simplemente se da click derecho y ejecutar como administrador para empezar a trabajar con las bases de datos.

SQL

para

descargar

Configuración de cliente Se debe habilitar en el Cliente, la configuración de conexión al Servidor, para ello, hay que cambiar registros en 2 archivos (listener.ora y tnsnames.ora) de configuración de Oracle. Para modificar aquellos archivos hay que ir a la ruta:

C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN.L

os nombres de las carpetas van a variar de acuerdo a la versión instalada, pero la ruta es prácticamente la misma.

El primer archivo a modificar es listener.ora. Allí se debe cambiar el parámetro de HOST por la IP o el nombre del equipo que actuará de Servidor. La cadena de conexión es: (ADDRESS = (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521))

En este caso, localhost debe ser reemplazado por la dirección IP del servidor, al cual se va a conectar y el puerto que está usando, que por defecto para Oracle es 1521. En el ejemplo se hizo lo siguiente: (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.103) (PORT = 1521))

También hay que asegurarse de que el servicio Listener por defecto, al cual se conectará esté bien configurado, si el servidor tiene la versión Express Edition de Oracle, la siguiente línea queda igual DEFAULT_SERVICE_LISTENER = (XE) Pero si el servidor tiene instalada la versión Full, se debe cambiar el

nombre del servicio,

ejemplo:

DEFAULT_SERVICE_LISTENER = (ORCL). Donde ORCL es el nombre del Servicio de la Base de Datos del servidor.

por

El segundo archivo a modificar es tnsnames.ora, el cual está en el mismo directorio. Allí se cambia el nombre del parámetro principal XE, la IP del servidor (HOST = locahost) y el nombre del servicio (SERVICE_NAME = XE). Como se tiene instalada la versión XE, se deja todo igual y solo hay que cambiar el HOST:

XE =

(DESCRIPTION =

(ADDRESS

=

(PROTOCOL

=

TCP)

192.168.1.103) (PORT = 1521))

(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)

)

)

(HOST

=

También se debe modificar el archivo sqlnet, el cual está en el mismo directorio. Se cambia NTS por NONE. SQLNET.AUTHENTICATION_SERVICES = (NONE)

Después se va a probar la conexión con el Servidor, para ello se abre SQL Command Line de Oracle y se ingresa el comando:

SQL> CONNECT USUARIO/PASSWORD@XE

Donde @XE es el nombre del servicio para las versiones express. Si todo lo realizado es correcto, debe aparecer Connected. De esta forma se comprueba que hay conexión al servidor de Base de Datos.

Conexión inalámbrica Para establecer esta conexión simplemente hay que conectar las computadoras cliente y servidor a una red WI-FI, esa es una opción para la comunicación de datos. Otra forma es creando un punto de acceso inalámbrico, para ello se hace lo siguiente:

Entrar a la consola de comandos de Windows, presionando la tecla Windows + R, escribir cmd y aceptar. Ejecutar el comando netsh wlan show drivers, para saber si la tarjeta de red es compatible para crear un punto de acceso WI-FI, para ello debe haber un sí en Red hospedada admitida. Para crear el punto de acceso se usa la línea de comandos: netsh wlan set hostednetwork mode=allow ssid=NombredeRed key=ClavedeRed. Luego ir al centro de redes y recursos compartidos, cambiar configuración del adaptador, clic derecho sobre la conexión de red inalámbrica, clic en propiedades, Uso compartido, marcar la casilla que dice Permitir que los usuarios de otras redes se conecten a través de la conexión a Internet de este equipo y clic en Aceptar. Volver a la consola de Windows para iniciar el punto de acceso, ejecutar el comando netsh wlan start hostednetwork.

Requisitos Previos En las computadoras que actuarán como clientes instalar lo siguiente: La herramienta CASE Power Designer 16.6, el driver ODBC de Oracle 11g XE.

Para que la conexión sea exitosa, se deben ingresar correctamente los campos requeridos, estar conectados a la misma red y desactivar el Firewall de Windows, ya que el mismo impide la conexión por motivos de seguridad de la red.

Configuración del driver ODBC de Oracle 11g en la PC Cliente con Windows 10

Para configurar el driver ODBC de Oracle en la PC Cliente con Windows 10 se debe hacer lo siguiente:

1. Ir al Panel de control de Windows, clic en Herramientas

administrativas y doble clic en Orígenes de datos ODBC (64

bits).

2. Dar clic en la pestaña DSN de usuario.

3. Clic en Agregar para configurar un controlador para el origen

de datos.

Aparecerá una lista con todos los controladores de cliente ODBC del equipo.

4. Seleccionar el controlador Oracle in XE (64-bit) del origen de

datos al que se va a acceder con Power Designer y, a continuación, haga clic en Finalizar. Aparecerá un cuadro de diálogo de configuración.

5. Introducir un nombre en Data Source Name, para identificar

el origen de datos, se dio el nombre “OracleConexion”. En TNS

Service Name, se escribe XE, en USER ID se ingresa el nombre de usuario de la máquina servidor.

6. Dar clic en Test Connection, luego escribir la contraseña de la

máquina servidor y clic en OK.

Problema y modelado de base de datos

Liga Deportiva Cantonal

Una LIGA DEPORTIVA CANTONAL (LDC) tiene varios deportes, los cuales se encuentran dirigidos por instructores preparados en un área específica, los instructores entrenan, buscan y reciben a nuevos atletas, los cuales son preparados para eventos deportivos ya sea locales como internacionales, la LDC incentiva el deporte en la comunidad. Las actividades son:

Periódicamente se asignan instructores a los diferentes deportes.

Casi nunca se asignan nuevos deportes.

Controlan el desempeño de los atletas.

Participan en eventos deportivos.

Entrenamiento y preparación de los atletas.

Incentivan el deporte.

Periódicamente se dan de baja o se contratan nuevos instructores, estos se encargan de entrenar a los atletas, los reclutan y preparan para eventos deportivos dentro y fuera del país, controlan su salud y alimentación para un buen desempeño, la liga deportiva como tal, incentiva el deporte creando escuelas deportivas cada cierto tiempo.

Creación del modelo físico en Power Designer

1. Abrir la herramienta CASE y mostrará una ventana de inicio

en la cual se elige Create Model.

2. Luego en Model Type buscar Physical Data Model, escoger

el que dice Physical Diagram.

3. Escribir un nombre para el modelo y también el DBMS con el

que se va a trabajar, en este caso será Oracle Version 11g.

4. En la parte derecha donde dice Physical Diagram del Toolbox,

dar clic en el icono Table, luego en el espacio de trabajo dar clic y se creará la tabla.

5. Creada la tabla, se da doble clic y se mostrarán las propiedades.

6. Se cambia el nombre a la tabla en la parte General y nombrarlo

como ejemplo Participante.

7. Damos clic en la pestaña Columns, en la cual se creará los

atributos que tendrá la tabla Participante.

8. Para crear un atributo se da clic en la columna Name, aquí irá

el nombre del atributo. Ejemplo: Nombre_Participante.

9. Luego dar clic en la columna Data Type, en la cual se debe

especificar el tipo de dato. Ejemplo VARCHAR(%N).

10. Después se da clic en la columna Lenght y escribir el tamaño

del atributo. Ejemplo. 100

11. Y para asignar como clave primaria a un atributo, se da marca

la casilla de la columna Primary.

12. Ahora se creará las relaciones entre tablas, para esto se da clic

en Reference en el apartado derecho de Physical Diagrama del

ToolBox.

13. Enlazar la tabla dependiente con la independiente.

14. Para establecer restricciones, se da doble clic en la relación,

luego en la pestaña Integrity y seleccionar en la columna Update constraint o Delete constraint las restricciones que va a tener la relación.

Modelo físico de la base de datos

va a tener la relación. Modelo físico de la base de datos Conexión de Power Designer

Conexión de Power Designer con Oracle 11g

1. Dar clic en la pestaña Database y clic en Connect.

Aparecerá un cuadro de diálogo de configuración.

2. Escoger la opción ODBC machine data source, seleccionar

OracleConexion (Oracle in XE).

3. Escribir la contraseña del usuario y Clic en Connect.

Ingeniería de base de datos

Para realizar el proceso de ingeniería se creó la base de datos

Oracle 11g mediante SQL

“LigaDeportivaCantonal”

Developer. Los pasos para la ingeniería de base de datos son:

en

Se crearán las tablas Producto, Proveedor y cliente. Para comprobar el acceso a diferentes objetos según los roles, se trabajará de la siguiente manera:

1.

Dar clic en la pestaña Database.

2.

Clic en la opción Generate Database.

El usuario AngelDBA con la tabla Cliente del usuario

3.

Marcar Script generation y luego Direct generation.

LuisConnect, el usuario JhonResource con la tabla Producto del

3.

Clic en Aceptar y luego en .

usuario AngelDBA y el usuario LuisConnect con la tabla

4.

Clic en Ignore All y se generará la base de datos.

Proveedor del usuario JhonResource.

Comprobación de servicios

Se debe comprobar si los servicios de Oracle estén activos, para ello, hay que digitar Windows + r y escribir Services.msc, luego buscamos los servicios de Oracle y los activamos en caso que estén desactivados.

Creación de usuarios y definición de roles

Luego de comprobar que los servicios estén activos, se procede a abrir la aplicación SQL Developer y se inicia sesión con el usuario SYSTEM y pedirá la contraseña del usuario.

Usuario: SYSTEM

Contraseña: deathnote

Ya iniciada la sesión, se procede a crear 3 usuarios con sus respectivas contraseñas, de la siguiente manera:

CREATE USER AngelDBA IDENTIFIED BY 12345; CREATE USER JhonResource IDENTIFIED BY 54321; CREATE USER LuisConnect IDENTIFIED BY 1234;

Lo siguiente que se realiza es la definición de roles de los usuarios creados:

Al usuario AngelDBA se le concede el rol DBA:

GRANT DBA TO AngelDBA;

Teniendo el rol DBA, el usuario AngelDBA podrá tener acceso a todos los objetos de diferentes usuarios de la base de datos.

Usuario AngelDBA

Ya iniciada la sesión, se crea la tabla Producto con sus campos Id, Nombre y Stock con la siguiente sintaxis:

CREATE TABLE Producto (Id Integer Primary Key, Nombre varchar(40), Stock Integer);

Luego se ingresan tres productos a la tabla, de la siguiente

manera:

INSERT INTO Producto VALUES (1,'ToniMix',30); INSERT INTO Producto VALUES (2,'Ruffles',50); INSERT INTO Producto VALUES (3,'Coca Cola 1L',20);

Se hace una consulta a la tabla Producto:

SELECT * FROM Producto;

Como el usuario AngelDBA ya tiene permisos sobre todos los objetos de los usuarios, no hay necesidad de asignar privilegios para acceder a los objetos del usuario LuisConnect.

En primer lugar se realiza una consulta a la tabla Cliente:

SELECT * FROM LuisConnect.Cliente;

A continuación se agregará un cliente a la tabla:

INSERT INTO LuisConnect.Cliente VALUES (5, 'Sofía',

0981355474);

Luego se realiza una actualization al cliente ingresado:

UPDATE LuisConnect.Cliente SET TELEFONO =0912457412 WHERE ID_CLIENTE=5;

Al usuario JhonResource se le concede el rol Resource:

Y

para comprobar que se puede eliminar un registro, se eliminará

GRANT RESOURCE TO JhonResource;

el

cliente ingresado.

Teniendo el rol de RESOURCE, el usuario JhonResource podrá crear y tener dominio de todos sus objetos, pero no de los demás usuarios.

Al usuario LuisConnect se le concede el rol Connect:

GRANT CONNECT TO LuisConnect;

Teniendo el rol de CONNECT, el usuario LuisConnect solo podrá iniciar sesión en la base de datos. No podrá crear ni modificar un objeto.

Creación de tablas y manipulación de datos

Cada usuario anteriormente creado con su rol definido, creará una tabla y realizará inserciones, consultas, modificaciones y eliminaciones, para comprobar los permisos que se tienen sobre los objetos de cada usuario, según su rol. Si un usuario no puede hacer una de las acciones anteriores, se le concederá los permisos necesarios para que pueda trabajar con dichas tablas.

DELETE LuisConnect.Cliente WHERE Id=5;

Teniendo en cuenta los permisos adecuados y la correcta escritura de los comandos, no se tuvo ningún problema accediendo a la tabla Cliente del usuario LuisConnect.

Usuario JhonResource

El usuario en un inicio, no pudo iniciar sesión, se tuvo que otorgar el permiso de Connect para que pueda conectarse, luego de iniciar sesión, se crea la tabla Proveedor con los campos Id, Nombre y Telefono. De la siguiente manera:

CREATE TABLE Producto (Id Integer Primary Key, Nombre varchar2(40), Telefono varchar2(10));

Se insertan 3 registros. Como ejemplo:

INSERT INTO Proveedor VALUES (1, ‘Coca-Cola Company’,

20);

INSERT INTO Proveedor VALUES (2, ‘Nestle, 25); INSERT INTO Proveedor VALUES (3, ‘Confiteca’, 30);

Se realiza una consulta de la tabla Proveedor:

IV.

CONCLUSIÓN

SELECT * FROM Proveedor;

El usuario procede a hacer una consulta en la tabla Producto del usuario AngelDBA. De la siguiente manera:

SELECT * FROM AngelDBA.PRODUCTO;

Como el usuario JhonResource no es DBA, ni propietario de la tabla, no puede tener acceso a ella, y se muestra el siguiente mensaje: Error SQL: ORA-00942: table or view does not exist.

De igual manera no se podrá tener acceso a la tabla si se desea realizar una inserción, modificación o eliminación. Para ello el usuario AngelDBA, propietario de la tabla, debe otorgarle los permisos para operar en aquella tabla, de la siguiente manera:

GRANT ALL ON PRODUCTO TO JHONRESOURCE;

Con los permisos otorgados el usuario procede a realizar las siguientes acciones:

INSERT INTO ANGELDBA.PRODUCTO VALUES (4, ‘Coca Cola 1L’, 15); SELECT * FROM ANGELDBA.PRODUCTO; UPDATE ANGELDBA.PRODUCTO SET Nombre=‘Pony Malta’ WHERE Id=2; DELETE ANGELDBA.PRODUCTO WHERE Id=4;

Cada una de las sentencias se ejecuta correctamente, ya que se dieron los permisos de inserción, selección, actualización y eliminación.

Usuario LuisConnect

Una vez iniciada la sesión de nuestro usuario, creamos la tabla Cliente con sus campos id_cleinte, Nombre, Teléfono.

Créate table Cliente(id_cleinte integer,Nombre Varchar(100), Telefono Varchar (10));

A continuación ingresamos 3 Clientes a nuestra tabla:

INSERT INTO Cliente VALUES (1,'luis','1234567890'); INSERT INTO Cliente VALUES (2,'angel','0987654321'); INSERT INTO Cliente VALUES (3,'jhon','6373829204');

Realizamos una consulta de la tabla Proveedor:

SELECT * FROM JhonResource.PROVEEDOR;

Ahora vamos a ingresar un nuevo proveedor:

INSERT

(1,'nabizco','0987654321');

INTO

JhonResource.PROVEEDOR

VALUES

Luego actualizamos uno de los PROVEEDORES:

UPDATE JhonResource.PROVEEDOR SET Nombre = 'Royal' WHERE Id=3;

Con los permisos que el usuario DBA otorgo las operaciones fueron completadas con total éxito.

Para la configuración de los DBMS se debe tener un grado medio, a nivel de conocimientos de los protocolo de comunicación, estos mismos DBMS brindan una facilidad de comunicación mediante medios inalámbricos.

Las herramientas CASE también sirvieron para la creación de un modelo físico, a partir de un problema planteado, esta herramienta facilitó tanto la creación de tablas y las relaciones entre ellas, respectivamente con sus restricciones.

Después de haber puesto en práctica lo investigado, realizado la conexión de manera correcta entre una maquina cliente-servidor, la utilización de las herramientas CASE tanto para la realización de la ingeniería, como la reingeniería de un BD y la configuración de los DBMS no fueron un gran obstáculo, al momento de realizar el trabajo.

V. REFERENCIAS BIBLIOGRÁFICAS

[1] Y.-J. Lu, «iesssanvicente,» 2007-2008. [En línea]. Available:

https://iessanvicente.com/colaboraciones/oracle.pdf. [Último acceso: 29 05 2017].

[2]

http://www.oracle.com/technetwork/developer-tools/sql-

05

2017].

[3] D. d. S. I. y. Computación, Metodología y Tecnología de la Programación, VALENCIA-ESPAÑA: Universidad Politécnica de Valencia. , 2013.

developer/documentation/index.html.[Último acceso:

Oracle,

«Oracle,»

[En

línea].

Available:

29

[4] K. &. Kendall, Análisis y Diseño de Sistemas, Fantástico, S.A, 2012.

[5] Oracle, «Documentos: Oracle,» [En línea]. Available:

http://docs.oracle.com/cd/B28359_01/server.111/b28310.pdf.

[Último acceso: 29 06 2017].

[6]

ENI, 2009.

O. HEURTEL, Oracle 11g: Administración, Editions