Está en la página 1de 5

TEMA

1
PREMIERE PRODUCTS
Introducción
En este capítulo examinaremos los requisitos de la base de datos de la compañía Premiere
Products, que se utilizará en los ejemplos que veremos a lo largo del curso.

¿Qué es una base de datos?


A lo largo del texto trabajaremos con la base de datos de la organización Premiere
Products. Una base de datos es una estructura que contiene diferentes categorías de
información y las relaciones entre esas categorías. La base de datos de Premiere Products
contiene información sobre categorías como vendedores, clientes, pedidos y artículos.

La base de datos también contiene relaciones entre categorías. Por ejemplo, contiene
información que relaciona a los vendedores con los clientes a los que representa, y clientes a los
pedidos que han ordenado.

Según vayamos avanzando por el texto, aprenderemos más sobre como ver y actualizar la
información que contiene la base de datos. En cada capítulo veremos ejemplos de la base de
datos de Premiere Products.

La base de datos de Premiere Products


La dirección de Premiere Products, un distribuidor de electrodomésticos (HW) , aparatos
(AP) y material deportivo (SG) ha determinado que con el reciente crecimiento de la compañía no
es factible mantener datos de clientes, pedidos e inventario utilizando sus sistemas manuales.
Con los datos almacenados en una base de datos, la dirección será capaz de asegurar que los
datos están actualizados y son más exactos que en los sistemas manuales. Además, los
directores podrán obtener respuestas a sus preguntas relacionadas con los datos de la base de
datos de manera rápida y sencilla, con la opción de producir gran variedad de informes muy
útiles.

La dirección ha decidido que Premiere Products debe mantener la siguiente información de


sus vendedores, clientes e inventario de la base de datos:

 El código de vendedor, apellidos, nombres, dirección, comisión total y porcentaje de


comisión.
Asignatura: Sistemas de Base de Datos

 El código de cliente, nombre, dirección, balance actual, límite de crédito, así como, el
código de vendedor asignado al cliente.
 El código de artículo, descripción, número de unidades, clase de artículo, número del
almacén donde está almacenado el artículo y precio unitario de cada artículo.

Premiere Products también debe almacenar información sobre los pedidos. En la figura 1.1
vemos un ejemplo de pedido. El pedido de la figura 1.1 contiene tres secciones.

 El encabezado del pedido contiene el nombre de la compañía, el código y fecha del


pedido, el código, nombre y dirección del cliente, y el código y nombre del vendedor.
 El cuerpo del pedido contiene uno o más líneas de pedido. Cada una contiene un código
de artículo, una descripción del artículo, el número de unidades pedidas y el precio
cotizado para el artículo. Cada línea de pedido también contiene un sub total, que se
suele denominar una extensión, que es el resultado de multiplicar la cantidad por el
precio cotizado.
 Por último, el pié del pedido contiene el total del pedido.

PREMIERE
PEDIDO: 21617 FECHA: 10/23/2010
PRODUCTS

CLIENTE: 608 VENDEDOR: 65


Johnson’s Department Store Juan Pérez
372 Oxford
Sheldon

NÚMERO PRECIO
DESCRIPCIÓN CANT. SUB TOTAL
ARTÍCULO COTIZADO
BV06 Home Gym 02 $794.95 $1589.90
CD52 Microwave Oven 04 $150.00 $600.00

TOTAL DEL PEDIDO: $2189.90

Figura 1.1. Ejemplo de Pedido

Premiere Products también debe almacenar los siguientes elementos en la base de datos
para cada pedido del cliente:

 Para cada pedido, la base de datos debe almacenar el código de pedido, la fecha en que
se realizó el pedido y el código de cliente que lo realizó, el nombre y dirección del cliente
y el código del vendedor asignado al cliente se almacena con la información del cliente. El
nombre del vendedor se almacena con la información del vendedor.
 Para cada pedido, la base de datos debe almacenar el código de pedido, el código de
artículo, la cantidad de unidades pedidas y el precio cotizado para cada línea de pedido.
La descripción del artículo se almacena con la información sobre los artículos. El resultado
de multiplicar la cantidad de unidades pedidas por el precio cotizado no se almacena,
porque la base de datos lo puede calcular cuando sea necesario.
 El total del pedido no se almacena. Sin embargo, la base de datos calcula el total siempre
que se imprime un pedido o se muestra en pantalla.

2
Asignatura: Sistemas de Base de Datos

En la figura 1.2 vemos un ejemplo de datos de Premiere Products. En la tabla tVendedor


vemos que hay tres vendedores, cuyos números son 20, 35 y 65. El nombre del vendedor 20 es
Valerie Kaiser. Su dirección es 624 Randall. Vive en Grove (Florida). Su comisión total es de
$20542.50, y su porcentaje de comisión es del cinco por ciento (0.05).

En la tabla tCliente, se identifican 10 clientes de Premiere Products con los códigos 148,
282, 356, 408, 462, 524, 608, 687, 725 y 842. El nombre del cliente con el código 148 es Al’s
Appliance and Sport. La dirección de este cliente es 2837 Greenway en Fillmore (Florida), el
balance actual del cliente es de $6550.00, y su límite de crédito es de $7500.00. El número 20 en
la columna codiVende indica que a Al’s Appliance and Sport le corresponde el vendedor 20
(Valerie Kaiser).

tVendedor
codiVende apeVende nombreVende direcVende ciudadVende comiToVende porCoVende
20 Kaiser Valerie 624 Randall Grove $20542.50 0.05
35 Hull Richard 532 Jackson Sheldon $39216.00 0.07
65 Perez Juan 1626 Taylor Fillmore $23487.00 0.05

tCliente
codiClien nombreClien direcClien ciudadClien balanClien limiCreClien codiVende
148 Al’s Appliance and Sport 2837 Greenway Fillmore $6550.00 $7500.00 20
282 Brookings Direct 3827 Devon Grove $431.50 $10000.00 35
356 Ferguson’s 382 Wildwood Northfield $5785.00 $7500.00 65
408 The Everything Shop 1828 Raven Crystal $5285.25 $5000.00 35
462 Bargains Galore 3829 Central Grove $3412.00 $10000.00 65
524 Kline’s 838 Ridgeland Fillmore $12762.00 $15000.00 20
608 Johnson’s Department Store 372 Oxford Sheldon $2106.00 $10000.00 65
687 Lee’s Sport and Appliance 282 Evergreen Altonville $2851.00 $5000.00 35
725 Deerfield’s Four Seasons 282 Columbia Sheldon $248.00 $7500.00 35
842 All Season 28 Lakeview Grove $8221.00 $7500.00 20
Figura 1.2. Ejemplo de datos de Premiere Products

Si saltamos a la tabla llamada tArticulo, veremos que hay 10 artículos, con los códigos AT94,
BV06, CD52, DL71, DR93, DW11, FD21, KL62, KT03 y KV29. El artículo AT94 es una Plancha, y la
compañía tiene 50 unidades de este artículo. Las planchas están en la clase de artículo HW
(Houseware o electrodomésticos), y se encuentran en el almacén 3. El precio de una plancha es
$24.95. Otras clases de artículos son AP (Appliances o aparatos) y SG (Sporting Goods o material
deportivo).

tPedido tDetallePedido
codiPedi fechaPedi codiClien codiPedi codiArti cantiArti precioCoArti
21608 10/20/2010 148 21608 AT94 11 $21.95
21610 10/20/2010 356 21610 DR93 1 $495.00
21613 10/21/2010 408 21610 DW11 1 $399.99
21614 10/21/2010 282 21613 KL62 4 $329.95
21617 10/23/2010 608 21614 KT03 2 $595.00
21619 10/23/2010 148 21617 BV06 2 $794.95
21623 10/23/2010 608 21617 CD52 4 $150.00
21619 DR93 1 $495.00
21623 KV29 2 $1290.00

3
Asignatura: Sistemas de Base de Datos

tArticulo
CodiArti descripArti stockArti claseArti almaArti precioUArti
AT94 Iron 50 HW 3 $24.95
BV06 Home Gym 45 SG 2 $794.95
CD52 Microwave Oven 32 AP 1 $165.00
DL71 Cordless Drill 21 HW 3 $129.95
DR93 Gas Range 8 AP 2 $495.00
DW11 Washer 12 AP 3 $399.99
FD21 Stand Mixer 22 HW 3 $159.95
KL62 Dryer 12 AP 1 $349.95
KT03 Dishwasher 8 AP 3 $595.00
KV29 Treadmill 9 SG 2 $1390.00
Figura 1.2. Ejemplo de datos de Premiere Products

Si volvemos a la tabla llamada tPedido, veremos que hay 7 pedidos, identificados con los
códigos 21608, 21610, 21613, 21614, 21617, 21619 y 21623. El pedido código 21608 lo hizo el 20
de octubre de 2010 el cliente 148 (Al’s Appliance and Sport).

La tabla llamada tDetallePedido puede parecer extraña a simple vista. ¿Por qué es
necesaria una tabla aparte para las líneas de pedido? ¿No se podrían incluir en la tabla tPedido?
La respuesta técnicamente es sí. Podríamos estructurar la tabla llamada tPedido como vemos en
la figura 1.3.

tPedido
codiPedi fechaPedi codiClien codiArti cantiArti precioCoArti
21608 10/20/2010 148 AT94 11 $21.95
21610 10/20/2010 356 DR93 1 $495.00
DW11 1 $399.99
21613 10/21/2010 408 KL62 4 $329.95
21614 10/21/2010 282 KT03 2 $595.00
21617 10/23/2010 608 BV06 2 $794.95
CD52 4 $150.00
21619 10/23/2010 148 DR93 1 $495.00
21623 10/23/2010 608 KV29 2 $1290.00
Figura 1.3. Estructura alternativa de la tabla tPedido.

Observe que esta tabla contiene los mismos pedidos que vemos en la figura 1.2, con las
mismas fechas y códigos de cliente. Además, cada línea de la tabla en la figura 1.3 contiene todas
las líneas de pedido para un pedido determinado. Si examinamos la quinta fila, por ejemplo,
veremos que el pedido 21617 tiene dos líneas de pedido. Una de estas líneas es para dos artículos
BV06 a $794.95 cada una, y la otra línea de pedido es para cuatro artículos CD52 a $150.00 cada
una.

Puede parecer absurdo utilizar dos filas para almacenar información que podría estar
representada en una sola. Sin embargo, hay un problema con la organización de la figura 1.3: la
tabla es más complicada. En la figura 1.2 hay una sola entrada en cada lugar de la tabla. En la
figura 1.3 algunas de las posiciones individuales dentro de la tabla contienen múltiples entradas,
lo que dificulta el seguimiento de la información entre columnas. Por ejemplo, en la fila para el
código de pedido 21617, es fundamental saber que BV06 corresponde al 2 en la columna cantiArti
(no al 4) y que corresponde a $794.95 en la columna precioCoArti (no a $150.00). Además, con
una tabla más compleja surgen algunos problemas prácticos, como pueden ser:

4
Asignatura: Sistemas de Base de Datos

 ¿Cuánto espacio dejamos para todas estas entradas?


 ¿Qué ocurre cuando para un pedido hemos dejado espacio para menos líneas de las que
tiene?
 Para un artículo determinado. ¿Cómo determinamos qué pedidos contienen líneas para
ese artículo?

Aunque ninguno de estos problemas es irresoluble, si añaden un nivel de complejidad que


no tenemos en la organización de la figura 1.2. En la figura 1.2 no hay entradas múltiples de las
que preocuparse, no importan cuantas líneas existan para un pedido, y es fácil encontrar los
pedidos que contiene una línea para un artículo determinado (se trata simplemente de buscar
todas las líneas de pedido que tengan el código de artículo en cuestión en la columna codiArti). En
general, es preferible esta estructura más sencilla, y por ello las líneas de pedido aparecen en una
tabla aparte.

Para comprobar si ha comprendido los datos de Premiere Products, utilice la figura 1.2 para
responder a estas preguntas:

Preguntas
1) Pregunta: ¿Cuáles son los códigos de clientes asignados a Valerie Kaiser?
- Respuesta: 148, 524 y 842. (Busque el valor codiVende de Valerie Kaiser en la tabla tVendedor
y obtendrá el código 20. Después busque en la tabla tCliente todos los clientes que tengan el
código 20 en la columna codiVende.
2) Pregunta: ¿Cómo se llama el cliente que realizó el pedido 21610, y cuál es el nombre del
vendedor asignado a este cliente?
- Respuesta: El cliente es Ferguson’s y Juan Pérez es el vendedor. (Busque el valor codiClien en
la tabla tPedido para el código de pedido 21610 y obtendrá el código 356. Después encuentre
en la tabla tCliente el cliente con el valor codiClien 356. Con el valor codiVende, que es 65,
busque el nombre del vendedor en la tabla tVendedor.)
3) Pregunta: Liste todos los artículos que aparecen en el pedido 21610. Facilite la descripción,
cantidad pedida y precio cotizado de cada una.
- Respuesta: Código de artículo DR93, descripción: Gas Range, cantidad pedida: 1, y precio
cotizado: $495.00. También, código de artículo: DW11, descripción: Washer, cantidad pedida:
1, y precio cotizado: $399.99. (Busque cada fila tDetallePedido en que el código de pedido sea
21610. Cada una de estas filas contiene un código de artículo, la cantidad pedida y el precio
cotizado. Utilice el código de artículo para buscar la correspondiente descripción en la tabla
tArticulo.
4) Pregunta: ¿Por qué la columna precioCoArti es parte de la tabla tDetallePedido? ¿No
podríamos simplemente utilizar el código de artículo y buscar el precio en la tabla tArticulo?
- Respuesta: Si la columna precioCoArti no apareciera en la tabla tDetallePedido, tendríamos
que obtener el precio de un artículo en una línea de pedido buscando el precio en la tabla
tArticulo. Aunque este camino es lógico, impide a PremiereProducts cargar precios diferentes
en el mismo artículo.

También podría gustarte