<?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: Sthefany Spina</title>
    <description>The latest articles on DEV Community by Sthefany Spina (@sthefanyspina).</description>
    <link>https://dev.to/sthefanyspina</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%2F1219849%2F4af8875a-167a-4db7-8874-fbd9892eb1d0.jpg</url>
      <title>DEV Community: Sthefany Spina</title>
      <link>https://dev.to/sthefanyspina</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sthefanyspina"/>
    <language>en</language>
    <item>
      <title>SQL Statement</title>
      <dc:creator>Sthefany Spina</dc:creator>
      <pubDate>Sat, 22 Mar 2025 10:20:58 +0000</pubDate>
      <link>https://dev.to/sthefanyspina/sql-statement-5d2o</link>
      <guid>https://dev.to/sthefanyspina/sql-statement-5d2o</guid>
      <description>&lt;p&gt;Most of the actions you need to perform on a database are done with SQL statements.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CREATE DATABASE: statement is used to create a new SQL database.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE DATABASE databasename;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;DROP: The DROP DATABASE statement is used to drop an existing SQL database.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DROP DATABASE databasename;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;BACKUP: The BACKUP DATABASE statement is used in SQL Server to create a full back up of an existing SQL database.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;BACKUP DATABASE databasename
TO DISK = 'filepath';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;CREATE TABLE: The CREATE TABLE statement is used to create a new table in a database.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    column3 datatype,
   ....
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;DROP TABLE: The DROP TABLE statement is used to drop an existing table in a database.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DROP TABLE table_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;ALTER TABLE: is used to add, delete, or modify columns in an existing table.Is also used to add and drop various constraints on an existing table.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ALTER TABLE - ADD Column: To add a column in a table, use the following syntax:&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLE table_name
ADD column_name datatype;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ALTER TABLE - DROP COLUMN: To delete a column in a table, use the following syntax (notice that some database systems don't allow deleting a column):
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLE table_name
DROP COLUMN column_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ALTER TABLE - RENAME COLUMN: To rename a column in a table, use the following syntax:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLE table_name
RENAME COLUMN old_name to new_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ALTER TABLE - ALTER/MODIFY DATATYPE: To change the data type of a column in a table, use the following syntax:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLE table_name
ALTER COLUMN column_name datatype;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;NOT NULL: The NOT NULL constraint enforces a column to NOT accept NULL values.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255) NOT NULL,
    Age int
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;SQL NOT NULL on ALTER TABLE: To create a NOT NULL constraint on the "Age" column when the "Persons" table is already created, use the following SQL:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLE Persons
ALTER COLUMN Age int NOT NULL;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;UNIQUE: The UNIQUE constraint ensures that all values in a column are different.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Persons (
    ID int NOT NULL UNIQUE,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;SQL UNIQUE Constraint on ALTER TABLE: To create a UNIQUE constraint on the "ID" column when the table is already created, use the following SQL:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER TABLE Persons
ADD UNIQUE (ID);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;PRIMER KEY: must contain UNIQUE values, and cannot contain NULL values. A table can have only ONE primary key; and in the table, this primary key can consist of single or multiple columns (fields).
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (ID)
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;FOREIGN KEY: The FOREIGN KEY constraint is used to prevent actions that would destroy links between tables. Is a field (or collection of fields) in one table, that refers to the PRIMARY KEY in another table.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;CHECK: The CHECK constraint is used to limit the value range that can be placed in a column.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age&amp;gt;=18)
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;DEFAULT: is used to set a default value for a column, will be added to all new records, if no other value is specified.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255) DEFAULT 'Sandnes'
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;INDEX: is used to create indexes in tables.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE INDEX index_name
ON table_name (column1, column2, ...);
OR
CREATE UNIQUE INDEX index_name
ON table_name (column1, column2, ...);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AUTO INCREMENT: allows a unique number to be generated automatically when a new record is inserted into a table. Often this is the primary key field that we would like to be created automatically every time a new record is inserted.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;DATES: MySQL comes with the following data types for storing a date or a date/time value in the database:&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;DATE - format YYYY-MM-DD&lt;/li&gt;
&lt;li&gt;DATETIME - format: YYYY-MM-DD HH:MI:SS&lt;/li&gt;
&lt;li&gt;TIMESTAMP - format: YYYY-MM-DD HH:MI:SS&lt;/li&gt;
&lt;li&gt;YEAR - format YYYY or YY
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Orders WHERE OrderDate='2008-11-11'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;VIEWS: a view is a virtual table based on the result-set of an SQL statement. Contains rows and columns, just like a real table. The fields in a view are fields from one or more real tables in the database.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE VIEW Syntax
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Updating a View: can be updated with the CREATE OR REPLACE VIEW statement.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Dropping a View: is deleted with the DROP VIEW statement.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DROP VIEW view_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;SELECT: is used to select data from a database.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT CustomerName, City FROM Customers;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;SELECT DISTINCT: is used to return only distinct (different) values.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT DISTINCT Country FROM Customers;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;WHERE: It is used to extract only those records that fulfill a specified condition.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column1, FROM table_name WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ORDER BY: is used to sort the result-set in ascending or descending order.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT * FROM Products
ORDER BY Price;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AND: The AND operator is used to filter records based on more than one condition, like if you want to return all customers from Spain that starts with the letter 'G':
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;OR: The OR operator is used to filter records based on more than one condition, like if you want to return all customers from Germany but also those from Spain:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;NOT: The NOT operator is used in combination with other operators to give the opposite result, also called the negative result.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;INSERT INTO: is used to insert new records in a table.&lt;/li&gt;
&lt;li&gt;It is possible to write the INSERT INTO statement in two ways:&lt;/li&gt;
&lt;li&gt;1. Specify both the column names and the values to be inserted:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;2. If you are adding values for all the columns of the table, you do not need to specify the column names in the SQL query. However, make sure the order of the values is in the same order as the columns in the table. Here, the INSERT INTO syntax would be as follows:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO table_name
VALUES (value1, value2, value3, ...);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;NULL VALUES: It is not possible to test for NULL values with comparison operators, such as =, &amp;lt;, or &amp;lt;&amp;gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;IS NULL Syntax&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_names
FROM table_name
WHERE column_name IS NULL;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;IS NOT NULL Syntax&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;UPDATE: is used to modify the existing records in a table.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;DELETE: is used to delete existing records in a table.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;DELETE FROM table_name WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;MIN: returns the smallest value of the selected column.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT MIN(column_name)
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;MAX: returns the largest value of the selected column.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT MAX(column_name)
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;COUNT: returns the number of rows that matches a specified criterion.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT COUNT(column_name)
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;SUM: returns the total sum of a numeric column.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT SUM(column_name)
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;AVG: returns the average value of a numeric column.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT AVG(column_name)
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;LIKE: The LIKE operator is used in a WHERE clause to search for a specified pattern in a column.There are two wildcards often used in conjunction with the LIKE operator
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;IN: The IN operator allows you to specify multiple values in a WHERE clause.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;BETWEEN: The BETWEEN operator selects values within a given range. The values can be numbers, text, or dates.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ALIASES (AS): SQL aliases are used to give a table, or a column in a table, a temporary name.&lt;/li&gt;
&lt;li&gt;Aliases are often used to make column names more readable.&lt;/li&gt;
&lt;li&gt;An alias only exists for the duration of that query.&lt;/li&gt;
&lt;li&gt;An alias is created with the AS keyword.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name AS alias_name
FROM table_name;
SELECT column_name(s)
FROM table_name AS alias_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;INNER JOIN: The INNER JOIN keyword selects records that have matching values in both tables.&lt;/li&gt;
&lt;li&gt;SELECT column_name(s)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;LEFT JOIN: The LEFT JOIN keyword returns all records from the left table (table1), and the matching records from the right table (table2). The result is 0 records from the right side, if there is no match.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;RIGHT JOIN: The RIGHT JOIN keyword returns all records from the right table (table2), and the matching records from the left table (table1). The result is 0 records from the left side, if there is no match.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;FULL JOIN: The FULL OUTER JOIN keyword returns all records when there is a match in left (table1) or right (table2) table records.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;SELF JOIN: A self join is a regular join, but the table is joined with itself.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table1 T1, table1 T2
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;UNION: The UNION operator is used to combine the result-set of two or more SELECT statements.&lt;/li&gt;
&lt;li&gt;Every SELECT statement within UNION must have the same number of columns&lt;/li&gt;
&lt;li&gt;The columns must also have similar data types&lt;/li&gt;
&lt;li&gt;The columns in every SELECT statement must also be in the same order
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;UNION ALL: The UNION operator selects only distinct values by default. To allow duplicate values, use UNION ALL:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;GROUP BY: The GROUP BY statement groups rows that have the same values into summary rows, like "find the number of customers in each country".
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;HAVING: The HAVING clause was added to SQL because the WHERE keyword cannot be used with aggregate functions.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;EXISTS: The EXISTS operator is used to test for the existence of any record in a subquery.&lt;/li&gt;
&lt;li&gt;The EXISTS operator returns TRUE if the subquery returns one or more records.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ANY: returns a boolean value as a result and returns TRUE if ANY of the subquery values meet the condition.&lt;/li&gt;
&lt;li&gt;ANY means that the condition will be true if the operation is true for any of the values in the range.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT column_name(s)
FROM table_name
WHERE column_name operator ANY
  (SELECT column_name
  FROM table_name
  WHERE condition);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;ALL: The ALL operator:&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;returns a boolean value as a result&lt;/li&gt;
&lt;li&gt;returns TRUE if ALL of the subquery values meet the condition&lt;/li&gt;
&lt;li&gt;is used with SELECT, WHERE and HAVING statements&lt;/li&gt;
&lt;li&gt;ALL means that the condition will be true only if the operation is true for all values in the range.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT ALL column_name(s)
FROM table_name
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;SELECT INTO: The SELECT INTO statement copies data from one table into a new table.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;
Copy only some columns into a new table:
SELECT column1, column2, column3, ...
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;INSERT INTO SELECT: The INSERT INTO SELECT statement copies data from one table and inserts it into another table.&lt;/li&gt;
&lt;li&gt;The INSERT INTO SELECT statement requires that the data types in source and target tables match.&lt;/li&gt;
&lt;li&gt;Note: The existing records in the target table are unaffected.&lt;/li&gt;
&lt;li&gt;Copy all columns from one table to another table:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;INSERT INTO table2
SELECT * FROM table1
WHERE condition;
Copy only some columns from one table into another table:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;CASE: The CASE expression goes through conditions and returns a value when the first condition is met (like an if-then-else statement). So, once a condition is true, it will stop reading and return the result. If no conditions are true, it returns the value in the ELSE clause.&lt;/li&gt;
&lt;li&gt;If there is no ELSE part and no conditions are true, it returns NULL.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;STORED PROCEDURE: A stored procedure is a prepared SQL code that you can save, so the code can be reused over and over again.&lt;/li&gt;
&lt;li&gt;So if you have an SQL query that you write over and over again, save it as a stored procedure, and then just call it to execute it.&lt;/li&gt;
&lt;li&gt;You can also pass parameters to a stored procedure, so that the stored procedure can act based on the parameter value(s) that is passed.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;CREATE PROCEDURE procedure_name
AS
sql_statement
GO;
Execute a Stored Procedure
EXEC procedure_name;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;COMMENTS: Single line comments start with --.&lt;/li&gt;
&lt;li&gt;Any text between -- and the end of the line will be ignored (will not be executed).
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-- Select all:
SELECT * FROM Customers;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>sql</category>
      <category>database</category>
    </item>
    <item>
      <title>Visualização de Dados</title>
      <dc:creator>Sthefany Spina</dc:creator>
      <pubDate>Sat, 15 Mar 2025 16:24:39 +0000</pubDate>
      <link>https://dev.to/sthefanyspina/visualizacao-de-dados-5575</link>
      <guid>https://dev.to/sthefanyspina/visualizacao-de-dados-5575</guid>
      <description>&lt;p&gt;Visualização de dados é o processo de usar elementos visuais, como diagramas, gráficos ou mapas para representar dados. Ela traduz dados complexos, de alto volume ou numéricos em uma representação visual que é mais fácil de processar.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quais são os componentes da visualização de dados?
&lt;/h3&gt;

&lt;p&gt;Os cientistas de dados combinam três componentes principais para visualizar dados.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;História: representa o propósito por detrás das visualizações de dados. &lt;/li&gt;
&lt;li&gt;Dados: identificam os conjuntos de dados apropriados que os ajudarão a narrar a história dos dados. Eles modificam formatos de dados existentes, limpam os dados, removem valores atípicos e fazem análises adicionais. Após a preparação dos dados, eles planejam os diferentes métodos de exploração visual.&lt;/li&gt;
&lt;li&gt;Elementos visuais: selecionam os métodos de visualização mais adequados para compartilhar novos insights. Eles criam diagramas e gráficos destacando os principais pontos de dados e simplificando conjuntos de dados complexos. &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quais são as etapas do processo de visualização de dados?
&lt;/h3&gt;

&lt;p&gt;Há cinco etapas para uma visualização eficaz dos dados.&lt;br&gt;
Definir a meta&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;É possível definir uma meta de visualização de dados identificando perguntas às quais possivelmente o conjunto de dados existente é capaz de responder. Uma meta clara ajuda a determinar o tipo de:&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Dados que você usará&lt;/li&gt;
&lt;li&gt;Análise que você fará&lt;/li&gt;
&lt;li&gt;Recursos visuais que você usará para comunicar suas descobertas de modo eficaz&lt;/li&gt;
&lt;li&gt;Coletar os dados: envolve identificar fontes de dados internas e externas. &lt;/li&gt;
&lt;li&gt;Limpar os dados: implica remover dados redundantes, executar operações matemáticas para análise posterior ou filtrar e converter dados para atender aos critérios da pergunta. &lt;/li&gt;
&lt;li&gt;Selecionar os elementos visuais de dados: É possível escolher entre vários tipos de gráficos diferentes para obter uma descoberta visual eficiente. As relações entre os pontos de dados e os insights que você deseja comunicar determinarão as melhores representações gráficas. &lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Visualização estática: fornece apenas uma visão única de uma história de dados específica. &lt;/li&gt;
&lt;li&gt;Visualização interativa: permite que os usuários interajam com diagramas e gráficos. &lt;/li&gt;
&lt;li&gt;Criar os elementos visuais de dados: use as ferramentas de visualização de dados para criar os visuais de dados necessários. 
5.Chame a atenção do público para detalhes importantes usando tamanhos, cores, fontes e gráficos&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Use pistas visuais para fornecer o contexto dos dados&lt;/li&gt;
&lt;li&gt;Escolha as combinações de cores certas&lt;/li&gt;
&lt;li&gt;Use títulos explicativos para fornecer insights importantes ao público e ajudá-lo a se concentrar nas perguntas certas&lt;/li&gt;
&lt;li&gt;Adicione rótulos e números precisos &lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quais são os diferentes tipos de técnicas de visualização de dados?
&lt;/h3&gt;

&lt;p&gt;Visualização de dados temporais: são usadas para representar objetos lineares unidimensionais, como um gráfico de linhas, um grafo de linhas ou uma linha do tempo. &lt;br&gt;
Visualização de dados hierárquica: refere-se a um grupo ou conjunto de itens que têm vínculos comuns com um item pai. É possível usar essas árvores de dados para exibir clusters de informações. &lt;br&gt;
Visualização de dados de rede: é útil para representar a relação complexa entre diferentes tipos de dados correlacionados. Por exemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Gráficos de dispersão que representam dados como pontos em um grafo&lt;/li&gt;
&lt;li&gt;Gráficos de bolhas que adicionam um terceiro fator de dados ao gráfico de dispersão&lt;/li&gt;
&lt;li&gt;Nuvens de palavras que representam a frequência das palavras com o uso de palavras de diferentes tamanhos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Visualização de dados multidimensional: representa duas ou mais variáveis de dados como uma única imagem 2D ou 3D. &lt;br&gt;
Visualização de dados geoespacial: apresenta dados em relação a locais do mundo real. &lt;/p&gt;

&lt;h3&gt;
  
  
  O que são práticas recomendadas de visualização de dados?
&lt;/h3&gt;

&lt;p&gt;Práticas recomendadas de visualização de dados adicionam clareza, integridade e precisão aos seus relatórios de dados.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Elementos de projeto: pode tornar sua visualização de dados mais envolvente. Você pode usar cores, tons e formas para acrescentar mais detalhes ao elemento visual. &lt;/li&gt;
&lt;li&gt;Evidência abrangente: usar um grande volume de dados na sua análise pode melhorar a precisão da visualização dos dados. &lt;/li&gt;
&lt;li&gt;Comparações relevantes: dão contexto aos dados e reforçam o ponto de vista que você está expondo. Elas também tornam os dados mais acionáveis.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quais são os desafios na visualização de dados?
&lt;/h3&gt;

&lt;p&gt;A visualização de dados apresenta alguns desafios que podem levar à deturpação das informações ou ao exagero de certos fatos.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplificação excessiva dos dados: devem encontrar um equilíbrio entre compreensão e comunicação dos dados. Simplificá-los pode resultar na perda de informações importantes. &lt;/li&gt;
&lt;li&gt;Exagero: pode-se visualizar dados não relacionados para criar correlações inexistentes. &lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>ETL e ELT</title>
      <dc:creator>Sthefany Spina</dc:creator>
      <pubDate>Sat, 15 Mar 2025 16:15:03 +0000</pubDate>
      <link>https://dev.to/sthefanyspina/etl-e-elt-4jn2</link>
      <guid>https://dev.to/sthefanyspina/etl-e-elt-4jn2</guid>
      <description>&lt;h3&gt;
  
  
  ETL
&lt;/h3&gt;

&lt;p&gt;Extração, transformação e carregamento (ETL) correspondem ao processo de combinação de dados de várias fontes em um grande repositório central, chamado de data warehouse. &lt;br&gt;
O processo de ETL usa um conjunto de regras de negócios para limpar e organizar dados brutos e prepará-los para armazenamento, data analytics e machine learning (ML).&lt;/p&gt;

&lt;h3&gt;
  
  
  Como funciona o processo de ETL?
&lt;/h3&gt;

&lt;p&gt;O processo de extração, transformação e carregamento (ETL) se dá pela movimentação de dados do sistema de origem para o sistema de destino em intervalos periódicos. O processo de ETL funciona em três etapas:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Extração dos dados relevantes do banco de dados de origem&lt;/li&gt;
&lt;li&gt;Transformação dos dados para que sejam mais adequados a análises&lt;/li&gt;
&lt;li&gt;Carregamento dos dados no banco de dados de destino&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  O que é ELT?
&lt;/h3&gt;

&lt;p&gt;Extração, carregamento e transformação (ELT) é uma extensão de extração, transformação e carregamento (ETL) que inverte a ordem das operações. &lt;br&gt;
Você pode fazer o carregamento de dados diretamente no sistema de destino antes de processá-los. &lt;br&gt;
A área de preparação intermediária não é necessária porque o data warehouse de destino possui recursos de mapeamento de dados. &lt;/p&gt;

&lt;h3&gt;
  
  
  O que é Extração de Dados?
&lt;/h3&gt;

&lt;p&gt;Na extração de dados, as ferramentas de ETL extraem ou copiam dados brutos de diversas fontes e os armazenam em uma área de preparação. &lt;br&gt;
Uma área de preparação (ou zona de pouso) é uma área de armazenamento intermediária para armazenamento temporário dos dados extraídos. &lt;br&gt;
As áreas de preparação de dados geralmente são temporárias, o que significa que seu conteúdo é apagado após a conclusão da extração de dados. &lt;br&gt;
A frequência com que o sistema envia dados da fonte de dados para o armazenamento de dados de destino depende do mecanismo de captura de dados de alterações subjacente. Normalmente, a extração de dados acontece de uma das três maneiras apresentadas a seguir.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Notificação de atualização: o sistema de origem notifica você quando um registro de dados é alterado. &lt;/li&gt;
&lt;li&gt;Extração gradual: Algumas fontes de dados não podem fornecer notificações de atualização, mas podem identificar e extrair dados que foram modificados em um determinado período. &lt;/li&gt;
&lt;li&gt;Extração completa: alguns sistemas não conseguem identificar alterações de dados ou fornecer notificações, portanto, realizar novamente o carregamento de todos os dados é a única opção. &lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  O que é transformação de dados?
&lt;/h3&gt;

&lt;p&gt;As ferramentas de ETL transformam e consolidam os dados brutos na área de preparação a fim de prepará-los para o data warehouse de destino. A fase de transformação de dados pode envolver os seguintes tipos de alterações de dados.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Transformação de dados básica: melhoram a qualidade dos dados ao remover erros, esvaziar campos de dados ou simplificar os dados. Veja exemplos dessas transformações a seguir.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Limpeza de dados: A limpeza de dados remove erros e mapeia os dados de origem para o formato de dados de destino&lt;/li&gt;
&lt;li&gt;Eliminação de duplicação de dados: identifica e remove registros duplicados&lt;/li&gt;
&lt;li&gt;Revisão de formato de dados: converte dados, como conjuntos de caracteres, unidades de medida e valores de data e horário, para um formato consistente. &lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Transformação de dados avançada: utilizam regras de negócios para otimizar os dados a fim de facilitar a análise. Veja exemplos dessas transformações a seguir.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Derivação: aplica regras de negócios aos seus dados para calcular novos valores com base em valores existentes. &lt;/li&gt;
&lt;li&gt;Junção: vincula dados semelhantes de diferentes fontes de dados. &lt;/li&gt;
&lt;li&gt;Separação: você pode dividir uma coluna ou um atributo de dados em diversas colunas no sistema de destino. &lt;/li&gt;
&lt;li&gt;Resumo: melhora a qualidade dos dados ao reduzir um grande número de valores de dados em um conjunto de dados menor. &lt;/li&gt;
&lt;li&gt;Encriptação: Você pode proteger dados confidenciais para cumprir as leis de dados ou a privacidade de dados adicionando encriptação antes que os dados sejam transmitidos para o banco de dados de destino.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  O que é carregamento de dados?
&lt;/h3&gt;

&lt;p&gt;No carregamento de dados, as ferramentas de extração, transformação e carregamento (ETL) movem os dados transformados da área de preparação para o data warehouse de destino. &lt;br&gt;
Veja abaixo métodos para carregamento de dados.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Carregamento completo: todos os dados da origem são transformados e movidos para o data warehouse. &lt;/li&gt;
&lt;li&gt;Carregamento incremental: a ferramenta de ETL realiza o carregamento do delta (ou diferença) entre os sistemas de destino e de origem em intervalos regulares. &lt;/li&gt;
&lt;li&gt;Carregamento incremental por transmissão: se você tiver pequenos volumes de dados, poderá transmitir alterações de forma contínua através de pipelines de dados para o data warehouse de destino. &lt;/li&gt;
&lt;li&gt;Carregamento incremental em lotes: se você tiver grandes volumes de dados, poderá coletar alterações de dados de carregamento em lotes periodicamente.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ETL e ELT
&lt;/h3&gt;

&lt;p&gt;O processo de ELT funciona bem para conjuntos de dados não estruturados e de alto volume que exigem carregamento frequente. Também é ideal para big data, pois o planejamento de análises pode ser realizado após a extração e o armazenamento dos dados. &lt;br&gt;
O processo de ETL requer maior definição no início. A análise precisa estar envolvida desde o início para que haja definição dos tipos de dados de destino, estruturas e relações. &lt;/p&gt;

&lt;h3&gt;
  
  
  Diferença entre pipeline de dados e de ETL
&lt;/h3&gt;

&lt;p&gt;Um pipeline de extração, transformação e carregamento (ETL) é um tipo especial de pipeline de dados. As ferramentas ETL extraem ou copiam dados brutos de várias fontes e os armazenam em um local temporário chamado de área de preparação. &lt;br&gt;
Elas transformam os dados na área de preparação e os carregam em data lakes ou armazéns.&lt;br&gt;
Nem todos os pipelines de dados seguem a sequência ETL. &lt;br&gt;
Alguns podem extrair os dados de uma fonte e carregá-los em outro lugar sem transformações. Outros pipelines de dados seguem uma sequência de extração, carregamento e transformação (ELT), onde extraem e carregam dados não estruturados diretamente em um data lake. &lt;br&gt;
Eles realizam alterações depois de mover as informações para data warehouses na nuvem.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>etl</category>
    </item>
    <item>
      <title>Pipeline de Dados</title>
      <dc:creator>Sthefany Spina</dc:creator>
      <pubDate>Fri, 07 Mar 2025 19:46:40 +0000</pubDate>
      <link>https://dev.to/sthefanyspina/pipeline-de-dados-1j68</link>
      <guid>https://dev.to/sthefanyspina/pipeline-de-dados-1j68</guid>
      <description>&lt;h3&gt;
  
  
  Pipeline de Dados
&lt;/h3&gt;

&lt;p&gt;Um pipeline de dados é um método no qual dados brutos são ingeridos de várias fontes de dados, transformados e, em seguida, transferidos para um armazenamento de dados, como um data lake ou data warehouse, para análise.&lt;/p&gt;

&lt;h3&gt;
  
  
  Como funciona um pipeline de dados?
&lt;/h3&gt;

&lt;p&gt;Um pipeline de dados extrai dados de uma fonte, faz alterações e os salva em um destino específico. Segue os componentes críticos da arquitetura de pipeline de dados:&lt;/p&gt;

&lt;p&gt;• Fontes de dados: pode ser uma aplicação, um dispositivo ou outro banco de dados. Fontes diferentes podem enviar dados para o pipeline. O pipeline também pode extrair pontos de dados usando uma chamada de API, webhook ou processo de duplicação de dados. &lt;/p&gt;

&lt;p&gt;• Transformações: são operações (como classificação, reformatação, desduplicação, verificação e validação) que alteram dados. Seu pipeline pode filtrar, resumir ou processar dados para atender aos seus requisitos de análise.&lt;/p&gt;

&lt;p&gt;• Dependências: podem existir dependências específicas que reduzem a velocidade de movimentação de dados no pipeline. Existem dois tipos principais de dependências - técnicas e de negócios&lt;/p&gt;

&lt;p&gt;• Destinos: O endpoint de seu pipeline de dados pode ser um data warehouse, data lake ou outra aplicação de análise de dados ou business intelligence. Às vezes, o destino também é chamado de coletor de dados.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tipos de Pipelines
&lt;/h3&gt;

&lt;p&gt;Existem vários tipos principais de pipelines de dados, cada um apropriado para tarefas específicas em plataformas específicas.&lt;/p&gt;

&lt;p&gt;• Processamento em lote: carrega "lotes" de dados em um repositório durante intervalos de tempo definidos, que normalmente são programados fora do horário de pico comercial. Dessa forma, outras cargas de trabalho não são afetadas, uma vez que os trabalhos de processamento em lote tendem a trabalhar com grandes volumes de dados.&lt;/p&gt;

&lt;p&gt;• Dados de streaming: processam continuamente os eventos gerados por várias fontes, como sensores ou interações do usuário em um aplicativo. Os eventos são processados e analisados e, em seguida, armazenados em bancos de dados ou enviados para uma análise mais aprofundada.&lt;/p&gt;

&lt;p&gt;• Pipelines de integração de dados: se concentram na mesclagem de dados de várias fontes em uma única exibição unificada. Esses pipelines geralmente envolvem processos de extração, transformação e carregamento (ETL) que limpam, enriquecem ou modificam dados brutos antes de armazená-los em um repositório centralizado, como um data warehouse ou data lake.&lt;/p&gt;

&lt;p&gt;• Pipelines de dados nativos da nuvem: inclui um pacote de produtos de software nativos da nuvem que permitem a coleta, limpeza, transformação e análise dos dados de uma organização para ajudar a melhorar a tomada de decisões.&lt;/p&gt;

&lt;h3&gt;
  
  
  Arquitetura de pipeline de dados
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Ingestão de dados: Os dados são coletados de várias fontes, incluindo plataformas de software como serviço (SaaS), dispositivos de internet das coisas (IoT) e dispositivos móveis, e várias estruturas de dados, tanto de dados estruturados quanto não estruturados.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Transformação de dados: Durante esta etapa, uma série de trabalhos são executados para processar os dados no formato exigido pelo repositório de dados de destino.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Armazenamento de dados: Os dados transformados são então armazenados em um repositório de dados, onde podem ser expostos a diversos stakeholders. &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>datascience</category>
      <category>dataengineering</category>
    </item>
    <item>
      <title>Modelagem de Dados</title>
      <dc:creator>Sthefany Spina</dc:creator>
      <pubDate>Fri, 07 Mar 2025 16:54:26 +0000</pubDate>
      <link>https://dev.to/sthefanyspina/modelagem-de-dados-1429</link>
      <guid>https://dev.to/sthefanyspina/modelagem-de-dados-1429</guid>
      <description>&lt;h3&gt;
  
  
  Modelagem de dados
&lt;/h3&gt;

&lt;p&gt;A modelagem de dados é o processo de criação de uma representação visual de um sistema de informação inteiro ou de partes dele para comunicar conexões entre pontos de dados e estruturas. &lt;br&gt;
O objetivo é ilustrar os tipos de dados usados e armazenados no sistema, os relacionamentos entre eles, as formas como os dados podem ser agrupados e organizados e os respectivos formatos e atributos.&lt;/p&gt;

&lt;h3&gt;
  
  
  Etapas da Modelagem de Dados
&lt;/h3&gt;

&lt;p&gt;A modelagem de dados segue algumas etapas para chegar de fato em um sistema de banco de dados coerente com as necessidades da empresa. &lt;br&gt;
O processo tem quatro etapas, são elas: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Análise de requisitos;&lt;/li&gt;
&lt;li&gt;Modelagem conceitual;&lt;/li&gt;
&lt;li&gt;Modelagem lógica;&lt;/li&gt;
&lt;li&gt;Modelagem física.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Etapa 1 - Análise de Requisitos
&lt;/h4&gt;

&lt;p&gt;A etapa de análise de requisitos é imprescindível para definir as regras de negócio do projeto. Isto é, o que o cliente busca com a criação do sistema (software, plataforma, aplicativo, etc.).&lt;br&gt;&lt;br&gt;
Essa etapa é fundamental para entender as necessidades do cliente e os requisitos do projeto, e especificá-los, analisá-los e validá-los antes de partir para a criação do modelo de banco de dados.&lt;/p&gt;

&lt;h4&gt;
  
  
  Etapa 2 - Modelagem Conceitual
&lt;/h4&gt;

&lt;p&gt;A fase de modelagem conceitual de dados visa capturar os requisitos apresentados pelos stakeholders na fase precedente e organizá-los com uma visão de negócios. &lt;br&gt;
O diagrama criado a partir da modelagem conceitual, deve conter todas as regras de negócio estabelecidas na etapa de análise de requisitos. Ou seja, as funcionalidades desse sistema. &lt;br&gt;
Essa etapa geralmente é feita com o cliente e contém alguns elementos essenciais para o funcionamento do sistema. &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%2Frq307che7ea8eh5g0uy2.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%2Frq307che7ea8eh5g0uy2.png" alt="Image description" width="613" height="283"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;O diagrama de modelagem conceitual precisa ter quatro elementos, são eles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Entidades: Entidades são conceitos do negócio que precisamos armazenar informações&lt;/li&gt;
&lt;li&gt;Relacionamento;&lt;/li&gt;
&lt;li&gt;Cardinalidade;&lt;/li&gt;
&lt;li&gt;Atributos: Atributos são as informações de cada Entidade (campos)
Esses elementos vão estabelecer o que o sistema de banco de dados vai conter (entidades), como elas se relacionam dentro desse sistema, qual o tipo/qualidade do relacionamento entre elas (cardinalidade) e os atributos (características) dessas entidades. 
As tabelas do banco de dados poderão relacionar entre si dos seguintes modos:&lt;/li&gt;
&lt;li&gt;1 pra 1&lt;/li&gt;
&lt;li&gt;1 pra Muitos&lt;/li&gt;
&lt;li&gt;Muitos pra Muitos&lt;/li&gt;
&lt;/ul&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%2Fk281tepjqttd2ueyislc.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%2Fk281tepjqttd2ueyislc.png" alt="Image description" width="498" height="167"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Etapa 3 - Modelo Lógico
&lt;/h4&gt;

&lt;p&gt;Normalização Tabelas&lt;br&gt;
Detalhamento Atributos e Relacionamentos&lt;br&gt;
Construir Modelo Lógico Final &lt;/p&gt;

&lt;p&gt;Processo 1 - Normalização&lt;br&gt;
Normalização é a otimização que realizamos nas tabelas para reduzir redundâncias, duplicações e inconsistência dos dados.&lt;br&gt;
Assim conseguimos ter um modelo de dados mais consistente, organizado e com maior performance. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NF1 - A tabela deve possuir apenas atributos únicos, não podem existir atributos multivalorados.&lt;/li&gt;
&lt;/ul&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%2F92irnpgl19j7ax7k4v4w.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%2F92irnpgl19j7ax7k4v4w.png" alt="Image description" width="543" height="161"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NF2 - Os atributos (não chave) dependem apenas da chave primária&lt;/li&gt;
&lt;/ul&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%2Fpb1sngpxw2cj5unmvq5s.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%2Fpb1sngpxw2cj5unmvq5s.png" alt="Image description" width="521" height="180"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NF3 - Os atributos (não chave) devem ser independentes entre si&lt;/li&gt;
&lt;/ul&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%2F5894t51ao0bvy95i4d5z.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%2F5894t51ao0bvy95i4d5z.png" alt="Image description" width="506" height="205"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Diagrama de Entidade Relacionamento&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%2Flyb28qb9lh95l6rr754t.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%2Flyb28qb9lh95l6rr754t.png" alt="Image description" width="463" height="264"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Etapa 4 - Modelagem Física de Dados (MFDS)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Escolha da Tecnologia SGBD&lt;/li&gt;
&lt;li&gt;Criar banco com SQL&lt;/li&gt;
&lt;li&gt;Gestão e manutenção Banco&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Essa etapa envolve a criação do banco de dados em si, respeitando as regras de negócios definidas nas etapas anteriores e seguindo os requisitos dos outros modelos criados previamente.&lt;br&gt;
Um modelo físico de dados precisa ser lido por um SGBD (Sistema de Gerenciamento de Banco de Dados). &lt;br&gt;
Para tornar isso possível, utiliza-se uma linguagem de desenvolvimento (como por exemplo, SQL) que vai criar a estrutura necessária para a leitura do modelo de dados pelo SGBD.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quais são os tipos de modelagem de dados?
&lt;/h3&gt;

&lt;p&gt;Existem dois tipos de modelagem de dados: modelagem relacional e modelagem dimensional.&lt;/p&gt;

&lt;p&gt;Tipo 1 - Modelagem relacional&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Em um sistema de modelagem relacional, a principal característica é a capacidade de estabelecer uma relação entre as entidades do banco de dados. &lt;/li&gt;
&lt;li&gt;Esse modelo é feito a partir de tabelas que contém entidades e campos de atributos diversos. &lt;/li&gt;
&lt;li&gt;A ideia é que o modelo projetado possa estabelecer a relação entre essas entidades.&lt;/li&gt;
&lt;li&gt;Utiliza-se o modelo relacional para armazenar dados em sistemas transacionais da organização, ou seja, aqueles usados no dia a dia de um negócio e que sofrem mudanças, como inserções, alterações, e remoções de dados. &lt;/li&gt;
&lt;li&gt;Assim, o principal objetivo da modelagem relacional é armazenar as informações transacionais do negócio no banco de dados e torná-las acessíveis nessas atividades operacionais. &lt;/li&gt;
&lt;li&gt;Esse tipo de modelagem geralmente utiliza SGBDs relacionais, que são adequados para sistemas transacionais como mencionado acima.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Tipo 2 - Modelagem Dimensional&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Já a modelagem dimensional é mais utilizada para processos de Data Warehouse (DW) e Business Intelligence (BI). &lt;/li&gt;
&lt;li&gt;Sendo assim, o objetivo principal desse modelo é simplificar a análise de dados multidimensionais. &lt;/li&gt;
&lt;li&gt;O modelo dimensional utiliza uma tabela fato, que contém informações de medidas e tabelas de dimensão, onde estão as entidades, que se relacionam com a tabela fato.&lt;/li&gt;
&lt;li&gt;Utiliza-se esse modelo mais frequentemente para a extração, agregação e análise de dados. &lt;/li&gt;
&lt;li&gt;Com ele, é possível gerar relatórios, dashboards e insights a partir desses bancos de dados, que ajudarão na tomada de decisão estratégica de um negócio.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Tipos de Técnicas
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Modelagem de dados hierárquica: você pode representar as relações entre os vários elementos de dados em um formato semelhante a uma árvore. Modelos de dados hierárquicos representam relações de um para muitos, com pais ou classes de dados raiz mapeados para vários filhos.&lt;/li&gt;
&lt;li&gt;Modelagem de dados de grafos: representam relações de dados que tratam entidades igualmente. As entidades podem se vincular entre si em relações de um para muitos ou de muitos para muitos sem qualquer conceito de pai ou filho.&lt;/li&gt;
&lt;li&gt;Modelagem de dados relacional: é uma abordagem de modelagem popular que visualiza classes de dados como tabelas. Diferentes tabelas de dados se unem ou se vinculam usando chaves que representam a relação de entidades do mundo real. Você pode usar a tecnologia de banco de dados relacional para armazenar dados estruturados, e um modelo de dados relacional é um método útil para representar sua estrutura de banco de dados relacional.&lt;/li&gt;
&lt;li&gt;Modelagem de dados de relações entre entidades: usa diagramas formais para representar as relações entre entidades em um banco de dados. &lt;/li&gt;
&lt;li&gt;Modelagem de dados orientada a objetos: esses objetos de dados são abstrações de software de entidades do mundo real. &lt;/li&gt;
&lt;li&gt;Modelagem de dados dimensional: A computação empresarial moderna usa a tecnologia de data warehouse para armazenar grandes quantidades de dados para análise. Você pode usar projetos de modelagem de dados dimensionais para armazenamento e recuperação de dados em alta velocidade a partir de um data warehouse. Modelos dimensionais usam dados duplicados ou redundantes e priorizam a performance ao uso de menos espaço para o armazenamento de dados.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>datascience</category>
      <category>dataengineering</category>
    </item>
  </channel>
</rss>
