SQL Server - imposible para mi salon

   
Vista:

imposible para mi salon

Publicado por jesus donaldo ing_jesus_sanchez94@hotmail.com (1 intervención) el 18/09/2014 02:56:30
examen ayuda porfabor

crear una base de datos que contenga la siguiente informacion

* crear la tabla empleados y definir su clave principal en la misma intruccion de creacion.
* crear la tabla oficinas con su clave principal y su clave foranea(la columna dir contiene el codigo de empleado
del director de la oficina luego es un campo que hase referencia a un empleado luego es clave foranea y hace referencia
a la tabla empleados
*crear la tabla productos con su clave pricipal
* crear la tabla clientes tambien con todas sus claves y sin la columna limitecredito
* crear tabla pedidos sin clave principal, con la clave foranea que hace referencia a los
productos, la que hace referencia a los clientes y la que indica el representante(empleado) qye ha realizado
el pedido.
* añadir a la definicion de clientes la columna limitecredito
* añadir a la tabla empleados las claves foraneas que le faltan.(si no esta claro cuales son) un ejemplo: la columna
oficina indica la oficina donde trabaja el empleado y la columna director indica quien dirije al empleadi, su jee inmediato).
* hacer que no puedan haer dos empleados con el mismo nombre
añadir a la tabla de pedidos la informacion de clave principal
definir un indice sobre la columna gestion de la tabla officinas.


tabla empleados
numemp: numero de empleados
nombre: nombre y apeidos del empleado
edad:edad del emlpleado
officina:numero de la officina donde trabaja el empleado
titulo: el cargo que desempeña
contrato: fecha en que se contrato al empleado
jefe: numero de su jefe inmeditao: (numero):
couta: couta del empleadodel empleado. seria el importe minimo de ventas que debe alcanzar el empleado en el año.
ventas:importe de ventas realizadas durante este año.

tabla officinas:

officina: codigo de officina
ciudad: ciudad donde esta ubicada
region: region a la que pertenese
dir: director de la officina(su numero de empleado) por ejemplo la officina 12
que tiene como director empleado 104 jose gonzales.
objetico: objetico de ventas que debe alcanzar la oficina (monto total de la venta)
ventas: ventas de la officina (ventas que llevan hasta el momento)

tabla clientes
numclie: numero de cliente
nombre: nombre y apellidos del cliente
repcliente:noº del representante asignado al cliente. cada cliente tiene un



tabla productos
dfab:identificador del fabricante del producto
idproducto: codigo que utiliza el fabricante para codificar el producto.
descripcion del producto
precio
existencia


tabla pedidos

codigos:no secuencial que sirve de clave principal
numpedidos: no de pedidos. observar que un pedido puede tener varia lineas.
fechapedido: fecha del pedido
clie:cliente que afectua el pedido
reg:representante que tramita el pedido
fab: fabricante del producto que se pide
producto: idproducto del producto que de pide
cant:cantidad
importe: importe de la linea de pedido.




create database examen
use examen





create table empleados
(
numemp char not null,
nombre varchar not null,
edad tinyint not null,
oficina char not null,
titulo varchar not null,
contrato datetime not null ,
jefe char not null,
cuota char not null,
ventas char not null
constraint PK_empleados_numemp primary key (numemp)
)
create table oficina
(
oficina char not null,
ciudad varchar not null,
region varchar not null,
dir char not null,
objetico char not null,
ventas char not null
constraint PK_oficina_oficina primary key (oficina)
constraint Fk_oficina_oficina foreign key (dir) references empleados(numemp)
)



create table clientes
(
numclie char not null,
nombre varchar not null,
repcliente char not null,
constraint PK_clientes_numcli primary key(numclie)
)

create table productos
(
dfab char not null,
idproducto char not null,
descripcion varchar not null,
precio char not null,
exestencia char not null,
constraint PK_productos_idproducto primary key(idproducto)

)

create table pedidos
(
codigo char not null,
numpedidos char not null,
fechapedido datatime not null,
clie char not null,
reg char not null,
fab char not null,
producto char not null,
cantidad char not null,
importe char not null
constraint FK_pedidos foreign key( fab) references productos(dfab)
)



no pudimos resolver el examen ya que no entendimos bien el examne alguien podria resolverlo por nosotros creo que solo se deben poner correctamente las llaves primarias y foraneas espero y alguien pueda ayudarnos y enviarnos la resolucion a nuestro disque examen imposible
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias

imposible para mi salon

Publicado por Isaias (3180 intervenciones) el 18/09/2014 21:15:26
Jesús

Aca no resolvemos EXAMENES, si ya ejecutaste la sentencia, claramente te indica cual es el error:

Msg 1776, Level 16, State 0, Line 47
There are no primary or candidate keys in the referenced table 'productos' that match the referencing column list in the foreign key 'FK_pedidos'.
Msg 1750, Level 16, State 0, Line 47
Could not create constraint. See previous errors.

En pocas palabras, no puedes hacer referencia de una columna que deseas convertir en FOREING KEY (constraint FK_pedidos foreign key( fab) references productos(dfab)), ya que en la tabla PEDIDOS, la columna dfab, no es PRIMARY KEY, ¿de acuerdo?

create table productos
(
dfab char not null,
idproducto char not null,
descripcion varchar not null,
precio char not null,
exestencia char not null,
constraint PK_productos_idproducto primary key(idproducto)

)

create table pedidos
(
codigo char not null,
numpedidos char not null,
fechapedido datetime not null,
clie char not null,
reg char not null,
fab char not null,
producto char not null,
cantidad char not null,
importe char not null
constraint FK_pedidos foreign key( fab) references productos(dfab)
)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar