Vous êtes sur la page 1sur 46

FACULTAD DE INGENIERÍA

CARRERA PROFESIONAL DE INGENIERÍA DE SISTEMAS

TITULO
“Administración y gestión de la empresa Equipamos tu evento”

AUTOR(es)

VelasquezBendezu, Diego
Roman Torres, Piero
Pezo Ramírez, Gustavo

DOCENTE

MICHAEL CABANILLAS CARBONELL

LIMA - PERÚ, DICIEMBRE DE 2018

1
ÍNDICE

1. PLANEACIÓN Y ADMINISTRACIÓN DEL PROYECTO ................................................................................................... 4


1.1 Equipamos tu evento .................................................................................................................................................. 4
1.1.1 Descripción........................................................................................................................................................... 4
1.1.2 Misión y visión...................................................................................................................................................... 4
1.2 Problemática ............................................................................................................................................................... 4
1.2.1 General ................................................................................................................................................................. 4
1.2.2 Especifico ............................................................................................................................................................. 4
1.3 Objetivos del proyecto: ............................................................................................................................................... 5
1.3.1 General ................................................................................................................................................................. 5
1.3.2 Específicos ............................................................................................................................................................ 5
1.4 Alcance del proyecto ................................................................................................................................................... 5
1.5 Justificación ................................................................................................................................................................. 5
1.6 Beneficios .................................................................................................................................................................... 6
1.7 Roles y equipos ........................................................................................................................................................... 6
1.8 Cronograma ................................................................................................................................................................ 6
1.9 Recursos: ..................................................................................................................................................................... 7
1.9.1 Personal............................................................................................................................................................ 7
1.9.2 Software: .......................................................................................................................................................... 7
2. Requerimiento del sistema ........................................................................................................................................... 8
2.1 Descripción del proceso de registro........................................................................................................................ 8
2. 2 Proceso de envío .................................................................................................................................................... 9
2.3 Catalogo de requisitos .......................................................................................................................................... 10
2.3.1 Funcionales .................................................................................................................................................... 10
2.3.2 No funcionales ............................................................................................................................................... 10
3. Análisis de requerimientos ..................................................................................................................................... 10
3.1 Casos de uso.................................................................................................................................................... 10
4.1 Nivel conceptual.................................................................................................................................................... 11
4.2 Nivel lógico ............................................................................................................................................................ 11
4.3 Modelo físico ......................................................................................................................................................... 12
4.4 Diccionario de datos ............................................................................................................................................. 12
5. Administración de la base de datos ........................................................................................................................ 24
5.1 Arquitectura de la BD ............................................................................................................................................ 24
5.2 Determinación del tamaño de la BD ..................................................................................................................... 25
2
5.3 Gestión de la Seguridad ........................................................................................................................................ 25
5.3.1 Roles ............................................................................................................................................................... 25
5.3.2 Privilegios ....................................................................................................................................................... 25
5.3.3 Cuentas de Acceso ......................................................................................................................................... 26
5.4 Programación de Backups y recuperación ............................................................................................................ 26
6. Scripts de los objetos principales ............................................................................................................................ 29
6.1 Procedures ............................................................................................................................................................ 32
6.2 Funciones .............................................................................................................................................................. 35
6.3 Disparadores ......................................................................................................................................................... 35
6.4 Vistas ..................................................................................................................................................................... 36
6.5 Secuencias ............................................................................................................................................................. 36
7. Interfaces o prototipos ........................................................................................................................................... 37
7.1 Interfaz Visual Studio ...................................................................................................................................... 37
7.2 Interfaz Netbeans ……………………………………………………………………….................................................................43

8- Conclusiones ……………………………………………………………………………………………………………………................................46
9. Referencias………………………………………………………………………………………………………………………………………………………46

3
1. PLANEACIÓN Y ADMINISTRACIÓN DEL PROYECTO

1.1 Equipamos tu evento

1.1.1 Descripción

“Equipamos tu evento” es una empresa que ofrece servicios con total disposición de
satisfacer necesidades de las diferentes tendencias de organización de eventos para
realizar matrimonios, fiestas, reuniones, shows, conciertos y privados.

1.1.2 Misión y visión

Esta empresa busca volverse líder en el mercado, siendo proveedor de sus productos
a los mejores organizadores de eventos de todo Lima y provincias cercanas. Buscan
innovar continuamente sus productos y aumentar la calidad de sus servicios para sus
clientes.

1.2 Problemática

1.2.1 General

Actualmente la empresa “Equipamos tu evento” no cuenta con una administración


apropiada de la base de datos, es decir, existe deficiencia en la organización de la
distribución servicios la cual no permite su crecimiento.

1.2.2 Especifico

 Falta de organización al registrar el alquiler de inmobiliaria o servicios.


 Errores al digitar los pedidos que solicitan los clientes.
 El administrador mantiene problemas al recurrir a un stock en base a ficheros.

4
1.3 Objetivos del proyecto:

1.3.1 General

Diseñar un aplicativo portable para optimizar los procesos de registro de inmobiliaria


a alquilar, la elaboración de reportes del stock disponible y brindar detalle de ello al
cliente en tiempo real, es decir, administrar la base de datos que cuenta la empresa
para poder realizar contratos de manera simple.

1.3.2 Específicos

 Reducir el tiempo en el que se consulta el stock disponible de inmobiliaria, a su vez, del


registro de la información del cliente.
 Facilitar la información de pedidos que se realizan al transcurso de los días, funcionando
como un cronograma de ventas.
 Optimizar los registros de contratos de ventas para los clientes.

1.4 Alcance del proyecto

Nuestro proyecto será utilizado inicialmente por la empresa “Equipamos Tu Evento” y de ser
comprobado su efectividad en la optimización del tiempo con que la empresa brinda servicios a
sus clientes y demás, se espera que gradualmente sea usado por empresas con mayor
experiencia que laboran en el mismo mercado. A partir de esta, se buscará optimizar el algoritmo
del programa y adaptar el código a las necesidades de las empresas que lo solicitan.

1.5 Justificación

Consideramos que la organización es la base de una producción eficaz, con el propósito de


mantener en orden los procesos a llevar en dicha empresa. El tiempo avanza y las maneras de
tener un mejor rendimiento aumentan, por ello, actuar como una empresa inteligente es
beneficioso para la entidad y sus clientes, es decir, adaptarse a los cambios de la sociedad e
implementar nuevas alternativas de control y organización, a su vez, obteniendo un reporte
óptimo de las ventas generadas, visualizando el stock en tiempo real.

5
1.6 Beneficios

El proyecto permitirá que la calidad de datos sea realmente eficaz, evitara la redundancia
de datos y en cierto grado la inconsistencia, también brindará mayor seguridad a la
información además de brindar un servicio más óptimo a sus clientes y generar más
ventas para la empresa, logrando que esta tenga mayor reconocimiento en el mercado.

1.7 Roles y equipos

Integrantes Roles

Diego Velasquez Líder/coordinador

Piero Roman Investigador

Gustavo Pezo Digitador

1.8 Cronograma
S. Actividades Setiembre Octubre Noviembre Diciembre Encargad
o(s)
1 2 3 4 1 2 3 4 6 13 20 27 1 2 4 11
3 Avance del primer capítulo. X Todos
Subir al campus virtual.
5 Avance x Todos
7 Avance x Todos
9 Informe Formato Digital. x Todos
Prototipo del login con
Oracle y exposición de
capítulos anteriores.
11 Avance x Todos
13 Informe Formato Digital. x Todos
Prototipo del login con
Oracle y consultas de
Administración de base de
datos.
15 Presentación en PPT. x Todos
Informe Completo impreso
(anillado)
Formato Digital
16 Presentación en PPT. x Todos
Informe Completo Impreso
(anillado)
Formato Digital

6
1.9 Recursos:

1.9.1 Personal

 Modelos entidad – relación

Es un método del que disponemos para diseñar esquemas que posteriormente debemos de
implementar en un gestor de bases de datos, que se representa a través de diagramas y además
de estar formado por varios elementos.

Este modelo habitualmente, aparte de disponer de un diagrama que ayuda a entender los datos y
como se relacionan entre ellos, debe de ser completado con un pequeño resumen con la lista de
los atributos y las relaciones de cada elemento.

 Modelos relacionales

Una base de datos relacional es una recopilación de elementos de datos con relaciones definidas
entre ellos.

Estos elementos se organizan como un conjunto de tablas con columnas y filas, las tablas se utilizan
para guardar información sobre los objetos que se van a representar en la base de datos y en cada
columna de una tabla guarda un determinado tipo de datos.

1.9.2 Software:

 Oracle

Es un sistema de gestión de base de datos relacional (Relational Data Base Management System),
desarrollado por Oracle Corporation. Oracle (s.f.) dice que “Oracle SQL Developer es un entorno
de desarrollo integrado y gratuito que simplifica el desarrollo y la administración de Oracle Database
en implementaciones tradicionales y en la nube. SQL Developer ofrece el desarrollo completo de
sus aplicaciones PL / SQL, una hoja de trabajo para ejecutar consultas y scripts, una consola DBA
para administrar la base de datos, una interfaz de informes, una solución completa de modelado de
datos y una plataforma de migración para mover su Bases de datos de terceros a Oracle”.

7
2. Requerimiento del sistema
2.1 Descripción del proceso de registro
Grafico N° 1: Representación del proceso de registro.

Fuente: Elaboración propia.

 DESCRIPCIÓN

Tabla n° 1: Descripción del proceso de registro.

Proceso Pasos Descripción


Se ingresa a la página de
bienvenida. Para obtener
Ingresar a la plataforma una cuenta se necesita
ingresar al apartado de
registro.
Solicitar registro El servidor solicita un
registro.
Registro El servido solicita al nuevo
Solicitar datos al cliente usuario sus datos para la
creación de su cuenta.
El nuevo usuario ingresa
Ingresar datos los datos solicitados por la
plataforma.
Confirma registro El servidor confirma que
su registro fue exitoso.

8
2. 2 Proceso de envío
Grafico N° 2: Representación del proceso de envío.

Fuente: Elaboración propia.

 DESCRIPCIÓN
Tabla N° 2: Descripción del proceso de envío

Proceso Pasos Descripción


Seleccionar producto El usuario selecciona el
producto que desea alquilar.
Confirmar registro El servidor le confirma su
registro.
Ingresar dato de entrega El usuario ingresa los datos
requeridos por el sistema.
Confirmación de alquiler El servidor confirma que fue
exitoso su registro.
Selecciona forma de pago El cliente selecciona la forma
Envío de pago que a él le
convenza.
Enviar producto Se envía el producto a su
dirección.
Recibir producto El cliente recibe el producto.
Devolver producto El cliente devuelve el
producto.
Confirmar devolución El servidor confirma la
devolución.
9
Fuente: Elaboración propia

2.3 Catalogo de requisitos


2.3.1 Funcionales
 Se debe de poder crear usuarios nuevos.
 Se realizará un listado de los usuarios que tiene la base de datos.
 Se generará roles y a estos se les otorgará privilegios.
 Se otorgará roles al usuario que se desee.
 Se realizarán consultas básicas a la base de datos. (tamaño que ocupan los
usuarios, etc.)
 Permitirá administrar a los usuarios de la base de datos
 Se crearan tables spaces y temporary
 Se logueará como administrador y empleado, estos tendrán funciones diferentes

2.3.2 No funcionales
 Las consultas deben de resolverse en menos de 5 segundos
 Trabajará con la base de datos Oracle SQL developer versión 10.2.0.1.0.
 El sistema dependerá de la base de datos
 La interfaz gráfica resultará de fácil comprensión
 Tendrá una interfaz gráfica de fácil lectura
 La información modificada en el programa debe de reflejarse en la base de datos
 Se usará Visual Studio 2015 para la interfaz gráfica

3. Análisis de requerimientos

3.1 Casos de uso

Diagrama N° 1: Representación de caso de usos.

Fuente: Elaboración propia.

10
4. Diseño de la base de datos

4.1 Nivel conceptual


Diagrama N° 2: Modelo conceptual de la base de datos en Oracle.

Fuente: Elaboración propia.

4.2 Nivel lógico


Diagrama N° 3: Modelo lógico de la base de datos en Oracle.

11
Fuente:
Elaboración propia.

4.3 Modelo físico


Diagrama N° 4: Modelo físico de la base de datos en Oracle.

Fuente: Elaboración propia.

4.4 Diccionario de datos

Tabla N° 3 Diccionario de Datos


12
Design Name EquipamosTuEvento
Version Date 10.12.2018 07:17:43
Version Comment
Model Name Relational_1
Fuente: Elaboración propia.
Tabla N° 4 Diccionario de Datos

Table Name administrador

Functional Name administrador


Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 5

Description
Notes
Fuente: Elaboración propia.
Tabla N° 6

Number Of Columns 2
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
Fuente: Elaboración propia.
Tabla N° 7: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 admi_usuario P Y VARCHAR (15) LT
2 admi_contraseña VARCHAR (15) LT
Fuente: Elaboración propia.

13
Tabla N° 8: Indexes

Sort
Index Name State FunctionalSpatial Expression Column Name
Order
administrador_PK PK admi_usuario ASC
Fuente: Elaboración propia.
Tabla N° 9

Table Name camiones

Functional Name camiones


Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 10

Description
Notes
Fuente: Elaboración propia.

Tabla N° 11

Number Of Columns 3
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
Fuente: Elaboración propia.

Tabla N° 12: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default Security Abbreviation
kind Name
Value)
1 camiones_id P Y Integer LT
2 cam_matricula VARCHAR (6) LT
3 cam_modelo VARCHAR (50) LT
14
Fuente: Elaboración propia.

Tabla N° 13: Indexes

Sort
Index Name State FunctionalSpatial Expression Column Name
Order
camiones_PK PK camiones_id ASC
Fuente: Elaboración propia.

Tabla N° 14: Foreign Keys (referredfrom)

Referred In Referred Delete


Name Mandatory Transferable Columns
From Arc Columns Rule
maneja_camiones_FK maneja Y Y camiones_camiones_id camiones_id
Fuente: Elaboración propia.

Tabla N° 15

Table Name categoria

Functional Name categoria


Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 16

Description
Notes
Fuente: Elaboración propia.

Tabla N° 17

Number Of Columns 2
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
15
Fuente: Elaboración propia.

Tabla N° 18: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 cat_id P Y Integer LT
2 cat_nombre VARCHAR (50) LT
Fuente: Elaboración propia.

Tabla N° 19: Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
categoria_PK PK cat_id ASC
Fuente: Elaboración propia.

Tabla N° 20: Foreign Keys (referredfrom)


Referred In Referred Delete
Name MandatoryTransferable Columns
From Arc Columns Rule
productos_categoria_FK productos Y Y categoria_cat_id cat_id
Fuente: Elaboración propia.

Tabla N° 21

Table Name clientes

Functional Name clientes


Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 22

Description
Notes
Fuente: Elaboración propia.

Tabla N° 23

Number Of Columns 8
Number Of Rows 0
16
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
Fuente: Elaboración propia.

Tabla N° 24: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 cli_dni P Y Integer LT
2 cli_nombre VARCHAR (50) LT
3 cli_apellidos VARCHAR (50) LT
4 cli_direccion VARCHAR (50) LT
5 cli_telefono Integer LT
6 cli_correo VARCHAR (50) LT
7 cli_usuario VARCHAR (10) LT
8 cli_clave VARCHAR (10) LT
Fuente: Elaboración propia.

Tabla N° 25: Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
clientes_PK PK cli_dni ASC
Fuente: Elaboración propia.

Tabla N° 26: Foreign Keys (referredfrom)


In Referred Delete
Name Referred From Mandatory Transferable Columns
Arc Columns Rule
pedido_clientes_FK pedido Y Y clientes_cli_dni cli_dni
Fuente: Elaboración propia.

Tabla N° 27

Table Name empleados

Functional Name empleados


Abbreviation
Classification Type
Name
17
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 28

Description
Notes
Fuente: Elaboración propia.

Tabla N° 29

Number Of Columns 6
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
Fuente: Elaboración propia.

Tabla N° 30: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 emple_dni P Y Integer LT
2 emple_nombre VARCHAR (50) LT
3 emple_apellido VARCHAR (50) LT
4 emple_cargo VARCHAR (30) LT
5 emple_telefono Integer LT
6 emple_ciudad VARCHAR (50) LT
Fuente: Elaboración propia.

Tabla N° 32: Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
empleados_PK PK emple_dni ASC
Fuente: Elaboración propia.

Tabla N° 33: Foreign Keys (referredfrom)


18
Referred In Referred Delete
Name Mandatory Transferable Columns
From Arc Columns Rule
maneja_empleados_FK maneja Y Y empleados_emple_dni emple_dni
Fuente: Elaboración propia.

Tabla N° 34

Table Name maneja

Functional Name
Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 35

Description
Notes
Fuente: Elaboración propia.

Tabla N° 36

Number Of Columns 2
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
Fuente: Elaboración propia.

Tabla N° 37: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 empleados_emple_dni P F Y Integer LT
2 camiones_camiones_id P F Y Integer LT
Fuente: Elaboración propia.

Tabla N° 38: Indexes


19
Sort
Index Name State Functional Spatial Expression Column Name
Order
maneja_PK PK empleados_emple_dni ASC
camiones_camiones_id ASC
Fuente: Elaboración propia.

Tabla N° 39: Foreign Keys (referring to)


Refering In Referred Delete
Name MandatoryTransferable Columns
To Arc Columns Rule
maneja_empleados_FK empleados Y Y empleados_emple_dni emple_dni
maneja_camiones_FK camiones Y Y camiones_camiones_id camiones_id
Fuente: Elaboración propia.

Tabla N° 40

Table Name pedido

Functional Name pedido


Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 41

Description
Notes
Fuente: Elaboración propia.
Tabla N° 42

Number Of Columns 4
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
Fuente: Elaboración propia.

Tabla N° 43: Columns

20
Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 ped_id P Y Integer LT
2 ped_estado VARCHAR LT
(100)
3 ped_comprobante VARCHAR (50) LT
4 clientes_cli_dni F Y Integer LT
Fuente: Elaboración propia.

Tabla N° 44: Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
pedido_PK PK ped_id ASC
Fuente: Elaboración propia.

Tabla N° 45: Foreign Keys (referredfrom)

In ReferredDelete
Name Referred From Mandatory Transferable Columns
Arc Columns Rule

pedido_productos_pedido_FK pedido_productos Y Y pedido_ped_id ped_id


Fuente: Elaboración propia.

Tabla N° 46

Table Name pedido_productos

Functional Name
Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 47

Description
Notes
Fuente: Elaboración propia.

Tabla N° 48

21
Number Of Columns 5
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year

Fuente: Elaboración propia.

Tabla N° 49: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 productos_prod_id P F Y Integer LT
2 pedido_ped_id P F Y Integer LT
3 cantidad Integer LT
4 fecha_pedido Date LT
5 fecha_retorno Date LT
Fuente: Elaboración propia.

Tabla N° 51: Indexes

Sort
Index Name State Functional Spatial Expression Column Name
Order
pedido_productos_PK PK productos_prod_id ASC
pedido_ped_id ASC
Fuente: Elaboración propia.

Tabla N° 52: Foreign Keys (refering to)

Refering In ReferredDelete
Name MandatoryTransferable Columns
To Arc Columns Rule
pedido_productos_productos_FK productos Y Y productos_prod_id prod_id
pedido_productos_pedido_FK pedido Y Y pedido_ped_id ped_id
Fuente: Elaboración propia.

Tabla N° 53

Table Name productos

22
Functional Name productos
Abbreviation
Classification Type
Name
Object Type Name
MV Prebuilt
MV Query
Fuente: Elaboración propia.

Tabla N° 54

Description
Notes
Fuente: Elaboración propia.

Tabla N° 55

Number Of Columns 6
Number Of Rows 0
Min.
Number Of Rows 9999999
Max.
Expected Number 0
Of Rows
Expected Growth 0
Growth Interval Year
Fuente: Elaboración propia.
Tabla N° 56: Columns

Formula
DT Domain
No Column Name PK FK M Data Type (Default SecurityAbbreviation
kind Name
Value)
1 prod_id P Y Integer LT
2 prod_nombre VARCHAR (50) LT
3 prod_descripcion VARCHAR LT
(100)
4 prod_cantidad Integer LT
5 prod_precio Integer LT
6 categoria_cat_id F Y Integer LT
Fuente: Elaboración propia.

Tabla N° 57: Indexes

23
Sort
Index Name State Functional Spatial Expression Column Name
Order
productos_PK PK prod_id ASC
Fuente: Elaboración propia.

Tabla N° 58: Foreign Keys (referring to)

In Referred Delete
Name Refering To Mandatory Transferable Columns
Arc Columns Rule
productos_categoria_FK categoria Y Y categoria_cat_id cat_id
Fuente: Elaboración propia.

Tabla N° 59: Foreign Keys (referredfrom)

In Referred
Name Referred From MandatoryTransferable Columns
Arc Column
pedido_productos_productos_FK pedido_productos Y Y productos_prod_id prod_id
Fuente: Elaboración propia.

5. Administración de la base de datos

5.1 Arquitectura de la BD

El DBA podrá planificar y crear bases de datos, gestionar la disponibilidad de la base


de datos, gestionar las estructuras físicas y lógicas, gestionar el almacenamiento
basándose en el diseño, gestionar la seguridad, hacer copias de seguridad y
recuperación, realizar ajustes a la base de datos, etc.
La estructura física incluye tres tipos de archivos:
a. Archivos de control.
b. Archivos de datos.
c. Archivos redo log online.

La estructura de memoria está formada por dos áreas de memoria llamadas:

a. SGA (Área global del sistema): Asignada al iniciar la instancia y componente


fundamental de una instancia Oracle.
b. PGA (Área global de programas): Asignada al iniciar el proceso de servidor.

Esta estructura incluye:

a. Tablespaces: Los datos de una base de datos Oracle se almacenan en


tablespaces.
b. Segmentos
c. Extensiones: El espacio se asigna a un segmento mediante extensiones.
d. Bloques de datos: Oracle Server gestiona el espacio de almacenamiento de los
archivos de datos en unidades llamadas bloques Oracle o bloques de datos.
24
Oracle tiene tres tipos de procesos:

a. Procesos de usuario: Se inician cuando un usuario de base de datos solicita una


conexión a Oracle Server.
b. Procesos de servidor: Se conectan a la instancia Oracle y se inician cuando un
usuario establece una sesión.
c. Procesos en segundo plano: Se inician al iniciar una instancia Oracle.

5.2 Determinación del tamaño de la BD


Para saber cuál es el tamaño de la base de datos, ejecutamos la sentencia: select
sum(BYTES)/1024/1024 MBfrom DBA_EXTENTS. En este caso, la base de datos
está pesando 829,5625 MB debido a las tablas, las vistas, los procesos
almacenados, y demás que posee.
Todas las tablas pertenecientes al usuario EquipamosTuEvento están pesando
0,0625 MB, como la de camiones, clientes, productos, ect.

5.3 Gestión de la Seguridad

5.3.1 Roles
Un rol es un grupo de privilegios que reciben un nombre, este rol puede ser
otorgado posteriormente a un usuario. Usar roles hace más fácil el manejo de los
privilegios Un usuario puede tener asignados varios roles y varios usuarios pueden
tener el mismo rol Los roles normalmente se crean debido a necesidades de las
aplicaciones El DBA o un usuario con privilegios de crear roles, crea el rol y luego
a ese rol se le asignan los privilegios.
Trabajaremos asignando roles a los diferentes usuarios del sistema a través del
sistema del administrador.

5.3.2 Privilegios
Son el derecho que tiene un usuario para ejecutar una sentencia SQL El
Administrador de la base de datos (DBA) tiene todos los privilegios y puede otorgar
privilegios a otros usuarios Los privilegios del sistema dan acceso a la base de
datos Los privilegios de objeto dan la capacidad de manipular el contenido de los
objetos de la base de datos.
Otorgaremos los privilegios que creamos convenientes a los usuarios de la base
de datos. Esto se llevará a cabo por medio del administrador y su sistema.
Los privilegios que usamos son los siguientes:
a. Create session
b. Create table
c. Create user
d. Create view
e. Creta role
f. Entre otros

25
5.3.3 Cuentas de Acceso
Ingresamos con el usuario system de contraseña 123, este usuario tiene el control
de la base de datos, por lo que puede genera usuarios inferiores. Se les otorgara
privilegios a estos usuarios para que puedan realizar consultas a la base de datos.

5.4 Programación de Backups y recuperación

Se procede a la creación de backups o copias de seguridad, que respalda la base


de datos en caso de que algún empleado o hasta el mismo administrador modifique
o elimine algún registro y luego desee recuperarlo. También a crear los triggers o
disparadores necesarios para que estos backups funcionen.

 Tabla productos

CREATE TABLE PRODUCTOS_BACK (


prod_id INTEGER NOT NULL,
prod_nombre VARCHAR2(50),
prod_descripcion VARCHAR2(100),
prod_cantidad INTEGER,
prod_precio INTEGER,
categoria_cat_id INTEGER NOT NULL
);

CREATE TRIGGER PRODUCTOS_BACKUP


after insert on PRODUCTOS
for each
row begin
insert into PRODUCTOS_BACK (prod_id, prod_nombre , prod_descripcion,
prod_cantidad, prod_precio,categoria_cat_id) values (:new.prod_id,
:new.prod_nombre, :new.prod_descripcion, :new.prod_cantidad,
:new.prod_precio,:new.categoria_cat_id);
end;

 Tabla empleados

CREATE TABLE EMPLEADOS_BACK (


emple_dni INTEGER NOT NULL,
emple_nombre VARCHAR2(50),
emple_apellido VARCHAR2(50) NOT NULL,
emple_cargo VARCHAR2(30),
emple_telefono INTEGER,
emple_ciudad VARCHAR2(50)
);

CREATE TRIGGER EMPLEADOS_BACKUP


after insert on EMPLEADOS
26
for each
row begin
insert into EMPLEADOS_BACK (emple_dni, emple_nombre , emple_apellido,
emple_cargo,emple_telefono,emple_ciudad) values (:new.emple_dni,
:new.emple_nombre, :new.emple_apellido, :new.emple_cargo,
:new.emple_telefono,:new.emple_ciudad);
end;

 Tabla categoría

CREATE TABLE CATEGORIA_BACK (


cat_id INTEGER NOT NULL,
cat_nombre VARCHAR2(50)
);

CREATE TRIGGER CATEGORIA_BACKUP


AFTER INSERT ON CATEGORIA
FOR EACH ROW BEGIN
INSERT INTO CATEGORIA_BACK (cat_id,cat_nombre) values
(:new.cat_id,:new.cat_nombre);
end;

 Tabla camiones

CREATE TABLE CAMIONES_BACK (


camiones_id NUMBER NOT NULL,
cam_matricula VARCHAR2(6),
cam_modelo VARCHAR2(50)
);

CREATE TRIGGER CAMIONES_BACKUP


AFTER INSERT ON CAMIONES
FOR EACH ROW BEGIN
INSERT INTO CAMIONES_BACK (camiones_id,cam_matricula,cam_modelo)
values
(:new.camiones_id,:new.cam_matricula,:new.cam_modelo);
end;

 Tabla pedido

CREATE TABLE PEDIDO_BACK(


ped_id INTEGER NOT NULL,
ped_estado VARCHAR2(100),
ped_comprobante VARCHAR2(50),
27
clientes_cli_dni INTEGER NOT NULL
);

CREATE TRIGGER PEDIDO_BACKUP


AFTER INSERT ON PEDIDO
FOR EACH ROW BEGIN
INSERT INTO PEDIDO_BACK
(ped_id,ped_estado,ped_comprobante,clientes_cli_dni) values
(:new.ped_id,:new.ped_estado,:new.ped_comprobante,:new.clientes_cli_dni);
end;

 Tabla clientes

CREATE TABLE CLIENTES_BACK (


cli_dni INTEGER NOT NULL,
cli_nombre VARCHAR2(50),
cli_apellidos VARCHAR2(50),
cli_direccion VARCHAR2(50),
cli_telefono INTEGER,
cli_correo VARCHAR2(50),
cli_usuario VARCHAR2(10),
cli_clave VARCHAR2(10)
);

CREATE or replace TRIGGER CLIENTES_BACKUP


AFTER INSERT ON CLIENTES
FOR EACH ROW BEGIN
INSERT INTO CLIENTES_BACK
(cli_dni,cli_nombre,cli_apellidos,cli_direccion,
cli_telefono,cli_correo,cli_usuario,cli_clave) VALUES (:new.cli_dni,
:new.cli_nombre,:new.cli_apellidos,:new.cli_direccion,:new.cli_telefono,
:new.cli_correo,:new.cli_usuario,:new.cli_clave);
END;

 Tabla administrador

CREATE TABLE ADMINISTRADOR_BACK (


admi_usuario VARCHAR2(15) NOT NULL,
admi_contraseña VARCHAR2(15)
);

CREATE TRIGGER ADMINISTRADOR_BACKUP


AFTER INSERT ON ADMINISTRADOR
FOR EACH ROW BEGIN
INSERT INTO ADMINISTRADOR_BACK (admi_usuario,admi_contraseña)
VALUES
28
(:new.admi_usuario,:new.admi_contraseña);
END;

 Tabla maneja

CREATE TABLE MANEJA_BACK (


empleados_emple_dni INTEGER NOT NULL,
camiones_camiones_id NUMBER NOT NULL
);

CREATE TRIGGER MANEJA_BACKUP


AFTER INSERT ON MANEJA
FOR EACH ROW BEGIN
INSERT INTO MANEJA_BACK
(empleados_emple_dni,camiones_camiones_id)
VALUES (:new.empleados_emple_dni,:new.camiones_camiones_id);
END;

 Tabla pedido_producto

CREATE TABLE PEDIDO_PRODUCTOS_BAK (


ped_id INTEGER NOT NULL,
prod_id INTEGER NOT NULL,
cantidad INTEGER,
FECHA_PEDIDO DATE,
FECHA_RETORNO DATE
);

CREATE TRIGGER PEDIDO_PRODUCTOS_BACKUP


AFTER INSERT ON PEDIDO_PRODUCTOS
FOR EACH ROW BEGIN
INSERT INTO PEDIDO_PRODUCTOS_BAK
(ped_id,prod_id,cantidad,fecha_pedido,fecha_retorno)
VALUES
(:new.ped_id,:new.prod_id,:new.cantidad,:new.fecha_pedido,:new.fecha_retor
no);
END;

6. Scripts de los objetos principales


 Tablas
CREATE TABLE administrador (
admi_usuario VARCHAR2(15) NOT NULL,
admi_contraseña VARCHAR2(15)
);

29
ALTER TABLE administrador ADD CONSTRAINT administrador_pk
PRIMARY KEY ( admi_usuario );

CREATE TABLE camiones (


camiones_id NUMBER NOT NULL,
cam_matricula VARCHAR2(6),
cam_modelo VARCHAR2(50)
);

ALTER TABLE camiones ADD CONSTRAINT camiones_pk PRIMARY KEY (


camiones_id );

CREATE TABLE categoria (


cat_id INTEGER NOT NULL,
cat_nombre VARCHAR2(50)
);

ALTER TABLE categoria ADD CONSTRAINT categoria_pk PRIMARY KEY (


cat_id );

CREATE TABLE clientes (


cli_dni INTEGER NOT NULL,
cli_nombre VARCHAR2(50),
cli_apellidos VARCHAR2(50),
cli_direccion VARCHAR2(50),
cli_telefono INTEGER,
cli_correo VARCHAR2(50),
cli_usuario VARCHAR2(10),
cli_clave VARCHAR2(10)

);

ALTER TABLE clientes ADD CONSTRAINT clientes_pk PRIMARY KEY (


cli_dni );

CREATE TABLE empleados (


emple_dni INTEGER NOT NULL,
emple_nombre VARCHAR2(50),
emple_apellido VARCHAR2(50) NOT NULL,
emple_cargo VARCHAR2(30),
emple_telefono INTEGER,
emple_ciudad VARCHAR2(50)

);

30
ALTER TABLE empleados ADD CONSTRAINT empleados_pk PRIMARY
KEY ( emple_dni );

CREATE TABLE productos (


prod_id INTEGER NOT NULL,
prod_nombre VARCHAR2(50),
prod_descripcion VARCHAR2(100),
prod_cantidad INTEGER,
prod_precio INTEGER,

categoria_cat_id INTEGER NOT NULL


);

CREATE TABLE maneja (


empleados_emple_dni INTEGER NOT NULL,
camiones_camiones_id NUMBER NOT NULL
);

ALTER TABLE maneja ADD CONSTRAINT maneja_pk PRIMARY KEY (


empleados_emple_dni, camiones_camiones_id );

CREATE TABLE pedido(


ped_id INTEGER NOT NULL,
ped_estado VARCHAR2(100),
ped_comprobante VARCHAR2(50),
clientes_cli_dni INTEGER NOT NULL
);

ALTER TABLE pedido ADD CONSTRAINT pedido_pk PRIMARY KEY (


ped_id );

CREATE TABLE pedido_productos(


ped_id INTEGER NOT NULL,
prod_id INTEGER NOT NULL,
cantidad INTEGER,
FECHA_PEDIDO DATE,
FECHA_RETORNO DATE
);

ALTER TABLE pedido_productos ADD CONSTRAINT pedido_productos_pk


PRIMARY KEY (ped_id, prod_id );

ALTER TABLE productos ADD CONSTRAINT productos_pk PRIMARY KEY (


prod_id );

ALTER TABLE pedido

31
ADD CONSTRAINT pedido_clientes_fk FOREIGN KEY ( clientes_cli_dni )
REFERENCES clientes ( cli_dni );

ALTER TABLE maneja


ADD CONSTRAINT maneja_camiones_fk FOREIGN KEY (
camiones_camiones_id )
REFERENCES camiones ( camiones_id );

ALTER TABLE maneja


ADD CONSTRAINT maneja_empleados_fk FOREIGN KEY (
empleados_emple_dni )
REFERENCES empleados ( emple_dni );

ALTER TABLE productos


ADD CONSTRAINT productos_categoria_fk FOREIGN KEY (
categoria_cat_id )
REFERENCES categoria ( cat_id );

ALTER TABLE pedido_productos


ADD CONSTRAINT pedido_productoss_clientes_fk FOREIGN KEY (
ped_id )
REFERENCES pedido ( ped_id );

ALTER TABLE pedido_productos


ADD CONSTRAINT pedido_prod_fk FOREIGN KEY ( prod_id)
REFERENCES productos ( prod_id );
COMMIT;

6.1 Procedures

 Tabla categoría
Procedimiento eliminar

create procedure eliminar_categoria (c_cat_id int) is begin


delete from categoria where c_cat_id=cat_id;
end;
execute eliminar_categoria (1001);

Procedimiento Modificar
create procedure modificar_categoria (c_cat_id int,c_cat_nombre
varchar2)is begin
update categoria set cat_nombre=c_cat_nombre where
cat_id=c_cat_id;
end;
execute modificar_categoria (1001,'Toldos');
32
Procedimiento Insertar

create procedure insertar_categoria_sec (c_cat_nombre varchar2)is


begin
insert into categoria (cat_nombre) values (c_cat_nombre);
end;
execute insertar_categoria_sec ('Muebles');

 Tabla productos

Procedimiento eliminar

create procedure eliminar_productos (p_prod_id int) is begin


delete from productos where p_prod_id=prod_id;
end;
execute eliminar_productos (2001);

Procedimiento modificar

create procedure modificar_productos (p_prod_id int,p_prod_nombre


varchar2,p_prod_descripcion varchar2,p_prod_cantidad int,
p_prod_precio int, p_cat_id int)is begin
update productos set
prod_nombre=p_prod_nombre,prod_descripcion=p_prod_descripcion,
prod_cantidad=p_prod_cantidad,prod_precio=p_prod_precio,categoria
_cat_id=p_cat_id where prod_id=p_prod_id;
end;
execute modificar_productos (2001,'Toldo claro','Toldo claro y
grande',1,10,1001);

Procedimiento insertar

create procedure insertar_productos_sec (p_prod_nombre


varchar2,p_prod_descripcion varchar2,p_prod_cantidad int,
p_prod_precio int,p_cat_id int) is begin
insert into productos
(prod_nombre,prod_descripcion,prod_cantidad,prod_precio,categoria_
cat_id) values (p_prod_nombre,
p_prod_descripcion,p_prod_cantidad,p_prod_precio,p_cat_id);
end;
execute insertar_productos_sec ('Sillón','Mueble de gran
tamaño',34,200,1001);
execute insertar_productos_sec ('Sofa','Mueble
pequeño',50,150,1001);

33
 Tabla camiones

Procedimiento eliminar

create procedure eliminar_camiones (c_camiones_id int)is begin


delete from camiones where c_camiones_id=camiones_id;
end;
execute eliminar_camiones (4001);

Procedimiento modificar

create procedure modificar_camiones(c_camiones_id


int,c_cam_matricula varchar2,c_cam_modelo varchar2)is begin
update camiones set cam_matricula=c_cam_matricula,
cam_modelo=c_cam_modelo where camiones_id=c_camiones_id;
end;
execute modificar_camiones (4001,'AAAAAA','Nisan');

Procedimiento insertar

create procedure insertar_camiones_sec (c_cam_matricula


varchar2,c_cam_modelo varchar2) is begin
insert into camiones (cam_matricula,cam_modelo) values
(c_cam_matricula,c_cam_modelo);
end;
execute insertar_camiones_sec('XA9DAF','Toyota');

 Tabla empleados

Procedimiento insertar

create procedure ingresar_empleados (e_emple_dni


int,e_emple_nombre varchar2,e_emple_apellido
varchar2,e_emple_cargo varchar2,e_emple_telefono
int,e_emple_ciudad varchar2) is begin
insert into empleados
(emple_dni,emple_nombre,emple_apellido,emple_cargo,emple_telefon
o,emple_ciudad) values
(e_emple_dni,e_emple_nombre,e_emple_apellido,e_emple_cargo,e_e
mple_telefono,e_emple_ciudad);
end;
execute ingresar_empleados
(97648157,'Piero','Roman','Administrador',125487598,'Lima');

Procedimiento eliminar

34
create procedure eliminar_empleado(e_emple_dni int) is begin
delete from empleados where emple_dni=e_emple_dni;
end;
execute eliminar_empleado (97648157);

Procedimiento modificar

create procedure modificar_empleado(e_emple_dni


int,e_emple_nombre varchar2,e_emple_apellido
varchar2,e_emple_cargo varchar2,e_emple_telefono
int,e_emple_ciudad varchar2) is begin
update empleados set
emple_nombre=e_emple_nombre,emple_apellido=e_emple_apellido,e
mple_cargo=e_emple_cargo,emple_telefono=e_emple_telefono,emple
_ciudad=e_emple_ciudad where emple_dni=e_emple_dni;
end;
execute modificar_empleado
(97648157,'Diego','Velasquez','Cliente',123456789,'Callao');

6.2 Funciones

create function ver_empleado2 (e_ciudad varchar2) return varchar2 is ret


varchar(20);
begin
select nombre into ret from empleados ;
return ret;
end ver_empleado2;

6.3 Disparadores
create trigger productos_seq
before insert on productos
for each row
begin
select incremento_productos.nextval into :new.prod_id from dual;
end;

create trigger categoria_seq


before insert on categoria
for each row
begin
select incremento_categorias.nextval into :new.cat_id from dual;
end;

create trigger camiones_seq


before insert on camiones
35
for each row
begin
select incremento_camiones.nextval into :new.camiones_id from dual;
end;

create trigger pedido_seq


before insert on pedido
for each row
begin
select incremento_pedidos.nextval into :new.ped_id from dual;
end;

6.4 Vistas
create view vw_privilegios as select privilege
from dba_sys_privs;

create view vw_roles as


select role from dba_roles;

create view vw_usuarios as


select username from dba_users;

6.5 Secuencias
create sequence incremento_productos
start with 2001
increment by 1
nomaxvalue;

create sequence incremento_categorias


start with 1001
increment by 1
nomaxvalue;

create sequence incremento_camiones


start with 4001
increment by 1
nomaxvalue;

create sequence incremento_pedidos


start with 5001
increment by 1
nomaxvalue;

36
7. Interfaces o prototipos

7.1 Interfaz Visual Studio

 Establecemos dos tipos de logueos, uno para administrador y el otro para los empleados.

 Nos logueamos a la conexión del usuario administrador, con nuestro respectivo usuario.

 En nuestro usuario administrador, tendremos una interfaz sencilla para poder realizar
acciones básicas de administración de base de datos, tales como crear usuarios, roles,
otorgar privilegios, etc.

37
 También podremos crear tablespace por defecto y temporales, para los usuarios que el
administrador desee que realice acciones.

38
 Es necesario que el administrador brinde privilegios a algunos de sus usuarios con la
intención de que modifiquen datos, tal vez para borrarlos y también poder visualizar. Por
ello, generamos la interfaz de poder otorgar permisos de tablas específicas para usuarios en
particular.

 En el caso de que la empresa sufra algún tipo de extravío de datos, generamos la copia de
seguridad para toda la base de datos, en el que se almacenará la información importante.

39
 En el transcurso del tiempo, la empresa puede dejar de producir ciertos productos, por lo
tanto, es necesario retirarlos de la base de datos, resultó simple hacer ello con
procedimiento almacenado.

 Así como se eliminan los productos, tal vez, las descripciones el precio y el nombre de los
mismos productos pueden variar, por ello, es posible modificar los productos.

40
 Para toda empresa, sus clientes son muy importantes, por ello, se considera factible conocer
cuando un cliente es retirado de la empresa, saber cuándo se retiró y por quién.

41
 Se procede a loguearse como empleado, en el cual solo tendrá vista de algunas consultas de
la empresa, tales como visualizar los clientes, pedidos, alquileres y los productos. A su vez,
se brinda la opción de eliminar clientes. Sin embargo, es necesario que el administrador le
brinde los privilegios para que pueda visualizar sus tablas, y poder alterarlas.

42
7.2 Interfaz NetBeans

 En primera instancia se ejecuta la página web principal donde tanto administradores


y clientes puedan ingresar en todo caso no sea un cliente podrá crearse una cuenta
para el sitio web

 La pagina te brinda un acceso como administrador donde te muestra todos los


pedido que los clientes ejecutan tanto como poder ver todos los clientes
almacenados en la base de datos

43
 Una vez ya ingresado como administrador veras los pedidos realizados por cada
cliente también te brinda la opción de eliminar tal pedido si ya se realizó la entrega

 La página web te brinda dos opciones donde podrás elegir si deseas entrar a tu
cuenta o crearte una cuenta por primera vez

 Una vez que hallas logrado ingresar veras todos los productos que la empresa te
brinda ,podrás ver sus características

44
 Una vez que te hayas dirigido hacia la página de alquilar un producto podrás
seleccionar para que ocasión deseas alquilar tal producto y podrás añadirlo a tu
carrito de compras a la misma ves tendrás la opción de eliminar tal producto para
que despues el administrador pueda ver y realizar dicho alquiler

45
8. Conclusiones y recomendaciones
Se puede concluir que a través del programa Visual studio 2015 se puede tener acceso a la
base de datos Oracle SQL developer y administrarla, generando una interfaz intuitiva para
el usuario. Esto demuestra que es posible administrar la base de datos de una empresa a
través de estos programas y así ayudar a la empresa en su emprendimiento.

Se recomiendan estos programas, ya que en la actualidad muchas empresas necesitan tener


una correcta administración de su base de datos para generar más ventas y sobresalir en el
mercado.

9. Referencias
Oracle (s.f.). Desarrollo de aplicaciones. Recuperado de
https://www.oracle.com/database/technologies/appdev/sql-developer.html

46

Vous aimerez peut-être aussi