sábado, 5 de setembro de 2009

Montando um banco de dados cliente/servidor

{DILEMA

Quando colocar comandos SQL estaticamente armazenados no servidor ou definidos no cliente? A resposta a esta questão é relativa, e dependerá das características de cada aplicação. Comandos de criação de banco de dados, tabelas, teste de faixa de valores p

DICAS:

Configuração do Servidor de Banco (Interbase, no BDE Configuration-IDAPI32.CFG, ou outro, no seu respectivo programa de configuração) para dados em português. Isto inclui as horas, datas e valores numéricos em decimais.

Criação do alias de Banco de Dados no BDE Configuration. Este alias é o nome usado nas aplicações Delphi para referenciar um dado Banco de Dados .GDB (Interbase)

Criação do usuário principal do Banco de Dados no Interbase Server Manager.

Criação do Banco de Dados: CREATE DATABASE (via WISQL).

Criação das Tabelas1

* CREATE TABLE (via Database Desktop). Deve-se preencher, para cada campo das Tabelas: Nome, Tipo/Faixa de Valores, Valor Requerido ou não, Valor Default (somente Paradox), Chave/Não (somente Paradox). Alguns destes dados podem vir de Attribute Sets defin

* Criar Índices relacionados com as Tabelas. O nome do índice é formado: (ou
* Definir a Integridade Referencial (via relacionamento de Chave(s) Estrangeira(s)) entre as Entidades (Tabelas) (somente Paradox). Criar sempre a Entidade Principal e depois a Secundária (aquela que recebe a Chave Estrangeira); qualquer valor da Chave Es

Criação de domínios (tipos padrões a partir dos quais pode-se definir campos de várias tabelas), através do CREATE DOMAIN. Com isso, a modificação do tipo é feita somente uma vez.

Para as Tabelas que possuem número seqüencial como Chave Primária, criar um gerador automático (CREATE GENERATOR/CREATE TRIGGER), definindo um tipo "Auto-Increment like Paradox". Use SET GENERATOR TO quando já existem valores até na Tab

Criação de triggers para operações de deleção que envolvam integridade referencial entre tabelas.

Chave Primária: PRIMARY KEY ().

Chave Estrangeira:

ALTER TABLE

ADD CONSTRAINT

FOREIGN KEY ()

REFERENCES ;

Checagem de faixa de valores válidos para campos:

ADD CONSTRAINT

CHECK ()

Valores Default: ADD DEFAULT

Para operações repetitivas sobre uma Tabela, usar SQL disparado no Delphi (ExecSQL), ao invés de código puro Delphi. Com isso, processa-se os dados em bloco, com um único lock no Banco de Dados, ao invés de efetuar a operação por registro.

Criação de Stored Procedures, quando possível.

Criação de Views e Grant Permissions. Com isso, não é necessário uma tabela de usuários, pois os mesmos são cadastrados no Interbase Server Manager e suas permissões de acesso são dadas pelo comando GRANT.

Após a definição completa do BD através de SQL, salvar os comandos SQL em um arquivo de criação automática de BD(.SQL).

Criação de Dicionários de Dados (com seus campos TField), que definem padronizações para vários campos de diferentes tabelas (via Database Explorer).

Criação de Data Modules no IDE. Cada Data Module possui um conjunto de tabelas e queries de um contexto do sistema.

Criação de máscaras no IDE; criar "Máscaras Exemplo para Língua Portuguesa".

Definição de MinValue/MaxValue dos campos no IDE.

Definição de componentes TQuery para a interação C/S no IDE.

DEFINIÇÕES:

Trigger: procedimento SQL disparado sobre evento na tabela.

Stored Procedures: procedimentos pré-compilados SQL. São mais eficientes do que enviar um texto SQL para o Servidor de Banco de Dados.

Views: visões sobre uma ou mais tabelas em conjunto. Otimiza o processamento sobre as mesmas e facilita o controle de acesso e permissões (Grant Permissions). }

Nenhum comentário:

Postar um comentário