ู‡ู„ ู„ุงุฒู… ูƒู„ ุงู„ุจุฑุงู…ุฌ ุงู„ู„ูŠ ููŠ ุงู„ุฏู†ูŠุง ูŠุจู‚ุง ู„ูŠู‡ุง DBุŸ ู„ุง ู…ุด ู„ุงุฒู… ูˆููŠู‡ ุจุฑุงู…ุฌ ู…ู„ู‡ุงุด DB ูˆู…ู…ูƒู† ุชุจุฏู„ู‡ุง ุจูุงูŠู„ุงุช ุจุณ ู…ุนุธู… ุงู„ุจุฑุงู…ุฌ ุงู„ูƒุจูŠุฑุฉ ุจุชุณุชุฎุฏู… ููŠู‡ุง ุงู„ DB

Database Design Process

ุงุชูƒู„ู…ู†ุง ุนู† ุญุงุฌุงุช ู…ู‡ู…ุฉ ููŠ ุงู„ู€ 1. Data Models in Relational Systems

DB Life Cycle

1. Analysis

  • ุฃูˆู„ ู…ุดูƒู„ุฉ ู‡ูŠ ุงู†ูƒ ุชูู‡ู… ุฃุตู„ุง ุงู„ู€ client ุนุงูŠุฒ ูŠุนู…ู„ ุงูŠู‡ ุจุงู„ุธุจุท
  • ุฏูŠ ุฃูˆู„ ุญุงุฌุฉ ุงู†ูŠ ุจุนู…ู„ Analysis ูˆุจุดูˆู ุงู„ู…ุทู„ูˆุจ ุงูŠู‡ ุจุงู„ุธุจุทุŸ
  • ุจูŠุจู‚ุง ููŠู‡ ุดุฎุต ุฏูŠ ูˆุธูŠูุชู‡ ุงู†ู‡ ุจูŠุดูˆู ุงู„ู€ Scope ุจุชุงุน ุงู„ู€ DB ูˆุจูŠุณู„ู…ู†ูŠ ูุงูŠู„ SRS ููŠู‡ ูƒู„ ุงู„ู…ุนู„ูˆู…ุงุช ุงู„ู„ูŠ ุงู†ุง ู…ุญุชุงุฌู‡ุง ูˆุงุณู… ุงู„ุดุฎุต ุฏุง System Analyst
  • ุจูŠุญู„ ู…ุดูƒู„ุฉ ุงู„ู€ gap ุงู„ู„ูŠ ุจูŠู† ุงู„ู€ programmer ูˆุงู„ู€ Client ู„ุงู† ุงู„ู…ุจุฑู…ุฌ ุจูŠุชูƒู„ู… ูƒูˆุฏ ูˆุงู„ุนู…ูŠู„ ุจูŠุชูƒู„ู… ุจูŠุฒู†ุณ

2. DB Design (ERD)

ููŠู‡ ู…ู‚ูˆู„ุฉ ุจุชู‚ูˆู„ ุงู†ูƒ ุชุดูˆู ุตูˆุฑุฉ ุงุญุณู† ู…ู† ุงู†ูƒ ุชู‚ุฑุฃ ูƒุชุงุจ ุนุดุงู† ุจูŠูˆุตู„ูƒ ู…ุนู„ูˆู…ุงุช ุงูƒุชุฑ

  • ููŠ ุงู„ู…ุฑุญู„ุฉ ุฏูŠ ุจุญูˆู„ ุงู„ูƒู„ุงู… ู„ุฑุณู…ุฉ ุจู†ุณู…ูŠู‡ุง Entity Relationship Diagram (ERD) ูˆุฏูŠ ุจุชุจู‚ุง ูˆุธูŠูุฉ ุงู„ู€ DB designer
  • ุจุณ ู…ุด ุฏุง ุงู„ู€ DB ุงู„ูุนูŠู„ุฉ

3. DB Mapping

  • ุจู†ู…ุฑุฑ ุงู„ู€ Diagram ุงู„ู„ูŠ ุนู…ู„ู†ุงู‡ ููŠ ุงู„ู…ุฑุญู„ุฉ ุงู„ู„ูŠ ูุงุชุช ููŠ ุงู„ู…ุฑุญู„ุฉ ุฏูŠ ูˆู†ุนู…ู„ู‡ ูƒุฐุง ุญุงุฌุฉ
  • ู‡ูˆ ุนุจุงุฑุฉ ุนู† Set of rules ุจุชุทุจู‚ ุนู„ู‰ ุงู„ ERD ูุจุทู„ุน ู…ู†ู‡ ุงู„ู€ Actual Schema and Tables ูˆุงู„ู…ุณุคูˆู„ ุนู†ู‡ุง ู‡ูˆ ุจุฑุถูˆ ุงู„ู€ DB designer
  • ุจุนุฏ ู…ุง ุจุฎู„ุต ุงู„ู…ุฑุญู„ุฉ ุฏูŠ ู„ุงุฒู… ุฃุฑุฌุน ู„ู„ู€ System Analyst ุนุดุงู† ุฃุชุฃูƒุฏ ุงู† ูƒู„ ุญุงุฌุฉ ุชู…ุงู… ูˆุงู† ุงู„ุฑุณู… ุจูŠุญุงูƒูŠ ุงู„ูƒู„ุงู… ุงู„ู„ูŠ ู…ูˆุฌูˆุฏ ููŠ ุงู„ู€ Requirements Doc

ู…ู…ูƒู† ู†ูุณ ุงู„ Requirements Doc ูŠุทู„ุน ู…ู†ู‡ ุฃูƒุชุฑ ู…ู† ERD ุงู†ู…ุง ู„ูˆ ุฌูŠุช ุชุนู…ู„ Mapping ู„ู†ูุณ ุงู„ู€ ERD ุงู„ู†ุงุชุฌ ู‡ูŠุทู„ุน ู†ูุณู‡ ุฏุงูŠู…ู‹ุง ู„ุฃู†ู‡ุง ู‚ูˆุงุนุฏ ู…ุญููˆุธุฉ

Note

ูƒู„ ุงู„ู…ุฑุงุญู„ ุฏูŠ ู…ู…ูƒู† ุชุชุนู…ู„ ุนู„ู‰ ูˆุฑู‚ ุจุณ (ู…ุฌุฑุฏ ุชููƒูŠุฑ) ูˆุฏูŠ ู…ุฑุญู„ุฉ ู…ู‡ู…ุฉ ุฃูˆูŠ ุงู†ูƒ ุชุนู…ู„ Design ุนุดุงู† ุชุจู‚ุง ูุงู‡ู… ุงู†ุช ุจุชุนู…ู„ ุงูŠู‡ ุจุงู„ุธุจุท ุงู†ู…ุง ู…ูŠู†ูุนุด ุชุจุฏุฃ ุชุดุชุบู„ ุนู„ู‰ ุทูˆู„

4. DB Implementation (Shared DB)

  • ุฏูŠ ุงู„ู„ูŠ ุจุญูˆู„ ููŠู‡ุง ุงู„ูƒู„ุงู… ุงู„ู†ุธุฑูŠ Logical ู„ุญุงุฌุฉ ูุนู„ูŠู‡ ุฃู‚ุฏุฑ ุฃุดุชุบู„ ุนู„ูŠู‡ุง Physical
  • ูู‡ุชุญุชุงุฌ Tool ุนุดุงู† ุชุนู…ู„ ุงู„ู…ุฑุญู„ุฉ ุฏูŠ ูˆู‡ูŠ Database Management System (DBMS) ูˆุฃู…ุซู„ุฉ ู„ูŠู‡ุง: (SQL Server - Oracle - MySQL- Access โ€ฆ)
  • ูˆุนุดุงู† ุชุดุชุบู„ ุนู„ู‰ ุฃูŠ tool ู…ู† ุฏูŠ ู„ุงุฒู… ุชุชุนู„ู… ุงู„ู„ุบุฉ ุงู„ู„ูŠ ุงุณู…ู‡ุง Structured Query Language (SQL)
  • ูˆุงู„ู…ุณุคูˆู„ ุนู† ุงู„ู…ุฑุญู„ุฉ ุฏูŠ ุดุฎุต ุงุณู…ู‡ DB Developer

  • ู„ู…ุง ุจุชู†ุฒู„ SQL Server ุนู„ู‰ ุฌู‡ุงุฒูƒุŒ ุฌู‡ุงุฒูƒ ุจูŠุชุญูˆู„ ูˆูŠุจู‚ุง ุงุณู…ู‡ DB Server ูˆุฏุง ู„ูˆ ุนู…ู„ุช Server Local ุนู„ู‰ ุฌู‡ุงุฒูƒุŒ ุฅู†ู…ุง ุจุฑุถูˆ ุฃู‚ุฏุฑ ุฃุนู…ู„ Connect ุนู„ู‰ ุณูŠุฑูุฑุงุช ููŠ ุฃู…ุงูƒู† ู…ุฎุชู„ูุฉ ู…ู† ู†ูุณ ุงู„ู€ DBMS.
  • ุฃูŠ DB ููŠ ุงู„ุฏู†ูŠุง ู„ุงุฒู… ุชูƒูˆู† Shared ูˆู„ูˆ ุนู†ุฏูƒ ู†ุณุฎุชูŠู† ู…ุฎุชู„ููŠู† ู…ู† ู†ูุณ DB ุนู„ู‰ ุฌู‡ุงุฒูŠู† ู…ุฎุชู„ููŠู† ูŠุจู‚ุง ูƒุฏุง ุงุณู…ู‡ุง Inconsistent DB
  • ุงู†ุช ููŠ ุงู„ุญูŠุงุฉ ุงู„ุนู…ู„ูŠุฉ ุจูŠุจู‚ุง ููŠู‡ Server ูˆุงุญุฏ ูˆูƒู„ ุงู„ู„ูŠ ู‡ูŠุดุชุบู„ูˆุง ุนู„ูŠู‡ ุจูŠุนู…ู„ูˆุง Connect ูˆูŠุนุฏู„ูˆ ุนู„ูŠู‡

5. Application

  • ุงู†ูŠ ุฃุณุชุฎุฏู… ุงู„ DB ุจุชุงุนูŠ ูˆุฃุจุฏุฃ ุงูˆุธูู‡ุง ููŠ ู…ู†ุชุฌ ูุนู„ูŠ ูŠู†ูุน ุงู„ู€ Client ูŠุชุนุงู…ู„ ู…ุนุงู‡ุง
  • ุงู†ูŠ ุฃุนู…ู„ GUI (Interface) ุฒูŠ ู…ุซู„ุง Web Site - Mobile App - Desktop App
  • ูˆู…ู…ูƒู† ุชุณุชุฎุฏู… ู†ูุณ ุงู„ู€ DB ููŠ ุฃูƒุชุฑ ู…ู† ุญุงุฌุฉ
  • ูˆู…ู…ูƒู† ุฃุณุชุฎุฏู…ู‡ุง ุจุฃูŠ ู„ุบุฉ ูˆุจุฃูŠ ุดูƒู„ MVC - C# - Java - React
  • ูˆุงู„ู„ูŠ ุจูŠุนู…ู„ ุงู„ู…ุฑุญู„ุฉ ุฏูŠ ู‡ูˆ ุงู„ู€ Application Programmer ูˆุฏุง ู†ู‚ุฏุฑ ู†ู‚ูˆู„ ุนู„ูŠู‡ ุงู†ู‡ DB User

6. Client โ†’ End User

  • ุฏุง ู…ุด ุจูŠุดูˆู ูˆู„ุง ุจูŠุชุนุงู…ู„ ู…ุน ุงู„ DB ุฃุตู„ุง ู‡ูˆ ุจูŠุดูˆู ุงู„ุจุฑู†ุงู…ุฌ ุฃูˆ ุงู„ู…ูˆู‚ุน
  • Browser โ†’ URL
  • ู‡ูˆ ุนุจุงุฑุฉ ุนู† ุงู„ู€ Application User

End User click at URL โ†’ Application Server โ†’ app need Data โ†’ DB Server - taking data and going back

ู…ุซุงู„

ุนุงูŠุฒ ุฃุนู…ู„ Website ุจูŠู†ุธู… ุงู„ุญุถูˆุฑ ูˆุงู„ุฅู†ุตุฑุงู ู„ู„ู…ูˆุธููŠู†

  1. ู„ุงุฒู… ุงู„ู€ System Analyst ูŠู‚ุนุฏ ู…ุน ุงู„ุนู…ูŠู„ ูˆูŠุดูˆูู‡ ู‡ูˆ ุนุงูŠุฒ ูŠุนู…ู„ ุงูŠู‡ ุจุงู„ุธุจุท ูˆูŠุทู„ุน Requirements Doc
  2. ุงู„ู€ DB Designer ูŠุงุฎุฏ ุงู„ูุงูŠู„ ุฏุง ูˆูŠุญูˆู„ู‡ ู„ุฑุณู…ุฉ ุงุณู…ู‡ุง ERD
  3. ูˆุจุนุฏู‡ุง ู†ูุณ ุงู„ู€ DB Designer ูŠุญูˆู„ ุงู„ ERD ูˆูŠุนู…ู„ู‡ Mapping ุจุงู†ูŠ ุฃุทุจู‚ ุนู„ูŠู‡ ู…ุฌู…ูˆุนุฉ ู…ู† ุงู„ู€ rules ุนุดุงู† ุฃุทู„ุน ู…ู†ู‡ ุจุงู„ู€ Actual Tables ุงู„ู„ูŠ ุงู„ู…ูุฑูˆุถ ุชุจู‚ุง ู…ูˆุฌูˆุฏุฉ ุฌูˆุง ุงู„ู€ DB
  4. ู‡ุงุฎุฏ ูƒู„ ุงู„ู„ูŠ ูุงุช ุฏุง ูˆุงุฏูŠู‡ ู„ู€ DB Developer ูŠุญูˆู„ูŠ ู…ู† ุญุงุฌุฉ ู†ุธุฑูŠุฉ ู„ุญุงุฌุฉ ูุนู„ูŠุฉ ุฃู‚ุฏุฑ ุงูˆุตู„ู‡ุง ูˆุงุณุชุฎุฏู…ู‡ุง ูˆุจุณุชุฎุฏู… ููŠ ุงู„ู…ุฑุญู„ุฉ ุฏูŠ Tool ุจูŠุทู„ู‚ ุนู„ูŠู‡ุง RDBMS ุฒูŠ ุงู„ู€ SQL Server ูˆุจุนู…ู„ ุงู„ู€ Server ุฏุง ุนู„ู‰ ุฌู‡ุงุฒ ูˆูŠุจู‚ุง ุฏุง ุงู„ู€ DB Server ุจุชุงุนูŠ ุฃู‚ุฏุฑ ุฃุณุชุฎุฏู…ู‡ ุจุนุฏ ูƒุฏุง ููŠ ุงู„ู€ DB ุฏูŠ ูˆุงู‚ุฏุฑ ุงุนู…ู„ Connect ู…ู† ูƒุฐุง ุฌู‡ุงุฒ ุชุงู†ูŠ
  5. ุงู„ู€ Client ู…ุจูŠุชุนุงู…ู„ุด Direct ู…ุน ุงู„ู€ DB ุฏูŠ ูู„ุงุฒู… ูŠุจู‚ุง ููŠู‡ Interface ุงู„ุนู…ูŠู„ ูŠู‚ุฏุฑ ูŠุชุนุงู…ู„ ู…ุนุงู‡ุง ูˆุฏูŠ ู…ุฑุญู„ุฉ ุจู†ุงุก ุงู„ู€ Application ูˆู…ู…ูƒู† ูŠูƒูˆู† ุฃูŠ App ูˆุงู„ู„ูŠ ุจูŠุนู…ู„ ุงู„ู…ุฑุญู„ุฉ ุฏูŠ ุจู‚ุง ุงู„ู€ Application Programmer ูˆุจูŠุชุฎุฒู† ุงู„ุจุฑู†ุงู…ุฌ ุฏุง ููŠ ุงู„ู€ Application ServerุŒ ูˆุงู„ู€ programmer ุฏุง ุจู†ู‚ูˆู„ ุงู†ู‡ ุงู„ู€ User ุจุชุงุน ุงู„ู€ DB ูู„ูˆ ุญุจ ูŠุณุชุฎุฏู… ุงู„ DB ุฏูŠ ุจูŠุณุชุฃุฐู† ุงู„ู€ Server ุงู„ู„ูŠ ุจูŠุชุญูƒู… ููŠู‡ุง ูˆูŠู‚ูˆู„ู‡ุง ุงู†ุง ู…ุญุชุงุฌ Data ูุจุชุฏูŠู„ู‡ ุงู„ุฏุงุชุง ุงู„ู„ูŠ ู‡ูˆ ุนุงูŠุฒู‡ุง ูˆุงู„ู„ูŠ ุจูŠุนู…ู„ ุงู„ุฏูˆุฑ ุฏุง ู‡ูˆ ุงู„ DBMS