Sie sind auf Seite 1von 9

Banco de Dados. IBExpert.

Introduo Antes de utilizarmos os comandos SQL, vamos identificar a forma de planejar a criao do banco de dados. Esse planejamento extremamente importante para a estabilidade do todo o sistema. Estudos indicam que quanto maior o tempo despendido no projeto do banco de dados, menor ser o tempo despendido na manuteno do modelo. Podemos comparar a criao de um sistema com a construo de um edifcio. O projeto do banco de dados est para o sistema da mesma forma que a estrutura do prdio est para o sistema o edifcio. Se no for dada a devida ateno ao desenho do banco de dados, pode-se comprometer todo o desenvolvimento do sistema. como construir um edifcio utilizando uma base inadequada: um dia o edifcio cara. De outra forma, quanto maior for o tempo dedicado ao estudo das necessidades de informao do sistema em desenvolvimento, maior ser o tempo economizado no desenvolvimento do sistema. O sistema ter melhor qualidade, e ser mais fcil, no futuro, implementar novas rotinas, procedimentos e agregar novas informaes necessrias.

Ao conjunto de programas (software) que permitem a criao e manuteno do BD d-se o nome de Sistema de Gerncia de Banco de Dados.

Conceitos
Tabela: Uma tabela pode ser entendida como um conjunto de linhas e colunas. As colunas de uma tabela qualificam cada elemento (no caso, a linha) com informaes relacionadas ao objeto.

Tupla (Registro) uma estrutura de atributos intimamente relacionados e interdependentes que residem em uma entidade. Quando transporta ao modelo fsico, uma tupla equivale a um registro ou linha da tabela. Chave um atributo utilizado para indexar dados. H trs tipos de chave: a) b) c) Primria Estrangeira Secundria

Conceitos Bsicos: SGBD (Sistema Gerenciador de Banco de Dados) Um sistema de software de finalidade genrica que facilita o processo de definio, construo e manipulao de banco de dados.

Chave primria o atributo que permite identificar uma nica ocorrncia de uma tupla em uma entidade. Dessa forma, seu contedo deve ser nico, exclusivo e imutvel para cada linha dessa Entidade. Todos os demais atributos da entidade devem depender unicamente desse
Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

atributo. Caso no exista um atributo que possa assumir a posio de chave primria, preciso cria-lo. Veja que nem todo campo uma boa chave. Normalmente utilizamos campos numricos por serem localizados mais rapidamente pelos bancos de dados. Valores alfanumricos grandes tm acesso mais lento. Eventualmente uma chave primria pode conter mais de um atributo. Nesse caso, a chave conter mais de um atributo, mas ser considerada a chave da tabela. A unio dos dois atributos chamado de Chave concatenada.

A maior parte dos banco de dados relacionais estabelece esse tipo de relacionamento e impede que durante uma incluso, excluso ou alterao uma chave estrangeira de uma entidade no tenha correspondente na chave primria de outra entidade. Assim, em uma incluso na entidade com a chave estrangeira, deve ser gerada uma mensagem de erro.

Domnio Domnio so os tipos de dados definidos pelo usurio. Entre as vantagens do seu uso, esta a padronizao de nomenclatura e, principalmente, abstrao dos

Chave estrangeira o atributo que estabelece a relao de uma entidade com a chave primria de outra entidade e permite uma relao entre entidades, conforme veremos no tpico Relacionamento. Isto ocorre quando uma Entidade dependente herda a chave da Entidade Fundamental exatamente para estabelecer o relacionamento entre elas.

dados.Os domnios podem ser muito teis para o DBA. Com eles podemos padronizar tipos semelhantes de dados, que sero encontrados em diversas tabelas de um BD. Exemplo: CNPJ, CPF, CEP, CX_POSTAL

Chave Secundria Esta chave utilizada como meio de classificao e pesquisas em entidades.Sempre que houver a necessidade de buscar informaes semelhantes, em ordem crescente ou decrescente, em funo de datas, valores ou status predefinidos, criam-se chaves secundrias.

Integridade Referencial um mecanismo utilizado para manter a consistncia das informaes gravadas. Dessa forma, no so permitidas a entrada de valores duplicados nem a existncia de uma referncia a uma chave invlida em uma entidade.
Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

IBExpert
Registrando e Criando um banco de Dados Registrar uma base de dados indica que vamos acessa-la atravs do O IBExpert sem dvida alguma a melhor ferramenta para Administrao e configurao de base de dados Interbase/Firebird. Com um layout rico em funcionalidades, possui caractersticas como: exportao para vrios tipos de formato de arquivos (text, word, excel, etc), criao visual quase que "automtica" de views, stored procedures, triggers, generators etc, alm de muitas outras facilidades. Voc pode baixar uma verso trial totalmente funcional do IBExpert no link: www.hksoftware.net/download. Essa verso chamada de Personal Edition, no possui toas as caractersticas do IBExpert, mas totalmente funcional. Tambm pode baixar no site www.giovani.inf.br em Downloads. O IBExpert permite vrias configuraes em seu ambiente de trabalho, como a posio das janelas em um ambiente MDI (Multiple document interface) ou SDI( Single documente interface). Tambm podemos alterar a linguagem da ferramenta para Portugus (de portugal) acessando o menu Option | Environment Options e escolhendo o item Preferences no painel direito. Escolha o idioma em Interface Language. Voc tambm pode escolher algumas configuraes para serem default, como a verso do servidor no registro da base de dados, a biblioteca de acesso, e vrias configuraes do ambiente de trabalho do IBExpert. Dentro do IBExpert, voc pode utilizar os comandos SQL com o editor de ferramenta acessado Ferramentas | Editor Sql ou F12. Mas a criao de tabelas e campos tambem pode ser feita de forma totalmente visual, basta acessar o menu Base de Dados | Nova Tabela. Na janela que ser mostrada, voc adicionar o nome da
Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

IBExpert para que possamos manipula-la, criando/alterando tabelas e campos. Todos os bancos registrados no IBExpert ficam no painel esquerdo chamado Database Explorer. Para registrar o banco de dados, acesse o menu Base de Dados | Registrar Base de Dados. Na janela aberta voc deve informar o servidor (remoto ou local), o nome do servidor, protocolo (essas duas ltimas, somente se for escolhido remoto na primeira opo) e a verso do servidor. Voc ainda deve indicar o local fsico da base de dados e um nome que aparecer no Database Explorer. Por fim, o usurio (SYSDBA) e a senha(masterkey) do servidor. Aps o registro, basta dar um duplo clique no item adicionado no Database Explorer para listar todos os objetos da base de dados. Para criar um banco de dados, acesse o menu Base de Dados | Criar Base de Dados e preencha as informaes necessrias. Ainda nesta tela, ao marcar a opo Registrar Base de Dados aps criar, voc ser levado janela de registro apenas para indicar o nome do registro, pois as outras opes esto preenchidas.

tabela (parte superior) e os campos. Na parte inferior, temos uma aba chamada Descrio de Campos, onde podemos indicar uma descrio para o campo para fins de documentao. Isso bastante interessante, pois o IBExpert pode gerar essa documentao. O editor da tabela possui vrias abas com os campos, restries, ndices, dependncias, dados da tabela, entre outros. Na aba Dados, visualizamos os dados contidos na tabela e podemos fazer vrias configuraes, como ordenao (basta clicar na coluna), mover as colunas, navegao entre os dados (barra de ferramenta, acima da grade de dados). A vdeo aula explicativa de como registrar e criar um banco de dados com o uso do IBExpert esta disponvel em www.giovani.inf.br em Delphi/Vdeo Aulas/Aula 01.

Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

rotina de tratamento de login 3: programador. Criando um Cadastro Passo-a-Passo no Delphi . Principais Mtodos CreateDataBase: Mtodo responsvel pela Criao do seu ".GDB". Muito til se a sua aplicao 1 - Utilizando os Componentes IBX Utilizando a tabela de clientes vamos criar um formulrio para cadastro no Delphi. Para que qualquer formulrio consiga acessar uma base de dados, ele precisa de um componente intermedirio de acesso ao banco de dados. Nesse caso, sero utilizados os componentes Interbase Express: IBDatabase, IBTransaction e o componente IBData8et da paleta interbase. 1.1 - Componente IBDataBase o responsvel pela conexo entre o projeto e o Banco de Dados InterBase. Principais Propriedades Connected: Ativa ou desativa a conexo com a base de dados. DataBaseName: Nome do arquivo do banco de dados seguido pelo caminho, exemplo: "c :\estoque\dados\banco.gdb. " . DefaultTransaction: Informa qual o componente do tipo IBTransaction, o componente IBDatabase estar ligado. IdleTimer: Informa o tempo de espera do cliente, em relao espera de uma resposta do servidor, se o tempo exceder, a conexo ser finalizada. LoginPrompt: Quando True, ser mostrada a tela de login pedindo a senha e o nome do usurio, quando False, esta tela ser escondida. SQLDialect: Especifica qual o dialeto ser utilizado durante a conexo. Principais Eventos AfterConnected: Aps o incio da conexo. AfterDisconnected: Aps o trmino da conexo. BeforeConnected: Antes da conexo. BeforeDisconnected: Antes do trmino da conexo. OnLogin: Esse evento substitui o UserName e Password defin::: em LoginPrompt e passa toda a Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06 independente na criao do ".GDB". Isto , com esse mtodo em conjunto com alguns parmetros como (usurio, senha), voc cria a sua base de dados, sem a necessidade de criar pelo IBConsole ou outra ferramenta de Administrao do InterBase. DropDataBase: Mtodo responsvel pela excluso do Banco de dados InterBase ".GDB" do servidor e/ou mquina local. necessrio antes de chamar este mtodo, verificar se a conexo no est ativa no momento. SQLDialect: Diz qual o Dialect ser usado pela conexo. TestConnected: Testa a conexo se est ativa ou no. TransactionCount: Retoma quantas transaes esto associadas ao DataBase. 1.2- Componente IBTransation Tem como Funo controlar as transaes de seu projeto. Principais Propriedades Active: Se True, ativa a Transao, caso contrrio, finaliza :: Transao. DefaultAction: Indica sua transao qual ser o mtoc: executado quando o parmetro IdleTimer exceder. DefaultDataBase: Informa qual o componente IBDataBase : IBTransaction ir utilizar. Params: Informa os parmetros necessrios do tipo de transa2: utilizada na aplicao. IdleTimer: Especifica quanto tempo a transao ir esperar para executar a propriedade DefaultAction.

Principais Mtodos Commit: Mtodo responsvel pela confirmao da transao. Ouando uma transao iniciada, necessrio fech-Ia e confirmar ou no os dados envolvidos na transao. Para confirmar os dados e fechar a transao, utiliza-se o mtodo Commit. CommitRetaining: Mtodo responsvel por confirmar a transao, mas a mantm ativa. RolIBack: Mtodo responsvel por Cancelar e Fechar uma transao. RolIBackRetaining: Mtodo responsvel por cancelar uma transao, mas a mantm ativa. StartTransaction: Mtodo responsvel por iniciar uma transao. InTransaction: Verifica se alguma transao foi iniciada. 1.3 Componente IBDataSet Executa instrues SQL de incluso, consulta, excluso e atualizao. Principais Propriedades Active: Se True, ativa (abre) a tabela. DataBase: Indica qual o componente IBDataBase estar conectado tabela. DeleteSQL, InsertSQL, ModifySQL, RefreshSQL: So mtodos utilizados para atualizaes no banco de dados. SelectSQL: Instruo SQ executada quando a tabela for aberta. Transaction: Indica qual componente IBTransaction pertence o IBDataSet.

AfterDelete: Aps deletar um registro. AfterEdit: Aps alterar um registro. AfterOpen: Aps abrir uma tabela. BeforePost: Antes de salvar um registro. BeforeDelete: Antes de deletar um registro. BeforeEdit: Antes de alterar um registro. BeforeOpen: Antes de abrir uma tabela. OnCalcFields: Ouando a tabela possui um campo calculadc este evento executado para que esse campo receba valores. OnNewRecord: Ao acessar um novo registro. Ouando executado o comando insert na tabela por exemplo. No projeto de controle de estoque, no ser utilizado o componente IBTable. O uso do componente IBTable em modelo ClientServer no recomendado, por causa do nmero de instrueE muito grande enviado ao servidor. Por isso, recomendvel c uso do componente IBDataSet, que, dentre outros recursos, utilize. toda a funcionalidade dos componentes IBOuery+IBUpdateSOL e ainda mais rpido.

1.4 Criando o formulrio de cadastro de Clientes Para colocar um componente no formulrio, basta clicar no componente desejado e clicar em seguida no formulrio. Na paleta Interbase, esto localizados todos os componentes para acesso ao banco de dados

Eventos AfterDataBaseDisconnect: Aps o trmino da conexo com c Banco de Dados. AfterTransaction: Aps o trmino de transao. No executadc aps o CommitRetaining e RollBackRetaining. BeforeDataBaseDisconnect: Antes do trmino da conexo cor; o Banco de Dados. BeforeTransactionEnd: Antes do trmino da transao. AfterPost: Aps salvar um registro.

Interbase. Lembrando que os componentes dessa paleta pertencem classe dos componentes no visuais, nesse caso, esses componentes s sero mostrados na estrutura do projeto, ou seja, s o programador poder ter acesso. Vamos criar uma nova aplicao (File/New Aplication) e alterar o name do form1 para FrmClientes. O segundo passo salvar este formulrio clicando em File/Save as com o Nome 'UfrmClientes'. Tambm devemos salvar a aplicao clicando em File/Save Project as com o

Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

Nome Estoque na pasta C:\ESTOQUE\PROGRAMAS.

Na propriedade User Name, informe o nome do usurio administrador: SYSOBA Na propriedade Password

- Configurando o Componente IBDatabase Colocando o componente IBOatabase no formulrio. Para isso, basta clicar no componente na paleta Interbase e clicar no formulrio. Agora d um clique duplo nesse componente e altere as seguintes propriedades desta tela: Na propriedade Character Set, selecione o caracter set padro, que foi utilizado para criar o banco de dados: WIN1252 Desmarque a opo Login Prompt. Caso a propriedade Login Prompt esteja marcada, todas as vezes que o componente Database for pedir uma conexo ao banco de dados, a tela de login ser mostrada e o sistema ir pedir a senha para conexo. Finalmente, clique em Ok. Para conectar o componente Database 1 ao banco de dados estoque, basta alterar o valor da propriedade Connected para True. Altere a propriedade name do componente IBDatabase1 para IBDtbsEstoque. Configurando o Componente IBTransaction Coloque um componente IBTransaction no formulrio e altere as seguintes propriedades: DefaultDatabase: = IBDtbsEstoque Name: = IBTrnsctnEstoque

Configurando o Componente IBDataSet Coloque um componente IBDataSet no formulrio e altere as seguintes propriedades: Database= IBDtbsEstoque Name = IBDtStClientes Transacation = IBTrnsctnEstoque Clique sobre a propriedade SelectSql para selecion-Ia e, em seguida, d clique duplo sobre o seu valor Na opo Tables, clique em Clientes e, em seguida, clique em Add Table to SOL. Desse modo, o Na propriedade DOatabase, informe o valor: comando SOL, que seleciona os campos da tabela, ser preenchido automaticamente: C :\\estoque\dados\banco GDB. Select * from CLIENTES Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

Para selecionar todos os campos, em Fields , marque o asterisco (*) e clique em Add Field to SQL, desse modo, o comando anterior ser substitudo por: Select * from CLIENTES

um clique com o boto direito do mouse, sobre o componente IBDtStClientes, selecione a opo Dataset Editor .

Clique no boto Select Primary Keys e no boto GenerateSql para que sejam gerados os comandos para alterar, incluir e excluir os registros, em seguida clique em ok.

Para adicionar os campos, d um clique duplo sobre o componente IBDtStClientes. Na tela que aparecer, clique, com o boto direito do mouse, e clique na opo add all fields. Para continuar a criao do formulrio de cadastro de clientes, necessrio ter alguns conceitos em mente, como saber distinguir os componentes vinculados com o banco de dados e os no Pronto, todos os campos foram adicionados com sucesso e todos os DBEdits j podem ser ligados, se por algum motivo voc no conseguir adicionar os campos, verifique todas as propriedades do IBDataSet, com certeza tem algum erro l. Como o componente IBDtStClientes ter como funo cadastrar, alterar e excluir clientes, necessrio que as propriedades InsertSql, ModifySql e DeleteSql fiquem ativas, para ativar, d vinculados. Por exemplo, se estiver criando uma consulta a banco de dados, o componente no qual voc ir escrever o valor a ser consultado no precisa necessariamente estar vinculado ao banco de dados, pois estaria alterando o mesmo e a funo da consulta no essa. No caso do cadastro de clientes, tem-se a necessidade de alterar o banco de dados, pois ser feito um cadastro e um cadastro nada mais que uma alterao no banco de dados. Ento, tem-se duas

Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

escolhas: ou usar Edit ou usar DBEdit, mas como o banco de dados ser alterado, iremos utilizar os componentes DBEdit Os componentes que so utilizados para acessar o banco de dados se encontram na paleta Data Controls. D um clique duplo sobre o componente IBDtStClientes, marque todos os campos, selecionando o campo CODIGO e pressionando a tecla Shift para selecionar todos os campos. Arraste todos esses campos para o formulrio com o boto esquerdo do mouse e a tela ficar assim:

conectarmos os DBEdits, antes devemos configurar o componente DataSource. Observe que, ao arrastar os campos do componente IBDataSet, alm dos Labels e DBEdits, foi adicionado o componente DataSource . Esse componente se encontra na paleta DataAcess. Configurando o Componente DataSource Altere as seguintes propriedades: DataSet: Informe aqui o nome do componente IBDataSet, neste caso, IBDTSTclientes. Name: Informe aqui o nome padronizado, neste caso, dtsrclBDTSTclientes. Observe que a propriedade DataSet j foi alterada quando o componente foi adicionado junto com os campos. . Para alterar uma propriedade comum a todos os componentes, deve-se selecionar esses componentes e, em seguida, alterar a propriedade no object inspector. Como exemplo, tem-se a propriedade DataSource dos componentes DBEdits. Execute o projeto utilizando a tecla de atalho Observe que voc no consegue cadastrar nenhum valor no campo, isso ocorreu porque a sua tabela ainda no foi aberta (ativa), feche o projeto, selecione o componente IBDtStClientes e v propriedade Active, altere o seu valor para True, agora teste novamente. Agora podemos cadastrar em todos os campos, mas note que no podemos salvar os dados, nem muito menos excluir ou ir para um novo registro. Para isso, temos um componente que um conjunto de dez

Agora vamos configurar os componentes DBEdits Marque o primeiro DBEdit, DBEdit1 e altere na ordem a seguinte propriedade: Name: DbdtCodigo Preste ateno em um detalhe. O Delphi trabalha com uma hierarquia que a seguinte: Para um componente DBEdit conseguir se conectar com os campos que esto no componente IBDataSet, ele precisa de uma ponte de comunicao chamada DataSource. Ento, para

funes, esse componente est na paleta Data Controls e se chama DBNavigator Feche a aplicao e coloque-o no formulrio. Configurando o Componente DBNavigator Altere as seguintes propriedades: DataSource: Informe aqui o nome do DataSource da tabela de clientes, que, no nosso caso, dtsrclBDTSTclientes. Name: Informe o nome padronizado, neste caso DBNvgtrclientes

Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol (www.giovani.inf.br) Aula 06

Das könnte Ihnen auch gefallen