Desenvolvendo um plano de banco de dados

A primeira etapa na criação de um banco de dados é criar um plano que serve tanto como um guia a ser usado na implementação do banco de dados quanto uma especificação funcional para o banco de dados depois de este ser implementado. A complexidade e o detalhe de um design de banco de dados são ditados pela complexidade e tamanho do aplicativo de banco de dados e também pela população de usuários.

A natureza e complexidade de um aplicativo de banco de dados, e também o processo de planejamento, podem variar significativamente. Um banco de dados pode ser relativamente simples e projetado para uso de uma única pessoa ou pode ser grande e complexo, projetado para lidar com as transações bancárias de milhares de clientes. No primeiro caso, o design de banco de dados pode ser pouco mais que algumas anotações em papel rascunho. No outro caso, o projeto pode ser um documento formal com centenas de páginas que contêm todos os detalhes possíveis a respeito do banco de dados.

Ao planejar o banco de dados, independentemente de seu tamanho e complexidade, use as seguintes etapas básicas:

  • Reúna informações.

  • Identifique os objetos.

  • Modele os objetos.

  • Identifique os tipos de informações para cada objeto.

  • Identifique as relações entre objetos.

Reunindo informações

Antes de criar um banco de dados, você deve ter um bom entendimento do trabalho que se espera que o banco de dados execute. Se o banco de dados for substituir um sistema de informações manual ou com base em papel, o sistema existente deve lhe dar quase todas as informações necessárias. Você deve conversar com todos os envolvidos no sistema para determinar o que eles fazem e o que precisam que o banco de dados faça. Também é importante identificar o que desejam que o novo sistema faça, além de identificar os problemas, limitações e afunilamentos do sistema existente. Reúna cópias de declarações de clientes, listas de estoque, relatórios gerenciais e qualquer outro documento que pertença ao sistema existente, pois eles serão úteis no projeto do banco de dados e das interfaces.

Identificando os objetos

Durante o processo de coleta de informações, você deve identificar os objetos ou entidades principais que serão gerenciados pelo banco de dados. O objeto pode ser algo tangível, como uma pessoa ou um produto, ou pode ser um item mais intangível, como uma transação comercial, um departamento da empresa ou um período da folha de pagamentos. Geralmente, há alguns objetos primários e, depois de eles serem identificados, os itens relacionados tornam-se visíveis. Cada item distinto em seu banco de dados deve ter uma tabela correspondente.

O objeto primário no banco de dados de exemplo AdventureWorks incluído no SQL Server é uma bicicleta. Os objetos relacionados à bicicleta nos negócios da empresa são os funcionários que fabricam a bicicleta, os fornecedores que vendem os componentes para a fabricação da bicicleta, os clientes que a compram e as transações de vendas realizadas com os clientes. Cada um desses objetos é uma tabela no banco de dados.

Modelando os objetos

Quando os objetos no sistema estiverem identificados, você deve registrá-los de um modo que represente o sistema visualmente. Você pode usar seu modelo de banco de dados como uma referência durante implementação do banco de dados.

Para esse propósito, os desenvolvedores de banco de dados usam ferramentas cuja complexidade vão de lápis e papel de rascunho a processadores de texto e planilhas eletrônicas, ou mesmo aplicativos criados especificamente para o trabalho de modelagem de dados para design de banco de dados. Seja qual for a ferramenta que você decida usar, é importante mantê-la atualizada.

Identificando os tipos de informações para cada objeto

Depois de os objetos primários no banco de dados terem sido identificados como candidatos a tabelas, a próxima etapa é identificar os tipos de informações que devem ser armazenadas para cada objeto. Essas são as colunas na tabela do objeto. As colunas em uma tabela de banco de dados contêm alguns tipos comuns de informações:

  • Colunas de dados brutos

    Estas colunas armazenam informações tangíveis, como nomes, determinadas por uma fonte externa para o banco de dados.

  • Colunas categóricas

    Estas colunas classificam ou agrupam os dados e armazenam uma seleção limitada de dados, como verdadeiro/falso, casado/solteiro e vice-presidente/diretor/gerente do grupo.

  • Colunas de identificador

    Estas colunas proporcionam um mecanismo para identificar cada item armazenado na tabela. O nome dessas colunas freqüentemente têm um ID ou número, por exemplo, employee_id, invoice_numbere publisher_id. A coluna de identificador é o componente primário usado tanto pelos usuários quanto pelo processamento interno do banco de dados para obter acesso a uma linha de dados na tabela. Algumas vezes, o objeto tem uma forma tangível de ID usada na tabela, por exemplo, um número de seguro social, mas, na maioria das situações, você pode definir a tabela de modo que uma ID artificial confiável possa ser criada para a linha.

  • Colunas relacionais ou referenciais

    Estas colunas estabelecem um link entre informações em uma tabela e informações relacionadas em outra tabela. Por exemplo, uma tabela que rastreie transações de vendas geralmente terá um link para a tabela clientes de modo que a informação completa do cliente possa ser associada com a transação de vendas.

Identificando as relações entre objetos.

Um dos pontos fortes de um banco de dados relacional é a capacidade de relacionar ou associar informações sobre vários itens no banco de dados. Tipos isolados de informações podem ser armazenados separadamente, mas o mecanismo de banco de dados pode combinar dados quando necessário. Identificar a relação entre objetos em um processo de design requer o exame das tabelas, a determinação de como se relacionam logicamente e o acréscimo de colunas relacionais que estabeleçam um link de uma tabela para a outra.

Por exemplo, o designer do banco de dados AdventureWorks criou tabelas para produtos e modelos de produtos no banco de dados. A tabela Production.Product contém informações para cada produto que inclua uma coluna de identificador nomeada ProductID; colunas de dados para o nome do produto, o preço do produto e informações sobre cor, tamanho e peso do produto. A tabela contém colunas categóricas, como Classeou Estilo, que permite que os produtos sejam agrupados por esses tipos. Cada produto também tem um modelo de produto, mas essa informação é armazenada em outra tabela. Portanto, a tabela Production.Product tem uma coluna ProductModelID para armazenar só o ID do modelo de produto. Quando uma linha de dados é adicionada para um produto, o valor de ProductModelID deve existir na tabela Production.ProductModel.

Consulte também

Outros recursos