Algumas duvidas Firebird
Olá amigos,
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
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
Curtidas 0
Respostas
Alima
28/07/2004
Olá Flávia.
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
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
Flavia_mococa
28/07/2004
Olá Alexandre,
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.
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
Alima
28/07/2004
Oi Flavia,
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.
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
Vinicius2k
28/07/2004
Flávia,
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 :
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+
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
Flavia_mococa
28/07/2004
O mais legal do FB na minha opinião é que voce aprende realmente a linguagem sql, nada se faz sem ela praticamente.
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
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
Vinicius2k
28/07/2004
Blz Flávia. Com certeza vc deve aprender a fazer tudo manualmente, pois em determinadas situações, o mais difícil (que seria isso) se torna o mais fácil...
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+
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
Fabriciosanas
28/07/2004
Flavia tente o ibexoert existe uma versão free e uma full para 60 dias. Utilizo a free e facilita bastante a criação do banco, bem como, triggers, procedures, generator, domains etc.
baixe em
www.ibexpert.com
Fabricio
baixe em
www.ibexpert.com
Fabricio
GOSTEI 0