SQL Survival Kit for Data Beginners
swa
Through a hands-on curriculum using MariaDB and HeidiSQL, you can learn the core concepts of SQL and how to use it in practice while collecting, preprocessing, and analyzing data.
Basic
MariaDB, MySQL, SQL
Have you ever felt frustrated with table design? This course is for those who have had concerns like, "Is this table right?", "Which column should be the PK?", "Is it okay to connect relationships this way?", or "Will I have to rebuild the table when adding new features?"
72 learners
Level Basic
Course period Unlimited
Reviews from Early Learners
5.0
์ค์
It is great for building a foundation in an easy-to-understand way.
5.0
Rootree
I am a developer, but I took this course because I have a great interest in DB modeling. It was great to be able to organize concepts that were difficult and hard to understand during my job search with easy examples. Thanks to the explanations that followed theory with step-by-step examples, I was able to clearly understand parts that could have been difficult to grasp :) I think this is a course that experienced professionals can listen to comfortably, with the feeling of reviewing the basics. The tone of the lecture itself was great because it felt like a friendly senior colleague explaining things calmly. If the instructor releases more courses in the future, I will look forward to taking them :) Oh, and the fact that I can ask the instructor about career concerns after completing the course was a huge motivation for me to finish it haha. I will be sending an email inquiry soon~!! Thank you for creating such a great lecture!
5.0
yooonuu
There are times when I design tables during development, and after listening to the lecture, many of my uncertainties seem to have been resolved. Above all, I struggled with writing queries due to poor table design, so itโs comforting to hear that it wasn't because of my lack of query-writing skills ใ ใ
How to analyze requirements and design tables
Essential concepts of 'Logical Data Modeling' regarding entities, attributes, identifiers, and relationships
Knowledge for obtaining DASP and DAP certifications
Table design methods considering performance
Notations for drawing ERDs (IE, Barker)
The anxiety of not feeling confident every time you design
A complex structure that is already tangled when you try to modify it
Adding features = Redesigning tables repetition
Data modeling that you've never learned systematically
In this course, you will learn how to design tables that are not just 'functional,'
but scalable and easy to maintain.
Creating a table that properly captures customer requirements is not easy.
It is difficult to judge on your own which structure is appropriate, whether the design is easy to modify, or if the structure is scalable.
Even when searching for answers, every situation is different, and in the end, the anxiety of wondering, 'Is this the right way?' only grows.
Many developers have similar experiences.
In the early stages of a project, the focus is on quickly creating tables and implementing development features.
Since there is little data and the requirements aren't extensive, everything feels like it's going smoothly.
However, as time passes and the project grows and becomes more complex,
the table structure that was built "only for speed" in the beginning gradually becomes a major obstacle.
Even simple feature additions require modifying multiple tables, bugs recur due to data consistency issues, and
eventually, you end up regretting it, thinking, "If only I had designed it properly back then..."
๐
"As long as it can hold the data, it's fine!"
Designing without deep consideration
Cramming all necessary attributes into a single table for the sake of rapid development
When the data volume is small, it seems to have no issues
๐
Every time a feature is added, table structure modification is required
The same data is duplicated across multiple tables, causing consistency issues
Queries become increasingly complex and performance starts to slow down
๐จ
Adding a single feature requires modifying too many places
Always struggling to decide which table to get the necessary data from
Data inconsistencies occur frequently, and it takes a lot of time to fix them
Even when implementing the same functionality, the results vary completely depending on how it is designed.
A table designed with scalability in mind can easily adapt to changing requirements.
On the other hand, tables created without deep consideration require numerous modifications for even small changes and lead to continuous unexpected issues.
In the beginning, these differences are not easily visible. Both seem to work just fine.
However, as time passes, the difference manifests in development speed and the difficulty of maintenance.
โญ This course covers how to design scalable tables.
You will learn how to do it "right from the start," rather than saying "I"ll fix it later."
By the end of the course, you will be able to look at requirements and design them into a scalable structure.
๐Customer Requirements๐
You can check the weekly menu at the cafeteria.
Lunch and dinner are provided from Monday to Friday, and for each meal plan,
Information about the nutritionist who provided the meal plan can be checked.
The meal menu must include rice and soup, and can include multiple side dishes.
Calories must also be managed.
In some cases, side dishes such as yogurt, ice cream, and fruit are also served.
๐A model designed without much thought
๐A model designed with sufficient consideration
Composed of content that can be applied directly in practice, rather than just simple theory
Presents common real-world challenges and their solutions
Use of practical examples such as book rental systems and shopping malls.
Learn by following the data modeling steps directly.
Perfect review with 700 pages of PPT materials
Easy to grasp concepts with content summarized to the essentials
A reference you can look up anytime
Start immediately without any special preparation
Paper and pen are enough; tools are optional.
Practice using the web-based ERD Cloud without any separate installation.
Explaining both Barker notation and IE notation
Course Introduction: Have you ever felt frustrated during the table design process?
What the course covers
Who is this course for? (Feat. Developers and novice modelers who need DB design)
Lecture Composition
Prerequisite knowledge for taking the course
How to Improve Work Efficiency and Development Productivity
What is data modeling?
We are not maintaining ERDs.
If you design it this way, you will suffer later.
Checking My Understanding of Data Modeling
Quiz 1: True/False Questions
Quiz 2: Matching the Number of Tables
Steps from requirements analysis to table creation
Data modeling steps explained through a toy project
Requirements Analysis/Definition
Setting Subject Areas
Conceptual Data Modeling
Logical Data Modeling
Physical Data Modeling
Can the data modeling stages be simplified?
Data Modeling Notations (Barker, IE)
Barker/IE Notation for Data Modeling
Entity Notation
Attribute Notation
Identifier Notation
Relationship Notation
Subtype notation
Data Modeling Tools (ERwin DA# ERDCloud)
ERwin DA# ERDCloud
ERDCloud Practice
What is an Entity
Concept of Entity
Table? Entity? What's the difference?
How to derive entities from requirements
How should entities be derived?
The core of data modeling: 'Entity Extraction'
[Practice] Step-by-step Entity Derivation
Checking if entities have been 'well' derived
Whether a clear meaning has been assigned to the entity
Whether it is a target that requires management
Whether it forms a set
Whether it is dependent on the business process
Whether it possesses independence
Whether entities were derived based on each individual screen.
By classifying entities, you can understand what kind of data is being stored
Entities also have personalities.
The secret to excellent table design: Classifying entities by their characteristics
Benefits of Entity Classification
What is an attribute
Concept of Attributes
Components of an attribute
Attribute classification that makes query development easier
Reasons for classifying attributes
Basic attributes
Relationship Attributes
Derived Attributes/Redundant Attributes
System Attributes
Special attribute design that many developers miss
Special Attributes
Multi-valued attribute
Composite Attribute
Exclusive Attribute
Code Attribute
Attribute Derivation Method
The secret to finding the attributes you truly need
[Practice] Following the Attribute Derivation Process
What is an Identifier
Concept of Identifiers
Characteristics of Identifiers
Classification of Identifiers
Artificial identifiers commonly used as 'OO Number'
Natural Identifiers and Surrogate Identifiers (feat. Real Subjects and Dummy Subjects)
Identifiers commonly used by entity type
Should we use a natural identifier? Or should we use a surrogate identifier?
Identifier Selection Method
[Practice] Following the Identifier Selection Process
Precautions when selecting identifiers
Various stories related to identifiers
What if we unconditionally use artificial identifiers?
Product Number Attribute Format (000000121 vs GOD000121 vs 121)
The habit of thinking about sample data
What is a Relationship?
Concept of Relationships
Relationships and Joins
Components of a Relationship (Relationship Cardinality, Relationship Optionality, Relationship Name)
Components of a relationship
Relationship Cardinality (1:1 / 1:M / M:N)
Relationship Optionality (Optional / Mandatory)
Relationship Name
The secret to connecting relationships easily
The hidden meaning behind relationship lines
Dependent relationship
Reference Relationship
Identifying and Non-identifying Relationships
Summary of Dependent/Reference and Identifying/Non-identifying Relationships
Tricky relationships encountered in practice (Multiple, Recursive, Exclusive, BOM)
Various Relationships
Multiple Relationships
Recursive Relationship (= Circular Relationship)
Exclusive Relationship (= Arc Relationship)
BOM Relationship
Relationship Derivation Method
[Practice] Following Along with Relationship Derivation 1
[Practice] Following Along with Relationship Derivation 2
Various stories related to relationships
Are Foreign Key (FK) constraints necessary? (feat. My company doesn't create FKs)
Cases where you don't need to connect relationship lines
Connecting relationships for performance improvement
Subtype and Supertype
Subtype/Supertype Concepts
Subtype/Supertype Characteristics
In what situations should subtypes be used?
Reasons for using subtypes
Situations where subtypes should be derived
How to derive subtypes
[Practice] Following the Subtype Derivation Process
Precautions when deriving subtypes
Creating tables for entities that include subtypes
3 types of table creation for entities including subtypes
Type 1. Subtype structure
Type 2. Integrated Table Structure
Type 3. Individual table structure
Criteria for selecting table creation types
What is Normalization
Concept of Normalization
Normalization: Why should we do it?
Advantages and Disadvantages of Normalization
1st Normalization - Let's separate duplicates!
Definition of 1st Normal Form (1NF)
Problems when 1st Normal Form is not applied
[Practice] Shall we improve it?
2nd Normalization - Ensure full dependency on all identifier attributes!
Definition of 2nd Normal Form (2NF)
Problems when 2nd Normalization is not performed
[Practice] Shall we improve it?
3rd Normalization - Are there dependencies between non-identifier attributes?
Definition of 3rd Normal Form (3NF)
Problems that occur when 3rd Normal Form (3NF) is not applied
[Practice] Shall we improve it?
What is De-normalization?
Concept of Denormalization
Essential! Checklist before performing denormalization
Advantages and disadvantages of denormalization
3 Denormalization Methods for Performance Improvement
Creating duplicate columns
Creating Duplicate Tables
Table Partitioning
Common Code
What is a common code?
Reasons for using codes
Precautions when designing common codes
How to design common codes
[Practice] Common Code Design Method 1
[Practice] Common Code Design Method 2
Common Code VS Individual Code
History Management
What is history?
History management is essential in OO situations.
[Practice] History Design Method 1
[Practice] History Design Method 2
Who is this course right for?
'Developers' who need DB table designs for each business domain
A 'novice modeler' who needs to perform data modeling while considering the overall structure
For those aiming to obtain DASP or DAP certifications!
Need to know before starting?
The concept of Joins in SQL
Basic understanding of Select ~ From ~ Where queries
Career Verified
72
Learners
9
Reviews
1
Answers
4.8
Rating
1
Course
Hello ๐
I am Archix, working as a Data Architect at a foreign company.
Starting as a back-end developer, I earned SQLP ๐ and DAP ๐ certifications to pursue a career as a data expert. Currently, I work to improve data management by supporting developers with data model optimization and query tuning.
Through my experience with various projects and operations, I have come to realize one thing clearly: a system with a solid design does not falter. On the other hand, a poorly designed system suffers from recurring minor issues, which ultimately leads to a waste of unnecessary resources.
Having worked as a developer, I have experienced these situations firsthand, and I aim to incorporate those experiences into this lecture to provide content that can be applied immediately in practice.
I plan to continue my activities to promote the importance of data modeling in various fields.
If you have any questions about the DA role or your career after completing the course, please feel free to contact me at the email address below along with your "Course Completion" certification. I will do my best to help you as much as I can.
Thank you.
All
37 lectures โ (9hr 42min)
Course Materials:
All
9 reviews
4.8
9 reviews
Reviews 4
โ
Average Rating 5.0
5
I am a developer, but I took this course because I have a great interest in DB modeling. It was great to be able to organize concepts that were difficult and hard to understand during my job search with easy examples. Thanks to the explanations that followed theory with step-by-step examples, I was able to clearly understand parts that could have been difficult to grasp :) I think this is a course that experienced professionals can listen to comfortably, with the feeling of reviewing the basics. The tone of the lecture itself was great because it felt like a friendly senior colleague explaining things calmly. If the instructor releases more courses in the future, I will look forward to taking them :) Oh, and the fact that I can ask the instructor about career concerns after completing the course was a huge motivation for me to finish it haha. I will be sending an email inquiry soon~!! Thank you for creating such a great lecture!
Thank you for the course review, Rootree. As you mentioned, concepts that were once complex and difficult to understand often become unexpected variables in practice. I believe that having a clear understanding of these fundamental concepts will allow you to make more accurate judgments in various situations. Thank you very much for the detailed review. Additionally, if you have any career-related inquiries, please send them via email and I will get back to you. Thank you.
Reviews 9
โ
Average Rating 5.0
5
It is great for building a foundation in an easy-to-understand way.
Thank you for your review, Junyoung. I hope this helps you solidify your understanding of basic modeling concepts. If you have any questions, please feel free to ask. Thank you!
Reviews 5
โ
Average Rating 4.6
5
There are times when I design tables during development, and after listening to the lecture, many of my uncertainties seem to have been resolved. Above all, I struggled with writing queries due to poor table design, so itโs comforting to hear that it wasn't because of my lack of query-writing skills ใ ใ
I'm glad the ambiguous parts have been resolved. Queries for poorly designed tables tend to use many inline views, and with so much similar data, it becomes a struggle to figure out where to pull the information from. I'm sure you'll be able to create well-thought-out and well-designed structures in the future! Thank you.
Reviews 12
โ
Average Rating 5.0
5
Thank you for the review, Lee Han-seok. Please let me know if you have any further questions. ๐
Reviews 1
โ
Average Rating 5.0
5
Thank you for your review, tough. Please let me know if you have any further questions. ๐
Explore other courses in the same field!