import{_asa,cast,o,ahass}from"./chunks/framework.j4Nev8bF.js";constu=JSON.parse('{"title":"The Full Stack","description":"","frontmatter":{},"headers":[],"relativePath":"rebel_coding/step4.md","filePath":"rebel_coding/step4.md"}'),i={name:"rebel_coding/step4.md"};functionr(n,e,l,h,p,d){returno(),t("div",null,[...e[0]||(e[0]=[s(`<h1 id="the-full-stack" tabindex="-1">The Full Stack <a class="header-anchor" href="#the-full-stack" aria-label="Permalink to “The Full Stack”"></a></h1><hr><p>Let’s take a moment to reflect on what the "full-stack" actually is.</p><p>How does it all connect?</p><p><strong>If the full-stack were a restaurant:</strong></p><p>The <strong>database</strong> is our walk-in’ cooler, and deep freeze; holding all the data that changes, or the food that will be used to prepare meals for our guests/visitors.</p><p>The <strong>server</strong> is the kitchen; using the contents of the cooler/freezer to fulfill our data requests, or orders, as made by the client …</p><p>And the <strong>client</strong> is more like the waitstaff; taking the orders, and fulfilling requests.</p><p>If you still have confusion, don’t hesitate to ask in the Discord server!</p><p>Though now let’s review each component further in-depth.</p><h1 id="the-database" tabindex="-1">The Database <a class="header-anchor" href="#the-database" aria-label="Permalink to “The Database”"></a></h1><hr><p>The <em>classic</em> database is the SQL database; a relational-database.</p><p>What does relational database even mean?</p><p>Tables, with columns and rows; spreadsheets of data; which are enabled to connect between multiple tables/sheets through <em>joins</em>.</p><p>Say you’ve got a list of users, and a list of their posts, their likes, their pictures, their videos and their user history!</p><p>That would be a giant table!!!</p><p>I mean, because each of those items has their own properties; what’s worse, some of the items aren’t really related, or some of them might be related to items from other users !?!</p><p>It is much easier if we can have a separate table for each one of these item-sets; and for our users, have a unique and static ID by which we can connect them to other tables.</p><p>Welcome to the wondrous magic of SQL laid out before you, a child of royalty looking out across a vast and unknown wilderness that will one-day be yours.</p><p>Though there are more than just relational databases.</p><p>Now we also have NoSQL databases, which come in four primary flavors: document, graph, key-value, and wide-column.</p><p>We won’t get into all of these nuances right now; though we will introduce you to many of these topics in adjacent materials.</p><h3 id="db-operations" tabindex="-1">DB Operations <a class="header-anchor" href="#db-operations" aria-label="Permalink to “DB Operations”"></a></h3><p>The reasons for databases are not just to contain information but to perform CRUD.</p><p><strong>Create</strong>, <strong>Retrieve</strong>, <strong>Update</strong>, & <strong>Delete</strong>.</p><p>Databases have these four primary functions to maintain data and allow for its <em>creation</em>, <em>retrieval</em>, <em>update</em> and <em>deletion</em>.</p><p>This is often shortened to be called CRUD procedures.</p><p>Within the past two decades, the commercially available database technology has grown to include products called no-SQL products.</p><p>SQL stands for “Structured Query Language” and is the language used to create and maintain relational database management systems (RDBMS).</p><p>These are our dynamically linked rows and columns.</p><p>NoSQL arose for two reasons, to diversify the storage format for databases, and reduce the number of database calls necessary to retrieve dynamic information.</p><p>It would be easy for us to get lost describing these differences and nuances, so I leave further investigation to your own interest; save the information provided below to help you get started.</p><h3 id="relational-database" tabindex="-1">Relational Database <a class="header-a