Está en la página 1de 91

GUÍA

DE PRÁCTICAS
Modalidad Presencial

“BASE DE DATOS I”
INF312
(VERSION 2 - 2018)

Ing. Iveth Robles Catari

UAGRM
Facultad Integral Del Chaco
Ingeniería Informática y Sistemas
GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

TABLA DE CONTENIDO

PARTE I ............................................................................................................................... 7
DIAGRAMAS DE CLASES .............................................................................................. 7
PRACTICO 1 ........................................................................................................................ 8
BASE DE DATOS PARA UNIVERSIDAD ....................................................................... 8
PRACTICO 2 ........................................................................................................................ 9
BASE DE DATOS DE LOS RRHH DE LA EMPRESA “LA SUPREMA” ..................... 9
PRACTICO 3 ...................................................................................................................... 10
BASE DE DATOS PARA VEHICULOS Y SUS PROPIETARIOS ............................. 10
PRACTICO 4 ...................................................................................................................... 11
BASE DE DATOS PARA LA UAGRM ............................................................................ 11
PRACTICO 5 ...................................................................................................................... 12
BASE DE DATOS PARA CONTROL DE GUARDIAS DE SEGURIDAD Y
PERSONAL DE LIMPIEZA DE LA FACULTAD INTEGRAL DEL CHACO .............. 12
PRACTICO 6 ...................................................................................................................... 12
BASE DE DATOS PARA EL GARAJE DE LA FICH Y EL CONTROL DE
VEHÍCULOS ....................................................................................................................... 12
PRACTICO 7 ...................................................................................................................... 13
BASE DE DATOS PARA LA COMPAÑÍA “ABC” ......................................................... 13
PRACTICO 8 ...................................................................................................................... 14
BASE DE DATOS PARA RESERVA DE VEHICULOS ............................................... 14
PRACTICO 9 ...................................................................................................................... 15
BASE DE DATOS PARA RESTAURANTE ................................................................... 15
PRACTICO 10 .................................................................................................................... 19
BASE DE DATOS PARA LA FERIA ACADÉMICA DE LA FICH ............................... 19
PARTE II ............................................................................................................................ 20
DISEÑO LÓGICO (MAPEO) ............................................................................................ 20
PRACTICO 11 .................................................................................................................... 21
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 1 ................. 21
PRACTICO 12 .................................................................................................................... 22
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 2 ................. 22

Ing. Iveth Robles Catari 2


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 13 .................................................................................................................... 23
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 3 ................. 23
PRACTICO 14 .................................................................................................................... 24
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 4 ................. 24
PRACTICO 15 .................................................................................................................... 25
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 5 ................. 25
PRACTICO 16 .................................................................................................................... 26
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 6 ................. 26
PRACTICO 17 .................................................................................................................... 27
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 7 ................. 27
PRACTICO 18 .................................................................................................................... 28
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 8 ................. 28
PRACTICO 19 .................................................................................................................... 29
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 9 ................. 29
PRACTICO 20 .................................................................................................................... 30
MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 10 ............... 30
PRACTICO 21 .................................................................................................................... 31
MAPEO DEL DIAGRAMA DE CLASES ......................................................................... 31
PRACTICO 22 .................................................................................................................... 32
MAPEO DEL DIAGRAMA DE CLASES ......................................................................... 32
PARTE III ........................................................................................................................... 33
ALGEBRA RELACIONAL ................................................................................................. 33
PRACTICO 23 .................................................................................................................... 34
ALGEBRA RELACIONAL ................................................................................................. 34
PARTE IV ........................................................................................................................... 44
NORMALIZACIÓN ............................................................................................................. 44
PRACTICO 24 .................................................................................................................... 45
NORMALIZANDO TABLAS ............................................................................................. 45
PARTE V ............................................................................................................................ 49
SQL ...................................................................................................................................... 49
PRACTICO 25 .................................................................................................................... 50
LENGUAJE ESTRUCTURADO DE CONSULTAS SQL ............................................. 50

Ing. Iveth Robles Catari 3


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 25 .................................................................................................................... 87
MAS CONSULTAS EN SQL ............................................................................................ 87

Ing. Iveth Robles Catari 4


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

IDENTIFICACION DE LA MATERIA

NOMBRE DE LA ASIGNATURA: BASE DE DATOS I


PRE-REQUISITOS : INF 220
SIGLA Y CODIGO : INF 312
NIVEL : Quinto
HORAS : 6 (4 HT- 2 HP)
CREDITOS :5
REVISADO EN :

JUSTIFICACION
Para desarrollar un sistema de información es necesario seguir pasos lógicos entre los
que se encuentran: El relevamiento de información, análisis, diseño, codificación,
pruebas y mantenimiento. La materia toma importancia en el proceso de diseño,
porque en este paso, se diseña la base de datos que soportara los datos que se requieren
ser registrado por un lapso de tiempo.

OBJETIVOS DE LA ASIGNATURA

OBJETIVO GENERAL
Modelar base de datos utilizando una metodología determinada asociada a un
paradigma para la solución de problemas reales.

OBJETIVOS ESPECIFICOS
• Describir los componentes de un sistema de base de datos
• Aplicar el modelo orientado a objetos como herramienta de modelado
conceptual de datos en la fase de diseño de una base de datos
• Diseñar una base de datos utilizando los conceptos del modelo relacional
(Estructura, restricciones y lenguaje)

Ing. Iveth Robles Catari 5


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

• Utilizar el lenguaje estructurado de consultas para la definición, construcción


y manipulación de bases de datos.
• Identificar y eliminar las anomalías en las relaciones utilizando las reglas de
normalización.

CONTENIDO MINIMO (Proyecto Curricular)


Introducción a los sistemas de bases de datos. Modelo Relacional. Diseño conceptual
de bases de datos bajo el modelo orientado a objetos. Lenguaje de consulta
estructurado (SQL). Normalización y dependencias funcionales

Ing. Iveth Robles Catari 6


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PARTE I

DIAGRAMAS DE CLASES

Ing. Iveth Robles Catari 7


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 1

BASE DE DATOS PARA UNIVERSIDAD

Se quiere diseñar una Base de Datos para almacenar información sobre las diferentes
universidades del país, cada universidad tiene sus propias características como: Nro
matricula de funcionamiento, nombre, dirección y año de creación.

Se necesita también guardar información de las diferentes Facultades que tienen las
Universidades considerando que cada una tiene: Nombre, Ubicación, Nro de estudiantes,
fecha de creación.

Cada Facultad tiene a su vez diferentes especialidades de las mismas se necesita guardar
información del Nombre de las especialidades, tiempo de duración y fecha de creación.

Ing. Iveth Robles Catari 8


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 2
BASE DE DATOS DE LOS RRHH DE LA EMPRESA “LA SUPREMA”

Para la Empresa “LA SUPREMA”, se requiere hacer el diseño de una Base de Datos, para
ello se ha realizado el relevamiento de información, sacándose las siguientes conclusiones:

1.- Se tiene diferentes administradores, de los que se necesita guardar información como
ser: CI, Nombre, Dirección, Teléfono y sexo, además que tienen cada uno de ellos
diferentes niveles.

2.- Existen contadores de los que se necesita guardar información como: CI, Nombre,
Dirección, Teléfono, sexo y matrícula profesional.

3.- De las secretarias de la empresa que son 4 se debe guardar la siguiente información:
CI, Nombre, Dirección, Teléfono, sexo y velocidad de Typeo.

Ing. Iveth Robles Catari 9


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 3

BASE DE DATOS PARA VEHICULOS Y SUS PROPIETARIOS

Se quiere diseñar una Base de Datos para almacenar información sobre diferentes
vehículos que existen y sus propietarios.

Los vehículos pueden ser: autos, camionetas y motos.

De los autos se debe guardar información de su número de placa, modelo, número de


personas que puede transportar y si es descapotable.

De las camionetas debe registrarse su número de placa, modelo, número de personas que
puede transportar además de la capacidad de carga que tiene.

De las motos se debe registrar su número de placa, modelo, número de personas que
puede transportar y el tipo de manubrio que tiene.

También se debe guardar información de los propietarios de los autos, camionetas y motos,
siendo importante registrar su nombre del propietario, Ci, dirección, teléfono y sexo.

Ing. Iveth Robles Catari 10


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 4
BASE DE DATOS PARA LA UAGRM

Se quiere diseñar una Base de Datos para almacenar información sobre las diferentes
carreras que existen en la UAGRM.

Se debe guardar también información de los estudiantes que estudian en la Facultad


considerando que pueden estudiar varias carreras.

Considere además que las carreras pertenecen a alguna de las facultades de la


Universidad.

Ing. Iveth Robles Catari 11


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 5

BASE DE DATOS PARA CONTROL DE GUARDIAS DE SEGURIDAD Y PERSONAL

DE LIMPIEZA DE LA FACULTAD INTEGRAL DEL CHACO

Las autoridades facultativas han encomendado a la Carrera de Ingeniería Informática y


Sistemas para que realicen el Diseño de una BD para el control de los guardias que
resguardan los distintos módulos de la FICH y del personal del Limpieza de las distintas
aulas, ambos tienen distintos horarios de trabajo.

PRACTICO 6

BASE DE DATOS PARA EL GARAJE DE LA FICH Y EL CONTROL DE VEHÍCULOS

Las autoridades facultativas han encomendado a la Carrera de Ingeniería Informática y


Sistemas para que realicen el Diseño de una BD para el control de vehículos que ingresan
al garaje de la FICH y sus propietarios.

Ing. Iveth Robles Catari 12


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 7

BASE DE DATOS PARA LA COMPAÑÍA “ABC”

Para la compañía “ABC”, los ingenieros informáticos han realizando el levantamiento de


información para colectar los requerimientos, realizado el análisis de los mismos se ha
llegado a las siguientes conclusiones:

1.- La Compañía está organizada en deptos, cada depto tiene un nombre, un número, un
empleado que administra el depto y una ubicación. Se necesita guardar información de la
fecha de inicio cuando el empleado comenzó con la administración.

2.- Un departamento controla un número de proyectos, cada uno de los cuales tiene un
nombre, un número y una ubicación simple.

3.- Del empleado se necesita almacenar su nombre, número de CI, dirección, salario, sexo
y fecha de nacimiento. Un empleado es asignado a un depto., pero puede trabajar en varios
proyectos los cuales no son necesariamente controlados por el mismo depto.
Se debe guardar también información del número de horas por semana que un empleado
trabaja en un proyecto, además de la información del supervisor directo de cada empleado.

4.- De los dependientes de cada empleado se necesita también guardar información por
propósito de seguros, en tal sentido se debe guardar de los dependientes su nombre, sexo,
fecha de nacimiento y su conexión con el empleado.

Ing. Iveth Robles Catari 13


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 8

BASE DE DATOS PARA RESERVA DE VEHICULOS

Se desea diseñar un diagrama de clases sobre la información de las reservas de una


empresa dedicada al alquiler de automóviles, teniendo en cuenta que:
• Un determinado cliente puede tener en un momento dado hechas varias
reservas.
• De cada cliente se desean almacenar su DNI, nombre, dirección y teléfono.
Además dos clientes se diferencian por un código único.
• Cada cliente puede ser avalado por otro cliente de la empresa.
• Una reserva la realiza un único cliente pero puede involucrar varios coches.
• Es importante registrar la fecha de inicio y final de la reserva, el precio del
alquiler de cada uno de los coches, los litros de gasolina en el depósito en el
momento de realizar la reserva, el precio total de la reserva y un indicador
de si el coche o los coches han sido entregados.
• Todo coche tiene siempre asignado un determinado garaje que no puede
cambiar. De cada coche se requiere la matricula, el modelo el color y la
marca.
• Cada reserva se realiza en una determinada agencia.

Ing. Iveth Robles Catari 14


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 9
BASE DE DATOS PARA RESTAURANTE

El dueño de una cadena de restaurantes de Madrid quiere que se haga de forma automática
las siguientes actividades:

Ing. Iveth Robles Catari 15


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

Ing. Iveth Robles Catari 16


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

Ing. Iveth Robles Catari 17


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

Ing. Iveth Robles Catari 18


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 10

BASE DE DATOS PARA LA FERIA ACADÉMICA DE LA FICH

Las autoridades facultativas han encomendado a la Carrera de Ingeniería Informática y


Sistemas para que realicen el Diseño de una BD para el registro de todos los proyectos que
presentan los estudiantes de las distintas carreras de la FICH.

Ing. Iveth Robles Catari 19


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PARTE II

DISEÑO LÓGICO (MAPEO)

Ing. Iveth Robles Catari 20


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 11

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 1

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 21


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 12

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 2

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 22


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 13

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 3

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 23


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 14

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 4

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 24


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 15

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 5

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 25


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 16

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 6

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 26


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 17

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 7

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 27


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 18

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 8

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2.

Ing. Iveth Robles Catari 28


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 19

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 9

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 29


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 20

MAPEO DEL DIAGRAMA DE CLASES GENERADO EN PRACTICA 10

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 30


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 21

MAPEO DEL DIAGRAMA DE CLASES

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 31


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 22

MAPEO DEL DIAGRAMA DE CLASES

Para este proceso debe tomar en cuenta las diferentes reglas de mapeo estudiadas en la
Unidad 2

Ing. Iveth Robles Catari 32


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PARTE III

ALGEBRA RELACIONAL

Ing. Iveth Robles Catari 33


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 23

ALGEBRA RELACIONAL

Se presenta a continuación una serie de ejercicios de consulta sobre la base de datos


formada por las tablas de PROVEEDORES, COMPONENTES, ARTICULOS y ENVIOS.
En dicha base de datos está almacenada la siguiente información:

ENVIOS

Ing. Iveth Robles Catari 34


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PROVEEDORES .- Representa los datos de proveedores de componentes para la


fabricación de artículos y su ciudad de residencia.
COMPONENTES.- Indica la información de piezas utilizadas en la fabricación de
diferentes artículos, indicándose el lugar de fabricación de dichos componentes.
ARTICULOS.- Información sobre los diferentes artículos que se fabrican y el lugar
de montaje del mismo.
ENVIOS.- Suministros realizados por los diferentes proveedores de determinadas
cantidades de componentes asignadas para la elaboración del artículo
correspondiente.
Para resolver cada consulta, debes seguir los siguientes pasos:
a) Lee atentamente el enunciado, hasta que hayas creído entender qué se pide.
b) Obtén manualmente los resultados para los datos de ejemplo.
c) Intenta representar la consulta mediante una expresión algebraica relacional.
(Pueden existir numerosas expresiones algebraicas relacionales equivalentes
que respondan a la misma consulta).

Para cada ejercicio se aporta una posible solución pero es posible que existan
varias que sean también correctas.

Instrucciones

Obtener:

- Todos los detalles de todos los artículos de CACERES.

- Todos los valores de P# para los proveedores que abastecen el artículo T1.

- La lista de pares de atributos (COLOR, CIUDAD) de la tabla componentes

- Los componentes cuyos pesos son >12

Ing. Iveth Robles Catari 35


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

2. Considerando el siguiente esquema de una Base de Datos Relacional:

Si el estado de la Base de Datos Relacional es la siguiente:

Ing. Iveth Robles Catari 36


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

Ing. Iveth Robles Catari 37


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

Realizar las siguientes operaciones del álgebra relacional:


a) Selección

b) Proyección

Ing. Iveth Robles Catari 38


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

c) Unión

d) Intersección

Ing. Iveth Robles Catari 39


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

e) Diferencia

f) Producto Cartesiano

Ing. Iveth Robles Catari 40


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

g) Renombramiento

Ing. Iveth Robles Catari 41


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

h) División

Ing. Iveth Robles Catari 42


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

i) Reunión Natural

Ing. Iveth Robles Catari 43


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PARTE IV

NORMALIZACIÓN

Ing. Iveth Robles Catari 44


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 24

NORMALIZANDO TABLAS

Realizar la Normalización de las siguientes tablas:

1. Considerar los datos de la siguiente tabla


ordenes (id_orden, fecha, id_cliente, nom_cliente, estado, num_art, nom_art, cant,
precio)

Ordenes
Id_orden Fecha Id_cliente Nom_cliente Estado Num_art nom_art cant Precio

2301 23/02/11 101 Martin Caracas 3786 Red 3 35,00

2301 23/02/11 101 Martin Caracas 4011 Raqueta 6 65,00

2301 23/02/11 101 Martin Caracas 9132 Paq-3 8 4,75

2302 25/02/11 107 Herman Coro 5794 Paq-6 4 5,00

2303 27/02/11 110 Pedro Maracay 4011 Raqueta 2 65,00

2303 27/02/11 110 Pedro Maracay 3141 Funda 2 10,00

Ing. Iveth Robles Catari 45


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

2. Dada la siguiente relación PRESTAMO_LIBROS (Colegio, profesor, asignatura/


habilidad, aula, curso, libro, editorial, fecha_prestamo) que contiene información relativa
a los préstamos que realizan las editoriales a los profesores de primaria de los colegios
para su evaluación en alguna de las asignaturas/habilidades que imparten. Se pide
aplicar las reglas de normalización y obtener su modelo relacional, indicar sus claves,
atributos principales.

Asignatura/
Colegio Profesor Aula Curso Libro Editorial Fecha_prestamo
Habilidad
Aprender y
C.P Juan Pensamiento 1er enseñar en
1.A01 Graó 09/09/2010
Cervantes Pérez Lógico Grado educación
infantil
C.P Juan 1er Preescolar Técnicas
Escritura 1.A01 05/05/2010
Cervantes Pérez Grado Rubio,N56 Rubio
Aprender y
C.P Juan Pensamiento 1er Enseñar en
1.A01 Graó 05/05/2010
Cervantes Pérez Numérico Grado educación
infantil
Pensamiento
C.P Alicia Espacial, 1er Educación Prentice
1.B01 06/05/2010
Cervantes García Temporal y Grado Infantil N9 Hall
causal
Aprender y
C.P Alicia Pensamiento 1er enseñar en
1.B01 Graó 06/05/2010
Cervantes García Numérico Grado educación
infantil
Aprender y
C.P Andrés 2do enseñar en
Escritura 1.A01 Graó 09/09/2010
Cervantes Fernández Grado educación
infantil
Saber
educar:
C.P Andrés 2do Temas de
Ingles 1.A01 guía para 05/05/2010
Cervantes Fernández Grado Hoy
Padres y
Profesores
Saber
educar:
C.P Juan Pensamiento 1er Temas de
2.B01 guía para 18/12/2010
Quevedo Méndez Lógico Grado Hoy
Padres y
Profesores
Aprender y
C.P Juan Pensamiento 1er enseñar en
2.B01 Graó 06/05/2010
Quevedo Méndez Numérico Grado educación
infantil

Normalizar

Ing. Iveth Robles Catari 46


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

3. Se tiene una relación del REPORTE_MATRICULA (código_alumno, nombre_alumno,


especialidad, código_curso, nombre_curso, nombre_docente, oficina, sección) se pide
aplicar las reglas de normalización

Código
Código/ Nombre/ Especiali Nombre_curs Nombre/
/ Oficina curso
alumno alumno dad o docente
curso
382145 Luis Carlos
Industrial MA123 Matemática 2 CB-214 U
A Zuloaga Arambulo
382145 Luis Petra
Industrial QU514 Física Química CB-110 U
A Zuloaga Rondinel
382145 Luis Víctor
Industrial AU521 Descriptiva CB-120 W
A Zuloaga Moncada
Cesar
360247k Raúl Rojas Sistemas PA714 Investigación 1 SC-220 V
Fernadez
Carlos
360247k Raúl Rojas Sistemas MA123 Matemática 2 CB-214 V
Arambulo
Víctor
360247k Raúl Rojas Sistemas AU511 Dibujo CB-120 U
Moncada

Ing. Iveth Robles Catari 47


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

4. Se presenta una base de datos de una biblioteca, aplicar las reglas de normalización
simplificando hasta la tercera forma normal.

Prestamos_libro (codLibro, Titulo, Autor, Editorial, NombreLector, Fechadev)

codLibro Titulo Autor Editorial nombreLector Fechadev


1001 Variable Murray Spiegel McGraw Hill Pérez Gómez, 15/04/2005
compleja Juan
1004 Visual Basic 5 E. Petroustsos Anaya Ríos Terán, Ana 17/04/2005
1005 Estadística Murray Spiegel McGraw Hill Roca, René 16/04/2005
1006 Oracle Nancy Greenberg y Priya Oracle Corp. García Roque, 20/04/2005
University Nathan Luis
1007 Clipper 5.01 Ramalho McGraw Hill Pérez Gómez, 18/04/2005
Juan

Ing. Iveth Robles Catari 48


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PARTE V

SQL

Ing. Iveth Robles Catari 49


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 25

LENGUAJE ESTRUCTURADO DE CONSULTAS SQL

Realizar los siguientes puntos:

1. Realizar el diagrama de Clases para un almacén

Ing. Iveth Robles Catari 50


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

2. Realizar el Diseño Lógico (Mapeo)

Ing. Iveth Robles Catari 51


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

3. Aplicar Normalización

4. Crear la Base de Datos y las tablas en PostgreSql

- Creando la Base de Datos:

CREATE DATABASE almacen2018;

- Para el Borrado de la Base de Datos:

DROP DATABASE almacen2018;

-Creando las Tablas de la Base de Datos:

create table cliente(


clici integer PRIMARY KEY,
clinombre char(30) not null,
clidireccion char(30) not null,
clisexo char(1) not null,
clilimitec integer
);

create table vendedor(


vndcodigo integer PRIMARY KEY,
vndnombre char(30) not null,
vndcomision integer not null,
vndsexo char(1) not null
);

create table notaventa(


vennumero integer PRIMARY KEY,
venfecha date not null,
venmonto integer not null,
clici integer not null,
vndcodigo integer not null,
FOREIGN KEY (clici) references cliente(clici),
FOREIGN KEY (vndcodigo) references vendedor(vndcodigo)
ON DELETE CASCADE
ON UPDATE CASCADE
);

create table unidadmedida(


uniid integer PRIMARY KEY,

Ing. Iveth Robles Catari 52


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

unidescripcion char(50) not null,


uniabrev char(3) not null
);

create table producto(


procodigo integer PRIMARY KEY,
prodescripcion char(50) not null,
proprecio integer,
uniid integer not null,
FOREIGN KEY (uniid) references unidadmedida(uniid)
ON DELETE CASCADE
ON UPDATE CASCADE
);

create table detalleventa(


vennumero integer not null,
procodigo integer not null,
detcantidad integer not null,
detprecio integer not null,
PRIMARY KEY (vennumero,procodigo),
FOREIGN KEY (vennumero) references notaventa(vennumero),
FOREIGN KEY (procodigo) references producto(procodigo)
ON DELETE CASCADE
ON UPDATE CASCADE
);

TABLAS DE PRUEBA:

create table cliente2(


clici integer PRIMARY KEY,
clinombre char(30) not null,
clidireccion char(30) not null,
clisexo char(1) not null,
clilimitec integer
);

create table cliente3(


clici integer PRIMARY KEY,
clinombre char(30) not null,
clidireccion char(30) not null,
clisexo char(1) not null,
clilimitec integer
);

Ing. Iveth Robles Catari 53


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

create table producto2(


procodigo SERIAL PRIMARY KEY,
prodescripcion char(50) not null,
proprecio integer,
uniid integer not null,
FOREIGN KEY (uniid) references unidadmedida(uniid)
ON DELETE CASCADE
ON UPDATE CASCADE
);

-- SERIAL este tipo de dato permite autoincrementar

create table detalleventa2(


vennumero integer not null,
procodigo integer not null,
detcantidad integer not null,
detprecio integer not null,
PRIMARY KEY (vennumero,procodigo),
FOREIGN KEY (vennumero) references notaventa(vennumero),
FOREIGN KEY (procodigo) references producto(procodigo)
ON DELETE CASCADE
ON UPDATE CASCADE
);

Ing. Iveth Robles Catari 54


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

5. Realizar Consultas

BORRAR

DROP TABLE cliente2; //Borra toda la tabla

DELETE from cliente3; //Borra todos los datos de la tabla

OPERACIONESSOBREATRIBUTOS

- Para adicionar una columna o atributo:

ALTER TABLE cliente ADD COLUMN estado CHAR(30);

- Para renombrar una columna:

ALTER TABLE cliente RENAME COLUMN estado TO cliestado;

- Para eliminar una columna:

ALTER TABLE cliente DROP COLUMN cliestado;

INSERTAR TUPLAS

En la tabla cliente:

INSERT INTO cliente VALUES (111, 'Juan Perez', 'Avenida Bolivar', 'M', 2000);
INSERT INTO cliente VALUES (222, 'Rosa Mendez','Calle Camacho', 'F', 500);
INSERT INTO cliente VALUES (333, 'Luis Casas', 'Avenida Bolivar', 'M',200 );
INSERT INTO cliente VALUES (444, 'Ana Cosio', 'Calle Peru', 'F',3000 );

Ing. Iveth Robles Catari 55


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

En la tabla Vendedor:

INSERT INTO vendedor VALUES(7777,'Pedro Romero',300,'M');


INSERT INTO vendedor VALUES(8888,'Carlos Perez',20,'M');
INSERT INTO vendedor VALUES(3333,'Luis Casas',10,'M');
INSERT INTO vendedor VALUES(9999,'Maria Torrez',200,'F');
INSERT INTO vendedor VALUES(5555,'Fatima Lopez',150,'F');

En la table unidadmedida:

INSERT INTO unidadmedida VALUES(200,'metros', 'mts');


INSERT INTO unidadmedida VALUES(201,'unidad', 'und');
INSERT INTO unidadmedida VALUES(202,'paquete', 'paq');

Ing. Iveth Robles Catari 56


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

En la tabla notaventa:

INSERT INTO notaventa VALUES(1,'01/02/2014',50,111,8888);


INSERT INTO notaventa VALUES(2,'01/02/2014',60,333,7777);
INSERT INTO notaventa VALUES(3,'03/03/2014',700,111,9999);
INSERT INTO notaventa VALUES(4,'20/08/2014',240,111,8888);
INSERT INTO notaventa VALUES(5,'20/08/2014',1000,111,3333);

En la tabla producto:

INSERT INTO producto VALUES(1000,'Teclado',90,201);

Ing. Iveth Robles Catari 57


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

INSERT INTO producto VALUES(1001,'Mouse',50,201);


INSERT INTO producto VALUES(1002,'Cable UTP Cat-5',5,200);
INSERT INTO producto VALUES(1003,'Case',150,201);
INSERT INTO producto VALUES(1004,'Monitor',800,201);

En la tabla detalleventa:

INSERT INTO detalleventa VALUES(1,1001,1,50);


INSERT INTO detalleventa VALUES(2,1001,1,50);
INSERT INTO detalleventa VALUES(2,1002,2,5);
INSERT INTO detalleventa VALUES(3,1004,1,700);
INSERT INTO detalleventa VALUES(4,1000,1,90);
INSERT INTO detalleventa VALUES(4,1003,1,150);
INSERT INTO detalleventa VALUES(5,1000,1,90);

Ing. Iveth Robles Catari 58


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

CONSULTAS DE UNA TABLA:

- Mostrar todas las tuplas de cliente:

SELECT * FROM cliente

- Otra forma de mostrar todas las tuplas

SELECT cliente.clici, cliente.clinombre, cliente.clidireccion,cliente.clisexo, cliente.clilimitec


FROM cliente ;

Ing. Iveth Robles Catari 59


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Renombrar y mostrar (cliente se renombra por c)

SELECT c.clici, c.clinombre, c.clidireccion,c.clisexo, c.clilimitec


FROM cliente c;

-Listar de menor a mayor de la tabla cliente por el codigo (ASCENDENTE)

Ing. Iveth Robles Catari 60


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

SELECT * FROM cliente ORDER BY clici;

-Listar de menor a mayor de la tabla cliente por el limite de credito (ASCENDENTE)

SELECT * FROM cliente ORDER BY clilimitec;

-Listar de menor a mayor de la tabla cliente por el nombre (ASCENDENTE)

SELECT * FROM cliente ORDER BY clinombre;

Ing. Iveth Robles Catari 61


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

-Listar de menor a mayor de la tabla cliente por el nombre (ASCENDENTE) y mostrar


sólo el ci y nombre:

SELECT clici,clinombre
FROM cliente
ORDER BY clinombre;

-Listar de mayor a menor (DESCENDENTE)

SELECT * FROM cliente ORDER BY clici DESC;

Ing. Iveth Robles Catari 62


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

-Listar de mayor a menor de la tabla cliente por el nombre (DESCENDENTE) y


mostrar sólo el ci y nombre:

SELECT clici,clinombre
FROM cliente
ORDER BY clinombre DESC;

-Listar una tupla específica del cliente donde su código es 111 y se quiere mostrar
solo su código, nombre y sexo:

SELECT clici, clinombre, clisexo

Ing. Iveth Robles Catari 63


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

FROM cliente
WHERE clici=111

-Borrar una tupla a la tabla cliente, luego volverla a insertar:


DELETE FROM cliente
WHERE clici=444;

Si revisamos en la tabla la tupla ya no existe:

Luego la volvemos a insertar:

INSERT INTO cliente VALUES (444, 'Ana Cosio',


'Calle Peru', 'F',3000 );

Ing. Iveth Robles Catari 64


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

-Listar tuplas especificas de cliente usando condiciones >,<;<=;>=

SELECT * FROM cliente


WHERE clici >250

-Listar todos los clientes que son de sexo Femenino:

SELECT * FROM cliente


WHERE clisexo = 'F '

-Listar todos los clientes que son de sexo Masculino y tienen un limite de credito
superior a 1000:

SELECT * FROM cliente

Ing. Iveth Robles Catari 65


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

WHERE clisexo = 'M ' and clilimitec > 1000;

-Listar todos los productos que comienzan con ‘C’

SELECT * FROM producto


WHERE prodescripcion LIKE 'C%'

- Listar todos los productos que contiene el carácter ‘a’

SELECT * FROM producto


WHERE prodescripcion LIKE '%a%'

Ing. Iveth Robles Catari 66


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Listar todos los clientes que viven en avenidas

SELECT * FROM cliente


WHERE clidireccion LIKE '%Avenida%'

- Listar todos los clientes que se llaman ‘Juan’

SELECT * FROM cliente


WHERE clinombre LIKE '%Juan%'

Ing. Iveth Robles Catari 67


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

Nota: Cuando se desea especificar palabras que solo contengan ciertos caracteres se puede adicionar un espacio, ejemplo
si se quisiera listar productos que son ace y no aceite se deberá colocar luego de la palabra ace un espacio ya que si no
se deja el espacio busca todas las palabras que contengan ‘ace’ incluyendo como resultado aceite, ace, etc

Ing. Iveth Robles Catari 68


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Calcular el número total de clientes

SELECT COUNT(*) AS totalcliente


FROM cliente

CONSULTAS DE (2) DOS TABLAS:

Considerando los siguientes datos:

Tabla producto: Tabla unidadmedida:

- Mostrar el código, nombre y la unidad de medida del producto:

SELECT procodigo, prodescripcion,uniddescripcion


FROM producto, unidadmedida
WHERE producto.uniid=unidadmedida.uniid;

Ing. Iveth Robles Catari 69


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Mostrar el código, nombre y la unidad de medida del producto, del producto de


código 1003:
SELECT procodigo, prodescripcion,uniddescripcion
FROM producto, unidadmedida
WHERE producto.procodigo=1003
and producto.uniid=unidadmedida.uniid;

- Mostrar el código y descripción de los productos que usan como unidad de


medida la unidad ‘ mts’:

Ing. Iveth Robles Catari 70


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

SELECT procodigo, prodescripcion


FROM producto, unidadmedida
WHERE producto.uniid=unidadmedida.uniid
AND unidadmedida.uniabrev='mts'

Otra forma es usando el operador IN:

SELECT procodigo,prodescripcion
FROM producto
WHERE uniid IN (SELECT uniid FROM unidadmedida
WHERE uniabrev='mts' )

- Mostrar el código

y descripción de los productos que usan


como unidad de medida la unidad ‘ und’:

SELECT procodigo,prodescripcion
FROM producto,unidadmedida
WHERE producto.uniid=unidadmedida.uniid
AND unidadmedida.uniabrev='und'

Otra forma es usando el operador IN:

SELECT procodigo,prodescripcion
FROM producto
WHERE uniid IN (SELECT uniid FROM unidadmedida
WHERE uniabrev='und' )

Ing. Iveth Robles Catari 71


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

CONSULTAS PARA 3 TABLAS (1º CASO)

Usando las siguientes tablas realizar las consultas:

notaventa cliente

vendedor

- Mostrar el numero de la venta, fecha de


venta, ci del cliente nombre del cliente y
nombre del vendedor:

SELECT n.vennumero,n.venfecha, n.clici,


c.clinombre, v.vndnombre
FROM notaventa n, cliente c, vendedor v
WHERE n.clici=c.clici and n.vndcodigo=
v.vndcodigo

Ing. Iveth Robles Catari 72


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Mostrar el numero de la venta 3, fecha de venta, ci del cliente nombre del cliente,
código y nombre del vendedor:

SELECT n.vennumero,n.venfecha, n.clici, c.clinombre, v.vndcodigo, v.vndnombre


FROM notaventa n, cliente c, vendedor v
WHERE n.vennumero=3
AND n.clici=c.clici and n.vndcodigo= v.vndcodigo

Ing. Iveth Robles Catari 73


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

CONSULTAS PARA 3 TABLAS (2º CASO)

Usando las siguientes tablas realizar las consultas:

notaventa producto

detalleventa

- Mostrar el código y nombre de los productos que corresponden a la venta cuyo


monto es =240

SELECT p.procodigo, p.prodescripcion


FROM notaventa n, producto p, detalleventa d

Ing. Iveth Robles Catari 74


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

WHERE d.vennumero=n.vennumero
AND d.procodigo=p.procodigo
AND n.venmonto=240

- Mostrar el código, nombre de los productos, que corresponden a las ventas de


fecha = '20/08/2014 '

SELECT p.procodigo, p.prodescripcion, n.venfecha


FROM producto p, detalleventa d, notaventa n
WHERE d.vennumero=n.vennumero
AND d.procodigo =p.procodigo
AND n.venfecha = '20/08/2014 '

Ing. Iveth Robles Catari 75


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

CONSULTAS PARA 4 TABLAS

notaventa producto

Detalleventa

cliente

- Mostrar el nombre de los productos


que ha comprado el cliente “Luis
Casas”

SELECT

cliente.clici,cliente.clinombre,producto.procodigo,producto.prodescripcion
FROM cliente, notaventa,producto,detalleventa
WHERE detalleventa.procodigo=producto.procodigo
AND detalleventa.vennumero=notaventa.vennumero
AND notaventa.clici=cliente.clici
AND cliente.clinombre='Luis Casas '

Ing. Iveth Robles Catari 76


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

Para que no repita el nombre del cliente solo quitamos cliente.clici y cliente.clinombre:

SELECT producto.procodigo,producto.prodescripcion
FROM cliente, notaventa,producto,detalleventa
WHERE detalleventa.procodigo=producto.procodigo
AND detalleventa.vennumero=notaventa.vennumero
AND notaventa.clici=cliente.clici
AND cliente.clinombre='Luis Casas '

Ing. Iveth Robles Catari 77


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

HERENCIA DE CLASES

▪ CASO 1: SOLAPAMIENTO O SOBREPUESTA


Considerando las siguientes clases:

La creación de sus tablas con SQL serán:

CREATE TABLE persona(


ci int PRIMARY KEY,
nombre char(50) NOT NULL,
direccion char(50) NOT NULL,
sexo char(1) NOT NULL,
telefono int,
limitecredito int,
comision float,
tipoc int,
tipov int
)

CI NOMBRE DIRECCION SEXO TELEFONO LIMITECREDITO COMISION TIPOC TIPOV

111 Juan Perez Av. Bolivar M 78933331 1000 25 1 0

222 Luisa Marquez Av. Brasil F 200 1 0

333 Rocio Castrillo C. Taperas F 72155559 100 0 1

444 Fatima Casa Av. Bolivar F 39522332 1000 1 1


C.
555 Miguel Fernandez Bustamante M 32144789 1500 150 0 1

Ing. Iveth Robles Catari 78


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

La inserción de los datos:

INSERT INTO persona VALUES (111,'Juan Perez','Av. Bolivar','M',78933331,1000,25,1,0);


INSERT INTO persona VALUES (222,'Luisa Marquez','Av. Brasil','F',null,200,null,1,0);
INSERT INTO persona VALUES (333,'Rocio Castrillo','C. Taperas','F',72155559,null,100,0,1);
INSERT INTO persona VALUES (444,'Fatima Casa','Av. Bolivar','F',39522332,1000,null,1,1);
INSERT INTO persona VALUES (555,'Miguel Fernandez','C. Bustamante','M',32144789,1500,150,0,1);

Las Consultas pueden ser:

- Mostrar ci, nombre y dirección de todas las personas que viven sobre alguna
avenida y son de sexo = 'F'

SELECT ci, nombre,


direccion
FROM persona
WHERE direccion
LIKE 'Av%'
AND sexo= 'F'

Ing. Iveth Robles Catari 79


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Mostrar ci, nombre y sexo de todas las personas que son de ambos tipos de
persona clientes y vendedor:

SELECT ci,nombre,sexo
FROM persona
WHERE tipoc = tipov

- Mostrar ci, nombre y sexo de todas las


personas que son de diferentes tipos de
persona clientes y vendedor:

SELECT ci,nombre,sexo
FROM persona
WHERE tipoc <> tipov

Ing. Iveth Robles Catari 80


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Mostrar ci, nombre y sexo de todas las


personas que son de tipoc es decir
cliente:

SELECT ci,nombre,sexo
FROM persona
WHERE tipoc =1

▪ CASO 2: DISJUNTA

CREATE TABLE vehiculo (


placa char(8) PRIMARY KEY,
marca char(20) NOT NULL,
modelo char(20) NOT NULL,
anio integer NOT NULL,
tipo char(1) NOT NULL
);

CREATE TABLE camion(


placa char(8),
nroejes int NOT NULL,
capacidad int NOT NULL,
PRIMARY KEY (placa),
FOREIGN KEY (placa) REFERENCES vehiculo(placa)
ON DELETE CASCADE
ON UPDATE CASCADE
);

CREATE TABLE auto(


placa char(8),
nropasajeros int NOT NULL,
PRIMARY KEY (placa),
FOREIGN KEY (placa) REFERENCES vehiculo(placa)
ON DELETE CASCADE
ON UPDATE CASCADE

Ing. Iveth Robles Catari 81


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

);

La
inserción de los datos:

INSERT INTO vehiculo VALUES ('AAA-111','K2','VOLVO',2001,'C');


INSERT INTO vehiculo VALUES ('BBB-222','COROLLA','TOYOTA',2010,'A');
INSERT INTO vehiculo VALUES ('CCC-333','K2','VOLVO',2002,'C');
INSERT INTO vehiculo VALUES ('DDD-444','COROLLA','TOYOTA',2012,'A');
INSERT INTO vehiculo VALUES ('EEE-555','J2','VOLVO',2014,'C');

INSERT INTO camion VALUES ('AAA-111',2,2);


INSERT INTO camion VALUES ('CCC-333',3,4);
INSERT INTO camion VALUES ('EEE-555',2,3);

INSERT INTO auto VALUES ('BBB-222',5);


INSERT INTO auto VALUES ('DDD-444',4);

Ing. Iveth Robles Catari 82


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Mostrar la placa, modelo y tipo de todos los camiones

SELECT vehiculo.placa, vehiculo.modelo,


vehiculo.tipo
FROM vehiculo, camion
WHERE camion.placa=vehiculo.placa

- Mostrar las placas, modelos y años de


todos los camiones que tiene una capacidad
de 2 toneladas.

SELECT vehiculo.placa,vehiculo.modelo, vehiculo.anio


FROM vehiculo, camion
WHERE vehiculo.placa=camion.placa
AND camion.capacidad= 2

Ing. Iveth Robles Catari 83


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

CONSULTAS CON COUNT, SUM, MAX,MINAVG:

Usando la tabla NOTAVENTA:

Ing. Iveth Robles Catari 84


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Contar la cantidad de ventas:

SELECT COUNT (*) as cantidad


FROM notaventa

- Sumar el total de ventas :

SELECT SUM (venmonto) as suma


FROM notaventa

- Mostrar la venta maxima :

SELECT MAX (venmonto) as suma


FROM notaventa

Ing. Iveth Robles Catari 85


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

- Mostrar la venta minima :

SELECT MIN (venmonto) as suma


FROM notaventa

- Mostrar el promedio de ventas :

SELECT AVG (venmonto) as suma


FROM notaventa

Ing. Iveth Robles Catari 86


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

PRACTICO 25

MAS CONSULTAS EN SQL

Considerando las tablas definidas anteriormente realizar las siguientes consultas:

1. Mostrar el código, descripción de los productos que son teclado, además de los
números de las ventas en que están registrados.

2. De la consulta 1. Mostrar además la abreviatura correspondiente de la unidad de


medida del teclado.

3. Considerando que la tabla producto ha incrementado en dos tuplas mas:

Mostrar todos aquellos productos que no se han vendido

4. Mostrar todos los nombres de los clientes cuyas compras son menores a 100 Bs.

5. Mostrar los nombres de los vendedores que nunca realizaron una venta

Ing. Iveth Robles Catari 87


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

SOLUCION PRACTICA 26

CONSIDERANDO LAS TABLAS DEFINIDAS ANTERIORMENTE REALIZAR LAS


SIGUIENTES CONSULTAS:

1. Mostrar el código, descripción de los productos que son teclado, además de los
números de las ventas en que están registrados.

SELECT p.procodigo, p.prodescripcion, n.vennumero


FROM producto p, notaventa n, detalleventa d
WHERE d.vennumero = n.vennumero
AND d.procodigo = p.procodigo
AND p.prodescripcion = 'Teclado'

2. De la consulta 1. Mostrar además la abreviatura correspondiente de la unidad de


medida del teclado.
Aumentamos el uso de la tabla unidadmedida

SELECT p.procodigo, p.prodescripcion, n.vennumero, u.uniabrev


FROM producto p, notaventa n, detalleventa d, unidadmedida u
WHERE d.vennumero = n.vennumero
AND d.procodigo = p.procodigo
AND p.uniid = u.uniid
AND p.prodescripcion = 'Teclado'

Ing. Iveth Robles Catari 88


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

3. Considerando que la tabla producto ha incrementado en dos tuplas mas:

Mostrar todos aquellos productos que no se han vendido

SELECT p.prodescripcion
FROM producto p
WHERE p.procodigo NOT IN (SELECT d.procodigo
FROM detalleventa d)

Ing. Iveth Robles Catari 89


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

4. Mostrar todos los nombres de los clientes cuyas compras son menores a 100 Bs.

SELECT c.clici,c.clinombre
FROM cliente c, notaventa n
WHERE n.clici = c.clici
AND n.venmonto<100

5. Mostrar los nombres de los vendedores que nunca realizaron una venta

Ing. Iveth Robles Catari 90


GUÍA DE PRÁCTICAS - BASE DE DATOS I
________________________________________________________________________

SELECT v.vndcodigo, v.vndnombre


FROM vendedor v
WHERE v.vndcodigo NOT IN (SELECT n.vndcodigo
FROM notaventa n)

Ing. Iveth Robles Catari 91

También podría gustarte