none
Relacionamento de Tabelas no SQL

    Question

  • não sei por que + quando tento fazer o relacionamento entre as minhas tabelas elas dão erro por favor expliquem-me como fazer o relacionamento destas tabelas, és a tabela:

    create database db_mae
    go
    use db_mae
    go

    create table tb_mae
    (
    Id_mae int not null
    ,mae varchar(30)not null
    ,morada_mae varchar(12)not null
    ,telefone_mae varchar(14)null
    ,e_mail varchar(50)not null
    )
    go

    create table tb_filha
    (
    Id_filha int not null
    ,filha varchar(15)not null
    ,morada_filha varchar(12)not null
    ,telefone_filha varchar(14)null
    ,e_mail varchar(50)not null
    )
    go

    alter table tb_mae add constraint pk_tb_mae
    primary key(Id_mae)
    go

    -- chave primaria da tabela mãe

    alter table tb_filha add constraint pk_tb_filha
    primary key(Id_filha)
    go

    -- chave primaria da tabela filha

     alter table tb_filha add constraint pk_tb_fiha_tb_mae
     foreign key (Id_mae) references tb_mae(Id_mae)
      go

    --relacionamento entre tabelas (mãe e filha)

    Obrigado a todos!!!

    Thursday, May 03, 2012 12:54 AM

Answers

  • Anacleto, está tudo "quase" certo. Na verdade, me pareceu só uma falta de atenção. Você esqueceu de criar o campo IdMae na tabela tb_filha. Este é o campo que servirá como ligação entre as duas tabelas. Logo, ele precisa estar presente nestas tabelas.

    Dessa forma, sua tabela "filha" seria:

    create table tb_filha
    (
    Id_filha int not null
    ,Id_mae int not null
    ,filha varchar(15)not null
    ,morada_filha varchar(12)not null
    ,telefone_filha varchar(14)null
    ,e_mail varchar(50)not null
    )
    go

    O restante do script é o mesmo.


    Roberson Ferreira - Database Developer
    Acesse: www.robersonferreira.com.br
    Email: contato@robersonferreira.com.br

    Se esta sugestão for útil, por favor, classifique-a como útil.
    Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    Thursday, May 03, 2012 1:02 AM
    Moderator