Вы находитесь на странице: 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 Meta modelo. Constituye el marco para la definición de la


técnicas y metodologías soportadas por la herramienta CASE.
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. Carga o Descarga de datos. Permite cargar el repertorio de la
Herramienta Case con datos provenientes de otros sistemas o
Para manipular la información que se obtiene se han creado generar esquemas de base de datos desde la Herramienta Case.
diversos sistemas para su gestión, uno de ellos el DBMS (Data Comprobación de Errores. Permite tener un análisis con
Base Management System) Oracle 11g, es un potente motor de exactitud, integridad y consistencia de los esquemas generados
base de datos de alto rendimiento, que por su alto precio de
por la Herramienta CASE.
implementación, es comúnmente usado en grandes empresas, es
de fácil configuración e instalación y posee la arquitectura Interfaz de usuario. Consta de editores de textos y herramientas
cliente/servidor, también es compatible para trabajar con de diseño gráfico, que permitan definir los diagramas, matrices,
herramientas CASE, en este caso Power Designer. etc.
Roles [5]
Las herramientas CASE son un conjunto de herramientas y Los Roles, que son simplemente un conjunto de privilegios que
métodos, que ayudan al desarrollo y gestión de las bases de datos, se pueden otorgar a un usuario o a otro Rol. De esa forma se
funciona de manera óptima en conjunto con el DBMS Oracle simplifica el trabajo del DBA en esta tarea. Por default cuando
11g, donde es posible implementar la ingeniería y reingeniería de se crea un usuario desde el Enterprise Manager se le asigna el
las bases de datos. permiso de connect, lo que permite al usuario conectarse a la BD
A continuación, vamos a implementar las herramientas en y crear sus propios objetos en su propio esquema. De otra
conjunto para el desarrollo de la base de datos de una liga manera, se debe asignarlos en forma manual.
cantonal.
II. INVESTIGACIÓN LITERARIA Privilegios [6]
Oracle Existen en Oracle dos tipos de privilegios de usuario:
System: Permiten al usuario hacer ciertas tareas sobre la base de
Oracle fue la primera Base de datos diseñada para Grid
datos, como crear un tablespace. Estos permisos son otorgados
Computing, es un sistema de gestión de base de datos relacional por el administrador o por alguien que haya recibido el permiso
fabricado por Oracle Corporation. Oracle es básicamente una para administrar ese tipo de privilegio. Existen como 100 tipos
herramienta para cliente/ servidor para la gestión de bases de distintos de privilegios de este tipo.
datos, la gran potencia que tiene y su alto precio hace que sólo se En general los permisos de sistema, permiten ejecutar comandos
vea en empresas muy grandes y multinacionales, como regla del tipo DDL (Data definition Language), como CREATE,
general. [1] ALTER y DROP o del tipo DML (Data Manipulation Language).
Desarrollador Oracle SQL Oracle 11G tiene más de 170 privilegios de sistema los cuales
Oracle SQL Developer es una herramienta gráfica gratuita que pueden ser vistos mediante la vista-
mejora la productividad y simplifica las tareas de desarrollo de SYSTEM_PRIVILEGE_MAP.
bases de datos. Con SQL Developer, puede navegar por objetos
de base de datos, ejecutar sentencias SQL y secuencias de Entre todos los privilegios de sistema que existen, hay dos que
comandos SQL, editar y sentencias PL/SQL depuración, son los más fuertes: SYSDBA y SYSOPER. Estos prácticamente
son dados a los administradores de base de datos.
manipular y exportar datos, y ver y crear informes. Puede
conectarse a bases de datos Oracle, conectarse a bases de datos Object: Este tipo de permiso le permite al usuario hacer cierta
seleccionadas de terceros (no Oracle), ver metadatos y datos, y acción en un objeto de la base de datos, como puede ser una tabla,
puede mover estas bases de datos a Oracle. [2] vista, función etc. Si a un usuario no se le dan estos permisos solo
Herramientas CASE podrías acceder a sus propios objetos. Y estos tipos de permisos
Las herramientas CASE (Computer Aided Software los da el dueño del objeto, el administrador o alguien que haya
Engineering) son un conjunto de herramientas y métodos recibido este permiso explícitamente.
asociados que proporcionan asistencia automatizada en el
proceso de desarrollo del software. Esencialmente un CASE es Roles definidos [6]
una herramienta que ayuda a un ingeniero en software a Oracle tiene un número de roles predefinidos, entre ellos:
desarrollar y mantener un software. [3] Connect. Autoriza la conexión (contiene únicamente el
Componentes o elementos de una herramienta CASE [4] privilegio de sistema CREATE SESSION).
Resource. Permite la creación de los principales objetos de un
Repositorio (diccionario). Es donde se almacena los elementos
esquema (tabla, vista...).
definidos o creados por la herramienta, los cuales se gestionan
DBA. Otorga todos los privilegios de sistema con la opción
mediante un SGBD (Sistema de Gestión de Base de Datos) o WITH ADMIN OPTION. No es recomendable asignarlo a
sistema de gestión de ficheros. usuarios que no son administradores.
Los privilegios de cada uno de los roles son los siguientes:
El segundo archivo a modificar es tnsnames.ora, el cual está en
Connect: CONNECT. el mismo directorio. Allí se cambia el nombre del parámetro
Resource: CREATE TABLE, CREATE PROCEDURE, principal XE, la IP del servidor (HOST = locahost) y el nombre
CREATE SEQUENCE, CREATE TRIGGER, CREATE TYPE, del servicio (SERVICE_NAME = XE). Como se tiene instalada
CREATE CLUSTER, CREATE INDEXTYPE, CREATE la versión XE, se deja todo igual y solo hay que cambiar el
OPERATOR. HOST:
DBA: Posee todos los privilegios de sistema.
XE =
(DESCRIPTION =
III. METODOLOGÍA (ADDRESS = (PROTOCOL = TCP) (HOST =
192.168.1.103) (PORT = 1521))
Instalación y Configuración del DMBS Oracle 11g. (CONNECT_DATA =
Descargar Oracle 11g (versión gratuita del sitio web oficial (SERVER = DEDICATED)
http://www.oracle.com/technetwork/database/database- (SERVICE_NAME = XE)
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 También se debe modificar el archivo sqlnet, el cual está en el
se pedirá ingresar una contraseña, se debe ser muy cuidadoso con mismo directorio. Se cambia NTS por NONE.
SQLNET.AUTHENTICATION_SERVICES = (NONE)
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 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:
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 SQL> CONNECT USUARIO/PASSWORD@XE
recordar.
Donde @XE es el nombre del servicio para las versiones express.
Una vez realizada la instalación, deberá ir al siguiente enlace Si todo lo realizado es correcto, debe aparecer Connected. De
http://www.oracle.com/technetwork/developer-tools/sql- esta forma se comprueba que hay conexión al servidor de Base
developer/downloads/index.html para descargar SQL de Datos.
Developer, interfaz gráfica proporcionada por Oracle, esta
herramienta no necesita ser instalada ya que es un archivo Conexión inalámbrica
ejecutable, simplemente se da click derecho y ejecutar como Para establecer esta conexión simplemente hay que conectar las
administrador para empezar a trabajar con las bases de datos. 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:
Configuración de cliente
Se debe habilitar en el Cliente, la configuración de conexión Entrar a la consola de comandos de Windows, presionando la
tecla Windows + R, escribir cmd y aceptar. Ejecutar el comando
al Servidor, para ello, hay que cambiar registros en 2 archivos
netsh wlan show drivers, para saber si la tarjeta de red es
(listener.ora y tnsnames.ora) de configuración de Oracle.
compatible para crear un punto de acceso WI-FI, para ello debe
Para modificar aquellos archivos hay que ir a la ruta:
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN.L haber un sí en Red hospedada admitida. Para crear el punto de
os nombres de las carpetas van a variar de acuerdo a la versión acceso se usa la línea de comandos: netsh wlan set hostednetwork
instalada, pero la ruta es prácticamente la misma. mode=allow ssid=NombredeRed key=ClavedeRed. Luego ir al
centro de redes y recursos compartidos, cambiar configuración
El primer archivo a modificar es listener.ora. Allí se debe del adaptador, clic derecho sobre la conexión de red
cambiar el parámetro de HOST por la IP o el nombre del equipo inalámbrica, clic en propiedades, Uso compartido, marcar la
que actuará de Servidor. La cadena de conexión es: (ADDRESS casilla que dice Permitir que los usuarios de otras redes se
= (PROTOCOL = TCP) (HOST = localhost) (PORT = 1521)) 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
En este caso, localhost debe ser reemplazado por la dirección IP de acceso, ejecutar el comando netsh wlan start hostednetwork.
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 Requisitos Previos
siguiente: (ADDRESS = (PROTOCOL = TCP) (HOST = En las computadoras que actuarán como clientes instalar lo
192.168.1.103) (PORT = 1521)) siguiente: La herramienta CASE Power Designer 16.6, el driver
ODBC de Oracle 11g XE.
También hay que asegurarse de que el servicio Listener por
defecto, al cual se conectará esté bien configurado, si el servidor Para que la conexión sea exitosa, se deben ingresar correctamente
tiene la versión Express Edition de Oracle, la siguiente línea los campos requeridos, estar conectados a la misma red y
queda igual DEFAULT_SERVICE_LISTENER = (XE) Pero si desactivar el Firewall de Windows, ya que el mismo impide la
el servidor tiene instalada la versión Full, se debe cambiar el conexión por motivos de seguridad de la red.
nombre del servicio, por ejemplo:
DEFAULT_SERVICE_LISTENER = (ORCL). Donde ORCL es Configuración del driver ODBC de Oracle 11g en la PC
el nombre del Servicio de la Base de Datos del servidor. Cliente con Windows 10
Para configurar el driver ODBC de Oracle en la PC Cliente con 8. Para crear un atributo se da clic en la columna Name, aquí irá
Windows 10 se debe hacer lo siguiente: el nombre del atributo. Ejemplo: Nombre_Participante.
1. Ir al Panel de control de Windows, clic en Herramientas 9. Luego dar clic en la columna Data Type, en la cual se debe
administrativas y doble clic en Orígenes de datos ODBC (64 especificar el tipo de dato. Ejemplo VARCHAR(%N).
bits). 10. Después se da clic en la columna Lenght y escribir el tamaño
2. Dar clic en la pestaña DSN de usuario. del atributo. Ejemplo. 100
3. Clic en Agregar para configurar un controlador para el origen 11. Y para asignar como clave primaria a un atributo, se da marca
de datos. la casilla de la columna Primary.
Aparecerá una lista con todos los controladores de cliente ODBC 12. Ahora se creará las relaciones entre tablas, para esto se da clic
del equipo. en Reference en el apartado derecho de Physical Diagrama del
4. Seleccionar el controlador Oracle in XE (64-bit) del origen de ToolBox.
datos al que se va a acceder con Power Designer y, a 13. Enlazar la tabla dependiente con la independiente.
continuación, haga clic en Finalizar. 14. Para establecer restricciones, se da doble clic en la relación,
Aparecerá un cuadro de diálogo de configuración. luego en la pestaña Integrity y seleccionar en la columna Update
5. Introducir un nombre en Data Source Name, para identificar constraint o Delete constraint las restricciones que va a tener la
el origen de datos, se dio el nombre “OracleConexion”. En TNS relación.
Service Name, se escribe XE, en USER ID se ingresa el nombre
de usuario de la máquina servidor. Modelo físico de la base de datos
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. Conexión de Power Designer con Oracle 11g
4. En la parte derecha donde dice Physical Diagram del Toolbox, 1. Dar clic en la pestaña Database y clic en Connect.
dar clic en el icono Table, luego en el espacio de trabajo dar clic Aparecerá un cuadro de diálogo de configuración.
y se creará la tabla. 2. Escoger la opción ODBC machine data source, seleccionar
5. Creada la tabla, se da doble clic y se mostrarán las propiedades. OracleConexion (Oracle in XE).
6. Se cambia el nombre a la tabla en la parte General y nombrarlo 3. Escribir la contraseña del usuario y Clic en Connect.
como ejemplo Participante.
7. Damos clic en la pestaña Columns, en la cual se creará los Ingeniería de base de datos
atributos que tendrá la tabla Participante.
Para realizar el proceso de ingeniería se creó la base de datos Se crearán las tablas Producto, Proveedor y cliente. Para
“LigaDeportivaCantonal” en Oracle 11g mediante SQL comprobar el acceso a diferentes objetos según los roles, se
Developer. Los pasos para la ingeniería de base de datos son: 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 Sí. 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 Usuario AngelDBA

Se debe comprobar si los servicios de Oracle estén activos, para Ya iniciada la sesión, se crea la tabla Producto con sus campos
ello, hay que digitar Windows + r y escribir Services.msc, luego Id, Nombre y Stock con la siguiente sintaxis:
buscamos los servicios de Oracle y los activamos en caso que
estén desactivados. CREATE TABLE Producto (Id Integer Primary Key, Nombre
varchar(40), Stock Integer);
Creación de usuarios y definición de roles
Luego se ingresan tres productos a la tabla, de la siguiente
Luego de comprobar que los servicios estén activos, se procede manera:
a abrir la aplicación SQL Developer y se inicia sesión con el INSERT INTO Producto VALUES (1,'ToniMix',30);
usuario SYSTEM y pedirá la contraseña del usuario. INSERT INTO Producto VALUES (2,'Ruffles',50);
INSERT INTO Producto VALUES (3,'Coca Cola 1L',20);
Usuario: SYSTEM Contraseña: deathnote
Se hace una consulta a la tabla Producto:
Ya iniciada la sesión, se procede a crear 3 usuarios con sus SELECT * FROM Producto;
respectivas contraseñas, de la siguiente manera:
Como el usuario AngelDBA ya tiene permisos sobre todos los
CREATE USER AngelDBA IDENTIFIED BY 12345; objetos de los usuarios, no hay necesidad de asignar privilegios
CREATE USER JhonResource IDENTIFIED BY 54321; para acceder a los objetos del usuario LuisConnect.
CREATE USER LuisConnect IDENTIFIED BY 1234;
En primer lugar se realiza una consulta a la tabla Cliente:
Lo siguiente que se realiza es la definición de roles de los SELECT * FROM LuisConnect.Cliente;
usuarios creados: A continuación se agregará un cliente a la tabla:
INSERT INTO LuisConnect.Cliente VALUES (5, 'Sofía',
Al usuario AngelDBA se le concede el rol DBA: 0981355474);
GRANT DBA TO AngelDBA;
Luego se realiza una actualization al cliente ingresado:
Teniendo el rol DBA, el usuario AngelDBA podrá tener acceso UPDATE LuisConnect.Cliente SET TELEFONO =0912457412
a todos los objetos de diferentes usuarios de la base de datos. 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.
DELETE LuisConnect.Cliente WHERE Id=5;
Teniendo el rol de RESOURCE, el usuario JhonResource podrá
crear y tener dominio de todos sus objetos, pero no de los demás Teniendo en cuenta los permisos adecuados y la correcta
usuarios. escritura de los comandos, no se tuvo ningún problema
accediendo a la tabla Cliente del usuario LuisConnect.
Al usuario LuisConnect se le concede el rol Connect:
GRANT CONNECT TO LuisConnect; Usuario JhonResource

Teniendo el rol de CONNECT, el usuario LuisConnect solo podrá El usuario en un inicio, no pudo iniciar sesión, se tuvo que
iniciar sesión en la base de datos. No podrá crear ni modificar un otorgar el permiso de Connect para que pueda conectarse, luego
objeto. de iniciar sesión, se crea la tabla Proveedor con los campos Id,
Nombre y Telefono. De la siguiente manera:
Creación de tablas y manipulación de datos
CREATE TABLE Producto (Id Integer Primary Key, Nombre
Cada usuario anteriormente creado con su rol definido, creará varchar2(40), Telefono varchar2(10));
una tabla y realizará inserciones, consultas, modificaciones y
eliminaciones, para comprobar los permisos que se tienen sobre Se insertan 3 registros. Como ejemplo:
los objetos de cada usuario, según su rol. Si un usuario no puede INSERT INTO Proveedor VALUES (1, ‘Coca-Cola Company’,
hacer una de las acciones anteriores, se le concederá los permisos 20);
necesarios para que pueda trabajar con dichas tablas. 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;  Para la configuración de los DBMS se debe tener un
grado medio, a nivel de conocimientos de los protocolo
El usuario procede a hacer una consulta en la tabla Producto del de comunicación, estos mismos DBMS brindan una
usuario AngelDBA. De la siguiente manera: facilidad de comunicación mediante medios
SELECT * FROM AngelDBA.PRODUCTO;
inalámbricos.
Como el usuario JhonResource no es DBA, ni propietario de la  Las herramientas CASE también sirvieron para la
tabla, no puede tener acceso a ella, y se muestra el siguiente creación de un modelo físico, a partir de un problema
mensaje: Error SQL: ORA-00942: table or view does not exist. planteado, esta herramienta facilitó tanto la creación de
tablas y las relaciones entre ellas, respectivamente con
De igual manera no se podrá tener acceso a la tabla si se desea sus restricciones.
realizar una inserción, modificación o eliminación. Para ello el  Después de haber puesto en práctica lo investigado,
usuario AngelDBA, propietario de la tabla, debe otorgarle los realizado la conexión de manera correcta entre una
permisos para operar en aquella tabla, de la siguiente manera: maquina cliente-servidor, la utilización de las
herramientas CASE tanto para la realización de la
GRANT ALL ON PRODUCTO TO JHONRESOURCE; ingeniería, como la reingeniería de un BD y la
configuración de los DBMS no fueron un gran
Con los permisos otorgados el usuario procede a realizar las
obstáculo, al momento de realizar el trabajo.
siguientes acciones:

INSERT INTO ANGELDBA.PRODUCTO VALUES (4, ‘Coca V. REFERENCIAS BIBLIOGRÁFICAS


Cola 1L’, 15);
SELECT * FROM ANGELDBA.PRODUCTO; [1] Y.-J. Lu, «iesssanvicente,» 2007-2008. [En línea]. Available:
UPDATE ANGELDBA.PRODUCTO SET Nombre=‘Pony https://iessanvicente.com/colaboraciones/oracle.pdf. [Último
Malta’ WHERE Id=2; acceso: 29 05 2017].
DELETE ANGELDBA.PRODUCTO WHERE Id=4;
[2] Oracle, «Oracle,» [En línea]. Available:
Cada una de las sentencias se ejecuta correctamente, ya que se http://www.oracle.com/technetwork/developer-tools/sql-
dieron los permisos de inserción, selección, actualización y
developer/documentation/index.html.[Último acceso: 29 05
eliminación.
2017].
Usuario LuisConnect [3] D. d. S. I. y. Computación, Metodología y Tecnología de la
Programación, VALENCIA-ESPAÑA: Universidad Politécnica
Una vez iniciada la sesión de nuestro usuario, creamos la tabla
de Valencia. , 2013.
Cliente con sus campos id_cleinte, Nombre, Teléfono.
[4] K. &. Kendall, Análisis y Diseño de Sistemas, Fantástico,
Créate table Cliente(id_cleinte integer,Nombre Varchar(100), S.A, 2012.
Telefono Varchar (10));
[5] Oracle, «Documentos: Oracle,» [En línea]. Available:
A continuación ingresamos 3 Clientes a nuestra tabla: http://docs.oracle.com/cd/B28359_01/server.111/b28310.pdf.
[Último acceso: 29 06 2017].
INSERT INTO Cliente VALUES (1,'luis','1234567890');
INSERT INTO Cliente VALUES (2,'angel','0987654321'); [6] O. HEURTEL, Oracle 11g: Administración, Editions
INSERT INTO Cliente VALUES (3,'jhon','6373829204'); ENI, 2009.

Realizamos una consulta de la tabla Proveedor:

SELECT * FROM JhonResource.PROVEEDOR;

Ahora vamos a ingresar un nuevo proveedor:

INSERT INTO JhonResource.PROVEEDOR VALUES


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

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.

Вам также может понравиться