Shinhatsubai Postado Novembro 23, 2011 Denunciar Share Postado Novembro 23, 2011 Boa tarde,Não consigo identificar onde estou errando no código abaixo, por favor, alguém pode dar uma força? ;)Na criação das tabelas está tudo ok, porém estou encontrando problemas na hora de definir as constraints.Obrigado!CREATE DATABASE dbPIZZARIA GO USE dbPIZZARIA CREATE TABLE BAIRROS ( NOME_BAIRRO VARCHAR(30) NOT NULL, TEMPO_ESPERA NUMERIC(03) NOT NULL, ); CREATE TABLE CARDAPIO ( NUM_CARDAPIO INTEGER NOT NULL, TIPO_CARDAPIO CHAR(01) default 'P' NOT NULL, DESCRICAO VARCHAR(40) NOT NULL, TAMANHO_PIZZA CHAR(01) default 'M' NULL, INGREDIENTES VARCHAR(750) NULL, PRECO_TABELA NUMERIC(4,2) NOT NULL, ); CREATE TABLE CLIENTES ( CODIGO_CLIENTE INTEGER NOT NULL, NOME_CLIENTE VARCHAR(80) NOT NULL, ENDERECO_CLIENTE VARCHAR(100) NOT NULL, BAIRROS_NOME_BAIRRO VARCHAR(30) NOT NULL, TELEFONE_CLIENTE VARCHAR(11) NOT NULL, ); CREATE TABLE ENTREGADOR ( CODIGO_ENT INTEGER NOT NULL, TEL_CELULAR VARCHAR(11) NOT NULL, ); CREATE TABLE FUNCIONARIOS ( CODIGO_FUNC INTEGER NOT NULL, NOME_FUNC VARCHAR(80) NOT NULL, TIPO_FUNC CHAR(01) default 'A' NOT NULL, END_FUNC VARCHAR(100) NOT NULL, TELEFONE VARCHAR(11) NOT NULL, ); CREATE TABLE ITEM_PEDIDO ( PEDIDOS_NUM_PEDIDO INTEGER NOT NULL, CARDAPIO_NUM_CARDAPIO INTEGER NOT NULL, QUANTIDADE NUMERIC(3) NOT NULL, preço NUMERIC(4,2) NOT NULL, ); CREATE TABLE PEDIDOS ( NUM_PEDIDO INTEGER NOT NULL, DATA_EMISSAO DATETIME NOT NULL, VALOR_TOT_PED NUMERIC(4,2) NOT NULL, FUNCIONARIOS_CODIGO_FUNC INTEGER NOT NULL, CLIENTES_CODIGO_CLIENTE INTEGER NOT NULL, ENTREGADOR_CODIGO_ENT INTEGER NOT NULL, TIPO_PAGTO CHAR(01) default 'D' NOT NULL, ); -------------------------------------------------------------------------------------------------------------------------------------------- USE dbPIZZARIA ALTER TABLE BAIRROS ADD CONSTRAINT PK_BAIRRO PRIMARY KEY (NOME_BAIRRO); ALTER TABLE ENTREGADOR ADD CONSTRAINT PK_ENTREGADOR PRIMARY KEY (CODIGO_ENT); ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (CODIGO_CLIENTE) ADD CONSTRAINT FK_CLIENTES FOREIGN KEY (BAIRROS_NOME_BAIRRO) REFERENCES BAIRROS; ALTER TABLE CARDAPIO ADD CONSTRAINT PK_CARDAPIO PRIMARY KEY (NUM_CARDAPIO) ADD CONSTRAINT CH1_CARDAPIO CHECK(TIPO_CARDAPIO IN('B','E','P')) ADD CONSTRAINT CH2_CARDAPIO CHECK(TAMANHO_PIZZA IN('G','M','P')); ALTER TABLE FUNCIONARIOS ADD CONSTRAINT PK_FUNCIONARIOS PRIMARY KEY (CODIGO_FUNC) ADD CONSTRAINT CH_FUNCIONARIOS CHECK(TIPO_FUNC IN('A','G','P')); ALTER TABLE PEDIDOS ADD CONSTRAINT PK_PEDIDOS PRIMARY KEY (NUM_PEDIDO) ADD CONSTRAINT FK1_PEDIDOS FOREIGN KEY (FUNCIONARIOS_CODIGO_FUNC) REFERENCES FUNCIONARIOS ADD CONSTRAINT FK2_PEDIDOS FOREIGN KEY (CLIENTES_CODIGO_CLIENTE) REFERENCES CLIENTES ADD CONSTRAINT FK3_PEDIDOS FOREIGN KEY (ENTREGADOR_CODIGO_ENT) REFERENCES ENTREGADOR ADD CONSTRAINT CH_PEDIDOS CHECK(TIPO_PAGTO IN('C','D','T')); ALTER TABLE ITEM_PEDIDO ADD CONSTRAINT PK1_ITEM_PEDIDO PRIMARY KEY (PEDIDOS_NUM_PEDIDO) ADD CONSTRAINT PK2_ITEM_PEDIDO PRIMARY KEY (CARDAPIO_NUM_CARDAPIO) ADD CONSTRAINT FK1_ITEM_PEDIDO FOREIGN KEY (PEDIDOS_NUM_PEDIDO) REFERENCES PEDIDOS ADD CONSTRAINT FK2_ITEM_PEDIDO FOREIGN KEY (CARDAPIO_NUM_CARDAPIO) REFERENCES CARDAPIO; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Novembro 24, 2011 Denunciar Share Postado Novembro 24, 2011 Bom dia Shinhatsubai, você terá q criar as PK´s primeiro. Depois da criação das PK´s, você roda o script para criar as FK´s. A sintaxe quando é criada mais de uma constraint está incorreta. Ex: ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (CODIGO_CLIENTE) ADD CONSTRAINT FK_CLIENTES FOREIGN KEY (BAIRROS_NOME_BAIRRO) REFERENCES BAIRROS; Seria: ALTER TABLE CLIENTES ADD CONSTRAINT PK_CLIENTES PRIMARY KEY (CODIGO_CLIENTE) ALTER TABLE CLIENTES ADD CONSTRAINT FK_CLIENTES FOREIGN KEY (BAIRROS_NOME_BAIRRO) REFERENCES BAIRROS; Na tabela ITEM_PEDIDO você está tentando criar 2 PK´s. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Shinhatsubai
Boa tarde,
Não consigo identificar onde estou errando no código abaixo, por favor, alguém pode dar uma força? ;)
Na criação das tabelas está tudo ok, porém estou encontrando problemas na hora de definir as constraints.
Obrigado!
--------------------------------------------------------------------------------------------------------------------------------------------Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.