Proyecto Python y SQL
Proyecto Python y SQL
Facultad de Ingeniería
Desarrollo
Gracias a la librería “cx_Oracle” pudimos hacer una conexión con la base de datos
SCOTT a través de un script de python. Esta conexión nos permite ejecutar
funciones y procesos previamente almacenados en la base de datos.
La aplicación se ejecuta en una CLI y al iniciar esta nos muestra un menú con las
acciones que podemos realizar. Estas acciones son:
Código
import cx_Oracle
#Funcion menu
def print_menu():
print('------------------MENU--------------------')
for key in menu_opciones.keys():
print (key, '--', menu_opciones[key] )
try:
#Creamos las variables para almacenar los datos que le pasaremos al
procedimiento
num = int(input("Ingrese el numero del departamento a ser insertado:
"))
nomb = input('Ingrese el nombre del departamento a ser insertado: ')
loc = input('Ingrese la ubicacion del departamento a ser insertado:
')
# Aqui va todo lo de Update_depto()
def call_update_depto():
print('Esta es la funcion para ACTUALIZAR informacion a la tabla de
DEPARTAMENTOS')
#Conexion con la base de datos
conn = cx_Oracle.connect('scott/tiger@//localhost:1521/xe')
print(conn.version + ' Conexion exitosa')
try:
#Creamos las variables para almacenar los datos que le pasaremos al
procedimiento
num = int(input("Ingrese el numero del departamento a ser
modificado: "))
nomb = input('Ingrese el nuevo nombre del departamento: ')
loc = input('Ingrese la nueva ubicacion del departamento: ')
try:
num = int(input('Ingrese el numero del departamento que desea
eliminar: '))
#Se crea el cursor
cur = conn.cursor()
cur.callproc('DELETE_DEPTO', (num,))
try:
#Creamos las variables para almacenar los datos que le pasaremos al
procedimiento
num = int(input("Ingrese el numero del nuevo empleado: "))
nomb = input('Ingrese el nombre del nuevo empleado: ')
job = input('Ingrese el trabajo del nuevo empleado: ')
mgr = int(input("Ingrese el numero del gerente del nuevo empleado:
"))
date = input('Ingrese la fecha de contratacion del nuevo empleado:
')
sal = int(input("Ingrese el salario del nuevo empleado: "))
comm = int(input("Ingrese la comision del nuevo empleado: "))
depno = int(input("Ingrese el numero del departamento del nuevo
empleado: "))
try:
num = int(input('Ingrese el numero del empleado que desea eliminar:
'))
#Se crea el cursor
cur = conn.cursor()
cur.callproc('DELETE_emp', (num,))
try:
#Creamos las variables para almacenar los datos que le pasaremos al
procedimiento
num = int(input("Ingrese el numero del empleado cuyos datos seran
actualizados: "))
nomb = input('Ingrese el nuevo nombre del empleado: ')
job = input('Ingrese el nuevo trabajo del empleado: ')
mgr = int(input("Ingrese el nuevo numero del gerente del empleado:
"))
date = input('Ingrese la nueva fecha de contratacion del empleado:
')
sal = int(input("Ingrese el nuevo salario del empleado: "))
comm = int(input("Ingrese la nueva comision del empleado: "))
depno = int(input("Ingrese el nuevo numero del departamento del
empleado: "))
try:
num_dept = int(input("Ingrese el numero del departamento del cual
desea conocer la cantidad de empleados que laboran en el: "))
#Se crea el cursor
data = [num_dept]
cur = conn.cursor()
resultado = cur.callfunc('noEmp_depto', int, data)
Add_depto()
Salida de la consola.
Update_depto()
Salida de la consola.
Comprobación en la base de datos.
Delete_depto()
Salida de la consola.
Salida de la consola.
Salida de la consola.
Salida de la consola.
Salida de la consola.
Conclusiones
Las operaciones PL/SQL son una gran herramienta que nos permite manipular y
editar información con gran eficiencia. Al combinar el poder de esta herramienta
con la versatilidad de un lenguaje de programación como python, podemos crear
aplicaciones de todo tipo que nos permitan interactuar con la base de datos de
una manera eficaz y sencilla.