{"id":7058,"date":"2023-03-15T10:06:01","date_gmt":"2023-03-15T02:06:01","guid":{"rendered":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/"},"modified":"2023-03-22T16:43:25","modified_gmt":"2023-03-22T08:43:25","slug":"mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5","status":"publish","type":"post","link":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/","title":{"rendered":"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)"},"content":{"rendered":"<h1>Modelagem de Dados e Design Orientado a Objetos<\/h1>\n<p><a href=\"https:\/\/www.visual-paradigm.com\/guide\/data-modeling\/what-is-entity-relationship-diagram\/\">Modelagem de dados<\/a>e o design orientado a objetos s\u00e3o dois componentes essenciais da engenharia de software. Enquanto a modelagem de dados visa representar dados e rela\u00e7\u00f5es entre entidades, o design orientado a objetos foca na cria\u00e7\u00e3o de objetos de software que encapsulam dados e comportamento. A rela\u00e7\u00e3o entre esses dois conceitos \u00e9 crucial na constru\u00e7\u00e3o de sistemas de software robustos e mant\u00edveis.<\/p>\n<p>Neste artigo, exploraremos por que a modelagem de dados \u00e9 \u00fatil para o design orientado a objetos, como entidades e diagramas de entidade-relacionamento (DERs) se relacionam com objetos em diagramas de classe, e como a modelagem de dados pode ajudar a desenvolver seu diagrama de classe.<\/p>\n<p><img alt=\"Ferramenta de Diagrama Entidade-Relacionamento (DER) para Modelagem de Dados\" decoding=\"async\" src=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/03\/07-synchronization-between-erd-and-uml-class-diagram.png\"\/><\/p>\n<h2>Os Pap\u00e9is Complementares dos DERs e Diagramas de Classe no Desenvolvimento de Software<\/h2>\n<p>Diagramas de Entidade-Relacionamento (DERs) e diagramas de classe s\u00e3o ambas ferramentas importantes no desenvolvimento de software, mas servem a prop\u00f3sitos diferentes e representam aspectos distintos do design do sistema.<\/p>\n<p>Os DERs s\u00e3o usados para representar entidades de dados e suas rela\u00e7\u00f5es de forma visual, e s\u00e3o tipicamente utilizados nas fases iniciais do processo de desenvolvimento de software para modelar o esquema de dados. Os DERs mostram os diferentes tipos de entidades e como elas se relacionam umas com as outras, e tamb\u00e9m podem incluir informa\u00e7\u00f5es sobre atributos, chaves prim\u00e1rias e estrangeiras, e cardinalidade.<\/p>\n<p>Por outro lado, os diagramas de classe representam as classes e objetos em um sistema orientado a objetos, e s\u00e3o usados para modelar o comportamento e a estrutura dos componentes de software. Os diagramas de classe mostram as rela\u00e7\u00f5es entre classes, seus m\u00e9todos e atributos, e a hierarquia de heran\u00e7a. Eles s\u00e3o tipicamente utilizados nas fases finais do processo de desenvolvimento de software, ap\u00f3s o esquema de dados ter sido definido e implementado.<\/p>\n<p>Ent\u00e3o, por que precisamos tanto de DERs quanto de diagramas de classe no desenvolvimento de software? A principal raz\u00e3o \u00e9 que eles representam aspectos diferentes do design do sistema e s\u00e3o complementares um ao outro. Os DERs ajudam no design do esquema de dados e na defini\u00e7\u00e3o das rela\u00e7\u00f5es entre entidades, o que \u00e9 importante para armazenamento e recupera\u00e7\u00e3o de dados. Os diagramas de classe ajudam no design dos componentes de software e na defini\u00e7\u00e3o de seu comportamento, o que \u00e9 importante para implementar a l\u00f3gica de neg\u00f3cios e as interfaces de usu\u00e1rio.<\/p>\n<p>Ao usar tanto DERs quanto diagramas de classe, podemos criar um design de sistema mais completo e bem estruturado que leva em conta tanto os dados quanto os componentes de software. Os DERs fornecem a base para o esquema de banco de dados e armazenamento de dados, enquanto os diagramas de classe fornecem a base para os componentes de software e suas intera\u00e7\u00f5es. Isso pode ajudar na cria\u00e7\u00e3o de sistemas de software que sejam escal\u00e1veis, mant\u00edveis e eficientes, al\u00e9m de mais f\u00e1ceis de entender e modificar ao longo do tempo.<\/p>\n<h2>Diagrama de Relacionamento de Entidades vs Diagrama de Classe<\/h2>\n<p>Os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, que \u00e9 frequentemente a camada de modelo na arquitetura Model-View-Controller (MVC). O prop\u00f3sito de um DER \u00e9 fornecer uma representa\u00e7\u00e3o visual do esquema de dados e suas rela\u00e7\u00f5es, que pode ser usada como base para implementar o modelo de dados em um banco de dados ou outro sistema de armazenamento.<\/p>\n<p>Por outro lado, os diagramas de classe s\u00e3o mais abrangentes em sua cobertura da arquitetura do sistema, pois representam as classes e objetos em todas as tr\u00eas camadas da arquitetura MVC. Al\u00e9m de representar a camada de modelo de dados, os diagramas de classe tamb\u00e9m podem representar a l\u00f3gica e o comportamento do sistema na camada de controlador, bem como a interface do usu\u00e1rio e as intera\u00e7\u00f5es na camada de visualiza\u00e7\u00e3o. Ao representar todas as tr\u00eas camadas da arquitetura do sistema, os diagramas de classe podem ajudar a garantir que o sistema seja bem projetado e bem integrado, e que os v\u00e1rios componentes funcionem de forma eficaz em conjunto.<\/p>\n<p>Em resumo, os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, enquanto os diagramas de classe cobrem todas as tr\u00eas camadas da arquitetura MVC. Os diagramas de classe fornecem uma vis\u00e3o mais abrangente da arquitetura do sistema e podem ajudar a garantir que os componentes do sistema funcionem de forma eficaz em conjunto.<\/p>\n<h2>Descri\u00e7\u00e3o do Problema \u2013 Livraria<\/h2>\n<p>Queremos desenvolver um sistema para gerenciar o estoque de uma pequena livraria. O sistema deve acompanhar os livros em estoque, seus autores e o n\u00famero de c\u00f3pias dispon\u00edveis. Os clientes podem comprar livros, e o sistema deve atualizar o estoque de acordo.<\/p>\n<h3>Desenvolver o DER para o Sistema da Livraria<\/h3>\n<p>Neste DER, temos quatro entidades: <code>Livro<\/code>, <code>Estoque<\/code>, <code>Cliente<\/code>, e <code>Compra<\/code>. A entidade <code>Livro<\/code> representa os livros no estoque e seus autores. A <code>Estoque<\/code> A entidade mant\u00e9m o controle do n\u00famero de c\u00f3pias de cada livro dispon\u00edvel. A <code>Cliente<\/code> entidade representa os clientes da livraria, e a <code>Compra<\/code> entidade mant\u00e9m o controle dos livros comprados por cada cliente.<\/p>\n<p>As rela\u00e7\u00f5es entre as entidades s\u00e3o representadas pelas linhas que as conectam. Temos uma rela\u00e7\u00e3o um-para-muitos entre <code>Livro<\/code> e <code>Estoque<\/code> (ou seja, um livro pode ter m\u00faltiplas c\u00f3pias no estoque), uma rela\u00e7\u00e3o muitos-para-um entre <code>Compra<\/code> e <code>Cliente<\/code> (ou seja, um cliente pode fazer m\u00faltiplas compras), e uma rela\u00e7\u00e3o muitos-para-um entre <code>Compra<\/code> e <code>Livro<\/code> (ou seja, um livro pode ser comprado m\u00faltiplas vezes).<\/p>\n<h3>Desenvolva o DER<\/h3>\n<p><img fetchpriority=\"high\" alt=\"DER L\u00f3gico do Sistema de Livraria\" class=\"alignnone size-full wp-image-1043\" decoding=\"async\" fetchpriority=\"high\" height=\"328\" src=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/03\/bookstore-system-logical-erd.png\" width=\"562\"\/><\/p>\n<h2>Desenvolva o Diagrama de Classes com base no DER L\u00f3gico<\/h2>\n<p>Neste diagrama de classes, temos quatro classes: <code>Livro<\/code>, <code>Estoque<\/code>, <code>Cliente<\/code>, e <code>Compra<\/code>. Os atributos de cada classe s\u00e3o representados como vari\u00e1veis privadas. Temos as mesmas rela\u00e7\u00f5es que no DER, mas elas s\u00e3o representadas de forma diferente. Temos uma rela\u00e7\u00e3o um-para-muitos entre <code>Livro<\/code> e <code>Estoque<\/code>, que \u00e9 representado por uma linha com uma seta apontando de <code>Livro<\/code> para <code>Estoque<\/code> e o n\u00famero <code>1<\/code> pr\u00f3ximo ao <code>Livro<\/code> classe e <code>0..*<\/code> pr\u00f3ximo ao <code>Estoque<\/code> classe. Temos um relacionamento um-para-muitos entre <code>Cliente<\/code> e <code>Compra<\/code> e entre <code>Livro<\/code> e<code>Compra<\/code>, que s\u00e3o representados por linhas com setas apontando de <code>Compra<\/code> para <code>Cliente<\/code> e <code>Livro<\/code>, respectivamente.<\/p>\n<p>Ao utilizar modelagem de dados e derivar um diagrama de classes, podemos criar um sistema de software robusto e mant\u00edvel para gerenciar o estoque de uma pequena livraria.<\/p>\n<p><img alt=\"Diagrama de Classes do Sistema de Livraria\" class=\"alignnone size-full wp-image-1041\" decoding=\"async\" height=\"295\" src=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/03\/bookstore-system-class-diagram.png\" width=\"546\"\/><\/p>\n<h2>Desenvolva o ERF F\u00edsico refinando o ERF L\u00f3gico<\/h2>\n<p>Neste ERF F\u00edsico, utilizamos a sintaxe de diagrama de classes para representar as tabelas do banco de dados. Definimos um<code>Tabela<\/code> macro que recebe um nome e uma descri\u00e7\u00e3o como argumentos e formata a classe de acordo. Tamb\u00e9m definimos<code>PrimaryKey<\/code> e <code>ForeignKey<\/code> macros para formatar os atributos de chave prim\u00e1ria e chave estrangeira, respectivamente.<\/p>\n<p>Criamos quatro tabelas:<code>Livro<\/code>, <code>Estoque<\/code>, <code>Cliente<\/code>, e <code>Compra<\/code>, cada uma com seus atributos. Utilizamos as<code>[PK]<\/code> e <code>[FK]<\/code> anota\u00e7\u00f5es para indicar os atributos de chave prim\u00e1ria e chave estrangeira, respectivamente. Tamb\u00e9m utilizamos o<code>--|&gt;<\/code> seta para indicar os relacionamentos entre as tabelas.<\/p>\n<p>Ao utilizar um ERF F\u00edsico, podemos visualizar o esquema do banco de dados e seus relacionamentos, o que pode ser \u00fatil para o projeto e a otimiza\u00e7\u00e3o do banco de dados.<\/p>\n<p><img alt=\"DER F\u00edsico do Sistema de Livraria\" class=\"alignnone size-full wp-image-1042\" decoding=\"async\" height=\"278\" src=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/03\/bookstore-system-physical-erd.png\" width=\"508\"\/><\/p>\n<h2 id=\"TPbZUmh\">Escreva SQL para Criar o Banco de Dados com Base no ERF F\u00edsico<\/h2>\n<p>Este esquema inclui quatro tabelas com seus atributos e relacionamentos, seguindo a sintaxe da linguagem SQL. Utilizamos o<code>CREATE TABLE<\/code> para definir cada tabela e especificar os atributos, juntamente com seus tipos de dados e restri\u00e7\u00f5es, como <code>PRIMARY KEY<\/code> e <code>CHAVE ESTRANGEIRA<\/code>. Tamb\u00e9m utilizamos a <code>REFER\u00caNCIAS<\/code> palavra-chave para indicar os relacionamentos entre as tabelas.<\/p>\n<p>(<strong>*Captura de tela do Visual Paradigm \u2013 Gerar Bancos de Dados a partir de DER<\/strong>)<\/p>\n<p><img alt=\"Ferramenta de Diagrama ER (DER)\" decoding=\"async\" src=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/03\/erd-table-record-editor.png\"\/><\/p>\n<p>Este esquema pode ser usado para criar uma inst\u00e2ncia f\u00edsica de banco de dados, onde os dados podem ser armazenados e recuperados de acordo com o esquema definido.<\/p>\n<blockquote>\n<p>CREATE TABLE Livro (<br \/>\nISBN VARCHAR(255) PRIMARY KEY,<br \/>\ntitulo VARCHAR(255),<br \/>\nautor VARCHAR(255)<br \/>\n);<\/p>\n<p>CREATE TABLE Estoque (<br \/>\nISBN VARCHAR(255) PRIMARY KEY REFERENCES Livro(ISBN),<br \/>\nnumCopias INT<br \/>\n);<\/p>\n<p>CREATE TABLE Cliente (<br \/>\nid INT PRIMARY KEY,<br \/>\nnome VARCHAR(255),<br \/>\nemail VARCHAR(255)<br \/>\n);<\/p>\n<p>CREATE TABLE Compra (<br \/>\nid INT PRIMARY KEY,<br \/>\ncustomerId INT REFERENCES Cliente(id),<br \/>\nISBN VARCHAR(255) REFERENCES Livro(ISBN),<br \/>\ndata DATE<br \/>\n);<\/p>\n<\/blockquote>\n<h2>Uma Abordagem Alternativa para Modelagem de Dados: Mapeamento Objeto-Relacional<\/h2>\n<p>ORM (Mapeamento Objeto-Relacional) \u00e9 um meio alternativo de modelagem de dados que permite aos desenvolvedores interagir com um banco de dados relacional usando uma linguagem de programa\u00e7\u00e3o orientada a objetos, sem precisar escrever consultas SQL complexas. Em outras palavras, o ORM fornece uma maneira de mapear entre o modelo de dados relacional de um banco de dados e o modelo de dados orientado a objetos de uma linguagem de programa\u00e7\u00e3o.<\/p>\n<p>Frameworks ORM como Hibernate, Django ORM e Sequelize fornecem um conjunto de ferramentas e APIs que simplificam o processo de trabalho com bancos de dados, permitindo que os desenvolvedores trabalhem com objetos em vez de tabelas e linhas. Os frameworks ORM oferecem uma maneira de definir classes de objetos que representam entidades do banco de dados e de mapear os atributos dessas classes para as colunas correspondentes do banco de dados. Eles tamb\u00e9m fornecem uma maneira de consultar o banco de dados usando sintaxe orientada a objetos, o que pode tornar o c\u00f3digo mais leg\u00edvel e mais f\u00e1cil de manter.<\/p>\n<p><img loading=\"lazy\" alt=\"Exemplo de Mapeamento Objeto-Relacional (ORM)\" class=\"alignnone size-full wp-image-1040\" decoding=\"async\" height=\"615\" loading=\"lazy\" src=\"https:\/\/guides.visual-paradigm.com\/wp-content\/uploads\/2023\/03\/object-relational-mapping-orm-example.png\" width=\"762\"\/><\/p>\n<p>O uso de ORM pode simplificar o processo de modelagem de dados ao abstrair muitas das complexidades dos bancos de dados relacionais e ao fornecer uma maneira mais natural de interagir com dados em uma linguagem de programa\u00e7\u00e3o orientada a objetos. O ORM tamb\u00e9m pode facilitar a altern\u00e2ncia entre diferentes bancos de dados ou sistemas de banco de dados, pois o framework ORM gerencia a maior parte dos detalhes espec\u00edficos do banco de dados subjacentes.<\/p>\n<p>No entanto, \u00e9 importante observar que o ORM nem sempre \u00e9 a melhor solu\u00e7\u00e3o para todas as situa\u00e7\u00f5es. Pode haver compensa\u00e7\u00f5es de desempenho e escalabilidade associadas ao ORM, e ele pode n\u00e3o ser adequado para certos tipos de aplica\u00e7\u00f5es ou modelos de dados. Em \u00faltima an\u00e1lise, a escolha entre usar ORM ou t\u00e9cnicas tradicionais de modelagem de dados depender\u00e1 dos requisitos espec\u00edficos do projeto e da experi\u00eancia e das prefer\u00eancias da equipe de desenvolvimento.<\/p>\n<h2>Conclus\u00e3o<\/h2>\n<p>A modelagem de dados \u00e9 uma etapa crucial no design orientado a objetos, pois permite representar os dados e as rela\u00e7\u00f5es entre entidades de maneira estruturada. Ao usar ferramentas como Diagramas Entidade-Relacionamento (DER) e diagramas de classes, podemos visualizar o esquema de dados e suas rela\u00e7\u00f5es, o que pode ajudar no design de sistemas de software eficientes e de f\u00e1cil manuten\u00e7\u00e3o.<\/p>\n<p>Neste artigo, demonstramos como criar um DER f\u00edsico e derivar um diagrama de classe a partir dele. Tamb\u00e9m geramos um esquema de banco de dados com base no DER f\u00edsico, que pode ser usado para criar uma inst\u00e2ncia de banco de dados f\u00edsica. Seguindo esses passos, podemos criar um esquema de banco de dados bem estruturado que representa as entidades de dados e suas rela\u00e7\u00f5es de maneira clara e concisa.<\/p>\n<p>Em geral, a modelagem de dados \u00e9 um aspecto importante do desenvolvimento de software e, ao usar ferramentas como DERs e diagramas de classes, podemos projetar sistemas melhores que s\u00e3o mais f\u00e1ceis de entender, manter e evoluir ao longo do tempo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Modelagem de Dados e Design Orientado a Objetos Modelagem de dadose o design orientado a objetos s\u00e3o dois componentes essenciais da engenharia de software. Enquanto a modelagem de dados visa representar dados e rela\u00e7\u00f5es entre entidades, o design orientado a objetos foca na cria\u00e7\u00e3o de objetos de software que encapsulam dados e comportamento. A rela\u00e7\u00e3o entre esses dois conceitos \u00e9 crucial na constru\u00e7\u00e3o de sistemas de software robustos e mant\u00edveis. Neste artigo, exploraremos por que a modelagem de dados \u00e9 \u00fatil para o design orientado a objetos, como entidades e diagramas de entidade-relacionamento (DERs) se relacionam com objetos em diagramas de classe, e como a modelagem de dados pode ajudar a desenvolver seu diagrama de classe. Os Pap\u00e9is Complementares dos DERs e Diagramas de Classe no Desenvolvimento de Software Diagramas de Entidade-Relacionamento (DERs) e diagramas de classe s\u00e3o ambas ferramentas importantes no desenvolvimento de software, mas servem a prop\u00f3sitos diferentes e representam aspectos distintos do design do sistema. Os DERs s\u00e3o usados para representar entidades de dados e suas rela\u00e7\u00f5es de forma visual, e s\u00e3o tipicamente utilizados nas fases iniciais do processo de desenvolvimento de software para modelar o esquema de dados. Os DERs mostram os diferentes tipos de entidades e como elas se relacionam umas com as outras, e tamb\u00e9m podem incluir informa\u00e7\u00f5es sobre atributos, chaves prim\u00e1rias e estrangeiras, e cardinalidade. Por outro lado, os diagramas de classe representam as classes e objetos em um sistema orientado a objetos, e s\u00e3o usados para modelar o comportamento e a estrutura dos componentes de software. Os diagramas de classe mostram as rela\u00e7\u00f5es entre classes, seus m\u00e9todos e atributos, e a hierarquia de heran\u00e7a. Eles s\u00e3o tipicamente utilizados nas fases finais do processo de desenvolvimento de software, ap\u00f3s o esquema de dados ter sido definido e implementado. Ent\u00e3o, por que precisamos tanto de DERs quanto de diagramas de classe no desenvolvimento de software? A principal raz\u00e3o \u00e9 que eles representam aspectos diferentes do design do sistema e s\u00e3o complementares um ao outro. Os DERs ajudam no design do esquema de dados e na defini\u00e7\u00e3o das rela\u00e7\u00f5es entre entidades, o que \u00e9 importante para armazenamento e recupera\u00e7\u00e3o de dados. Os diagramas de classe ajudam no design dos componentes de software e na defini\u00e7\u00e3o de seu comportamento, o que \u00e9 importante para implementar a l\u00f3gica de neg\u00f3cios e as interfaces de usu\u00e1rio. Ao usar tanto DERs quanto diagramas de classe, podemos criar um design de sistema mais completo e bem estruturado que leva em conta tanto os dados quanto os componentes de software. Os DERs fornecem a base para o esquema de banco de dados e armazenamento de dados, enquanto os diagramas de classe fornecem a base para os componentes de software e suas intera\u00e7\u00f5es. Isso pode ajudar na cria\u00e7\u00e3o de sistemas de software que sejam escal\u00e1veis, mant\u00edveis e eficientes, al\u00e9m de mais f\u00e1ceis de entender e modificar ao longo do tempo. Diagrama de Relacionamento de Entidades vs Diagrama de Classe Os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, que \u00e9 frequentemente a camada de modelo na arquitetura Model-View-Controller (MVC). O prop\u00f3sito de um DER \u00e9 fornecer uma representa\u00e7\u00e3o visual do esquema de dados e suas rela\u00e7\u00f5es, que pode ser usada como base para implementar o modelo de dados em um banco de dados ou outro sistema de armazenamento. Por outro lado, os diagramas de classe s\u00e3o mais abrangentes em sua cobertura da arquitetura do sistema, pois representam as classes e objetos em todas as tr\u00eas camadas da arquitetura MVC. Al\u00e9m de representar a camada de modelo de dados, os diagramas de classe tamb\u00e9m podem representar a l\u00f3gica e o comportamento do sistema na camada de controlador, bem como a interface do usu\u00e1rio e as intera\u00e7\u00f5es na camada de visualiza\u00e7\u00e3o. Ao representar todas as tr\u00eas camadas da arquitetura do sistema, os diagramas de classe podem ajudar a garantir que o sistema seja bem projetado e bem integrado, e que os v\u00e1rios componentes funcionem de forma eficaz em conjunto. Em resumo, os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, enquanto os diagramas de classe cobrem todas as tr\u00eas camadas da arquitetura MVC. Os diagramas de classe fornecem uma vis\u00e3o mais abrangente da arquitetura do sistema e podem ajudar a garantir que os componentes do sistema funcionem de forma eficaz em conjunto. Descri\u00e7\u00e3o do Problema \u2013 Livraria Queremos desenvolver um sistema para gerenciar o estoque de uma pequena livraria. O sistema deve acompanhar os livros em estoque, seus autores e o n\u00famero de c\u00f3pias dispon\u00edveis. Os clientes podem comprar livros, e o sistema deve atualizar o estoque de acordo. Desenvolver o DER para o Sistema da Livraria Neste DER, temos quatro entidades: Livro, Estoque, Cliente, e Compra. A entidade Livro representa os livros no estoque e seus autores. A Estoque A entidade mant\u00e9m o controle do n\u00famero de c\u00f3pias de cada livro dispon\u00edvel. A Cliente entidade representa os clientes da livraria, e a Compra entidade mant\u00e9m o controle dos livros comprados por cada cliente. As rela\u00e7\u00f5es entre as entidades s\u00e3o representadas pelas linhas que as conectam. Temos uma rela\u00e7\u00e3o um-para-muitos entre Livro e Estoque (ou seja, um livro pode ter m\u00faltiplas c\u00f3pias no estoque), uma rela\u00e7\u00e3o muitos-para-um entre Compra e Cliente (ou seja, um cliente pode fazer m\u00faltiplas compras), e uma rela\u00e7\u00e3o muitos-para-um entre Compra e Livro (ou seja, um livro pode ser comprado m\u00faltiplas vezes). Desenvolva o DER Desenvolva o Diagrama de Classes com base no DER L\u00f3gico Neste diagrama de classes, temos quatro classes: Livro, Estoque, Cliente, e Compra. Os atributos de cada classe s\u00e3o representados como vari\u00e1veis privadas. Temos as mesmas rela\u00e7\u00f5es que no DER, mas elas s\u00e3o representadas de forma diferente. Temos uma rela\u00e7\u00e3o um-para-muitos entre Livro e Estoque, que \u00e9 representado por uma linha com uma seta apontando de Livro para Estoque e o n\u00famero 1 pr\u00f3ximo ao Livro classe e 0..* pr\u00f3ximo ao Estoque classe. Temos um relacionamento um-para-muitos entre Cliente e Compra e entre Livro eCompra, que s\u00e3o representados por linhas com setas apontando<a href=\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":7059,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_uag_custom_page_level_css":"","_eb_attr":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","fifu_image_url":"","fifu_image_alt":"","source_url":"","vp_image_hash":"","footnotes":""},"categories":[17],"tags":[],"class_list":["post-7058","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-modeling-database"],"source_url":"","fifu_image_url":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5) - Visual Paradigm Guides Portuguese<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5) - Visual Paradigm Guides Portuguese\" \/>\n<meta property=\"og:description\" content=\"Modelagem de Dados e Design Orientado a Objetos Modelagem de dadose o design orientado a objetos s\u00e3o dois componentes essenciais da engenharia de software. Enquanto a modelagem de dados visa representar dados e rela\u00e7\u00f5es entre entidades, o design orientado a objetos foca na cria\u00e7\u00e3o de objetos de software que encapsulam dados e comportamento. A rela\u00e7\u00e3o entre esses dois conceitos \u00e9 crucial na constru\u00e7\u00e3o de sistemas de software robustos e mant\u00edveis. Neste artigo, exploraremos por que a modelagem de dados \u00e9 \u00fatil para o design orientado a objetos, como entidades e diagramas de entidade-relacionamento (DERs) se relacionam com objetos em diagramas de classe, e como a modelagem de dados pode ajudar a desenvolver seu diagrama de classe. Os Pap\u00e9is Complementares dos DERs e Diagramas de Classe no Desenvolvimento de Software Diagramas de Entidade-Relacionamento (DERs) e diagramas de classe s\u00e3o ambas ferramentas importantes no desenvolvimento de software, mas servem a prop\u00f3sitos diferentes e representam aspectos distintos do design do sistema. Os DERs s\u00e3o usados para representar entidades de dados e suas rela\u00e7\u00f5es de forma visual, e s\u00e3o tipicamente utilizados nas fases iniciais do processo de desenvolvimento de software para modelar o esquema de dados. Os DERs mostram os diferentes tipos de entidades e como elas se relacionam umas com as outras, e tamb\u00e9m podem incluir informa\u00e7\u00f5es sobre atributos, chaves prim\u00e1rias e estrangeiras, e cardinalidade. Por outro lado, os diagramas de classe representam as classes e objetos em um sistema orientado a objetos, e s\u00e3o usados para modelar o comportamento e a estrutura dos componentes de software. Os diagramas de classe mostram as rela\u00e7\u00f5es entre classes, seus m\u00e9todos e atributos, e a hierarquia de heran\u00e7a. Eles s\u00e3o tipicamente utilizados nas fases finais do processo de desenvolvimento de software, ap\u00f3s o esquema de dados ter sido definido e implementado. Ent\u00e3o, por que precisamos tanto de DERs quanto de diagramas de classe no desenvolvimento de software? A principal raz\u00e3o \u00e9 que eles representam aspectos diferentes do design do sistema e s\u00e3o complementares um ao outro. Os DERs ajudam no design do esquema de dados e na defini\u00e7\u00e3o das rela\u00e7\u00f5es entre entidades, o que \u00e9 importante para armazenamento e recupera\u00e7\u00e3o de dados. Os diagramas de classe ajudam no design dos componentes de software e na defini\u00e7\u00e3o de seu comportamento, o que \u00e9 importante para implementar a l\u00f3gica de neg\u00f3cios e as interfaces de usu\u00e1rio. Ao usar tanto DERs quanto diagramas de classe, podemos criar um design de sistema mais completo e bem estruturado que leva em conta tanto os dados quanto os componentes de software. Os DERs fornecem a base para o esquema de banco de dados e armazenamento de dados, enquanto os diagramas de classe fornecem a base para os componentes de software e suas intera\u00e7\u00f5es. Isso pode ajudar na cria\u00e7\u00e3o de sistemas de software que sejam escal\u00e1veis, mant\u00edveis e eficientes, al\u00e9m de mais f\u00e1ceis de entender e modificar ao longo do tempo. Diagrama de Relacionamento de Entidades vs Diagrama de Classe Os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, que \u00e9 frequentemente a camada de modelo na arquitetura Model-View-Controller (MVC). O prop\u00f3sito de um DER \u00e9 fornecer uma representa\u00e7\u00e3o visual do esquema de dados e suas rela\u00e7\u00f5es, que pode ser usada como base para implementar o modelo de dados em um banco de dados ou outro sistema de armazenamento. Por outro lado, os diagramas de classe s\u00e3o mais abrangentes em sua cobertura da arquitetura do sistema, pois representam as classes e objetos em todas as tr\u00eas camadas da arquitetura MVC. Al\u00e9m de representar a camada de modelo de dados, os diagramas de classe tamb\u00e9m podem representar a l\u00f3gica e o comportamento do sistema na camada de controlador, bem como a interface do usu\u00e1rio e as intera\u00e7\u00f5es na camada de visualiza\u00e7\u00e3o. Ao representar todas as tr\u00eas camadas da arquitetura do sistema, os diagramas de classe podem ajudar a garantir que o sistema seja bem projetado e bem integrado, e que os v\u00e1rios componentes funcionem de forma eficaz em conjunto. Em resumo, os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, enquanto os diagramas de classe cobrem todas as tr\u00eas camadas da arquitetura MVC. Os diagramas de classe fornecem uma vis\u00e3o mais abrangente da arquitetura do sistema e podem ajudar a garantir que os componentes do sistema funcionem de forma eficaz em conjunto. Descri\u00e7\u00e3o do Problema \u2013 Livraria Queremos desenvolver um sistema para gerenciar o estoque de uma pequena livraria. O sistema deve acompanhar os livros em estoque, seus autores e o n\u00famero de c\u00f3pias dispon\u00edveis. Os clientes podem comprar livros, e o sistema deve atualizar o estoque de acordo. Desenvolver o DER para o Sistema da Livraria Neste DER, temos quatro entidades: Livro, Estoque, Cliente, e Compra. A entidade Livro representa os livros no estoque e seus autores. A Estoque A entidade mant\u00e9m o controle do n\u00famero de c\u00f3pias de cada livro dispon\u00edvel. A Cliente entidade representa os clientes da livraria, e a Compra entidade mant\u00e9m o controle dos livros comprados por cada cliente. As rela\u00e7\u00f5es entre as entidades s\u00e3o representadas pelas linhas que as conectam. Temos uma rela\u00e7\u00e3o um-para-muitos entre Livro e Estoque (ou seja, um livro pode ter m\u00faltiplas c\u00f3pias no estoque), uma rela\u00e7\u00e3o muitos-para-um entre Compra e Cliente (ou seja, um cliente pode fazer m\u00faltiplas compras), e uma rela\u00e7\u00e3o muitos-para-um entre Compra e Livro (ou seja, um livro pode ser comprado m\u00faltiplas vezes). Desenvolva o DER Desenvolva o Diagrama de Classes com base no DER L\u00f3gico Neste diagrama de classes, temos quatro classes: Livro, Estoque, Cliente, e Compra. Os atributos de cada classe s\u00e3o representados como vari\u00e1veis privadas. Temos as mesmas rela\u00e7\u00f5es que no DER, mas elas s\u00e3o representadas de forma diferente. Temos uma rela\u00e7\u00e3o um-para-muitos entre Livro e Estoque, que \u00e9 representado por uma linha com uma seta apontando de Livro para Estoque e o n\u00famero 1 pr\u00f3ximo ao Livro classe e 0..* pr\u00f3ximo ao Estoque classe. Temos um relacionamento um-para-muitos entre Cliente e Compra e entre Livro eCompra, que s\u00e3o representados por linhas com setas apontandoDominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Guides Portuguese\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-15T02:06:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-22T08:43:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1170\" \/>\n\t<meta property=\"og:image:height\" content=\"658\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\"},\"headline\":\"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)\",\"datePublished\":\"2023-03-15T02:06:01+00:00\",\"dateModified\":\"2023-03-22T08:43:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\"},\"wordCount\":1915,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png\",\"articleSection\":[\"Data Modeling \/ Database\"],\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\",\"url\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\",\"name\":\"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5) - Visual Paradigm Guides Portuguese\",\"isPartOf\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png\",\"datePublished\":\"2023-03-15T02:06:01+00:00\",\"dateModified\":\"2023-03-22T08:43:25+00:00\",\"author\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/#\/schema\/person\/292e97a06c90d6d605ddfd451bfdfe6f\"},\"breadcrumb\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage\",\"url\":\"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png\",\"contentUrl\":\"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png\",\"width\":1170,\"height\":658},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/guides.visual-paradigm.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Modeling \/ Database\",\"item\":\"https:\/\/guides.visual-paradigm.com\/pt\/category\/data-modeling-database\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/pt\/#website\",\"url\":\"https:\/\/guides.visual-paradigm.com\/pt\/\",\"name\":\"Visual Paradigm Guides Portuguese\",\"description\":\"Smart guides for an AI-driven world\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/guides.visual-paradigm.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5) - Visual Paradigm Guides Portuguese","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/","og_locale":"pt_PT","og_type":"article","og_title":"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5) - Visual Paradigm Guides Portuguese","og_description":"Modelagem de Dados e Design Orientado a Objetos Modelagem de dadose o design orientado a objetos s\u00e3o dois componentes essenciais da engenharia de software. Enquanto a modelagem de dados visa representar dados e rela\u00e7\u00f5es entre entidades, o design orientado a objetos foca na cria\u00e7\u00e3o de objetos de software que encapsulam dados e comportamento. A rela\u00e7\u00e3o entre esses dois conceitos \u00e9 crucial na constru\u00e7\u00e3o de sistemas de software robustos e mant\u00edveis. Neste artigo, exploraremos por que a modelagem de dados \u00e9 \u00fatil para o design orientado a objetos, como entidades e diagramas de entidade-relacionamento (DERs) se relacionam com objetos em diagramas de classe, e como a modelagem de dados pode ajudar a desenvolver seu diagrama de classe. Os Pap\u00e9is Complementares dos DERs e Diagramas de Classe no Desenvolvimento de Software Diagramas de Entidade-Relacionamento (DERs) e diagramas de classe s\u00e3o ambas ferramentas importantes no desenvolvimento de software, mas servem a prop\u00f3sitos diferentes e representam aspectos distintos do design do sistema. Os DERs s\u00e3o usados para representar entidades de dados e suas rela\u00e7\u00f5es de forma visual, e s\u00e3o tipicamente utilizados nas fases iniciais do processo de desenvolvimento de software para modelar o esquema de dados. Os DERs mostram os diferentes tipos de entidades e como elas se relacionam umas com as outras, e tamb\u00e9m podem incluir informa\u00e7\u00f5es sobre atributos, chaves prim\u00e1rias e estrangeiras, e cardinalidade. Por outro lado, os diagramas de classe representam as classes e objetos em um sistema orientado a objetos, e s\u00e3o usados para modelar o comportamento e a estrutura dos componentes de software. Os diagramas de classe mostram as rela\u00e7\u00f5es entre classes, seus m\u00e9todos e atributos, e a hierarquia de heran\u00e7a. Eles s\u00e3o tipicamente utilizados nas fases finais do processo de desenvolvimento de software, ap\u00f3s o esquema de dados ter sido definido e implementado. Ent\u00e3o, por que precisamos tanto de DERs quanto de diagramas de classe no desenvolvimento de software? A principal raz\u00e3o \u00e9 que eles representam aspectos diferentes do design do sistema e s\u00e3o complementares um ao outro. Os DERs ajudam no design do esquema de dados e na defini\u00e7\u00e3o das rela\u00e7\u00f5es entre entidades, o que \u00e9 importante para armazenamento e recupera\u00e7\u00e3o de dados. Os diagramas de classe ajudam no design dos componentes de software e na defini\u00e7\u00e3o de seu comportamento, o que \u00e9 importante para implementar a l\u00f3gica de neg\u00f3cios e as interfaces de usu\u00e1rio. Ao usar tanto DERs quanto diagramas de classe, podemos criar um design de sistema mais completo e bem estruturado que leva em conta tanto os dados quanto os componentes de software. Os DERs fornecem a base para o esquema de banco de dados e armazenamento de dados, enquanto os diagramas de classe fornecem a base para os componentes de software e suas intera\u00e7\u00f5es. Isso pode ajudar na cria\u00e7\u00e3o de sistemas de software que sejam escal\u00e1veis, mant\u00edveis e eficientes, al\u00e9m de mais f\u00e1ceis de entender e modificar ao longo do tempo. Diagrama de Relacionamento de Entidades vs Diagrama de Classe Os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, que \u00e9 frequentemente a camada de modelo na arquitetura Model-View-Controller (MVC). O prop\u00f3sito de um DER \u00e9 fornecer uma representa\u00e7\u00e3o visual do esquema de dados e suas rela\u00e7\u00f5es, que pode ser usada como base para implementar o modelo de dados em um banco de dados ou outro sistema de armazenamento. Por outro lado, os diagramas de classe s\u00e3o mais abrangentes em sua cobertura da arquitetura do sistema, pois representam as classes e objetos em todas as tr\u00eas camadas da arquitetura MVC. Al\u00e9m de representar a camada de modelo de dados, os diagramas de classe tamb\u00e9m podem representar a l\u00f3gica e o comportamento do sistema na camada de controlador, bem como a interface do usu\u00e1rio e as intera\u00e7\u00f5es na camada de visualiza\u00e7\u00e3o. Ao representar todas as tr\u00eas camadas da arquitetura do sistema, os diagramas de classe podem ajudar a garantir que o sistema seja bem projetado e bem integrado, e que os v\u00e1rios componentes funcionem de forma eficaz em conjunto. Em resumo, os DERs concentram-se principalmente na camada de modelo de dados de um sistema de software, enquanto os diagramas de classe cobrem todas as tr\u00eas camadas da arquitetura MVC. Os diagramas de classe fornecem uma vis\u00e3o mais abrangente da arquitetura do sistema e podem ajudar a garantir que os componentes do sistema funcionem de forma eficaz em conjunto. Descri\u00e7\u00e3o do Problema \u2013 Livraria Queremos desenvolver um sistema para gerenciar o estoque de uma pequena livraria. O sistema deve acompanhar os livros em estoque, seus autores e o n\u00famero de c\u00f3pias dispon\u00edveis. Os clientes podem comprar livros, e o sistema deve atualizar o estoque de acordo. Desenvolver o DER para o Sistema da Livraria Neste DER, temos quatro entidades: Livro, Estoque, Cliente, e Compra. A entidade Livro representa os livros no estoque e seus autores. A Estoque A entidade mant\u00e9m o controle do n\u00famero de c\u00f3pias de cada livro dispon\u00edvel. A Cliente entidade representa os clientes da livraria, e a Compra entidade mant\u00e9m o controle dos livros comprados por cada cliente. As rela\u00e7\u00f5es entre as entidades s\u00e3o representadas pelas linhas que as conectam. Temos uma rela\u00e7\u00e3o um-para-muitos entre Livro e Estoque (ou seja, um livro pode ter m\u00faltiplas c\u00f3pias no estoque), uma rela\u00e7\u00e3o muitos-para-um entre Compra e Cliente (ou seja, um cliente pode fazer m\u00faltiplas compras), e uma rela\u00e7\u00e3o muitos-para-um entre Compra e Livro (ou seja, um livro pode ser comprado m\u00faltiplas vezes). Desenvolva o DER Desenvolva o Diagrama de Classes com base no DER L\u00f3gico Neste diagrama de classes, temos quatro classes: Livro, Estoque, Cliente, e Compra. Os atributos de cada classe s\u00e3o representados como vari\u00e1veis privadas. Temos as mesmas rela\u00e7\u00f5es que no DER, mas elas s\u00e3o representadas de forma diferente. Temos uma rela\u00e7\u00e3o um-para-muitos entre Livro e Estoque, que \u00e9 representado por uma linha com uma seta apontando de Livro para Estoque e o n\u00famero 1 pr\u00f3ximo ao Livro classe e 0..* pr\u00f3ximo ao Estoque classe. Temos um relacionamento um-para-muitos entre Cliente e Compra e entre Livro eCompra, que s\u00e3o representados por linhas com setas apontandoDominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)","og_url":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/","og_site_name":"Visual Paradigm Guides Portuguese","article_published_time":"2023-03-15T02:06:01+00:00","article_modified_time":"2023-03-22T08:43:25+00:00","og_image":[{"width":1170,"height":658,"url":"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"vpadmin","Tempo estimado de leitura":"9 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#article","isPartOf":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/"},"headline":"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)","datePublished":"2023-03-15T02:06:01+00:00","dateModified":"2023-03-22T08:43:25+00:00","mainEntityOfPage":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/"},"wordCount":1915,"commentCount":0,"image":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage"},"thumbnailUrl":"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png","articleSection":["Data Modeling \/ Database"],"inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/","url":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/","name":"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5) - Visual Paradigm Guides Portuguese","isPartOf":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage"},"image":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage"},"thumbnailUrl":"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png","datePublished":"2023-03-15T02:06:01+00:00","dateModified":"2023-03-22T08:43:25+00:00","author":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/#\/schema\/person\/292e97a06c90d6d605ddfd451bfdfe6f"},"breadcrumb":{"@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#primaryimage","url":"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png","contentUrl":"https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png","width":1170,"height":658},{"@type":"BreadcrumbList","@id":"https:\/\/guides.visual-paradigm.com\/pt\/mastering-er-modeling-a-step-by-step-guide-with-real-world-examples-part-4-of-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/guides.visual-paradigm.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Data Modeling \/ Database","item":"https:\/\/guides.visual-paradigm.com\/pt\/category\/data-modeling-database\/"},{"@type":"ListItem","position":3,"name":"Dominando o Modelagem ER: Um Guia Passo a Passo com Exemplos do Mundo Real (Parte 4 de 5)"}]},{"@type":"WebSite","@id":"https:\/\/guides.visual-paradigm.com\/pt\/#website","url":"https:\/\/guides.visual-paradigm.com\/pt\/","name":"Visual Paradigm Guides Portuguese","description":"Smart guides for an AI-driven world","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/guides.visual-paradigm.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"}]}},"uagb_featured_image_src":{"full":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png",1170,658,false],"thumbnail":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1-150x150.png",150,150,true],"medium":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1-300x169.png",300,169,true],"medium_large":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1-768x432.png",768,432,true],"large":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1-1024x576.png",1024,576,true],"1536x1536":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png",1170,658,false],"2048x2048":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1.png",1170,658,false],"neve-blog":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1-930x620.png",930,620,true],"yarpp-thumbnail":["https:\/\/guides.visual-paradigm.com\/pt\/wp-content\/uploads\/sites\/8\/2023\/03\/img_641126c92c175-1-120x120.png",120,120,true]},"uagb_author_info":{"display_name":"vpadmin","author_link":"https:\/\/guides.visual-paradigm.com\/pt\/author\/vpadmin\/"},"uagb_comment_info":0,"uagb_excerpt":"Modelagem de Dados e Design Orientado a Objetos Modelagem de dadose o design orientado a objetos s\u00e3o dois componentes essenciais da engenharia de software. Enquanto a modelagem de dados visa representar dados e rela\u00e7\u00f5es entre entidades, o design orientado a objetos foca na cria\u00e7\u00e3o de objetos de software que encapsulam dados e comportamento. A rela\u00e7\u00e3o&hellip;","_links":{"self":[{"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/posts\/7058","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/comments?post=7058"}],"version-history":[{"count":0,"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/posts\/7058\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/media\/7059"}],"wp:attachment":[{"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/media?parent=7058"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/categories?post=7058"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/pt\/wp-json\/wp\/v2\/tags?post=7058"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}