Proyecto Final Oracle PDF
Proyecto Final Oracle PDF
Proyecto Final
Consultas INSERT para alimentar las tablas con datos (Mínimo 5 filas por tabla)
3 consultas SELECT con cláusula ORDER BY
3 consultas SELECT con condiciones lógicas (AND, OR, NOT)
1 consulta SELECT con uso de:
o Operadores aritméticos
o Operadores de concatenación
o Condiciones de búsqueda
o Uso de cláusula BETWEEN
o Uso de condición NOT
o Alias para las columnas
Consulta SQL para crear un BLOQUE ANÓNIMO que imprima todos los datos de una tabla
mediante un CURSOR y un BUCLE
Consultas SQL para la creación de un PROCEDIMIENTO ALMACENADO que tome 1
parámetro de entrada
Consultas SQL para la creación de un PROCEDIMIENTO ALMACENADO que tome 1
parámetro de entrada y 1 parámetro de salida
Consultas SQL para la creación de un PROCEDIMIENTO ALMACENADO que tome 1
parámetro de entrada y salida.
Consultas SQL para la creación de 3 FUNCIONES
Consultas SQL para la creación de 3 TRIGGERS
Conclusiones personales acerca del proyecto
NOTA: Todas las consultas SELECT y el código PL/SQL deben ir acompañados de un texto descriptivo
que detalle su funcionalidad, así como una captura de pantalla del resultado.
ANEXO 1: EJEMPLOS DE MODELOS DE NEGOCIO
EJEMPLO 1
Una empresa vende productos a varios clientes. Se necesita conocer los datos personales
de los clientes (Nombre, apellidos, RFC, dirección y fecha de nacimiento). Cada producto
tiene un nombre, un código de barras, así como un precio unitario. Un cliente puede
comprar varios productos a la empresa, y los productos pueden ser comprados por varios
clientes.
Los productos son suministrados por diferentes proveedores. Se debe tomar en cuenta
que un producto solo puede ser suministrado por un proveedor, y que un proveedor
puede suministrar varios productos diferentes. De cada proveedor se desea conocer su
RFC, nombre y dirección.
EJEMPLO 2
Se desea informatizar la gestión de una empresa de transportes que reparte paquetes por
todo México. Los encargados de llevar los paquetes son los camioneros, de quienes se
desea guardar el Número de trabajador, nombre, teléfono, dirección, salario y población
donde vive. De los paquetes transportados interesa conocer el código de paquete,
descripción, destinatario y dirección del destinatario. Un camionero distribuye muchos
paquetes, y un paquete solo puede ser distribuido por un camionero.
De las poblaciones a las que llegan los paquetes interesa guardar el código de la población
y el nombre. Un paquete solo puede llegar a una población. Sin embargo, a una población
pueden llegar varios paquetes.
De los camiones que llevan los camioneros, interesa conocer la matrícula, el modelo, el
tipo y la potencia. Un camionero puede conducir diferentes camiones en fechas diferentes,
y un camión puede ser conducido por varios camioneros.
EJEMPLO 3
De cada coche se necesita conocer la matrícula, marca, modelo, color y precio de venta.
Los coches que vende el concesionario pueden ser nuevos o seminuevos. De los coches
nuevos interesa conocer el número de unidades que hay en el estacionamiento. De los
coches seminuevos interesa el número de kilómetros que lleva recorridos.
El concesionario también dispone de un taller en el que los mecánicos reparan los coches
que llevan los clientes. Un mecánico repara varios coches a lo largo del día, y un coche
puede ser reparado por varios mecánicos. Los mecánicos tienen un ID, nombre, apellidos,
fecha de contratación y salario. Se desea almacenar también la fecha en la que se repara
cada vehículo y el número de horas que se tomó hacer el arreglo de cada automóvil.
EJEMPLO 4
Un paciente puede realizar varios ingresos en el hospital. Un médico puede atender varios
ingresos, pero el ingreso de un paciente solo puede ser atendido por un único médico.
EJEMPLO 5
En la biblioteca del centro se manejan fichas de autores y libros. En la ficha de cada autor
se tiene el código de autor y su nombre. De cada libro se guarda el código, título, ISBN,
editorial y número de páginas. Un autor puede escribir varios libros, y un libro es escrito
por un autor. Un libro está formado por ejemplares. Cada ejemplar tiene un código y una
localización. Un libro tiene muchos ejemplares y cada ejemplar pertenece sólo a un libro.
Los usuarios de la biblioteca del centro también disponen de fichas, y sacan ejemplares de
la biblioteca. De cada usuario se guarda el código, nombre, dirección y teléfono. Los
ejemplares son prestados a los usuarios. Un usuario puede tomar prestados varios
ejemplares, y los ejemplares pueden ser prestados a varios usuarios. De cada préstamo
interesa guardar la fecha de préstamo y la fecha de devolución.
EJEMPLO 6
La liga de fútbol profesional ha decidido informatizar sus instalaciones creando una base
de datos para guardar la información de los partidos que se juegan en la liga.
Se desea guardar en primer lugar los datos de los jugadores. De cada jugador se quiere
guardar el nombre, fecha de nacimiento y posición en la que juega (portero, defensa,
centrocampista...). Cada jugador tiene un código de jugador que lo identifica de manera
única.
De cada uno de los equipos de la liga es necesario registrar el nombre del equipo, nombre
del estadio en el que juega, el año de fundación del equipo y la ciudad de origen. Cada
equipo también tiene un código que lo identifica de manera única. Un jugador solo puede
pertenecer a un único equipo.
De cada partido que los equipos de la liga juegan hay que registrar la fecha en la que se
juega el partido, los goles que ha metido el equipo de casa y los goles que ha metido el
equipo visitante. Cada partido tendrá un código numérico para identificarlo.
También se quiere llevar un recuento de los goles que hay en cada partido. Se quiere
almacenar el minuto en el que se realiza el gol, el jugador que lo anota, y la descripción del
gol. Un partido tiene varios goles y un jugador puede meter varios goles en un partido.
ANEXO 2: MODELO DE ENTIDADES
sucursal
(PK) idSucursal NUMBER(6) producto
nombreSucursal VARCHAR2(50) (PK) idProducto NUMBER(6)
direccion VARCHAR2(100) nombreProducto VARCHAR2(20)
municipio VARCHAR2(50) precio NUMBER(7, 2)
codigoPostal NUMBER(5) (FK) idSucursal NUMBER(6)
(FK) idProveedor NUMBER(6)
(FK) idCategoria NUMBER(6)
proveedor
(PK) idProveedor NUMBER(6)
nombreProveedor VARCHAR2(50)
telefono VARCHAR2(20)
categoria
(PK) idCategoria NUMBER(6)
nombreCategoria VARCHAR2(20)