Carrera: Base de datos II
Ciclo: Cuatrimestre 5
Nombre del mo dulo: Modelo Relacional
1.1 Estructura de datos relacional
Tema: 1.2 Reglas de integridad
1.3 lgebra relacional
Tarea1: Nombre:
Instruccin: Realiza las pra cticas utilizando la operacio n de diferencias de conjuntos, producto
cartesiano y renombramiento, con base en una problema tica planteada para cada operacio n.
Guarda tu archivo [Link] y su belo como tarea.
I. Lee la problemtica que se te presenta a continuacin.
II. Realiza en base a la problemtica, la definicin del siguiente esquema de base de
datos.
III. Agreg datos ficticios, para poder realizar los siguientes ejercicios, relacionados con
la operacin de diferencias de conjuntos.
IV. La realizacin de dicha tarea se llevar a cabo en un archivo con Word.
V. Se pide para cada problemtica:
Hacer el diagrama ER para la base de datos que represente esta informacin.
Definir el esquema de la base de datos e introducirle datos ficticios.
Realizar tres ejemplos donde se utilice la operacin de diferencias de conjuntos y
representar el resultado obtenido con los datos ficticios.
Realizar tres ejemplos donde se utilice producto cartesiano y representar el
resultado obtenido con los datos ficticios.
Realizar tres ejemplos donde utilice renombramiento y representar el resultado
obtenido con los datos ficticios.
Problemtica 1
Una base de datos para una pequea empresa debe contener informacin acerca de clientes
artculos, pedidos y pagos.
En la actualidad se registra la siguiente informacin en varios documentos de Excel:
Para cada cliente se registra: Nmero de cliente (nico), Direcciones de envo de la
mercanca (varias por cliente), Saldo, Lmite de crdito (este depende del cliente,
pero en ningn caso debe superar los 10.000), Descuento. (depende por direccin de
envo).
Para cada artculo se registra: Nmero de artculo (nico), Fbricas que lo
distribuyen, Existencias de ese artculo en cada fbrica, Descripcin del artculo.
Para cada pedido se registra de la siguiente forma: Todo pedido tiene una cabecera y
el cuerpo del pedido. La cabecera est formada por el nmero de cliente, direccin
de envo y fecha del pedido. El cuerpo del pedido son varias lneas, en cada lnea se
especifican el nmero del artculo pedido y la cantidad.
Adems, se ha determinado que se debe almacenar la informacin de las fbricas.
Sin embargo, dado el uso de distribuidores, se usar: Nmero de la fbrica (nico) y
Telfono de contacto. Y se desean ver cuntos artculos (en total) provee la fbrica.
Tambin, por informacin estratgica, se podra incluir informacin de fbricas
alternativas respecto de las que ya fabrican artculos para esta empresa.
Tabla Cliente
Atributo Descripcin Definicin Restriccin
NumCte Numero de Cliente 5 Dgitos nico
Nombre Nombre de Cliente 100 Caracteres
Dir Direccin de envi 100 Caracteres
Saldo Saldo 7 Dgitos Max 10,000
LimCred Limite de crdito 7 Dgitos
Descuento Descuento 7 Dgitos
Tabla Articulo
Atributo Descripcin Definicin Restriccin
NumArt Numero de Articulo 5 Dgitos nico
Nombre Nombre del Producto 100 Caracteres
Des Descripcin del producto 100 Caracteres
Tabla Fabrica
Atributo Descripcin Definicin Restriccin
NumFab Numero de Fabrica 5 Dgitos nico
Tel Telfono de Fabrica 10 Dgitos
Dir Direccin de Fabrica 100 Caracteres
Total Total de artculos en Fab 10 Dgitos
Tabla Existencia
Atributo Descripcin Definicin Restriccin
NumExist NumArt + NumFab 10 Dgitos nico
NumArt Numero de Articulo 5 Dgitos
NumFab Numero de Fabrica 5 Dgitos
Exis Existencias 7 Dgitos
Tabla Pedido Cabecera
Atributo Descripcin Definicin Restriccin
NumPdo Numero de Pedido 10 Dgitos nico
NumCte Numero de Cliente 5 Dgitos
Dir Direccin de Envi 100 Caracteres
fecha Existencias Fecha
Tabla Pedido Artculos
Atributo Descripcin Definicin Restriccin
NumPdoArt NumPedido + NumArticul 10 Dgitos nico
NumPdo Numero de Pedido 5 Dgitos
NumArt Numero de Articulo 5 Dgitos
Cantidad Cantidad de Pedido 7 Dgitos
Tabla Cliente
NumCte Nombre Descripcion Saldo LimCred Descuento
00001 Empresa 01 Reforma #5 DF 10,000.00 300,000.00 2%
00002 Empresa 02 Reforma #10 DF 15,000.00 300,000.00 2%
00003 Empresa 03 Perifrico #100 Puebla 0.0 10,000.00 10%
00004 Empresa 04 Circuito Juan Pablo # 55,000.00 100,000.00 5%
200
00005 Empresa 05 Centro Puebla 108,000.00 200,000.00 5%
Tabla Articulo
NumArt Nombre Descripcion
00001 Laptop 01 Core 2 Duo 2 Gb de Ram 500 Gb Disco Duro
00002 Laptop 02 Core i5 2.3 Ghz 8 Gb de Ram 1000 Gb Disco Duro
00003 Computadora 01 Core i5 2.3 Ghz 8 Gb de Ram 1000 Gb Disco Duro
00004 Computadora 02 Core i5 2.3 Ghz 8 Gb de Ram 1000 Gb Disco Duro
00005 Computadora 04 Core i5 2.3 Ghz 8 Gb de Ram 1000 Gb Disco Duro
Tabla Fabrica
NumFab Tel Dir Total
00001 2222222222 Periferico #102 Puebla 100
00002 3333333333 FINSA Puebla 200
00003 4444444444 FINSA Puebla 200
Tabla Existencia
NumExist NumFac NumArt Existencia
000010001 00001 00001 20
000010002 00001 00002 20
000010003 00001 00003 60
000020002 00002 00002 100
000020004 00002 00004 100
000030005 00003 00005 200
Tabla Pedido Cabecera
NumPdo NumCte Dir Fecha
0000000001 00001 Reforma #5 DF 21/10/2016
0000000002 00001 Reforma #5 DF 23/10/2016
0000000003 00002 Perifrico #100 Puebla 22/10/2016
0000000004 00003 Perifrico #100 Puebla 21/10/2016
Tabla PedidoArtculos
NumPdoArt NumPdo NumArt Cantidad
000000000100001 0000000001 00001 5
000000000100002 0000000001 00002 5
000000000200004 0000000002 00004 7
000000000200005 0000000002 00005 10
Operacin 1:
NumPdo = 0000000001 (PedidoArticulos)
Select * from PedidoArticulos where NumPdo = '0000000001 '
NumPdoArt NumPdo NumArt Cantidad
000000000100001 0000000001 00001 5
000000000100002 0000000001 00002 5
Operacin 2:
NumArt,Cantidad (PedidoArticulos)
Select NumArt, Cantidad from PedidoArticulos where NumPdo = '000000001'
NumArt Cantidad
00001 5
00002 5
Operacin 3:
NumArt ( NumPdo = 0000000001 (PedidoArticulos) )
Select NumArt from PedidoArticulos where NumPdo = '0000000001'
NumArt
00001
00002
Productos Cartesiano
NumArt, Existencia, Tel, Dir, Total ( NumFabrica = 00001 (Existencia X Fabrica))
Select NumArt, Tel, Dir, Total Existencia from Existencia, Fabrica where NumFabrica = '00001'
Resultado
NumArt Existencia Tel Dir Total
00001 20 2222222222 Periferico #102 Puebla 100
00002 20 2222222222 Periferico #102 Puebla 100
00003 60 2222222222 Periferico #102 Puebla 100
Nombre, Existencia, Tel, Dir, Total ( NumFabrica = 00001 (Existencia X Fabrica X Articulo))
Select Nombre, Tel, Dir, Total Existencia from Existencia, Fabrica, Articulo where NumFabrica =
'00001'
Resultado
NumArt Existencia Tel Dir Total
Laptop 01 20 2222222222 Periferico #102 Puebla 100
Laptop 02 20 2222222222 Periferico #102 Puebla 100
Computadora 60 2222222222 Periferico #102 Puebla 100
01
Nombre, Descripcion, Existencia, Dir( NumFabrica = 00001 (Existencia X Fabrica X Articulo))
Select Nombre, Descripcion, Dir, Existencia from Existencia, Fabrica, Articulo where NumFabrica =
'00001'
Resultado
NumArt Descripcion Existencia Dir
Laptop 01 Core 2 Duo 2 Gb de Ram 500 Gb Disco Duro 20 Periferico #102 Puebla
Laptop 02 Core i5 2.3 Ghz 8 Gb de Ram 1000 Gb Disco 20 Periferico #102 Puebla
Duro
Computadora Core i5 2.3 Ghz 8 Gb de Ram 1000 Gb Disco 60 Periferico #102 Puebla
01 Duro
Problemtica 2
Le contratan para hacer una BD que permita apoyar la gestin de un sistema de ventas. La
empresa necesita llevar un control de proveedores, clientes, productos y ventas.
Un proveedor tiene un ID, nombre, direccin, telfono y pgina web. Un cliente tambin
tiene ID, nombre, direccin, pero puede tener varios telfonos de contacto. La direccin se
entiende por calle, nmero, comuna y ciudad.
Un producto tiene un id nico, nombre, precio actual, stock y nombre del proveedor.
Adems se organizan en categoras, y cada producto va slo en una categora. Una
categora tiene id, nombre y descripcin.
Por razones de contabilidad, se debe registrar la informacin de cada venta con un id, fecha,
cliente, descuento y monto final. Adems se debe guardar el precio al momento de la venta,
la cantidad vendida y el monto total por el producto.
Tabla proveedores
Atributo Descripcin Definicin Restriccin
ID Identificador 5 Dgitos nico
Nom Nombre de proveedor 100 Caracteres
Calle Direccin de Proveedor 100 Caracteres
Num Numero de calle 10 Dgitos
Comuna Comuna 100 Caracteres
Ciudad Ciudad de Domicilio 100 Caracteres
Tel Telfono 10 Dgitos
web Pagina Web 100 Caracteres
Tabla Producto
Atributo Descripcin Definicin Restriccin
ID Identificador 5 Dgitos nico
Nom Nombre de Cliente 100 Caracteres
Precio Precio Actual 10 Dgitos
Stock Stock 10 Dgitos
IdProveedor ID del proveedor 5 Dgitos Debe existir en
Proveedores
IdCategoria ID de Categora 5 Dgitos Debe existir en
Categora
Tabla Categora
Atributo Descripcin Definicin Restriccin
ID Identificador 5 Dgitos nico
Nom Nombre de Categora 100 Caracteres
Des Descripcin 100 Caracteres
Tabla Ventas
Atributo Descripcin Definicin Restriccin
ID Identificador 5 Dgitos nico
Fecha Fecha Fecha
Cliente Nombre Cliente 100 Caracteres
Descuento Descuento 100 Caracteres
Final Monto Final 10 Dgitos
Tabla VentasAux
Atributo Descripcin Definicin Restriccin
ID ID Venta + ID Producto 10 Dgitos nico
IdVenta ID de Venta 5 Dgitos
IdProducto ID de Producto 5 Dgitos
Cantidad Cantidad 10 Dgitos
Total Monto Total 10 Dgitos
Tablas llenas.
Tabla Proveedores
IdProv Nom Calle Num Comuna Ciudad Tel Web
00001 Prov 01 Reforma 10 Polanco Mxico 2222222222 [Link]
00002 Prov 02 Reforma 15 Polanco Mxico 2222222223 [Link]
00003 Prov 03 Reforma 20 Polanco Mxico 2222222224 [Link]
00004 Prov 04 Reforma 25 Polanco Mxico 2222222225 [Link]
Tabla Producto
IdProd NomProd Precio Stock IdProv IdCategoria
00001 Prod 01 100.00 1000 00001 00001
00002 Prod 02 50.00 1000 00001 00002
00003 Prod 04 70.00 1000 00002 00001
00004 Prod 05 80.00 1000 00002 00002
00005 Prod 06 50.00 1000 00003 00001
00006 Prod 07 150.00 1000 00003 00002
00007 Prod 08 120.00 1000 00004 00001
00008 Prod 09 130.00 1000 00004 00002
Tabla Categora
IdCat NomCat Desc
00001 Categora 01 Categora de productos 01
00002 Categora 02 Categora de productos 02
00003 Categora 03 Categora de productos 03
Tabla Ventas
IdVenta Fecha Cliente Descuento Final
00001 09/09/2000 00001 10% 675.00
00002 10/09/2000 00002 05% 807.50
00003 12/09/2000 00003 15% 765.00
Tabla VentasAux
IdVentaAux IdVenta IdProd Cantidad Total
0000100001 00001 00001 5 500.00
0000100002 00001 00002 5 250.00
0000200001 00002 00001 5 500.00
0000200003 00002 00002 5 350.00
0000300001 00003 00001 5 500.00
0000300004 00003 00004 5 400.00
Operacin 1:
ID = 00001 (Ventas)
Select * from Ventas where ID = '00001 '
IdVenta Fecha Cliente Descuento Final
00001 09/09/2000 00001 10% 675.00
Operacin 2:
Cliente, Final (Ventas)
Select Cliente, Final from Ventas where ID = '00001'
Cliente Dinal
00001 675.00
Operacin 3:
Total ( IdVenta = 00001 (VentasAux) )
Select Total from VentasAux where IdVenta = '00001'
Total
500.00
250.00
Productos Cartesiano
IdVenta, NomProd, Cantidad, Total ( IdProducto = 00001 (VentasAux X Producto))
Select IdVenta, NomProd, Cantidad, Total from VentasAux, Producto where IdProducto = '00001'
Resultado
IdVenta NomProd Cantidad Total
00001 Prod 01 5 500.00
00002 Prod 01 5 500.00
00003 Prod 01 5 500.00
NomProd, NomCat, Precio, Stock ( IdProv = 00001 (Producto X Categoria))
Select NomProd, NomCat, Precio, Stock from Producto, Categoria where IdProv = '00001'
NomProd NomCat Precio Stock
Prod 01 Categora 01 100.00 1000
Prod 02 Categora 02 50.00 1000
NomProd, NomCat, Precio, Stock ( IdProv = 00002 (Producto X Categoria))
Select NomProd, NomCat, Precio, Stock from Producto, Categoria where IdProv = '00001'
NomProd NomCat Precio Stock
Prod 03 Categora 01 70.00 1000
Prod 04 Categora 02 80.00 1000