Database Respostas O Pai de todos os Modelos de Dados
Início Faça uma pergunta Boas Práticas Comunidades Fale conosco Modelos de Dados Pesquisa Mapa do Site
Welcome to my Tutorial in Beginning Data Modelling Bem-vindo ao meu tutorial no início Modelação de dados

INTRODUCTION : INTRODUÇÃO:
This Tutorial is for beginners to Data Modelling. Este tutorial é para iniciantes de Modelação de dados.
With the help of Google's free translation service, I have produced a Portuguese version of this Tutorial . Com a ajuda do Google grátis serviço de tradução, tenho produzido uma versão deste tutorial Português.

Topics covered in this Tutorial include :- Os tópicos abordados neste tutorial incluem: --
  1. Creating Entities Criando Entidades
  2. Primary Keys Chaves primárias
  3. Foreign Keys Chaves Estrangeiras
  4. 1-to-Many Relationships 1-para-muitos Relacionamentos
  5. Hierarchies Hierarchies
  6. Inheritance Herança
  7. Reference Data Dados Referenciais

I have used the Dezign Data Modelling Tool to create the Data Models in this Tutorial. Tenho usado o Dezign Dados Ferramenta de Modelagem de Dados para criar modelos neste Tutorial.
I chose Datanamic because it is powerful, flexible and affordable. Eu escolhi Datanamic porque ela é poderosa, flexível e acessível.
Members of the Database Answers Community can purchase Dezign and benefit from a discount of 25% . Os membros do Banco de Dados Respostas comunitário pode comprar Dezign e beneficiam de um desconto de 25%.
In order to gain the benefit of this discount, all you have to do is send me an email with your Database Answers Community ID. A fim de ter a vantagem de este desconto, tudo que você tem a fazer é me enviar um e-mail com seus dados Respostas Comunidade ID.
I will then send you the order instructions. Vou enviar-lhe então a ordem instruções.

  • At the end of this Tutorial, we will have produced a Data Model, which is commonly referred as an Entity-Relationship Diagram , or 'ERD' No final deste tutorial, vamos ter produzido um Modelo de Dados, que é comumente referido como um Diagrama Entidade-Relacionamento, ou 'ERD "

    I hope you find this Tutorial interesting and helpful. Eu espero que você encontre este tutorial interessante e útil.
    Please email me and let me know. Envie um e-mail comigo e me avise.

  • GETTING STARTED : PRIMEIROS PASSOS:
    The area I have chosen for this Tutorial is a Data Model for a simple Order Processing System for Starbucks. A área que escolhi para este tutorial é um Modelo de Dados para um simples sistema de processamento de Ordem Starbucks.
    I have done it this way because many people are familiar with Starbucks and it provides an application that is easy to relate to. Tenho feito isso desta forma, porque muitas pessoas estão familiarizadas com a Starbucks e oferece um aplicativo que é fácil de se relacionar.
  • We think about the area we are going to Model. Nós pensamos sobre a área que vamos Model.
  • We can see Customers ordering Products,(Food and Drinkg and so on). Podemos ver que o cliente encomenda Products, (Food and Drinkg e assim por diante).
  • My Approach has three Steps :- Minha Abordagem tem três etapas: --
    1. Establish the Scope of the Data Model Estabelecer o âmbito de aplicação do Modelo de Dados
    2. Identify the 'Things of Interest' that are within the Scope, These will be called Entities . Identificar o «Coisas de interesse" que estão dentro do âmbito de aplicação, estes serão chamados Entidades.
    3. Determine the Relationships between them. Determinar os relacionamentos entre eles.

    DECIDING THE SCOPE OF OUR DATA MODEL Decidindo o âmbito do nosso MODELO DE DADOS
  • When we step inside, we see that Starbucks sells a wide range of Products, so our first task is to decide which of them should be included in our Data Model. Ao passo que no interior, vemos que a Starbucks vende uma ampla gama de produtos, por isso nossa primeira tarefa é decidir qual deles deve ser incluído no nosso Modelo de Dados.
  • Right now, we are interested only in something to eat and something to drink. Agora, estamos interessados apenas em algo para comer e algo para beber.
  • Therefore, all the mugs and other items shown in this picture on the left, are outside the Scope of our Data Model, and are not 'Things of Interest'. Portanto, todas as canecas e outros itens mostrados nesta foto, à esquerda, estão fora do escopo do nosso Modelo de Dados, e não são 'coisas de interesse ".
  • Um dos 270 Starbucks Coffee Shops na cidade de Nova York em 2007
    Modelo de Dados versão 1
    1) CREATING ENTITIES 1) CRIAÇÃO DE ENTIDADES
    1) Creating an Entity in Dezign 1) Criação de uma entidade em Dezign
    1. 1. Right-click on a blank area in the diagram Botão direito do mouse sobre uma área vazia no diagrama
    2. 2. From the drop-down list, choose Insert and Entity A partir da lista drop-down, escolha a opção Inserir e Entidade
    3. 3. Check the 'PK' box for the Primary Key attribute, which will usually be the first one on the Entity. Verifique o "PK" caixa para o atributo de chave primária, que geralmente será o primeiro em uma das entidades.
    4. 4. Click on Close to save the results. Clique em Fechar para guardar os resultados.
    2) PRIMARY KEYS : 2) PRIMARY KEYS:
    1. At this Stage, we show only the Entities with no Relationships and minimum Attributes. and specify only the Primary Key and one 'details' field that will be replaced later on.. Nesta fase, vamos mostrar somente as Entidades sem Relacionamentos e Atributos mínimos. Especifique e somente a chave primária e um 'detalhes' campo que será substituído mais tarde ..
    2. The Primary Key field(s) should always be first. A chave primária campo (s) devem sempre ser a primeira.
    3. You will notice that the first field in the Customers_version2 Table is the Customer_id. Você vai notar que o primeiro campo na tabela Customers_version2 é o Customer_id.
    4. It has a 'PK' symbol beside it, which indicates that it is the Primary Key for the Table. Tem um 'PK' símbolo ao lado dele, o que indica que ela é a chave primária para a tabela.
    5. The Primary Key is very important and is the way that we can recognise each individual record in the Table. A chave primária é muito importante e é a maneira que nós possamos reconhecer cada registro na tabela.
    Creating a Primary Key in Dezign Criando uma chave primária em Dezign
    1. 1. Right-click on the Entity Botão direito do mouse sobre a Entidade
    2. 2. Choose Attributes Escolha Atributos
    3. 3. Check the 'PK' box for the Primary Key attribute, which will usually be the first one on the Entity. Verifique o "PK" caixa para o atributo de chave primária, que geralmente será o primeiro em uma das entidades.
    4. 4. Click on Close to save the results. Clique em Fechar para guardar os resultados.
    Modelo de Dados versão 2
    Modelo de Dados versão 3
    3) FOREIGN KEYS : 3) Chaves Estrangeiras:
  • Here we have added the Relationships between the Entities . Aqui temos acrescentado os relacionamentos entre as Entidades.
    1. When this Primary Key is used in another Table, it is referred to as a'Foreign Key'. Quando esta chave primária é utilizada em um outro quadro, é referido como a'Foreign Key '.
    2. We can see a good example in this diagram, where the customer_id appears in the Customers_Payment_Methods Table as a Foreign Key. Nós podemos ver um bom exemplo neste diagrama, onde a customer_id aparece na Customers_Payment_Methods quadro como uma chave estrangeira.
    3. This is shown with an 'FK' symbol beside it Isso é mostrado com um 'FK' símbolo ao lado

  • Mandatory Key Fields Principais Campos Obrigatório
    1. A Foreign Key is usually mandatory , in other words, a value for a customer_id in the Customers_Payment_Methods Table must correspond to an actual value of the customer_id in the Customers_Version_1 Table. Uma chave estrangeira é geralmente obrigatória, em outras palavras, um valor para uma customer_id na Tabela Customers_Payment_Methods deve corresponder a um valor real da customer_id no Customers_Version_1 Tabela.
    2. This is shown in the diagram by the short straight line at the end of the dotted line close to the Customers Table. Isso é mostrado no diagrama pela curta reta no final da linha pontilhada fechar a tabela Clientes.
    Foreign Keys in Dezign Chaves Estrangeiras no Dezign
    1. 1. Foreign Keys are created automatically when you make a Relationship between two Entities. Chaves Estrangeiras são criadas automaticamente quando você faz uma relação entre as duas Entidades.
    2. 2. I recommend that you move the field up in the Entity so that it takes it place alphabetically among the Key fields. Eu recomendo que você move o campo até na entidade para que ela toma lugar entre os principais campos alfabeticamente.
    To do this, right-click on the Entity choose the Attributes option, then click on the up or down arrow on the right-hand side. Para fazer isso, clique com o botão direito sobre a Entidade escolher a opção Atributos, clique na seta para cima ou para baixo sobre o lado direito.
  • 4) ONE-TO-MANY RELATIONSHIPS : 4) um-para-muitos RELACIONAMENTO:
  • One-to-Many Relationships Um-para-muitos Relacionamentos
    1. A Customer can have more than one Payment_Method, for example, American Express or Cash. Um Cliente pode ter mais de um Payment_Method, por exemplo, American Express ou Dinheiro.
    2. In other words, we would say that the Relationship is optional at the Customers_Payment_Methods Table end. Em outras palavras, diríamos que o relacionamento é opcional no Customers_Payment_Methods quadro final.
    3. This is shown by the symbol that has three small lines at that end of the Relationship dotted line, which is referred to as Crow's Feet . Isso é mostrado com o símbolo que tem três pequenas linhas no final do relacionamento que a linha pontilhada, que é referido como Crow's Feet.

  • Optional Key Fields Opcional Key Fields
    1. Not every Customer will have a Payment_Method. Nem todos os clientes terão uma Payment_Method. In general, they would but we need to allow for situations where Customers change their minds and don't buy anything. Em geral, eles teriam, mas temos que permitir as situações em que os clientes mudam suas mentes e não compram nada.
    2. In other words, we would say that the Relationship is optional at the Customers_Payment_Methods Table end. Em outras palavras, diríamos que o relacionamento é opcional no Customers_Payment_Methods quadro final.
    3. This is shown by the little 'O' at that end of the Relationship dotted line. Isso é mostrado pelo pouco 'O' no final do relacionamento que a linha pontilhada.
  • Modelo de Dados versão 4
    Produtos
    5) HIERARCHIES : 5) hierarquias:
    At this Stage, we add Reference Data. Nesta fase, estamos adicionar dados de referência.
  • This diagram shows how the hierarchies of Products and Product Types that we have just discussed are shown in our Entity-Relationship Diagram . Este diagrama mostra como as hierarquias de Produtos e tipos de produto que acabamos discutidos são mostrados em nosso Diagrama Entidade-Relacionamento.


  • Rabbits Ears Coelhos Ouvidos
  • You will notice that the table called 'Product_Types_v1' has a dotted line coming out on the right-hand side and going back in again on the top-right corner. Você vai notar que o quadro chamado "Product_Types_v1 'tem uma linha pontilhada que sai no lado direito, e voltando-se novamente sobre o canto superior direito.
  • Data Analysts call this a Reflexive Relationship, or informally, simply 'Rabbits Ears'. Dados Analistas chamam a este Reflexive um relacionamento, ou informalmente, simplesmente 'Coelhos Orelhas ».
  • In plain English, we would say that the Table is joined to itself and it means that a record in this Table can be related to another record in the Table. Na planície Inglês, diríamos que o quadro está associado a si própria e isso significa que um registro nesta tabela pode ser relacionado com um outro registro na tabela.
  • This approach is how we handle the situation where each Product can be in a hierarchy and related to another Product. Esta abordagem é a forma como lidamos com a situação em que cada produto pode ser em uma hierarquia e relacionada a outro produto.
  • For example, a Product called Panini could be in a Product Sub-Category called 'Miscelleneous Sandwiches' which could be a higher Product Category called 'Cold Food', which itself could be in a higher Product Super-Category called simply 'Food'. Por exemplo, um produto chamado Panini poderia estar em uma sub-categoria de produtos chamados' Miscelleneous Sanduiches' que poderia ser uma maior Produto Categoria chamado 'Fria Alimentos ", que poderia ser maior em um produto super-categoria denominada simplesmente" Alimentação ".
  • Next time you go into Starbucks, take a look at the borad behind the counter and try to decide how you design the Products area of the Data Model. Da próxima vez que você entrar no Starbucks, dê uma olhada no borad atrás do balcão e tentar decidir como você desenhar a área de Produtos do Modelo de Dados.
  • You should pay special attention to the little 'zeros' at each end of the dotted line. Você deve dedicar especial atenção para o pouco 'zeros' em cada extremidade da linha pontilhada.
  • These are how we implement the fact that the 'Parent Product Type Code' is optional, because the highest level will not have a Parent. Trata-se de saber como implementar o facto de a «mãe Tipo de Produto Código" é opcional, porque o nível mais alto não vai ter um pai.
  • 6) INHERITANCE : 6) HERANÇA:
  • Food and Drink are specific examples of the more general Thing called a Product. Alimentos e Bebidas são exemplos específicos de âmbito mais geral uma coisa chamada Produto.
  • They inherit some common attributes from the Product, and also have some of their own. Eles herdam alguns atributos comuns a partir do produto, e também alguns dos seus próprios.
  • For example, Food can contain Nuts but Drink do not contain nuts, but both have a Product Name. Por exemplo, pode conter Alimentos Beber Nuts mas não contenham nozes, mas ambos têm um nome do produto.


  • The unusual symbol in the middle of the diagram, composed of a circle with two small lines underneath it is how Inheritance is shown using the particular Data Modelling Tool that I am using,which is called Dezign. O símbolo incomum no meio do esquema, composto por um pequeno círculo com duas linhas abaixo, é mostrado como a herança é particular Modelação de dados utilizando a ferramenta que estou usando, que é chamado Dezign.
  • Inheritance is a very important topic when you are creating a Data Model. A herança é um tópico muito importante quando você está criando um Modelo de Dados.
  • In plain English, we would say that Inheritance occurs where a Parent-Child relationship exists between Things of Interest (or Entities). Na planície Inglês, diríamos que sucessório ocorre quando um pai-filho existe relacionamento entre as coisas de interesse (ou entidades).
  • You can ask the simple 'Is-a' question - in this case, if we ask 'Is a Book a Product' then clearly the answer is 'Yes' so we think there is an Inheritance relationship between them. Você pode perguntar a simples "Is-a" questão - neste caso, se perguntar "é um livro um produto ', então claramente a resposta é" sim "por isso acho que existe uma relação entre eles Herança.
  • In the example of Inheritance shown in this diagram, we can see that all Products have Names and Descriptions. No exemplo de Herança mostradas neste diagrama, podemos ver que todos os produtos têm nomes e descrições. Therefore, Books, Food and Drink will inherit these characteristics from the parent Product. Portanto, livros, alimentos e bebidas irão herdar estas características a partir do pai Produto.
  • However, each type of Product will have specific characteristics that it does not share with other types of Products. No entanto, cada tipo de produto vai ter características específicas que não compartilhar com outros tipos de produtos. For example, Books have ISBNs and Authors, but Food and Drink do not. Por exemplo, tem ISBNs livros e autores, mas Alimentação e Bebidas não.
  • One of the important things in your Data Model is to be sure you have identified all the Inheritance relationships. Uma das coisas importantes no seu Modelo de Dados é ter a certeza que você tenha identificado todos os Herança relacionamentos.
  • However, from many years of experince as a DBA, I should point out that relationship is often blurred in a real physical Database because it can be clumsy to implement. No entanto, de muitos anos de experince como DBA, gostaria de salientar que essa relação é frequentemente desfocada em um caso real de dados físicos, porque pode ser desajeitado para implementar.
  • I sometimes find myself showing Inheritance in a Logical Data Model which then disappears when I design the Physical Database, which is what ultimately becomes the Database. Por vezes, mostrando-me Herança em um Modelo de Dados Lógico que depois desaparece quando eu desenho a Física de Dados, que é o que finalmente se torne a base de dados.
  • Produtos (Versão 2) mostrando Herança
    7) REFERENCE DATA : 7) REFERÊNCIA DE DADOS:
    • This diagram shows Address Types, which are an example of Reference Data. Este diagrama mostra Endereço tipos, que são um exemplo de dados de referência.
    • This kind of data has the following characteristics :- Este tipo de dados tem as seguintes características: --
      1. it doesn't change very much isso não muda muito
      2. it has a relatively small number of values, usually less than a few dozen and never more than a few hundred. ele tem um número relativamente pequeno de valores, geralmente menos de uma dúzia de poucos e nunca mais de algumas centenas.
      3. Therefore we can show it with a Code as a Primary Key. Assim podemos mostrar isso com um código como uma chave primária.
      4. Data in Reference Data Tables can be used to populate drop-down lists for Users to select from. Dados em Tabelas de Dados de Referência pode ser usada para preencher listas drop-down para a escolha de usuários.
      5. In this way, it is used to ensure that all new data is valid. Desta forma, ele é usado para garantir que todos os novos dados é válido.
    • Standards Normas
      • In the Address Table, you will see a field called 'iso_country_codes'. Na Morada quadro, você verá um campo chamado 'iso_country_codes'.
      • iso stands for the 'International Standards Organisation'. iso estandes para a «Organização Internacional de Normalização".
      • Where possible, it's always good to use national or international standards. Sempre que possível, é sempre bom para usar padrões nacionais ou internacionais.

        Customer Addresses Cliente Addresses
      • This is a general and flexible approach to handling Addresses in our Data Model. Esta é uma abordagem geral e flexível para manipulação Addresses no nosso Modelo de Dados.
      • We have a separate Address Table, which allows us to have more than one Address for any Customer very easily. Temos um distinto Endereço quadro, o que nos permite ter mais de um endereço para qualquer cliente com muita facilidade.
      • This design also has some other benefits :- Este desenho também tem algumas outras vantagens: --
        1. We can accomodate more than one person at the same Address. We need to do this because different members of a family may sign-up separately with Amazon. Podemos acomodar mais de uma pessoa no mesmo endereço. Precisamos fazer isso porque vários membros de uma família pode registar-se separadamente com a Amazônia.
        2. With a separate table of Addresses, we can easily use commercial software to validate our Addresses. To find this kind of software, simply Google for "Address Validation Software". I have used QAS with great success in the past. With this approach, we can always be sure that we have 100% good Address data in our Database. Com uma tabela de endereços, podemos facilmente usar software comercial para validar nossa Addresses. Para encontrar este tipo de software, o Google simplesmente para "Endereço Validação Software". QAS tenho utilizado com grande sucesso no passado. Com esta abordagem, nós sempre pode ter a certeza de que temos 100% de bons endereços de dados em nossa base de dados.
    Amazônia Clientes - Versão 2
    Top-Level Modelo de Dados para o Tutorial
    8) TOPICS IN THIS TUTORIAL : 8) TÓPICOS neste tutorial:
      During this short Tutorial,we have covered the following Topics :- Durante este curto tutorial, que abrangeu os seguintes tópicos: --
      1. Creating Entities Criando Entidades
      2. Primary Keys Chaves primárias
      3. Foreign Keys Chaves Estrangeiras
      4. 1-to-Many Relationships 1-para-muitos Relacionamentos
      5. Hierarchies Hierarchies
      6. Inheritance Herança
      7. Reference Data Dados Referenciais
  • If you would like to see other Topics included, please let me know . Se você gostaria de ver outros temas incluídos, por favor me avise. Tutorial. Tutorial.

  • 9) PLEASE EMAIL ME 9) E-MAIL POR FAVOR ME
  • I hope you have found this Tutorial interesting and useful. Espero que tenha encontrado este tutorial interessante e útil.
  • Please email me with your questions or suggestions so I can improve this first draft Tutorial. Favor enviar-me um email com suas perguntas ou sugestões para que eu possa melhorar este primeiro projecto de iniciação.

  • If you want to try the Dezign Data Modelling Tool , you can download it from the Datanamic Web Site . Se quiser experimentar o Dezign Ferramenta de Modelagem de dados, você pode baixá-lo a partir do Datanamic Web Site.

    Good luck with creating your first Data Model ! Boa sorte com a criação de seu primeiro Modelo de Dados!

    Barry Williams Barry Williams
    Principal Consultant Principal Consultor
    Database Answers Ltd. Database Respostas Ltd.
    London, England Londres, Inglaterra


  • Início Faça uma pergunta Boas Práticas Comunidades Fale conosco Modelos de Dados Pesquisa Mapa do Site

    © DatabaseAnswers.org 2008 © DatabaseAnswers.org 2008