<?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: Mueni</title>
    <description>The latest articles on DEV Community by Mueni (@essym_19).</description>
    <link>https://dev.to/essym_19</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%2F384714%2Fecf7f3cd-41a8-4cbf-9e19-8a0941810f7c.png</url>
      <title>DEV Community: Mueni</title>
      <link>https://dev.to/essym_19</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/essym_19"/>
    <language>en</language>
    <item>
      <title>Ch 6: Working With Tables and Other SQL Need-To-Knows</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Sat, 14 Mar 2026 08:39:05 +0000</pubDate>
      <link>https://dev.to/essym_19/ch-6-working-with-tables-and-other-sql-need-to-knows-jep</link>
      <guid>https://dev.to/essym_19/ch-6-working-with-tables-and-other-sql-need-to-knows-jep</guid>
      <description>&lt;h3&gt;
  
  
  Creating SQL tables
&lt;/h3&gt;

&lt;p&gt;When creating tables, you need to define the columns and their data types.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="k"&gt;table_name&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;column1&lt;/span&gt; &lt;span class="n"&gt;datatype&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;column2&lt;/span&gt; &lt;span class="n"&gt;datatype&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;column3&lt;/span&gt; &lt;span class="n"&gt;datatype&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We are going to call our table customer_data, and it will have the columns customer_id, customer_name, and dob.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;customer_data&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="n"&gt;customer_id&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="n"&gt;customer_name&lt;/span&gt; &lt;span class="nb"&gt;VARCHAR&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="n"&gt;dob&lt;/span&gt; &lt;span class="n"&gt;datatype&lt;/span&gt; &lt;span class="nb"&gt;DATETIME&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Inserting data into the table
&lt;/h3&gt;

&lt;p&gt;This is the syntax for inserting multiple rows into a table:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;INSERT&lt;/span&gt; &lt;span class="k"&gt;INTO&lt;/span&gt; &lt;span class="k"&gt;table_name&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;column1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;column3&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;VALUES&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;value2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;value3&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;value2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;value3&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For our customer data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;INSERT&lt;/span&gt; &lt;span class="k"&gt;INTO&lt;/span&gt; &lt;span class="k"&gt;table_name&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;customer_id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;customer_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;dob&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;VALUES&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'Jacky'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'25-06-1980'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'Mike'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'02-10-2003'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Viewing data in a table
&lt;/h3&gt;

&lt;p&gt;You use the command SELECT to view data in a table. To see all data, you use an asterisk*&lt;/p&gt;

&lt;p&gt;'SELECT * FROM table_name`&lt;/p&gt;

&lt;p&gt;If you want to view data from a specific column, you replace the asterisk with the column name:&lt;br&gt;
&lt;code&gt;SELECT column_name FROM table_name;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  SQL need-to-knows
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;NULL in SQL does not mean zero. It means unknown or missing value.&lt;/li&gt;
&lt;li&gt;When using SQL tools like DBeaver, user CTRL+ENTER to run the current query (where the cursor is).&lt;/li&gt;
&lt;li&gt;Always terminate SQL queries with a semicolon (;). This signals the end of a statement.&lt;/li&gt;
&lt;li&gt;When inserting strings and varchar values in a table, put them in single quotes. &lt;/li&gt;
&lt;li&gt;SQL commands are often written in capital letters in tutorials. This is not required, but it improves readability and helps distinguish commands from table or column names.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In the next posts, I will be exploring various SQL commands in no particular order. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>sql</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Ch 5: Creating tables, schemas,</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Wed, 11 Mar 2026 16:49:03 +0000</pubDate>
      <link>https://dev.to/essym_19/ch-5-creating-tables-schemas-2238</link>
      <guid>https://dev.to/essym_19/ch-5-creating-tables-schemas-2238</guid>
      <description>&lt;p&gt;We are using DBeaver as our GUI to interact with our database. We have already created the PostgreSQL dtabase service using &lt;a href="https://aiven.io/" rel="noopener noreferrer"&gt;Aiven&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The first step is powering on the database service in Aiven. Just head to Aiven, then services, and on the database you created, click on the three dots in the action tab and select 'power on service'. &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.amazonaws.com%2Fuploads%2Farticles%2Fjw0jx8zw54wm6qvr56h2.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.amazonaws.com%2Fuploads%2Farticles%2Fjw0jx8zw54wm6qvr56h2.png" alt=" " width="800" height="236"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the connection is running, head over to DBeaver. Right-click on your database, select SQL Editor, then open a New SQL script. &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.amazonaws.com%2Fuploads%2Farticles%2Fgu93jvky5kze0f6q07ic.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.amazonaws.com%2Fuploads%2Farticles%2Fgu93jvky5kze0f6q07ic.png" alt=" " width="800" height="414"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This should open a new script where we will write our SQL queries to create the database, schema, and tables. &lt;/p&gt;

&lt;h3&gt;
  
  
  1.Create the database
&lt;/h3&gt;

&lt;p&gt;Inside the database service we create with Aiven, we can create several databases. So our first step is to create the database, which will host all our schemas and tables. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;CREATE DATABASE *database_name*;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run your script by selecting the script and hitting the 'execute SQL query' button. &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.amazonaws.com%2Fuploads%2Farticles%2Fauo1b04razg7v8hlqi3h.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.amazonaws.com%2Fuploads%2Farticles%2Fauo1b04razg7v8hlqi3h.png" alt=" " width="800" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Refresh the databases tab, and you should see your database on the tab. &lt;/p&gt;

&lt;h3&gt;
  
  
  2.Create a schema
&lt;/h3&gt;

&lt;p&gt;In PostgreSQL, data is organized in rows and columns, essentially in tables. You can group these tables in schemas. &lt;/p&gt;

&lt;p&gt;A schema defines how different tables connect and keeps them organized. &lt;/p&gt;

&lt;p&gt;Before you create a schema, you need to navigate into the database we created otherwise, it will be created in the defaultDB database. &lt;/p&gt;

&lt;p&gt;Right-click on the database you created, select SQL Editor, then open a New SQL script &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.amazonaws.com%2Fuploads%2Farticles%2F4fwrdse3r7p1ht4tgf19.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.amazonaws.com%2Fuploads%2Farticles%2F4fwrdse3r7p1ht4tgf19.png" alt=" " width="800" height="631"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Run this SQL command to ensure you are in the right database;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT current_database();&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Once you confirm you are in the correct database, create the schema.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;CREATE SCHEMA *schema_name*;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Create table
&lt;/h3&gt;

&lt;p&gt;Navigate to the schema you created with this command. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;SET search_path to *schema_name*;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This should ensure you create the table inside the schema. Next, we create the table.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="k"&gt;table_name&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;column1&lt;/span&gt; &lt;span class="n"&gt;datatype&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;column2&lt;/span&gt; &lt;span class="n"&gt;datatype&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;column3&lt;/span&gt; &lt;span class="n"&gt;datatype&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To see the table we created, use the command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;SELECT * FROM *table_name*;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the next post, I will share some SQL tricks I have learnt in my few days interacting with it. &lt;/p&gt;

</description>
      <category>dataengineering</category>
      <category>sql</category>
      <category>database</category>
    </item>
    <item>
      <title>Ch 4: Connecting Aiven and DBeaver</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Tue, 03 Mar 2026 07:12:01 +0000</pubDate>
      <link>https://dev.to/essym_19/ch-4-connecting-aiven-and-dbeaver-5de4</link>
      <guid>https://dev.to/essym_19/ch-4-connecting-aiven-and-dbeaver-5de4</guid>
      <description>&lt;p&gt;We are building a Postgres database, which we hosted in Aiven. To interact with it, we have decided to go for the GUI platform, DBeaver, which will enable us to visually interact with the database. &lt;/p&gt;

&lt;h4&gt;
  
  
  1.Download DBeaver
&lt;/h4&gt;

&lt;p&gt;If you are using Windows, you can find &lt;a href="https://dbeaver.io/" rel="noopener noreferrer"&gt;DBeaver&lt;/a&gt; on the Microsoft Store. For Mac and Linux users, you can download it from the website. It is an open-source platform, so you can get it freely. &lt;/p&gt;

&lt;h4&gt;
  
  
  2.Create a connection to Postgres
&lt;/h4&gt;

&lt;p&gt;Select the create connection Icon and then select PostgreSQL as the database to connect to&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.amazonaws.com%2Fuploads%2Farticles%2Fujq867khfxt5f0d07nob.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.amazonaws.com%2Fuploads%2Farticles%2Fujq867khfxt5f0d07nob.png" alt=" " width="800" height="325"&gt;&lt;/a&gt;&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.amazonaws.com%2Fuploads%2Farticles%2Fpbdgtsu6xt69018t0z4r.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.amazonaws.com%2Fuploads%2Farticles%2Fpbdgtsu6xt69018t0z4r.png" alt=" " width="800" height="314"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3.Copy connection information from Aiven
&lt;/h4&gt;

&lt;p&gt;You will get this page in DBeaver.&lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fv7s1gh9dg4hgambmaq3l.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.amazonaws.com%2Fuploads%2Farticles%2Fv7s1gh9dg4hgambmaq3l.png" alt=" " width="800" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You need to navigate to Aiven and copy the connection information. Click on your Aiven service, and it should bring you to a page where you see connection information.&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.amazonaws.com%2Fuploads%2Farticles%2Frp7mlslb4ol9z3v8e073.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.amazonaws.com%2Fuploads%2Farticles%2Frp7mlslb4ol9z3v8e073.png" alt=" " width="800" height="305"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From Aiven, copy the host, port, database name, user name, and password and paste them into the respective fields on DBeaver. Remember to keep connected by as 'host' in DBeaver. &lt;/p&gt;

&lt;h4&gt;
  
  
  4.Test the connection in DBeaver
&lt;/h4&gt;

&lt;p&gt;After you have connected everything, first test the connection before clicking finish with the button on the left. A successful test should give you this: &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.amazonaws.com%2Fuploads%2Farticles%2F7bxgkbv9mm2eslpjygya.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.amazonaws.com%2Fuploads%2Farticles%2F7bxgkbv9mm2eslpjygya.png" alt=" " width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the test was not successful, check the details you copied again and ensure each is correct. Click on finish, &lt;/p&gt;

&lt;p&gt;You should be able to see your database on the left panel of the platform. If not, you can click on the window tab and select Database Navigator. &lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fc38wgv0idks5fsnpl4k0.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.amazonaws.com%2Fuploads%2Farticles%2Fc38wgv0idks5fsnpl4k0.png" alt=" " width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can now interact with your database in DBeaver. &lt;/p&gt;

&lt;p&gt;Next, we will look at how to create tables, schemas, etc and dive a little into SQL.&lt;/p&gt;

</description>
      <category>database</category>
      <category>postgres</category>
      <category>tooling</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Ch 3: Creating a Postgres Database Service with Aiven</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Tue, 03 Mar 2026 06:35:50 +0000</pubDate>
      <link>https://dev.to/essym_19/creating-a-postgres-database-with-aiven-4cpg</link>
      <guid>https://dev.to/essym_19/creating-a-postgres-database-with-aiven-4cpg</guid>
      <description>&lt;p&gt;Just a recap of the previous post:&lt;/p&gt;

&lt;p&gt;Postgres - the DBMS we are using to create our database&lt;br&gt;
Aiven - where we are hosting our Postgres database service&lt;br&gt;
DBeaver - the GUI we are using to interact with the database&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create an Aiven account&lt;br&gt;
We will be creating our Postgres database service with Aiven, so the initial step is to get an &lt;a href="https://aiven.io/" rel="noopener noreferrer"&gt;Aiven&lt;/a&gt; account.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create an Aiven service&lt;br&gt;
Next, you need to create a service, which is essentially a database service. &lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fxnqokj5w1egxydefk75q.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.amazonaws.com%2Fuploads%2Farticles%2Fxnqokj5w1egxydefk75q.png" alt=" " width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You need to select a PostgreSQL service type because we are creating a Postgres database service. &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.amazonaws.com%2Fuploads%2Farticles%2Fr1tktun11n6tm7lwundg.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.amazonaws.com%2Fuploads%2Farticles%2Fr1tktun11n6tm7lwundg.png" alt=" " width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aiven offers subscription tiers, but you can start with the free tier for your first project, which allows you to create one service - 'database'. &lt;br&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.amazonaws.com%2Fuploads%2Farticles%2Fgx82p24rfjizxovaw8wo.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.amazonaws.com%2Fuploads%2Farticles%2Fgx82p24rfjizxovaw8wo.png" alt=" " width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once created, you should be able to see it under services. &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.amazonaws.com%2Fuploads%2Farticles%2Fe7m4u32kg7w531b965l3.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.amazonaws.com%2Fuploads%2Farticles%2Fe7m4u32kg7w531b965l3.png" alt=" " width="800" height="259"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the next post, we explore how to connect Aiven to DBeaver, enabling you to interact with the database service visually. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>database</category>
      <category>postgres</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Ch 2: DBeaver, Postgres, Aiven, and Other SQL Shenanigans</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Mon, 02 Mar 2026 07:04:03 +0000</pubDate>
      <link>https://dev.to/essym_19/dbeaver-postgres-aiven-and-other-sql-shenanigans-3mpd</link>
      <guid>https://dev.to/essym_19/dbeaver-postgres-aiven-and-other-sql-shenanigans-3mpd</guid>
      <description>&lt;p&gt;When working with data, you need a way to store it, a way to access it, and maybe even share it. The platforms that allow this are called Database Management Systems (DBMS).&lt;/p&gt;

&lt;p&gt;One way to store it is in the form of rows and columns eg. customer table where the rows have customer names, ids, etc. When data is stored in this way, it is called structured data. &lt;/p&gt;

&lt;p&gt;Data might also not have rows and columns, eg, images and videos. This means the information is just clustered together, which is often called unstructured data.&lt;/p&gt;

&lt;p&gt;You choose the DBMS to use based on the type of data you are storing, whether it is structured or unstructured, and how you need to query and scale it. &lt;/p&gt;

&lt;p&gt;One of the DBMS for structured data is Postgres - this is the one I am currently learning. &lt;/p&gt;

&lt;p&gt;You can install Postgres and host it yourself, but managing it requires a lot of work. So instead, it is easier to use a cloud hosting platform like &lt;a href="https://aiven.io/" rel="noopener noreferrer"&gt;Aiven&lt;/a&gt;, which hosts this database for you. &lt;/p&gt;

&lt;p&gt;Now that you have your database and it is already hosted, you need a way to talk to it (search through it, edit, etc.). And the language you use here is called SQL: Structured Query Language. &lt;/p&gt;

&lt;p&gt;You can use terminals to do the querying or write code for it, but one of the most visual ways to do this is with a GUI (Graphical User Interface) platform like DBeaver. &lt;/p&gt;

&lt;p&gt;So now you have 3 key things, and you can comfortably build and run your database:&lt;/p&gt;

&lt;p&gt;Postgres- your DBMS&lt;br&gt;
Aiven - which hosts the DBMS in the cloud for you&lt;br&gt;
DBeaver - your visual access to the data&lt;/p&gt;

&lt;p&gt;In the next post, we will explore how to create your database, host it, and interact with it visually. &lt;/p&gt;

</description>
      <category>sql</category>
      <category>postgres</category>
      <category>database</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Ch 1: The Introduction - Journey to Data Analyst</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Mon, 02 Mar 2026 06:22:22 +0000</pubDate>
      <link>https://dev.to/essym_19/the-introduction-107d</link>
      <guid>https://dev.to/essym_19/the-introduction-107d</guid>
      <description>&lt;p&gt;I am a product manager who recently got interested in the data space. A month ago, I started my journey with a bit of documentation required by the program I am taking. &lt;/p&gt;

&lt;p&gt;However, I realized a few of the articles I have written on data analysis were required by the program, so I did not necessarily write them because I wanted to.&lt;/p&gt;

&lt;p&gt;So, here is my new series where I share some snippets of what I learn in this journey. I am hoping this series of articles will serve both as documentation for me and as a reference point for another individual in the same journey. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>data</category>
      <category>devjournal</category>
      <category>learning</category>
    </item>
    <item>
      <title>How Analysts Translate Messy Data into Insights in Power BI</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Mon, 09 Feb 2026 03:58:16 +0000</pubDate>
      <link>https://dev.to/essym_19/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-163n</link>
      <guid>https://dev.to/essym_19/how-analysts-translate-messy-data-dax-and-dashboards-into-action-using-power-bi-163n</guid>
      <description>&lt;p&gt;By the time data reaches analysis, it is rarely clean, complete, or decision-ready.&lt;/p&gt;

&lt;p&gt;Most datasets arrive bloated with information that doesn’t matter, fields that don’t change outcomes, values in the wrong format, and tables that were never designed to work together.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trimming
&lt;/h3&gt;

&lt;p&gt;One of the earliest and most consequential decisions an analyst makes is deciding what to remove.&lt;/p&gt;

&lt;p&gt;Raw datasets often contain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fields that are never used in analysis&lt;/li&gt;
&lt;li&gt;Columns that duplicate information in different forms&lt;/li&gt;
&lt;li&gt;Values that technically exist but do not affect decisions&lt;/li&gt;
&lt;li&gt;Historical artifacts that no longer reflect how the business operates&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keeping everything “just in case” doesn’t make a model more robust—it makes it more fragile. Every unnecessary column increases cognitive load, slows performance, and creates more surface area for confusion. &lt;/p&gt;

&lt;p&gt;Analysts curate the dataset so that what remains directly supports the questions the business needs to answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Transformation
&lt;/h3&gt;

&lt;p&gt;After pruning comes transformation.&lt;/p&gt;

&lt;p&gt;Data often needs to be reshaped into forms that allow comparison and aggregation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dates converted into standardized months and quarters&lt;/li&gt;
&lt;li&gt;Text values normalized into consistent categories&lt;/li&gt;
&lt;li&gt;Numeric fields corrected, scaled, or bucketed&lt;/li&gt;
&lt;li&gt;Business-specific groupings created where none existed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These transformations create shared meaning.&lt;/p&gt;

&lt;p&gt;Without consistent representations, two users can look at the same dashboard and walk away with different interpretations. Transformation is how analysts eliminate that risk before it reaches the dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  DAX
&lt;/h2&gt;

&lt;p&gt;DAX is the most opinionated part of Power BI.&lt;br&gt;
DAX is often treated as the most technical part of Power BI.&lt;br&gt;
In reality, it’s the most opinionated.&lt;/p&gt;

&lt;p&gt;Every DAX measure encodes a point of view:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What counts as revenue&lt;/li&gt;
&lt;li&gt;When an order is considered complete&lt;/li&gt;
&lt;li&gt;How discounts, refunds, or exceptions are handled&lt;/li&gt;
&lt;li&gt;Which date defines performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DAX is where ambiguity must be deliberately eliminated.&lt;/p&gt;

&lt;p&gt;If two stakeholders can interpret a metric differently, the measure isn’t finished. Well-designed DAX protects users from uncertainty by enforcing consistent logic across every filter, slicer, and drill-down.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusions
&lt;/h3&gt;

&lt;p&gt;Dashboards should make the conclusion obvious. They guide attention, shape interpretation, and influence decisions. &lt;/p&gt;

&lt;p&gt;A dashboard built with the right mindset:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Surfaces what matters most, not everything available&lt;/li&gt;
&lt;li&gt;Highlights patterns, risks, and exceptions&lt;/li&gt;
&lt;li&gt;Makes comparisons intuitive&lt;/li&gt;
&lt;li&gt;Reduces the effort required to draw conclusions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users shouldn’t have to mentally calculate what a chart means or debate which number to trust. The structure of the dashboard should make the story clear and the implications visible.&lt;/p&gt;

&lt;p&gt;At every stage—cleaning, transforming, modeling, measuring, and visualizing—the analyst is doing the same thing: reducing the risk of misinterpretation.&lt;/p&gt;

&lt;p&gt;The ability to turn messy, ambiguous data into a reliable foundation for decisions is the real value of analytics work.&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>dataengineering</category>
      <category>datascience</category>
      <category>microsoft</category>
    </item>
    <item>
      <title>Schemas and data modeling in Power BI</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Mon, 02 Feb 2026 13:36:26 +0000</pubDate>
      <link>https://dev.to/essym_19/power-bi-an-introduction-4a62</link>
      <guid>https://dev.to/essym_19/power-bi-an-introduction-4a62</guid>
      <description>&lt;p&gt;In Power BI, data modeling refers to the art of transforming raw data into a structured and relational model ready for analysis and reporting. It involved creating dimension tables (or schemas as they are called in Power BI) and using DAX (Data Analysis Expressions) to create calculated measures.&lt;/p&gt;

&lt;h2&gt;
  
  
  Components of data modeling
&lt;/h2&gt;

&lt;p&gt;There are 4 key components of data modeling in Power BI:&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Data Preparation (Power Query)
&lt;/h4&gt;

&lt;p&gt;This involves cleaning the data in preparation for its analysis.&lt;br&gt;
It involves removing duplicates, handling missing values, standardizing formats, splitting/merging columns, creating derived columns, renaming columns, and filtering our unnecessary rows, among others. &lt;/p&gt;

&lt;h4&gt;
  
  
  2. Relationships
&lt;/h4&gt;

&lt;p&gt;This is the connection of tables based on how they relate to one another.&lt;/p&gt;

&lt;h4&gt;
  
  
  3. DAX Measures
&lt;/h4&gt;

&lt;p&gt;These are the calculations done for business metrics.&lt;br&gt;
They define business logic and KPIs that respond to filters. &lt;br&gt;
Measures calculate totals, ratios, percentages, and react to filters and slicers.&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Model view
&lt;/h4&gt;

&lt;p&gt;This is the architecture diagram where you can arrange your tables into a schema, review and edit relationships, manage hierarchies, and validate filter directions. &lt;/p&gt;

&lt;p&gt;At the heart of Power BI data modeling are schemas, fact and dimension tables, and relationships. &lt;/p&gt;

&lt;h3&gt;
  
  
  Fact and dimension tables
&lt;/h3&gt;

&lt;p&gt;Fact tables store measurable events - things you want to analyze. For example, sales transactions, payments, orders, app events, etc. &lt;/p&gt;

&lt;p&gt;Dimension tables provide context for analysis. For example, customer, product, geography, etc. They are descriptive rather than numeric. &lt;/p&gt;

&lt;h3&gt;
  
  
  Relationships
&lt;/h3&gt;

&lt;p&gt;We have already created relations as a definition of how tables interact. There are two key concepts of relationships: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Cardinality: &lt;br&gt;
One-to-many (dimension → fact) ✅&lt;br&gt;
Many-to-many ⚠️ (use only when unavoidable)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Filter direction&lt;br&gt;
Single direction (recommended)&lt;br&gt;
Both directions (advanced, risky)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Schemas
&lt;/h3&gt;

&lt;p&gt;A schema refers to the structure and organization of data within a data model. There are two key types of schemas: star schema and snowflake schema.&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.amazonaws.com%2Fuploads%2Farticles%2F07qb6d7n2dzm8zqtl8rj.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.amazonaws.com%2Fuploads%2Farticles%2F07qb6d7n2dzm8zqtl8rj.png" alt=" " width="596" height="221"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>analytics</category>
      <category>beginners</category>
      <category>microsoft</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>MS Excel for Data Analytics</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Sun, 25 Jan 2026 17:03:00 +0000</pubDate>
      <link>https://dev.to/essym_19/ms-excel-for-data-analytics-4oah</link>
      <guid>https://dev.to/essym_19/ms-excel-for-data-analytics-4oah</guid>
      <description>&lt;p&gt;I have always used Excel to perform basic tasks, but only recently did I discover its ability to perform somewhat complex analytics. In this article, I explore three of the lesser-known but powerful features of Excel. &lt;/p&gt;




&lt;h2&gt;
  
  
  Data Validation
&lt;/h2&gt;

&lt;p&gt;Data Validation helps you restrict what can be entered in a cell. This is useful for preventing errors in large datasets.&lt;/p&gt;

&lt;p&gt;This is powerful because it ensures data quality and consistency, and reduces manual cleaning later&lt;/p&gt;

&lt;h2&gt;
  
  
  Dashboards
&lt;/h2&gt;

&lt;p&gt;Dashboards combine charts, tables, and key metrics into a single, interactive visual display. You can create dashboards with Excel by combining tables, charts, and multiple charts. &lt;/p&gt;

&lt;p&gt;You can also use Slicers to filter multiple charts at once. This is one of the most powerful features of Excel because it lets you see patterns, trends, and anomalies at a glance, making decision-making faster and more informed. &lt;/p&gt;

&lt;h2&gt;
  
  
  Lookup Functions
&lt;/h2&gt;

&lt;p&gt;-&amp;gt; VLOOKUP, HLOOKUP, XLOOKUP&lt;br&gt;
Lookup functions let you find values in large datasets quickly.&lt;/p&gt;

&lt;p&gt;Example with XLOOKUP:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;=XLOOKUP("John", A2:A100, C2:C100, "Not Found")&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This searches for "John" in the first column and returns the corresponding value from the Sales Amount column.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>data</category>
      <category>analytics</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Revolve- fusion 360</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Sat, 29 Jan 2022 12:14:30 +0000</pubDate>
      <link>https://dev.to/essym_19/revolve-fusion-360-54n8</link>
      <guid>https://dev.to/essym_19/revolve-fusion-360-54n8</guid>
      <description>&lt;p&gt;Revolve creates a mirror of an image and creates a solid body on both the body and the reflection. It is one of the most amazing fusion 360 features because it enables symmetry in objects. &lt;/p&gt;

&lt;p&gt;Some other concepts I recently learned are as follows: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;extruding to another surface&lt;/strong&gt;:&lt;br&gt;
choose extrude to and select the bottom surface. This ensures that if you ever need to move that body, no constrain will stop you&lt;br&gt;
shell: uneven(curved) bodies for even extruding cut&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;projecting existing geometry&lt;/strong&gt;:&lt;br&gt;
This allows you to work on a specific geometry without losing some faces. It is important when using spline. When using spline, it is possible for some faces to be lost but by projecting the geometry, you can tell which face is not visible in your sketch. &lt;/p&gt;

</description>
      <category>fusion360</category>
      <category>3d</category>
    </item>
    <item>
      <title>The rectifier circuit</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Thu, 27 Jan 2022 10:35:26 +0000</pubDate>
      <link>https://dev.to/essym_19/the-rectifier-circuit-4g36</link>
      <guid>https://dev.to/essym_19/the-rectifier-circuit-4g36</guid>
      <description>&lt;p&gt;So, after a week of understanding current and power calculations, capacitance values, and the resistor aspects of a rectifier, I finally came up with a circuit for the rectifier as in the diagram 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.amazonaws.com%2Fuploads%2Farticles%2Flzpi4elclnoo1zh9bcrc.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.amazonaws.com%2Fuploads%2Farticles%2Flzpi4elclnoo1zh9bcrc.png" alt=" " width="800" height="341"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Building a Rectifier Circuit</title>
      <dc:creator>Mueni</dc:creator>
      <pubDate>Wed, 19 Jan 2022 12:40:05 +0000</pubDate>
      <link>https://dev.to/essym_19/building-a-rectifier-circuit-1bmm</link>
      <guid>https://dev.to/essym_19/building-a-rectifier-circuit-1bmm</guid>
      <description>&lt;p&gt;In my projects when I need to convert AC to DC, I use already made rectifiers like the HLK-10M05 module. There are some disadvantages that come with using the module as a stand alone, the biggest being just that; it is too big. &lt;br&gt;
As an alternative, you can build a rectifier circuit into your project. The circuit works to convert AC to specified DC power. &lt;/p&gt;

&lt;p&gt;The components you require to make the circuit are: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;4 diodes whose connection converts the DC to AC without changing the voltage&lt;/li&gt;
&lt;li&gt;1 Zener diode to drop down the voltage&lt;/li&gt;
&lt;li&gt;a smoothening capacitor to smoothen out the irregular DC voltage&lt;/li&gt;
&lt;li&gt;two resistors to trim the voltage output to get the exact voltage and current you need. When selecting these resistance, your target should be high current low resistance. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With just 4 components, you make a AC-DC converter that takes up about 20mm of space. I will later update the circuit for my rectifier with an update on its functionality on my project. &lt;/p&gt;

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