Depois de especificado o banco de dados, devemos partir para a criação das tabelas no banco de dados. É possível fazer isto com qualquer ferramenta de administração de banco de dados, mas se mudarmos o gerenciador de banco de dados, teremos que recriar uma a uma as tabelas no novo banco de dados.
Existem ferramentas que criam as tabelas no banco de dados baseado no DER diretamente, mas este infelizmente não é o nosso caso. Para amenizar a situação podemos aproveitar o fato de que os bancos de dados conhecem a linguagem SQL e criar um script para que a criação das tabelas seja feita de uma forma menos traumática.
Cada banco de dados pode ter alguns comandos que "extendem" as funcoinalidades do SQL, mas para deixar o script mais "portável" devemos nos ater aos comandos do SQL padrão ANSI. Ao gerar o script, podemos inclusive documentá-lo já que o SQL permite este recurso (tudo que está após a seqüência "--" é considerado como comentário e não é processado pelo banco de dados.
Assim para gerar a tabela FORMAPAGTO no banco de dados, podemos gerar o seguinte script:
-- ************************************************************************ -- Tabela FORMAPAGTO -- Tabela contendo as formas de pagamento disponíveis para negociação. -- Restrições como número máximo de parcelas e prazos máximos são -- restrições de programa não sendo implementadas no banco de dados. -- ************************************************************************ CREATE TABLE FORMAPAGTO ( CODIGO SMALLINT NOT NULL PRIMARY KEY, DESCRICAO VARCHAR(30) NOT NULL, PRAZO VARCHAR(1) NOT NULL DEFAULT 'S', PESOCOM DECIMAL(2,1) NOT NULL DEFAULT 1.0, PESODESC DECIMAL(2,1) NOT NULL DEFAULT 1.0, SITUACAO VARCHAR(1) NOT NULL DEFAULT 'A' -- Ativo/Inativo ); |
Juntando as especificações de cada uma das tabelas a ser gerada, montamos um script que pode ser enviado ao banco de dados, criando todas as tabelas de uma só vez. Supondo que estamos usando o Linux com o MySQL e que o banco de dados kvendas já tenha sido criado e ainda que exista o script SQL kvendas_db.sql podemos usar o seguinte comando:
$ mysql kvendas < kvendas_db.sql |
Existe um comando similar que gera as tabelas no PostgreSQL:
$ psql kvendas < kvendas_db.sql |