<?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: QuantumSink</title>
    <description>The latest articles on DEV Community by QuantumSink (@quantumsink).</description>
    <link>https://dev.to/quantumsink</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F460169%2Fbad09418-05d1-4c04-bef0-aa14ee8896b3.png</url>
      <title>DEV Community: QuantumSink</title>
      <link>https://dev.to/quantumsink</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/quantumsink"/>
    <language>en</language>
    <item>
      <title>Normality for a Flexible World</title>
      <dc:creator>QuantumSink</dc:creator>
      <pubDate>Mon, 28 Sep 2020 02:30:39 +0000</pubDate>
      <link>https://dev.to/quantumsink/normality-for-a-flexible-world-4c7</link>
      <guid>https://dev.to/quantumsink/normality-for-a-flexible-world-4c7</guid>
      <description>&lt;p&gt;It might be contradictory to view both normality and flexibility in the same vein, but we look to normality in database design to create flexible change. Besides, the idea of normality is a lot like nesting if statements. If you know what those are, anyway. If not, then here's a quick rundown of the first two normal forms:&lt;/p&gt;

&lt;p&gt;First Normal Form:&lt;/p&gt;

&lt;p&gt;We want to make sure that the data we present is necessary to have separately. For instance, look at this table.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8mLK4FtS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/e5b86s5f1f07eknfn2ui.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8mLK4FtS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/e5b86s5f1f07eknfn2ui.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First, let us ask if our table has a primary key.&lt;br&gt;
Well, I wouldn't really get far without making one after the diagrams I've already shown, so yes, we have established "BehaviorID" as a primary key.&lt;/p&gt;

&lt;p&gt;Are any columns able to be represented as two other columns?&lt;br&gt;
I would say so. Instances can certainly arise in a messy setup, such as design a column to contain more than one piece of info, but most of the time, I would say you would recognize an issue like this immediately. Always make sure that a column is made to contain one type of data.&lt;/p&gt;

&lt;p&gt;Then, finally, do any columns repeat their groups?&lt;br&gt;
Not at all! We can safely establish this table as First Normal Form.&lt;/p&gt;

&lt;p&gt;Second Normal Form:&lt;/p&gt;

&lt;p&gt;To constitute a Second Normal Form, we need to keep all the components of First Normal in check. Then, we examine whether or not all columns refer to the primary key of the table. If anything could be representing something that isn't the primary key, it's likely that that data can be represented as a different entity (table) in the database.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--An4QLELf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/oxagxkeyfejimj3etdw9.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--An4QLELf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/oxagxkeyfejimj3etdw9.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take this table for instance. As the OccupationName may relate to the CompanyID, all other columns can be related to the OccupationName, not the CompanyID. Thus, we must delegate that information into a new table by altering this one, then creating a new table to represent Occupations.&lt;/p&gt;

&lt;p&gt;And yet, how will we do that? Watch the two videos below, and we'll get into how we ALTER tables in SQL, and have a live look at "Normality".&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=1bkNuNoucDo&amp;lt;br&amp;gt;%0A"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l6fHz-cb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/1bkNuNoucDo/0.jpg"&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=_wKy7mIeoW4&amp;lt;br&amp;gt;%0A"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--F_xKoFHb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/_wKy7mIeoW4/0.jpg"&gt;
&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sql</category>
      <category>database</category>
      <category>normality</category>
    </item>
    <item>
      <title>The Aura App &amp; Physical ERD's: Getting Things in Order</title>
      <dc:creator>QuantumSink</dc:creator>
      <pubDate>Mon, 14 Sep 2020 02:41:21 +0000</pubDate>
      <link>https://dev.to/quantumsink/the-aura-app-physical-erd-s-getting-things-in-order-o4l</link>
      <guid>https://dev.to/quantumsink/the-aura-app-physical-erd-s-getting-things-in-order-o4l</guid>
      <description>&lt;p&gt;And in the case of Albion College, maybe a bit &lt;em&gt;too&lt;/em&gt; in order. Law and chaos are two sides of a glass coin, and trying to flip things onto either side can be a mess. It's never to say a balance is always best, surely freedoms must be found in certain places, and places where law must control things to keep the peace. Albion's "Aura" app, which tracked the locations of "COVID-Positive students" to trace who those students have made contact with, landed flat on the law. Students had to adhere strictly to the guidelines provided by the university and neglect of the app's use would result in disciplinary action.&lt;/p&gt;

&lt;p&gt;Now, I'm not saying keeping a constant trace on students' locations is a BAD idea but...&lt;/p&gt;

&lt;p&gt;No. No it's pretty bad.&lt;/p&gt;

&lt;p&gt;At least, it certainly wasn't necessary. Before I start rattling off alternatives, any sort of app that puts this kind of grip on people is going to come with its backlash, and is going to need justification. And before all that, it needs to be &lt;strong&gt;SECURE&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Having keys, granting access to all sorts of student data, right in the source code is not my idea of "secure". In fact, why even store that much about the students to begin with? Keep in mind again that this was all mandatory as well: you're giving an app access to your student info. Because you have to.&lt;/p&gt;

&lt;p&gt;...Just, look.&lt;/p&gt;

&lt;p&gt;No one wants to spread a deadly disease. But no one wants to live under constant monitoring, their location always on and traceable. It's the kind of stuff you see in movies about dystopias.&lt;/p&gt;

&lt;p&gt;Wait. Oh right. We're in one at the moment. I guess this makes sense then.&lt;/p&gt;

&lt;p&gt;But we shouldn't have to worry about both COVID and an app, of all things. We're all human, and we all (at least, a large majority of us) care about the lives of other humans. And also ourselves. If we're going to understand who has made contact with who, there should just be a voluntary submission, maybe weekly, of who that person has made contact with in the past week. That puts a lot of faith in memory, but it's better than putting faith in pushing private data into an app. There's always middle roads to find: but landing exactly on the edge of that glass coin is near impossible. We just have to keep finding ways to balance that out.&lt;/p&gt;

&lt;p&gt;This time around, we'll be delving into some modified versions of the COVID diagram from last time, and assessing another possible way to map an app. This will access how one would handle an app that inquires a person's risk of catching COVID-19. It's always a good thing to try to be aware, and awareness is what helps keep viruses at bay.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=RMLWTihcZDI&amp;lt;br&amp;gt;%0A"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3XTwf-C3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/RMLWTihcZDI/0.jpg"&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=0EcPI4nQtPw&amp;lt;br&amp;gt;%0A"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rKA_--F2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/0EcPI4nQtPw/0.jpg"&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conceptual&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--S2cJe3e---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zlbjesssy1d36fafee3t.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--S2cJe3e---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/zlbjesssy1d36fafee3t.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Physical&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FYAif64a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/k2n9cyymfjsg1uyhttgh.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FYAif64a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/k2n9cyymfjsg1uyhttgh.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'll leave off with a quote that I wish those older than preschoolers would take to heart as well:&lt;br&gt;
"If you can't cure it, the only option is to keep it from spreading... Even a preschooler knows that."&lt;br&gt;
--- Hiyoko Saionji from Super Danganronpa 2: Goodbye Despair&lt;/p&gt;

&lt;p&gt;Sources: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://techcrunch.com/2020/08/19/coronavirus-albion-security-flaws-app/"&gt;https://techcrunch.com/2020/08/19/coronavirus-albion-security-flaws-app/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/mikanswife/status/1295221447900766211?s=19"&gt;https://twitter.com/mikanswife/status/1295221447900766211?s=19&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>database</category>
      <category>erd</category>
      <category>security</category>
    </item>
    <item>
      <title>Where We Are: Mapping Our Dystopia</title>
      <dc:creator>QuantumSink</dc:creator>
      <pubDate>Mon, 07 Sep 2020 00:32:17 +0000</pubDate>
      <link>https://dev.to/quantumsink/where-we-are-mapping-our-dystopia-2hg9</link>
      <guid>https://dev.to/quantumsink/where-we-are-mapping-our-dystopia-2hg9</guid>
      <description>&lt;p&gt;Hey.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yQi9q-Vl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tuf5n88b4phjnol6y24f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yQi9q-Vl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tuf5n88b4phjnol6y24f.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See that? It's a diagram! An &lt;em&gt;&lt;strong&gt;entity relationship diagram.&lt;/strong&gt;&lt;/em&gt; Wow. Well, thanks for checking it out, I'll...&lt;/p&gt;

&lt;p&gt;Okay. Okay, yeah, I'll explain.&lt;/p&gt;

&lt;p&gt;This diagram exists to help map out the relationships between several components that are related to the COVID-19 crisis. It's a great visual for understanding the basis of an SQL database as well. We use these diagrams to see what acts on what, what attributes does what have, and how much of what is acting on what.&lt;/p&gt;

&lt;p&gt;What.&lt;/p&gt;

&lt;p&gt;In a database, these connections exist to help relate entities, and each entity can be used to represent what may be a table of data in an SQL database. A primary use would be to understand... well, primary keys. Keys are used to identify each unique tuple (row) in a data table. After all, if all the data started looking the same, it would be hard to understand what you were looking at. Primary keys ensure that the data for each tuple is meaningful.&lt;/p&gt;

&lt;p&gt;If any of these terms are starting to sound foreign, then no worries, foreign keys exist too.&lt;/p&gt;

&lt;p&gt;I'm sorry.&lt;/p&gt;

&lt;p&gt;You'll see these keys as attributes (columns) assigned to one entity, and their relation back to a primary key from another entity.&lt;/p&gt;

&lt;p&gt;Keys are the heart of connections for SQL, and in these next two videos, we'll discuss these topics and how they're stored, connected, and understood in an SQL world, and maybe, you'll find your place in this crazy world of reality as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=BqR43Nw2SUQ&amp;lt;br&amp;gt;%0A"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aAPlGcGN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/BqR43Nw2SUQ/0.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=HjDjvHRk3xs&amp;lt;br&amp;gt;%0A"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0j8Lq5un--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/HjDjvHRk3xs/0.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With all that said, you can throw yourself in and think: Where am I, in this world of risks? Would my behavior correlate to them? There's plenty of connections all around, and you can be a key part of someone else's world. &lt;strong&gt;You&lt;/strong&gt; can represent a part of this dystopia. But don't see yourself as a patient, and definitely don't try to become one. Just realize that this isn't an isolated world. We're in this together.&lt;/p&gt;

&lt;p&gt;We'll be delving back into this diagram next time, and I hope you all stay safe out there: the risks aren't as bad as long as you know how to keep yourself safe.&lt;/p&gt;

&lt;p&gt;Sources:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.guru99.com/er-diagram-tutorial-dbms.html"&gt;https://www.guru99.com/er-diagram-tutorial-dbms.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.texmed.org/uploadedFiles/Current/2016_Public_Health/Infectious_Diseases/309193%20Risk%20Assessment%20Chart%20V2_FINAL.pdf"&gt;https://www.texmed.org/uploadedFiles/Current/2016_Public_Health/Infectious_Diseases/309193%20Risk%20Assessment%20Chart%20V2_FINAL.pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>database</category>
      <category>beginners</category>
      <category>erdiagram</category>
    </item>
    <item>
      <title>Mapping Out (Less than 1% of) the World</title>
      <dc:creator>QuantumSink</dc:creator>
      <pubDate>Sun, 30 Aug 2020 19:57:47 +0000</pubDate>
      <link>https://dev.to/quantumsink/mapping-out-less-than-1-of-the-world-pb</link>
      <guid>https://dev.to/quantumsink/mapping-out-less-than-1-of-the-world-pb</guid>
      <description>&lt;p&gt;Hey there, thanks for taking a look at the thoughts I'm letting flow into this drain I call a blog post. In truth, I'm just your average college sophomore at Penn State University Park, majoring in Data Science.&lt;/p&gt;

&lt;p&gt;Okay, I have more of a life than what a title like that implies. I've been interested in several fields as a kid, like game development, psychology, and writing. In high school, I took an AP Statistics class as a sort of "well, why not" kind of thing, just to have more AP credit. &lt;/p&gt;

&lt;p&gt;In the end, I realized how being able to use statistics to understand more about the world around us was actually fascinating. It's how we both document and predict events that happen. So where does that leave me now?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Learning about databases to make use of this data&lt;/li&gt;
&lt;li&gt;Secretary of the Penn State Pokemon Society&lt;/li&gt;
&lt;li&gt;Looking to minor in Psychology&lt;/li&gt;
&lt;li&gt;Writing the blog post right now&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So, in a way, I guess all those ambitions found me, one way or another. Hm.&lt;/p&gt;

&lt;p&gt;Now that you know a bit about those ambitions, let's talk about the ambition I have to show you how Diagram.net works. Probably like, on a scale of 1 to 10, I'm at a 7 today? That's better than average. In any case, I'll be showing how to quickly produce a flowchart of decisions and paths, along with a small bit about how we can use a diagram representation to explain the differences of SQL and NoSQL.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.youtube.com/watch?feature=player_embedded&amp;amp;v=72IfICUId-w&amp;lt;br&amp;gt;%0A"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--s6_86S_Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/http://img.youtube.com/vi/72IfICUId-w/0.jpg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Of course, what I showed of SQL and NoSQL is just a small facet of their structure, and we won't be going in full depth on it quite yet, but as this is an IST class, I felt as though showing off diagrams.net would not suffice on its own.&lt;/p&gt;

&lt;p&gt;The main takeaway to this is that diagrams.net is a great tool for structuring your pathing and data, as using and modifying directional arrows is often useful when you want to explain what relates to what in an SQL structure, but in NoSQL's more document by document representation, such relations must be made manually. Ultimately, both diagrams display the same data, but the structural differences derive from those connected/unconnected relations.&lt;/p&gt;

&lt;p&gt;In SQL, it would be simple to create an line from an ID and then point at where it lies in a different table, and it simply means that whatever is represented inside that ID can be represented in that table by its ID number. The path from a "Shoe ID" to a "Pair ID" in a NoSQL world would require its data to be shown in the "Pair ID" as well, not just by its number. Diagrams.net can be used to represent both, either with connected cells to explain SQL data or cells spaced out to represent NoSQL data.&lt;/p&gt;

&lt;p&gt;I hope that this entry will help you understand the basic features behind diagrams.net, and how simple it is to edit and create diagrams to explain your own concepts. Good luck to all my peers, and I'll see you in the next post.&lt;/p&gt;

&lt;p&gt;Sources:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;diagrams.net&lt;/li&gt;
&lt;li&gt;SQL vs NoSQL or MySQL vs MongoDB by Academind: &lt;a href="https://www.youtube.com/watch?v=ZS_kXvOeQ5Y"&gt;https://www.youtube.com/watch?v=ZS_kXvOeQ5Y&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;SQL vs NoSQL: Which one is better to use? by Geeks for Geeks: &lt;a href="https://www.geeksforgeeks.org/sql-vs-nosql-which-one-is-better-to-use/"&gt;https://www.geeksforgeeks.org/sql-vs-nosql-which-one-is-better-to-use/&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>database</category>
      <category>sql</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
