Sql (ajuda)
|
21-11-2011, 12:05
Mensagem: #1
|
|||
|
|||
Sql (ajuda)
Bom dia,
Ando a testar umas coisas em sql, no sql server 2008 r2 e tenho um problema. Ao fazer as relações com as tabelas da-me um erro. Fui pesquisar e penso que é assim, mas se nao for ajudem-me por favor. create table restaurantes( cod_restaurante int constraint pkCODrestaurante primary key, nome varchar(20), cidade varchar(20), cod_cidade int constraint relac_01 references cidades(cod_cidade), cod_empregado int constraint relac_02 references empregados(cod_empregado) ) create table cidades( cod_cidade int constraint pkCODcidade primary key, nome varchar(20), cod_empregado int constraint relac_03 references empregados(cod_empregado), cod_restaurante int constraint relac_04 references restaurantes(cod_restaurante) ) create table empregados( cod_empregado int constraint pkCODempregado primary key, nome varchar(20), data_nascimento date, cidade varchar(20), cod_restaurante int constraint relac_05 references restaurantes(cod_restaurante), sexo varchar(20) ) cumprimentos, Article0 |
|||
21-11-2011, 14:24
Mensagem: #2
|
|||
|
|||
RE: Sql (ajuda)
E qual é o erro?
|
|||
21-11-2011, 14:49
Mensagem: #3
|
|||
|
|||
RE: Sql (ajuda)
Diz que a tabelas no que faço as relações nao existem. Posso fazer as relações depois de criar as tabelas? Com o Alter?
|
|||
21-11-2011, 19:54
Mensagem: #4
|
|||
|
|||
RE: Sql (ajuda)
As relações devem ser feitas através do Alter Table, depois de as tabelas estarem criadas.
|
|||
22-11-2011, 12:47
Mensagem: #5
|
|||
|
|||
RE: Sql (ajuda)
Ja consegui resolver. Primeiro criei as tabelas
create table restaurantes( cod_restaurante int identity primary key, nome varchar(20), cidade varchar(20), cod_cidade int, cod_empregado int ) create table cidades( cod_cidade int identity primary key, nome varchar(20), cod_empregado int, cod_restaurante int, ) create table empregados( cod_empregado int identity primary key, nome varchar(20), data_nascimento date, cidade varchar(20), cod_restaurante int, sexo varchar(20) ) E depois crei as relaçóes a parte com um diagrama. Aproveitei essa ferramenta do sql server 2008 r2. Obrigado pelas ajudas cumprimentos, Article0 |
|||
24-02-2012, 00:39
Mensagem: #6
|
|||
|
|||
RE: Sql (ajuda)
Apesar da já teres encontrado uma solução deixo-te outra sugestão.
As relações entre as tabelas pode e deve ser definida a quando da criação das tabelas. Por exemplo a relação entres esta duas tabelas que forneces-te, create table restaurantes( cod_restaurante int constraint pkCODrestaurante primary key, nome varchar(20), cidade varchar(20), cod_cidade int constraint relac_01 references cidades(cod_cidade), cod_empregado int constraint relac_02 references empregados(cod_empregado) ) create table cidades( cod_cidade int constraint pkCODcidade primary key, nome varchar(20), cod_empregado int constraint relac_03 references empregados(cod_empregado), cod_restaurante int constraint relac_04 references restaurantes(cod_restaurante) ) pode ser feita com a criação de outra tabela que é na verdade uma relação. Neste caso poderia ser uma tabela com o nome "contem" em que referências as chaves primarias das tabelas "cidades" e "restaurantes" com chaves estrangeiras da tabela "contem". exemplo: create table contem( cod_Cid int not null primary key, cod_res int not null, foreign key(cod_Cid) references cidade(cod_cidade), foreign key(cod_res) references restaurante(cod_restaurante) ) Fica este exemplo então de com definir as relações, que na minha opinião é a correta. Espero que te seja útil. |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 3 Visitante(s)