Relacionamento de Tabelas
Tenho duas tabelas :
Alunos e Frequencias
A tabela Frequencias é filha da tabela Alunos, ou seja para cada aluno temos N frequencias.
Eu sempre fiz este tipo de relacionamente através do Delphi, gostaria de saber se é possivel fazer através do Interbase ou seja dentro do próprio banco de dados e como?
Obrigado.
Alunos e Frequencias
A tabela Frequencias é filha da tabela Alunos, ou seja para cada aluno temos N frequencias.
Eu sempre fiz este tipo de relacionamente através do Delphi, gostaria de saber se é possivel fazer através do Interbase ou seja dentro do próprio banco de dados e como?
Obrigado.
Marcelootone
Curtidas 0
Respostas
Afarias
17/07/2003
É possível sim!
Utilize Integridade Referencial com CONSTRAINTS (chaves primárias e estrangeiras) ou com TRIGGERS!
Abraço
Utilize Integridade Referencial com CONSTRAINTS (chaves primárias e estrangeiras) ou com TRIGGERS!
Abraço
GOSTEI 0
Marcelootone
17/07/2003
Como Utilizo as Constraints?
pode me dar um exemplo, de quais campos serão chaves e em qual tabela ficará a Foreign Key?
pode me dar um exemplo, de quais campos serão chaves e em qual tabela ficará a Foreign Key?
GOSTEI 0
Afarias
17/07/2003
|Como Utilizo as Constraints?
Dê uma lida na documentação de SQL nos comandos: CREATE TABLE e ALTER TABLE (ADD CONSTRAINT)
|pode me dar um exemplo, de quais campos serão chaves e em qual
|tabela ficará a Foreign Key?
Numa relação Mestre/Detalhe por exemplo, a constraint é criada na tabela ´Detalhe´ ... ou seja, a constraint é sempre criada na tabela q ´valida´ algum ´valor´ contido em uma outra tabela.
exemplo:
create table produtos (
codigo integer not null,
nome varchar(30),
primary key (codigo));
create table vendedores (
codigo integer not null,
nome varchar(30),
primary key (codigo));
create table vendas (
numero integer not null,
cod_vendedor integer,
data date,
primary key (numero));
alter table vendas add constraint fk_vendas_vendedor foreign key (cod_vendedor)
references vendedores;
create table itens (
num_venda integer not null,
ordem integer not null,
cod_produto integer,
qtde integer);
alter table itens add constraint fk_itens_venda foreign key (num_venda)
references vendas on delete cascade;
alter table itens add constraint fk_itens_produto foreign key (cod_produto)
references produtos on update cascade;
T+
Dê uma lida na documentação de SQL nos comandos: CREATE TABLE e ALTER TABLE (ADD CONSTRAINT)
|pode me dar um exemplo, de quais campos serão chaves e em qual
|tabela ficará a Foreign Key?
Numa relação Mestre/Detalhe por exemplo, a constraint é criada na tabela ´Detalhe´ ... ou seja, a constraint é sempre criada na tabela q ´valida´ algum ´valor´ contido em uma outra tabela.
exemplo:
create table produtos (
codigo integer not null,
nome varchar(30),
primary key (codigo));
create table vendedores (
codigo integer not null,
nome varchar(30),
primary key (codigo));
create table vendas (
numero integer not null,
cod_vendedor integer,
data date,
primary key (numero));
alter table vendas add constraint fk_vendas_vendedor foreign key (cod_vendedor)
references vendedores;
create table itens (
num_venda integer not null,
ordem integer not null,
cod_produto integer,
qtde integer);
alter table itens add constraint fk_itens_venda foreign key (num_venda)
references vendas on delete cascade;
alter table itens add constraint fk_itens_produto foreign key (cod_produto)
references produtos on update cascade;
T+
GOSTEI 0
Marcelootone
17/07/2003
Obrigado.
GOSTEI 0