Fórum Algumas duvidas Firebird #45694
28/07/2004
0
Como eu disse m meu ultimo post baixei o firebird 1.5 e comecei a estudar sobre este banco de dados. Porem durante o estudo apareceram alguma duvidas...
Alguem poderia me explicar melhor o que são trigger´s?
E como se faz relacionamentos neste banco de dados?
Na apostila que peguei não se fala nada sobre relacionamentos...
Se puderem me esclarecer estas duvidas ficarei muito grata.
Flavinha
Flavia_mococa
Curtir tópico
+ 0Posts
28/07/2004
Alima
Os triggers sâo (como o nome diz) gatilhos que disparam em determinados eventos (antes ou depois de gravar o registro p.e.) se você utiliza o Delphi é como o beforepost ou afterpost só que do FB. Entendeu? Os relacionamentos devem ser feitos entre as tabelas para facilitar o uso do BD. Você pode ter uma tabela com o nome e codigo dos clientes e uma tabela pedido que consta os produtos que o cliente comprou.Ao relacioná-las você vai colocar o códiogo do cliente na tbl pedidos e não o nome assim como o código do produto e não o nome dele. Isso facilita a pesquisa e a manutenção do BD. Se o nome do cliente (por um erro de digitação durante o carastro p.e.) mudar, você não vai precisar alterar em todo BD pois o código dele será o mesmo.
Uma fonte de consulta muito útil e o Help que vem com o IB (normalmente em ´C:\Arquivos de programas\IBConsole\SQLREF.HLP´)
Um abraço
Alexandre
Gostei + 0
28/07/2004
Flavia_mococa
Muito obrigada por me explicar o que são Trigger´s.
Agora em relação aos relacionamentos acho que não me expliquei corretamente minha duvida, eu sei o que são e para que servem, afinal já utilizada o access e ele me deu uma boa noção sobre isso, a minha duvida é o seguinte:
No access nos vamos no menu Ferramentas -> Relacionamentos e relacionamos as tabelas conforme necessário, mas e em relação ao FB, como eles são feitos é através de algum código ou tem alguma ferramenta para isso?
Um Abraço e Obrigada pela ajuda.
Gostei + 0
28/07/2004
Alima
Vc poderá utilizar um pgm chamado ERWin para isso. Eu utilizo joins para juntar tabelas. Vc tb pode usar chaves estrangeiras. Dê uma olhada na documentação do IB e pesquise no forum ´chave primária´ e ´chave estrangeira´. Quando vc migra de um banco como access ou paradox a primeira dificuldade é que o jeito de se trabalhar é diferente. Normalmente eu crio tudo na mão (tabelas, views, SP) e isso nos obriga a ser mais organizados. Hoje eu guardo cada comando ´create table ...´ em um arquivo.
Gostei + 0
28/07/2004
Vinicius2k
Não é fácil criar tudo no ´braço´, mas este seria um exemplo básico : uma tabela de produtos que contém o código de uma categoria da tabela categorias :
CREATE TABLE CATEGORIAS ( IDCATEGORIA INTEGER NOT NULL, DESCRICAO VARCHAR(50), CONSTRAINT PK_CATEGORIAS PRIMARY KEY (IDCATEGORIA) ); CREATE TABLE PRODUTOS ( IDPRODUTO INTEGER NOT NULL, IDCATEGORIA INTEGER NOT NULL, DESCRICAO VARCHAR(50), CONSTRAINT PK_SENHAS PRIMARY KEY (IDSENHA) ); ALTER TABLE PRODUTOS // tabela em que eu quero relacioar à CATEGORIAS ADD CONSTRAINT // instrução para adicionar uma constraint REL_CATEGORIAS_PRODUTOS // nome escolhido por mim para o relacionamento FOREIGN KEY (IDCATEGORIA) // chave estrangeira REFERENCES CATEGORIAS (IDCATEGORIA) // referencia da chave estrangeira na outra tabela ON UPDATE NO ACTION ON DELETE NO ACTION; // ações a serem tomadas de acordo com o modelo // de relacionamento adotado.
Consegue visualizar como funciona ?
Assim como o colega sugeriu o ERWin eu tbm uso uma ferramenta CASE(CaseStudio2 - www.casestudio.com ) para a modelagem dos dados...
Com elas vc cria os relacionamentos visualmente, assim como no Access... e isso facilita muito o trabalho e para ser honesto, quase me esqueci de como criar os relacionamentos via script como lhe mostrei acima...
T+
Gostei + 0
29/07/2004
Flavia_mococa
Vou procurar aprender a criar relacionamentos via script porem tambem gostaria de ver como essa ferramente que funciona, como voce a conhece a um boa tempo qual a melhor versão free para se trabalhar ?
Porem tambem vou estudar os codigos para criar na unha, acho que seria legal aprender a fazer das duas formas
Gostei + 0
29/07/2004
Vinicius2k
Versão free de ferramenta CASE é complicado... o Trial do CaseStudio permite criar um banco com até 6 entidades, o que é pouco... mas comparando o preço com o preço do ERWin, por exemplo, se me lembro bem, é 10 vezes menor...
Recentemente foi discutido isso aqui, e por acaso, encontrei uma free outro dia : Zeos DataBase Designer...
Veja este tópico : http://delphiforum.icft.com.br/forum/viewtopic.php?t=48052
T+
Gostei + 0
05/08/2004
Fabriciosanas
baixe em
www.ibexpert.com
Fabricio
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)