Como projetar um banco de dados sql

O primeiro passo para projetar qualquer banco de dados SQL é identificar o que incluir eo que não incluir. Os próximos passos envolvem decidir como os itens incluídos relacionam entre si e, em seguida, a criação de tabelas em conformidade.

Para criar um banco de dados em SQL, siga estas etapas básicas:

  1. Decida o que os objetos que você deseja incluir em seu banco de dados.

  2. Determinar qual destes objetos devem ser tabelas e que deve ser colunas dentro dessas tabelas.

  3. Definir tabelas com base em como você precisa para organizar os objetos.

    Opcionalmente, você pode querer designar uma coluna de tabela ou uma combinação de colunas como uma chave.

Passo 1: Definir objectos

O primeiro passo na criação de um banco de dados é decidir quais os aspectos do sistema são importantes o suficiente para incluir no modelo. Tratar cada aspecto como um objeto e criar uma lista de todos os objetos que você pode pensar. Nesta fase, não tentar decidir como esses objetos se relacionam entre si. Basta tentar enumerá-los todos.

Quando você tem um conjunto razoavelmente completo de objetos, passar para o próximo passo: decidir como esses objetos se relacionam entre si. Alguns dos objetos são as principais entidades que são cruciais para dar-lhe os resultados desejados. Outros objetos são subsidiária às grandes entidades. Em última análise, você pode decidir que alguns objetos não pertencem no modelo em tudo.

Passo 2: Identificar tabelas e colunas

entidades principais traduzir-se em tabelas de banco de dados. Cada entidade principal tem um conjunto de atributos - as colunas da tabela. Muitos bancos de dados de negócios, por exemplo, tem uma tabela de clientes que mantém o controle de nomes, endereços e outras informações permanente dos clientes. Cada atributo de um cliente - tais como o nome, rua, cidade, estado, CEP, número de telefone e endereço de e-mail - torna-se uma coluna (e um título de coluna) na tabela de clientes.

Se você está esperando para encontrar um conjunto de regras para ajudar a identificar quais objetos devem ser tabelas e quais os atributos do sistema pertencem a qual mesas, pense novamente: Você pode ter algumas razões para a atribuição de um determinado atributo a uma mesa e outras razões para atribuir o mesmo atributo para outra mesa. Você deve basear seu julgamento em duas metas:

  • A informação que você deseja obter a partir do banco de dados

  • Como você deseja usar essa informação

Ao decidir como estruturar tabelas de banco de dados, envolver os futuros usuários do banco de dados, bem como as pessoas que tomam decisões com base em informações do banco de dados. Se você vir para cima com o que você acha que é uma estrutura razoável, mas não é consistente com a maneira que as pessoas vão usar as informações, o sistema vai ser frustrante para usar na melhor das hipóteses - e poderia até mesmo produzir informação errada, o que é ainda pior .

Dê uma olhada em um exemplo. Suponha que você VetLab apenas estabelecido, um laboratório de microbiologia clínica que testa amostras biológicas enviadas pelos veterinários. Você deseja controlar várias coisas, incluindo o seguinte:

clientes

  • Testes que você executa

  • funcionários

    Video: Aula 1275 banco de dados SQL MySQL - Create Index



  • ordens

  • Resultados

  • Passo 3: Definir tabelas

    Agora você deseja definir uma tabela para cada entidade e uma coluna para cada atributo.

    Mesacolunas
    CLIENTENome do cliente
    Endereço 1
    Endereço 2
    Cidade
    Estado
    Código postal
    telefone
    Fax
    Pessoa de contato
    TESTESNome de teste
    carga padrão
    EMPREGADOnome do empregado
    Endereço 1
    Endereço 2
    Cidade
    Estado
    Código postal
    Telefone residencial
    Extensão escritório
    Data de contratação
    classificação profissional
    Por hora / salário / Comissão
    ORDENSNúmero do pedido
    Nome do cliente
    teste ordenado
    Vendedor responsável
    Data do pedido
    RESULTADOSNúmero resultado
    Número do pedido
    Resultado
    data do Alerta
    Preliminar / Final

    Você pode criar as tabelas definidas aqui usando tanto um desenvolvimento rápido de aplicações da ferramenta (RAD) ou usando o SQL Data Definition Language (DDL), como mostrado no seguinte código:

    CRIAR CLIENTE TABELA (ClientName CHAR (30) não nulo, Endereço1 CHAR (30), Endereço2 CHAR (30), CityCHAR (25), StateCHAR (2), CódigoPostal CHAR (10), PhoneCHAR (13), FaxCHAR (13), Contactperson CHAR (30)) TESTES --Cria mesa (TestName CHAR (30) não nulo, StandardCharge CHAR (30)) --Cria TABELA funcionário (EmployeeName CHAR (30) não nulo, Endereço1 CHAR (30), Endereço2 CHAR (30), CityCHAR (25), StateCHAR (2), CódigoPostal CHAR (10), HomePhone CHAR (13), OfficeExtension CHAR (4), DataDeContratação DATA, JobClassification CHAR (10), HourSalComm CHAR (1)) ORDENS DE MESA --Cria (OrderNumber INTEIRO NÃO NULL, ClientName CHAR (30), TestOrdered CHAR (30), Vendedor CHAR (30), DataDaEncomenda DATA) RESULTADOS TABELA --Cria (ResultNumber inteiro não nulo, OrderNumber INTEIRO, Resultado CHAR (50), DateReported DATA, PrelimFinal CHAR (1 )) -

    Essas tabelas se relacionam entre si pelos atributos (colunas) que eles compartilham, como a lista a seguir descreve:

    • Os links da tabela cliente para a tabela PEDIDOS pelo Nome do cliente coluna.

    • Os links de mesa testes para a tabela PEDIDOS pelo TestName (TestOrdered) coluna.

    • Os links tabela de funcionários para a tabela de ordens do EmployeeName (vendedor) coluna.

      Video: Criando Banco de Dados no SQL SERVER 2012

    • Os links tabela de resultados para a tabela de ordens do Número do pedido coluna.

    Se você quer uma mesa para servir como parte integrante de um banco de dados relacional, vincule essa tabela para pelo menos uma outra tabela no banco de dados, utilizando uma coluna comum.

    As ligações ilustram quatro diferente um para muitos relacionamentos. O diamante no meio de cada relação mostra a cardinalidade máxima de cada extremidade da relação. O número 1 indica o “um” lado da relação, e N denota o lado “muitos”.

    • Um cliente pode fazer muitas ordens, mas cada pedido é feito por um, e apenas um, cliente.

    • Cada teste pode aparecer em muitas ordens, mas cada ordem pede um, e apenas um, teste.

    • Cada ordem é tomado por um, e apenas um, empregado (ou vendedor), mas cada vendedor pode tomar várias ordens.

      Video: Como Criar um Banco de Dados no SQL Server

    • Cada ordem pode produzir vários resultados de teste preliminar e um resultado final, mas cada resultado está associado com um, e apenas um, a fim.

    O atributo que liga uma tabela para outra pode ter um nome diferente em cada mesa. Ambos os atributos devem, no entanto, têm tipos de dados correspondentes.


    Publicações relacionadas