Databases · DBC-25

Database Design Concept Workshop

Database Design Concept Workshop is a hands-on workshop in relational database design, from analysing requirements and drawing ER diagrams to turning them into table structures, checking them with normalisation and creating the tables with constraints on PostgreSQL. It suits developers, database staff and systems analysts who already know some SQL.

Updated
From 6,750 THB / person 7,500 −10% excl. VAT 7% · group rates available
PDFDownload the course outline
  • Duration12 hours · 2 days
  • FormatOnsite / live online
  • Next roundOn request
  • CertificateIncluded

Course overview

Many problems in business systems start with the database structure: duplicated data that is changed in one place but not another, reports that pull figures that do not match, or systems where new features are hard to add because the tables were related wrongly from the start. Conceptual design with the entity relationship model, followed by turning it into table structures that have been checked for quality, keeps a database correct, easy to maintain and ready to grow, whichever DBMS or framework you use.

This hands-on course starts with the relational model, keys and data integrity, then analyses requirements and business rules, draws ER diagrams in Crow's Foot notation along with patterns common in real systems, turns them into table structures, checks them with normalisation up to 3NF and BCNF, and creates them with CREATE TABLE and constraints on PostgreSQL 18. It closes with checking design quality and a workshop designing a system from a real brief from start to finish.

What you’ll gain

  • Explain the role of databases, DBMSs and the relational model, including keys and data integrity
  • Analyse requirements and business rules to identify entities, attributes and relationships
  • Draw ER diagrams in Crow's Foot notation with cardinality, including patterns common in real systems
  • Turn ER diagrams into relational table structures and check them with normalisation
  • Create tables with suitable data types and constraints using SQL DDL
  • Check design quality with test data, queries and a checklist before going live

Who this course is for

  • Developers who design databases for new applications or business systems
  • Database staff and administrators who need to improve the table structure of existing systems
  • Systems analysts and business analysts who explain data structures to development teams
  • Students and newcomers to system development who want a sound foundation in design

Prerequisites

  • Able to use a computer and a database at a basic level
  • Some knowledge of SQL, such as SELECT, INSERT and WHERE
  • Comfortable searching for information online
  • A laptop that can run Docker Desktop or PostgreSQL, with permission to install software

Curriculum

Course Details

This course is the 2026 edition of Database Design Concept Workshop, rewritten to cover every step of the database design process. It runs for 2 days, 6 hours per day (12 hours in total, 09:00-16:00), as lectures with labs and workshops built around a training registration case study, at Beginner to Intermediate level. Day one covers the relational model, keys, data integrity, requirements analysis and ER diagrams. Day two practises mapping to tables, normalisation, creating tables with constraints on PostgreSQL 18 and checking design quality. The principles apply equally to MySQL, MariaDB and SQL Server. Learners take home ER diagram files, SQL scripts and a design quality checklist.

Day 1 Database Concepts and Conceptual Design

Section 1: Lab: Database Systems and DBMSs Today

  • What a database is, and why use a DBMS rather than storing data in files
  • Relational databases compared with document, key-value and vector databases
  • Popular DBMSs today: PostgreSQL, MySQL, MariaDB, SQL Server and cloud services
  • Design stages: conceptual, logical and physical
  • Lab: run PostgreSQL 18 with Docker and connect with DBeaver

Section 2: Lab: The Relational Model, Keys and Data Integrity

  • Relations, tuples, attributes and domains, and the terms used in practice
  • Candidate, primary, natural, surrogate and foreign keys
  • Entity integrity, referential integrity, domain integrity and what NULL means
  • SQL statement groups: DDL, DML and DCL
  • Lab: try inserting data that breaks the rules and see how the database prevents it

Section 3: Workshop: Requirements and Business Rules

  • Gather requirements from users, documents, forms and existing reports
  • Write clear business rules, such as one customer can place many orders
  • Find nouns as entities and verbs as relationships
  • Build a data glossary so everyone uses the same terms
  • Workshop: analyse a training registration system from real forms

Section 4: Lab: Drawing ER Diagrams

  • Entities, and composite, multivalued and derived attributes
  • Relationships, cardinality and optionality: one-to-one, one-to-many and many-to-many
  • Crow's Foot notation compared with Chen notation, and reading the lines
  • Weak entities and identifying relationships
  • Lab: draw the training registration ER diagram in draw.io

Section 5: Lab: ER Patterns Common in Real Systems

  • Associative entities for many-to-many relationships that carry their own data
  • Recursive relationships, such as employees and managers, or nested categories
  • Supertypes and subtypes, such as individual and corporate customers
  • Keeping history and data that changes over time, such as product prices and order status
  • Lab: extend the ER diagram for promotions, price history and company contacts
Day 2 From Model to a Quality-checked Database

Section 6: Lab: Turning ER Diagrams into Table Structures

  • Turn entities into tables and attributes into columns
  • Mapping rules for one-to-one, one-to-many and many-to-many relationships
  • Options for mapping supertypes and subtypes, with their pros and cons
  • Naming conventions for tables, columns and constraints so the team agrees
  • Lab: map the training registration ER diagram to a logical schema

Section 7: Lab: Normalisation

  • Functional dependencies and insert, update and delete anomalies
  • 1NF, 2NF and 3NF with step-by-step examples of splitting tables
  • BCNF and cases where 3NF is not enough
  • When to denormalise for reporting or speed, and what you give up
  • Lab: normalise a sales file stored in a single table

Section 8: Lab: Physical Design with CREATE TABLE

  • Choosing data types: numbers, money decimals, text, dates and times
  • Identity primary keys versus UUIDs, including uuidv7 in PostgreSQL 18
  • NOT NULL, UNIQUE, CHECK, DEFAULT and foreign keys with ON DELETE and ON UPDATE
  • Generated columns and indexes on foreign key columns
  • Lab: write the full CREATE TABLE script for the training registration system

Section 9: Lab: Checking Design Quality

  • Load test data and try inserting invalid rows to check the constraints
  • Write queries that answer real report questions to prove the structure works
  • Reverse-engineer an ERD from the database with DBeaver or pgAdmin, and build a data dictionary
  • Using AI to draft or review a design, and always rechecking it against normalisation
  • Lab: review a colleague's design with the quality checklist

Section 10: Workshop: Designing a Database from a Real Brief

  • Workshop: choose an online shop, an equipment loan system or a system from your own organisation
  • Analyse requirements, draw the ER diagram and map it to tables
  • Normalise, create the tables on PostgreSQL and test with sample data
  • Present the design, review it together and agree how to maintain the structure as the system changes

Schedule & training options

For individuals — public rounds

No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770

For organisations — in-house / private

  • Tailor the content to your team’s tools and projects
  • Your dates, at your office or live online
  • Quotation with tax ID for procurement
Corporate training quote

Instructors

Frequently asked questions

What is an ER diagram, and what are its components?

An entity relationship (ER) diagram shows a database's structure at the conceptual level before any tables are built. It has three main parts: entities, the things you store data about, such as customers, products or orders; attributes, the properties of each entity, including a primary key that identifies each record uniquely; and relationships between entities, with their cardinality: one-to-one, one-to-many or many-to-many. Crow's Foot notation is the most common way to draw them today.

What is normalisation, and how do 1NF, 2NF and 3NF differ?

Normalisation splits data into tables to reduce duplication and avoid problems when inserting, updating or deleting. 1NF requires each field to hold a single value with no repeating groups. 2NF adds that every non-key column must depend on the whole primary key, not just part of a composite key. 3NF requires that non-key columns do not depend on other non-key columns, so a province name is stored in its own table rather than repeated in every customer row.

What are the steps to turn an ER diagram into database tables?

Turn each entity into a table and each attribute into a column, choosing a primary key for every table. Then map the relationships: for one-to-many, put the primary key of the one side as a foreign key in the many side; for many-to-many, create a junction table holding foreign keys to both; for one-to-one, place a unique foreign key on either side. Finally, check the design with normalisation before writing the CREATE TABLE statements with their constraints.

Should a primary key be a sequential number or a UUID?

Identity number keys are small, easy to read and suit most systems. UUIDs suit cases where IDs are generated by several systems or should not be guessable, but they take more space. Version 7 UUIDs are time-ordered, so they work better with indexes than random ones, and PostgreSQL 18 provides a uuidv7 function. Whichever you choose, keep business codes such as customer numbers in a separate UNIQUE column.

Who is the Database Design Concept Workshop course for, and what should I know beforehand?

It suits developers, staff who look after or work with databases, systems analysts and students who need designs that work without problems. You should be able to use a computer and a database at a basic level, know some SQL, and be able to install software on your laptop. The principles apply to PostgreSQL, MySQL, MariaDB and SQL Server.

Can the Database Design Concept Workshop course be run in-house for our team?

Yes. It can be run in-house for your team, with examples adapted to your own work, such as practising on the systems or data your organisation actually uses. You can request a quotation from this page, or contact us on LINE @itgenius or by phone on 02-570-8449.