<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Flavio Francisco</title>
    <description>The latest articles on DEV Community by Flavio Francisco (@flaviofrancisco).</description>
    <link>https://dev.to/flaviofrancisco</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F800815%2F2035c7bb-2192-41db-8a94-367faae1bdb3.jpeg</url>
      <title>DEV Community: Flavio Francisco</title>
      <link>https://dev.to/flaviofrancisco</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/flaviofrancisco"/>
    <language>en</language>
    <item>
      <title>The AI Iceberg</title>
      <dc:creator>Flavio Francisco</dc:creator>
      <pubDate>Sat, 24 Oct 2026 12:01:39 +0000</pubDate>
      <link>https://dev.to/flaviofrancisco/the-ai-iceberg-1def</link>
      <guid>https://dev.to/flaviofrancisco/the-ai-iceberg-1def</guid>
      <description>&lt;p&gt;We see a lot of news about AI everywhere, and much of it can bring anxiety and uncertainty about the future. While nobody can predict exactly how far AI will go, think back to when the internet was first created—who could have imagined it would one day replace our home phones and completely change how we watch TV?&lt;/p&gt;

&lt;p&gt;But what is just hype, and what should we actually take seriously? That is exactly what I will explore in this article.&lt;/p&gt;

&lt;p&gt;First, let's look at the "AI iceberg" represented in the picture below, where I will try to break down each layer in a friendly, easy-to-understand way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxrddjcm6v1ppbfmz5jyb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fxrddjcm6v1ppbfmz5jyb.png" alt=" " width="800" height="1131"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;On the surface, it represents all the most well-known, user-friendly tools available on the market to use the power of LLMs (&lt;em&gt;Large Language Models&lt;/em&gt;), Agents, and image generation through prompts— but wait: What are prompts?&lt;/p&gt;

&lt;p&gt;Prompts are instructions that you can give to the AI to do a task, create an Agent (I will explain later what it is), create a skill, generate an image, summarize a text, or just correct spelling and grammar errors.&lt;/p&gt;

&lt;p&gt;For example, this is the prompt that I often use when I am writing emails or other texts, like this article:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;From now on, for any text I paste here in English, French, Dutch, or Brazilian Portuguese (just for this session), please fix any grammar and spelling mistakes. Keep in mind that my native language is Brazilian Portuguese. With as few changes as possible, adapt the text so it sounds natural in those specific cultures: US/Canadian for English, Metropolitan French for French, and Netherlandic Dutch for Dutch. Keep the original meaning and wording as close to mine as possible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To keep this text from getting too long, I'll stop diving into this ocean of an iceberg at the Agent level.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Agents
&lt;/h2&gt;

&lt;p&gt;Let's now dive a little bit below the surface, where some of those popular Generative AI tools use AI agents to perform more complex tasks. With the following image, I will explain in a nutshell what is what, without too much technical jargon or detail.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fegwp5ed55mujm7whwfle.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fegwp5ed55mujm7whwfle.png" alt=" " width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  LLM
&lt;/h3&gt;

&lt;p&gt;Why are they called Large Language Models? The word "large" refers specifically to the sheer number of parameters inside the AI's network—typically ranging from billions to trillions—which makes them massive compared to older language models.&lt;/p&gt;

&lt;p&gt;When we talk about "parameters," think of them like the billions of connections in a human brain. They allow the AI to learn how language works, using statistics to predict the next most likely word.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP (Tools)
&lt;/h3&gt;

&lt;p&gt;Model Context Protocol (MCP) is a little technical, but to keep things simple and understandable to everyone, it provides a standardized way for AI applications to discover and interact with predefined functions (from services on the internet or locally), external tools, and data sources, making them accessible to LLMs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Memory
&lt;/h3&gt;

&lt;p&gt;Memory can be classified as short-term or long-term and can use databases, files, or other storage mechanisms. Memory helps retain information that can be retrieved later by the runtime orchestration system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Run Time Orchestration System
&lt;/h3&gt;

&lt;p&gt;Software that manages the execution loop, state management, tool execution, routing and handoffs, error handling, and safety limits. It could execute the following process, for example, as shown in the image below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv4tdxfp7byvrqposfxry.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fv4tdxfp7byvrqposfxry.png" alt=" " width="775" height="513"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the impacts of AI now?
&lt;/h2&gt;

&lt;p&gt;This is a very good question. We see a lot of hype and news aimed at driving engagement, which can cause anxiety for many of us, especially if we don't understand what AI is and what it's capable of.&lt;/p&gt;

&lt;p&gt;Think of AI as an iceberg. Deep at the bottom, its foundation is mathematics and statistics. Then, as we move up a level, we have machine learning, followed by deep learning, until we reach the surface with generative AI (ChatGPT, Copilot, Claude, Gemini).&lt;/p&gt;

&lt;p&gt;AI can perform tasks based on what it has learned during training. Depending on the AI system, it can do things like generate text and images, drive a car, pilot a drone, or describe images and videos.&lt;/p&gt;

&lt;p&gt;A good metaphor I heard from a colleague is: "Using AI is like giving your brain a car."&lt;/p&gt;

&lt;p&gt;However, there's an interesting nuance. A car doesn't automatically make someone a better driver, and AI doesn't automatically make someone a better thinker.&lt;/p&gt;

&lt;p&gt;AI can improve your productivity if you use it as a tool for many tasks. For example, as a software developer, today I can create new features for an application in minutes or hours, whereas before, it could take days, weeks, or even a month. But AI doesn't replace me. Quite the opposite: it takes my knowledge and expertise to determine whether the generated results are safe, maintainable, and correct before they can be used.&lt;/p&gt;

&lt;p&gt;But what could happen as AI evolves?&lt;/p&gt;

&lt;p&gt;I believe many jobs will be transformed rather than completely replaced, although the impact will vary significantly across professions.&lt;/p&gt;

&lt;p&gt;A team could become more productive with the same number of people.&lt;/p&gt;

&lt;p&gt;Some fields are already feeling the effects of AI, such as translators, voice actors, and visual artists, including illustrators. Other fields are also being affected by the use of AI-powered robots in automation processes.&lt;/p&gt;

&lt;p&gt;I cannot say what the future impact of AI will be as it continues to develop, but we can already see changes in our work environments. For some professions, the way we work today is not the same as it was three years ago.&lt;/p&gt;

&lt;p&gt;Some companies are also reducing the number of junior professionals they hire in AI-exposed occupations as AI advances.&lt;/p&gt;

&lt;p&gt;The only recommendation I can give you is to learn how to use and get the most out of AI tools like ChatGPT, Claude, Copilot, Gemini... you name it. These tools &lt;strong&gt;could&lt;/strong&gt; become as essential to our work as Excel, Word, and PowerPoint became 10 or 20 years ago.&lt;/p&gt;

&lt;p&gt;Another thing to consider is how we should use AI without harming our careers and reputations. For example, some people use AI to read documents, generate summaries, and respond to colleagues. I don't think this is always a good idea. If your colleague is asking for your opinion, are you using Copilot to help you understand the document, or are you letting Copilot form your opinion for you?&lt;/p&gt;

&lt;p&gt;AI should help us think, not do all our thinking for us.&lt;/p&gt;

&lt;p&gt;I'll leave this question open for you to think about: How are you using AI today?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>beginners</category>
      <category>automation</category>
      <category>agents</category>
    </item>
    <item>
      <title>Database normalization.</title>
      <dc:creator>Flavio Francisco</dc:creator>
      <pubDate>Mon, 20 Mar 2023 12:07:35 +0000</pubDate>
      <link>https://dev.to/flaviofrancisco/wip-database-normalization-j5e</link>
      <guid>https://dev.to/flaviofrancisco/wip-database-normalization-j5e</guid>
      <description>&lt;h2&gt;
  
  
  Some facts
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The words normalization and normal from refer to the structure of a database.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Normalization was developed by IBM researcher E.F. Codd in the 1970s.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Normalization increases clarity in organizing data in databases.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Scenario
&lt;/h2&gt;

&lt;p&gt;Let's say that you are hired to develop a new eCommerce website for some company, than your client shows you the following table:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sXBbdod1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4xz8l5ltqzyzpyxfkub.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sXBbdod1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h4xz8l5ltqzyzpyxfkub.png" alt="a non normilized table" width="818" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see the table above has duplicated data and to better organize and optmize our data to be consumed by our new application we do the data modelling called: database normalization.&lt;/p&gt;

&lt;p&gt;The 3 most used database normalization are: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;First Normal Form (1NF); &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Second Normal Form (2NF) and &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Third Normal Form (3NF). &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also we have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Boyce-Codd Normal Form (BCNF); &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fourth Normal Form (4NF) and &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fifth Normal Form (5NF). &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will explain only the 1NF, 2NF and the 3NF because they are the most common used. &lt;br&gt;
The other forms will be explained in different articles.&lt;/p&gt;

&lt;h3&gt;
  
  
  First Normal Form (1NF)
&lt;/h3&gt;

&lt;p&gt;To be considered a 1NF table:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each table must have unique columns;&lt;/li&gt;
&lt;li&gt;Using row order to convey information is not permitted;&lt;/li&gt;
&lt;li&gt;Mixing data types within a primary key is not permitted;&lt;/li&gt;
&lt;li&gt;Having a table without a primary key is not permitted and&lt;/li&gt;
&lt;li&gt;Repeating groups are not permitted.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NMcxMh8M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s3chzh7024n0buhxg2sg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NMcxMh8M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s3chzh7024n0buhxg2sg.png" alt="a table normalized as 1NF" width="611" height="151"&gt;&lt;/a&gt;&lt;br&gt;
As you can see the 'Product Types' columns now is one column, but we can improve our data using the 2NF and that I will explain below.&lt;/p&gt;

&lt;h3&gt;
  
  
  Second Normal Form (2NF)
&lt;/h3&gt;

&lt;p&gt;To be considered normalized in the 2NF our table must be already normalized as 1NF and each field of a table that is not the primary key is determined by that primary key. &lt;br&gt;
But what is a primary key (PK)? Basically is a code the identifies a unique row in a table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jrZfYclr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/epq13ef2jd0to0we8lo6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jrZfYclr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/epq13ef2jd0to0we8lo6.png" alt="a table with a new column id" width="719" height="156"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take a look at the table above now. We have: Id, Client Name, Phone Number, Product Name, Quantity, Value and Product Type. Since the Id is the PK of the client we can apply the 2NF in the following way:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Does the phone number can be unique for a client? (for simplicity let's say: yes)&lt;/li&gt;
&lt;li&gt;Does a product can be unique for a client? (no)&lt;/li&gt;
&lt;li&gt;Does the quantity of an ordered product can be unique by a client? (no)&lt;/li&gt;
&lt;li&gt;Does the value belongs to the client? (no)&lt;/li&gt;
&lt;li&gt;Does the product type belongs to the client? (no).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Based on the answers above we can group the information in a such way that each data will be represented by an unique primary key.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTE: a primary key (PK) is a unique value for each row in a table. The PK is used to identify a unique record (row) in a database. &lt;br&gt;
This value cannot be null and can be either a unique column or a set of column that represents an unique combination in a table.&lt;br&gt;
We may have also the foreign Key (FK) is a column or group of columns in a relational database that represents the data in a linked table. A foreign key is just the reference from an table in another table.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
  
  
  Client
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tg6W2ELS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i3y84eb2i1sabci4h6nd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tg6W2ELS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i3y84eb2i1sabci4h6nd.png" alt="client table" width="319" height="87"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--71vp2p-p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6xtzhssqe6uy1vb16s38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--71vp2p-p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6xtzhssqe6uy1vb16s38.png" alt="product table" width="421" height="71"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But what does happened with the information of the orders? Now we will apply the third normal form (3NF).&lt;/p&gt;

&lt;h3&gt;
  
  
  Third Normal Form (3NF)
&lt;/h3&gt;

&lt;p&gt;Every non-key attribute in a table should depend on the key, the whole key, and nothing but the key.&lt;/p&gt;

&lt;p&gt;An entity is said to be in the third normal form when, it satisfies the criteria to be in the second normal form (2NF) and there is &lt;strong&gt;&lt;em&gt;no transitive functional dependency&lt;/em&gt;&lt;/strong&gt;. What this mean? If the table A dependent on table B and the table B is dependent in on the table C then C is transitively dependent on A and B.&lt;/p&gt;

&lt;p&gt;So we need to identify the tables were the non-primary-keys field depend on something other than the primary key.&lt;/p&gt;

&lt;p&gt;Our candidate for that is the Product table and the field: Product Type. Why? Because a product can only belong to a specific product type and product type can belong to multiple products and also the relations between clients and orders. &lt;br&gt;
We will than have the following entities to have our database in a 3NF.&lt;/p&gt;

&lt;h4&gt;
  
  
  Client
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tg6W2ELS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i3y84eb2i1sabci4h6nd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tg6W2ELS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i3y84eb2i1sabci4h6nd.png" alt="client table" width="319" height="87"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gke7Nxad--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xfn7wq8j5y0h7xxdw28c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gke7Nxad--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xfn7wq8j5y0h7xxdw28c.png" alt="product table" width="417" height="72"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Product Type
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cF1wwoM6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/03rge4l6ex4vvj80jbgb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cF1wwoM6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/03rge4l6ex4vvj80jbgb.png" alt="product type table" width="209" height="65"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Order
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jd4mrAwB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/itnccezuuex6nuhy36oy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jd4mrAwB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/itnccezuuex6nuhy36oy.png" alt="order table" width="618" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTE: I just decided to keep this database model simple. Of course we can include more columns as: creation time; total value; price before taxes and etc, but for explanation I would like to keep it simple.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To conclude our database model will look like the picture below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xvWtltKA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w2yhuv6aozrb8rohzeut.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xvWtltKA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w2yhuv6aozrb8rohzeut.png" alt="data model diagram" width="880" height="183"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Translating our data model we can say that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;1 client can have either 0 or many orders (0 to N);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;1 product can be either in 0 or many orders (0 to N);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;1 product can have 1 product type (1 to 1) and&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;1 product type can be assigned to many products (1 to N).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Normalization of a database offers several advantages, including the elimination of redundant information and the maintenance of data consistency. By avoiding the repetition of data, you can optimize storage space and reduce the likelihood of errors. Additionally, by using a unique identifier like the product's ID (primary key) to refer to data, changes to one piece of information, such as a product name, will not affect other related data. This can help ensure the accuracy and reliability of your database over time.&lt;/p&gt;

&lt;p&gt;Well this is my first article on the internet and I hope that you enjoyed it.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
