SQL, เดเดจเตเดคเดพเดฃเต เดเดคเดฟเดฒเตเด เดฒเดณเดฟเดคเดฎเดพเดฏเดคเต? เดจเดฎเตเดเตเดเต เดเดฐเตเดฐเตเดคเตเดคเตผเดเตเดเตเด เดเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เด
เดญเตเดฏเตผเดคเตเดฅเดจ เดเดดเตเดคเดพเด - เดเดเตเดเตพ เดเตเดชเตเดชเต เดเตเดฏเตเดฏเตเดจเตเดจเต เดคเตเดฐเดเตเดเตเดเตเดเตเดเตเด, เดเดตเดถเตเดฏเดฎเดพเดฏ เดเตเดณเดเตเดเตพ เดฒเดฟเดธเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเด, เดคเตเดเตผเดจเตเดจเต เดจเดฟเดจเตเดจเต, เดชเดเตเดเดฟเดเดฏเตเดเต เดชเตเดฐเต, เดเดฟเดฒ เดตเตเดฏเดตเดธเตเดฅเดเตพ เดเดตเดฟเดเต เด
เดคเตเดฐเดฏเตเดฏเตเดณเตเดณเต - เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เดเดเตเดเดณเตเดเต เดชเตเดเตเดเดฑเตเดฑเดฟเตฝ เดเดฃเตเดเต, เดเตเดเดพเดคเต (เดเดคเดพเดฃเตเดเต) เด เดธเดฎเดฏเดคเตเดคเต เดเดคเต DBMS เดนเตเดกเดฟเดจเต เดเตเดดเดฟเดฒเดพเดฃเตเดเตเดเดฟเดฒเตเด (เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฟเดฒเดชเตเดชเตเตพ
เดเตเดเดพเดคเต เดจเดฎเตเดเตเดเต เดเดฆเตเดฏเด เดฎเตเดคเตฝ เดเดฐเดเดญเดฟเดเตเดเดพเด
เดเดฌเตเดเดเตเดฑเตเดฑเต-เดฑเดฟเดฒเตเดทเดฃเตฝ เดฎเดพเดชเตเดชเดฟเดเดเต
ORM เดชเดฟเดจเตเดคเตเดฃเดเตเดเดพเตผ เดชเดฐเดฎเตเดชเดฐเดพเดเดคเดฎเดพเดฏเดฟ เดตเตเดเดคเดฏเตเด เดตเดฟเดเดธเดจเดคเตเดคเดฟเดจเตเดฑเต เดเดณเตเดชเตเดชเดตเตเด, DBMS-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเตเดตเดพเดคเดจเตเดคเตเดฐเตเดฏเดตเตเด เดเตเดฒเตเตป เดเตเดกเตเด เดตเดฟเดฒเดฎเดคเดฟเดเตเดเตเดจเตเดจเต. เดจเดฎเตเดฎเดฟเตฝ เดชเดฒเตผเดเตเดเตเด, เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเตเดกเต (เดชเดฒเดชเตเดชเตเดดเตเด เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดคเดจเตเดจเต)
เดเดคเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดคเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดจเตเดจเต ...
@Entity
@Table(name = "stock", catalog = "maindb", uniqueConstraints = {
@UniqueConstraint(columnNames = "STOCK_NAME"),
@UniqueConstraint(columnNames = "STOCK_CODE") })
public class Stock implements java.io.Serializable {
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "STOCK_ID", unique = true, nullable = false)
public Integer getStockId() {
return this.stockId;
}
...
เดฎเตเดกเตฝ เดธเดฎเตผเดคเตเดฅเดฎเดพเดฏ เดตเตเดฏเดพเดเตเดฏเดพเดจเดเตเดเดณเตเดเต เดคเตเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเดตเดฟเดเตเดฏเต เดเดฐเต เดงเตเดฐเดจเดพเดฏ ORM เดเตบ เดเดฃเดเตเดเดฟเดจเต เดเดฟเดฒ SQL เดเตเดกเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดเดฏเตเด เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต. เดตเดดเดฟเดฏเดฟเตฝ, เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เด
เดตเดฐเตเดเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฟเดฒเตเดฎเตเดฑเตเดฑเดฑเตเดเตพ เด
เดฎเตเตผเดคเตเดคเดคเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตเดตเดฏเด เดเดฑเตเดฑเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดชเดฐเดฎเดพเดตเดงเดฟ เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเต, เดเดคเต เดเดฟเดฒเดคเต เดธเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต
เดฌเดพเดฐเดฟเดเตเดเตเดกเตเดเดณเตเดเต เดฎเดฑเตเดตเดถเดคเตเดคเต, เดถเตเดฆเตเดงเดฎเดพเดฏ "เดเตเดเตเดฃเตเดเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเด" SQL-เดจเตเดฑเต เด เดจเตเดฏเดพเดฏเดฟเดเตพ เด เดตเดฐเตเดเต DBMS-เตฝ เดจเดฟเดจเตเดจเต เด เดงเดฟเด เดชเดพเดณเดฟเดเดณเตเด เด เดฎเตเตผเดคเตเดคเดเตเดเดณเตเด เดเดฒเตเดฒเดพเดคเต เดเดฒเตเดฒเดพ เดเตเดฏเตเดธเตเด เดชเดฟเดดเดฟเดเตเดเตเดเตเดเตเดเดพเดจเตเดณเตเดณ เดเดดเดฟเดตเต เดถเตเดฐเดฆเตเดงเดฟเดเตเดเตเดจเตเดจเต. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดชเตเดฐเดคเตเดฏเตเด เดชเดฐเดฟเดถเตเดฒเดจเด เดฒเดญเดฟเดเตเด เดเดณเตเดเตพ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ "เดกเดพเดฑเตเดฑเดพ-เดธเตเตปเดเตเดฐเดฟเดเต" เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเตพ เดชเตเดฐเดคเตเดฏเดเตเดทเดชเตเดชเตเดเตเดจเตเดจเต (เด เดตเดฐเตเด "เด เดเดฟเดธเตเดฅเดพเดจเดตเดพเดฆเดฟเดเตพ" เดเดฃเต, เด เดตเดฐเตเด "เด เดเดฟเดธเตเดฅเดพเดจเดตเดพเดฆเดฟเดเตพ" เดเดฃเต, เด เดตเดฐเตเด "เดฌเดพเดธเตเดกเดจเตผเดฎเดพเตผ" เดฎเตเดคเดฒเดพเดฏเดต), เดเตเดเดพเดคเต เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดตเดฟเดถเดฆเดพเดเดถเดเตเดเดณเดฟเดฒเตเดเตเดเต เดเดเดเตเดเดพเดคเต เดฑเตเดกเดฟเดฎเตเดฏเตเดกเต เดเดพเดดเตเดเดเดณเตเด เดธเดเดญเดฐเดฟเดเตเด เดจเดเดชเดเดฟเดเตเดฐเดฎเดเตเดเดณเตเด "เดตเดฒเดฟเดเตเดเตเด" เดฎเดพเดคเตเดฐเด เดฎเดคเดฟ.
เดฐเดฃเตเดเต เดฒเตเดเดเตเดเดณเดฟเดฒเตเด เดเดฑเตเดฑเดตเตเด เดฎเดฟเดเดเตเดเดคเต เดจเดฎเตเดเตเดเตเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเตเดเตเดเดฟเดฒเต? เดเตเดตเตป เดเดฑเดชเตเดชเดฟเดเตเดเตเดจเตเดจ เดชเตเดฐเตเดณเตเดณ เดเดฐเต เด
เดคเตเดญเตเดคเดเดฐเดฎเดพเดฏ เดเดชเดเดฐเดฃเดคเตเดคเดฟเตฝ เดเดคเต เดเดเตเดเดจเตเดฏเดพเดฃเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต
DSL-เดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดฐเดธเดเดฐเดฎเดพเดฏ เดญเดพเดทเดฏเดพเดฃเต Clojure, เดเดจเตเดจเดพเตฝ SQL เดคเดจเตเดจเต เดเดฐเต เด เดเดฟเดชเตเดณเดฟ DSL เดเดฃเต, เดเดเตเดเตพเดเตเดเต เดฎเดฑเตเดฑเตเดจเตเดจเต เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เดเดธเต-เดเดเตโเดธเตโเดชเตเดฐเดทเดจเตเดเตพ เดฎเดฟเดเดเตเดเดคเดพเดฃเต, เดชเดเตเดทเต เด เดต เดเดตเดฟเดเต เดชเตเดคเดฟเดฏเดคเตเดจเตเดจเตเด เดเตเตผเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ. เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดฌเตเดฐเดพเดเตเดเดฑเตเดฑเตเดเตพเดเตเดเต เดตเตเดฃเตเดเดฟ เดจเดฎเตเดเตเดเต เดฌเตเดฐเดพเดเตเดเดฑเตเดฑเตเดเตพ เดฒเดญเดฟเดเตเดเตเดจเตเดจเต. เดฏเตเดพเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ? เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดจเตเดฑเต เด เดฎเตเตผเดคเตเดคเตเดเดฐเดฃเด เดเตเดฐเดพเตป เดคเตเดเดเตเดเตเดจเตเดจ เดจเดฟเดฎเดฟเดทเดคเตเดคเดฟเดจเดพเดฏเดฟ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเด, เดจเดฟเดเตเดเตพ เดซเดเดเตเดทเดจเตเดฎเดพเดฏเดฟ เดชเตเดฐเดพเดเดพเตป เดคเตเดเดเตเดเตเด. (เดฑเต-เด.เดฒเดฟ.)
เด เดชเตเดชเตเดพเตพ เดเดพเตป เดเดจเตเดคเต เดเตเดฏเตเดฏเดฃเด? เดจเดฎเตเดเตเดเต SQL-เดจเต เดธเดพเดงเดพเดฐเดฃ SQL เดเดฏเดฟ เดตเดฟเดเดพเด - เดเดฐเต เด เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดเตเดเตเด เดเดฐเต เดซเดฏเตฝ:
-- name: users-by-country
select *
from users
where country_code = :country_code
... เดคเตเดเตผเดจเตเดจเต เด เดซเดฏเตฝ เดตเดพเดฏเดฟเดเตเดเตเด, เดเดคเต เดเดฐเต เดธเดพเดงเดพเดฐเดฃ เดเตเดฒเตเดเตผ เดซเดเดเตโเดทเดจเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต:
(defqueries "some/where/users_by_country.sql"
{:connection db-spec})
;;; A function with the name `users-by-country` has been created.
;;; Let's use it:
(users-by-country {:country_code "GB"})
;=> ({:name "Kris" :country_code "GB" ...} ...)
"SQL เดธเตเดตเดฏเด, เดเตเดฒเตเดเตผ เดธเตเดตเดฏเด" เดเดจเตเดจ เดคเดคเตเดตเด เดชเดพเดฒเดฟเดเตเดเตเดจเตเดจเดคเดฟเดฒเตเดเต, เดจเดฟเดเตเดเตพเดเตเดเต เดฒเดญเดฟเดเตเดเตเดจเตเดจเดคเต:
- เดตเดพเดเตเดฏเดเดเดจ เดเดถเตเดเดฐเตเดฏเดเตเดเดณเตเดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เดจเดฟเดเตเดเดณเตเดเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต (เดฎเดฑเตเดฑเตเดคเดฟเดจเตเดฏเตเด เดชเตเดฒเต) SQL เดธเตเดฑเตเดฑเดพเตปเดกเตเตผเดกเตเดฎเดพเดฏเดฟ 100% เด เดจเตเดธเดฐเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ - เดเดจเตเดจเดพเตฝ เดเดคเต Yesql-เดจเต เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ. SQL เดคเดคเตเดคเตเดฒเตเดฏเดฎเดพเดฏ เดตเดพเดเตเดฏเดเดเดจเดฏเตเดณเตเดณ เดซเดเดเตโเดทเดจเตเดเตพเดเตเดเดพเดฏเดฟ เดจเดฟเดเตเดเตพ เดเดฐเดฟเดเตเดเดฒเตเด เดธเดฎเดฏเด เดชเดพเดดเดพเดเตเดเดฟเดฒเตเดฒ. เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเดฟเดเตเดเดฒเตเด เดเดฐเต เดเดเดเตเดเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเดฃเตเดเดฟเดตเดฐเดฟเดฒเตเดฒ (raw-sql "some('funky'::SYNTAX)")).
- เดฎเดฟเดเดเตเด เดเดกเดฟเดฑเตเดฑเตผ เดชเดฟเดจเตเดคเตเดฃ. เดจเดฟเดเตเดเดณเตเดเต เดเดกเดฟเดฑเตเดฑเตผเดเตเดเต เดเดคเดฟเดจเดเด เดคเดจเตเดจเต เดฎเดฟเดเดเตเด SQL เดชเดฟเดจเตเดคเตเดฃเดฏเตเดฃเตเดเต. SQL-เดจเต SQL เดเดฏเดฟ เดธเตเดตเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เด เดคเต เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด.
- เดเตเด เด เดจเตเดฏเตเดเตเดฏเดค. เดจเดฟเดเตเดเดณเตเดเต เดเตเดฒเตเดเตเตผ เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ SQL เดตเดพเดฏเดฟเดเตเดเดพเดจเตเด เดเดดเตเดคเดพเดจเตเด เดจเดฟเดเตเดเดณเตเดเต DBA-เดเตพเดเตเดเต เดเดดเดฟเดฏเตเด.
- เดเดณเตเดชเตเดชเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเดเดเดจ เดเตเดฏเตเดฃเดฟเดเดเต. เดชเตเดฐเดถเตเดจเดฎเตเดณเตเดณ เดเดฐเต เดเตเดฆเตเดฏเดคเตเดคเดฟเดจเต เดเดฐเต เดชเตเดฒเดพเตป เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต? เดจเดฟเดเตเดเดณเตเดเต เด เดจเตเดตเตเดทเดฃเด เดธเดพเดงเดพเดฐเดฃ SQL เดเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดชเตเตพ เดเดคเต เดเดฐเต เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ.
- เดเตเดฆเตเดฏเดเตเดเตพ เดตเตเดฃเตเดเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เด เดคเต SQL เดซเดฏเดฒเตเดเตพ เดฎเดฑเตเดฑเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเตเดเดณเดฟเดฒเตเดเตเดเต เดตเดฒเดฟเดเตเดเดฟเดเตเด, เดเดพเดฐเดฃเด เดเดคเต เดตเตเดฑเตเด เดชเดดเดฏ SQL เดเดฃเต - เด เดคเต เดชเดเตเดเดฟเดเตเด.
เดเดจเตเดฑเต เด
เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ, เดเดถเดฏเด เดตเดณเดฐเต เดฐเดธเดเดฐเดตเตเด เด
เดคเต เดธเดฎเดฏเด เดตเดณเดฐเต เดฒเดณเดฟเดคเดตเตเดฎเดพเดฃเต, เดชเตเดฐเตเดเดเตเดฑเตเดฑเต เดชเดฒเดฐเตเดฏเตเด เดจเตเดเดฟเดฏเดคเดฟเดจเต เดจเดจเตเดฆเดฟ
IDE & DB เดฎเดพเดจเตเดเตผเดฎเดพเตผ
เดฒเดณเดฟเดคเดฎเดพเดฏ เดฆเตเดจเดเดฆเดฟเดจ เดเตเดฒเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฎเตเดเตเดเต เดเดฐเดเดญเดฟเดเตเดเดพเด. เดชเดฒเดชเตเดชเตเดดเตเด เดจเดฎเตเดฎเตพ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ เดเดฟเดฒ เดเดฌเตเดเดเตเดฑเตเดฑเตเดเตพเดเตเดเดพเดฏเดฟ เดคเดฟเดฐเดฏเตเดฃเตเดเดคเตเดฃเตเดเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเตเดเตเดฎเดฏเดฟเตฝ เดเดฐเต เดชเดเตเดเดฟเด เดเดฃเตเดเตเดคเตเดคเดฟ เด เดคเดฟเดจเตเดฑเต เดเดเดจ เดชเด เดฟเดเตเดเตเด (เดเดคเต เดจเดฟเดฐเดเตพ, เดเตเดเตพ, เดธเตเดเดฟเดเดเตพ, เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดเตเดเตพ เดฎเตเดคเดฒเดพเดฏเดต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต). เดเดคเตเดเตเดเดฟเดฒเตเด เดเตเดฐเดพเดซเดฟเดเตเดเตฝ IDE เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดฐเต เดเตเดฑเดฟเดฏ DB-เดฎเดพเดจเตเดเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต, เดเดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เด เดเดดเดฟเดตเตเดเตพ เดเดเตเดเตพ เดชเตเดฐเดคเตเดเตเดทเดฟเดเตเดเตเดจเตเดจเต. เด เดคเดฟเดจเดพเตฝ เดเดคเต เดตเตเดเดคเดฏเตเดณเตเดณเดคเตเด เดเดตเดถเตเดฏเดฎเดพเดฏ เดตเดฟเดตเดฐเดเตเดเดณเตเดณเตเดณ เดเดฐเต เดตเดฟเตปเดกเต เดตเดฐเตเดจเตเดจเดคเตเดตเดฐเต เดจเดฟเดเตเดเตพ เด เดฐ เดฎเดฃเดฟเดเตเดเตเตผ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ (เดชเตเดฐเดคเตเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดฑเดฟเดฎเตเดเตเดเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเตเดเตเดเตเดณเตเดณ เดตเตเดเดค เดเตเดฑเดเตเด เดเดฃเดเตเดทเตป), เด เดคเต เดธเดฎเดฏเด, เดฒเดญเดฟเดเตเด เดตเดฟเดตเดฐเดเตเดเตพ เดชเตเดคเดฟเดฏเดคเตเด เดชเตเดฐเดธเดเตเดคเดตเตเดฎเดพเดฃเต, เดเตเดเดพเดคเต เดเดพเดทเต เดเตเดฏเตเดค เดเดเตเดเต เด เดฒเตเดฒ. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดเตเดเตเดคเตฝ เดธเดเตเดเตเตผเดฃเตเดฃเดตเตเด เดตเดฒเตเดคเตเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเด เด เดตเดฏเตเดเต เดเดฃเตเดฃเด เดเตเดเตเดจเตเดจเดคเดฟเดจเดจเตเดธเดฐเดฟเดเตเดเต เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต เดเตเดเตเดคเตฝ เดฌเตเดฆเตเดงเดฟเดฎเตเดเตเดเดพเดฃเต.
เดเดจเตเดจเดพเตฝ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดพเตป เดฎเตเดธเต เดตเดฒเดฟเดเตเดเตเดฑเดฟเดเตเดเต เดเตเดกเต เดเดดเตเดคเตเดจเตเดจเต. "HR" เดธเตเดเตเดฎเดฏเดฟเตฝ เด เดเดเตเดเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดชเดเตเดเดฟเดเดเตพ (เดเดคเตเดเตเดเต เดชเตเดฐเตเดชเตเดชเตผเดเตเดเดฟเดเตพ เดเดณเตเดณเดคเต) เดจเดฟเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเตเดฃเตเดเดคเตเดฃเตเดเตเดจเตเดจเต เดจเดฎเตเดเตเดเต เดชเดฑเดฏเดพเด. เดฎเดฟเดเตเด DBMS-เดเดณเดฟเดฒเตเด, information_schema-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด เดฒเดณเดฟเดคเดฎเดพเดฏ เดเตเดฆเตเดฏเด เดเดชเดฏเตเดเดฟเดเตเดเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดซเดฒเด เดจเตเดเดพเดจเดพเดเตเด:
select table_name
, ...
from information_schema.tables
where schema = 'HR'
เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดฎเตเดคเตฝ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดตเดฐเต, เด เดคเตเดคเดฐเด เดฑเดซเดฑเตปเดธเต เดเตเดฌเดฟเดณเตเดเดณเตเดเต เดเดณเตเดณเดเดเตเดเดเตเดเตพ เดเดฐเต เดกเดฟเดฌเดฟเดเดเดเดธเดฟเดจเตเดฑเตเดฏเตเด เดเดดเดฟเดตเตเดเดณเต เดเดถเตเดฐเดฏเดฟเดเตเดเต เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเตเดเตเดจเตเดจเต. เดเตเดเดพเดคเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, MySQL-เดจเต, เด เดคเต เดฑเดซเดฑเตปเดธเต เดชเตเดธเตเดคเดเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเดเตเดเตพเดเตเดเต เด DBMS-เดจเต เดชเตเดฐเดคเตเดฏเตเดเดฎเดพเดฏ เดเตเดฌเดฟเตพ เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเตพ เดฒเดญเดฟเดเตเดเตเด:
select table_name
, storage_engine -- ะัะฟะพะปัะทัะตะผัะน "ะดะฒะธะถะพะบ" ("MyISAM", "InnoDB" etc)
, row_format -- ะคะพัะผะฐั ัััะพะบะธ ("Fixed", "Dynamic" etc)
, ...
from information_schema.tables
where schema = 'HR'
Oracle-เดจเต information_schema เด
เดฑเดฟเดฏเดฟเดฒเตเดฒ, เดชเดเตเดทเต เด
เดคเดฟเดจเตเดฃเตเดเต
select table_name
, pct_free -- ะะธะฝะธะผัะผ ัะฒะพะฑะพะดะฝะพะณะพ ะผะตััะฐ ะฒ ะฑะปะพะบะต ะดะฐะฝะฝัั
(%)
, pct_used -- ะะธะฝะธะผัะผ ะธัะฟะพะปัะทัะตะผะพะณะพ ะผะตััะฐ ะฒ ะฑะปะพะบะต ะดะฐะฝะฝัั
(%)
, last_analyzed -- ะะฐัะฐ ะฟะพัะปะตะดะฝะตะณะพ ัะฑะพัะฐ ััะฐัะธััะธะบะธ
, ...
from all_tables
where owner = 'HR'
ClickHouse เดเดฐเต เด เดชเดตเดพเดฆเดฎเดฒเตเดฒ:
select name
, engine -- ะัะฟะพะปัะทัะตะผัะน "ะดะฒะธะถะพะบ" ("MergeTree", "Dictionary" etc)
, ...
from system.tables
where database = 'HR'
เดเดธเดพเดจเตเดฆเตเดฐเดฏเดฟเตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด (เดชเดเตเดเดฟเดเดเตพเดเตเดเต เดชเดเดฐเด เดเตเดณเด เดซเดพเดฎเดฟเดฒเดฟเดเดณเตเด เดธเตโเดเตเดฎเดเตพเดเตเดเต เดชเดเดฐเด เดเตเดธเตโเดชเตเดฏเตโเดธเตเด เดเดฃเตเดเต):
select columnfamily_name
, compaction_strategy_class -- ะกััะฐัะตะณะธั ัะฑะพัะบะธ ะผััะพัะฐ
, gc_grace_seconds -- ะัะตะผั ะถะธะทะฝะธ ะผััะพัะฐ
, ...
from system.schema_columnfamilies
where keyspace_name = 'HR'
เดฎเดฑเตเดฑเต เดฎเดฟเดเตเด เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดเตพเดเตเดเตเด, เดจเดฟเดเตเดเตพเดเตเดเต เดธเดฎเดพเดจเดฎเดพเดฏ เดเตเดฆเตเดฏเดเตเดเดณเตเดฎเดพเดฏเดฟ เดตเดฐเดพเด (เดฎเตเดเดเตเดฏเตเดเตเดเต เดชเตเดฒเตเด
เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เด เดฐเตเดคเดฟเดฏเดฟเตฝ เดจเดฟเดเตเดเตพเดเตเดเต เดชเดเตเดเดฟเดเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดชเตเดคเตเดตเดพเดฏเดฟ เดเดคเตเดเตเดเดฟเดฒเตเด เดตเดธเตเดคเตเดตเดฟเดจเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดฒเดญเดฟเดเตเดเตเด. เดเดพเดฒเดพเดเดพเดฒเดเตเดเดณเดฟเตฝ, เดฆเดฏเดฏเตเดณเตเดณ เดเดณเตเดเตพ เดตเตเดฏเดคเตเดฏเดธเตเดค เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดเตพเดเตเดเดพเดฏเดฟ เด
เดคเตเดคเดฐเด เดเตเดกเต เดชเดเตเดเดฟเดเตเดจเตเดจเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดนเดฌเตเดฐ เดฒเตเดเดจเดเตเดเดณเตเดเต เดชเดฐเดฎเตเดชเดฐเดฏเดฟเตฝ "PostgreSQL เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดเตพ เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ" (
เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดเดฌเตโเดเดเตเดฑเตเดฑเตเดเตพ เดจเดพเดตเดฟเดเตเดฑเตเดฑเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด เดฐเตเดคเดฟ เดเตเดเตเดคเตฝ เดตเดดเดเตเดเดฎเตเดณเตเดณเดคเตเด เดงเดพเดฐเดพเดณเด เดธเดฎเดฏเด เดฒเดพเดญเดฟเดเตเดเตเดจเตเดจเดคเตเด เดเดชเตเดชเตเตพ เดเดตเดถเตเดฏเดฎเตเดณเตเดณ เดฐเตเดชเดคเตเดคเดฟเตฝ เดเตเดคเตเดฏเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดเตเดเตพ เดจเตเดเดพเตป เดจเดฟเดเตเดเดณเต เด
เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดชเตเดธเตเดฑเตเดฑเดฟเตฝ เดตเดฟเดตเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเตเดชเตเดฒเต
เดตเดธเตเดคเตเดเตเดเดณเตเดฎเดพเดฏเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ
เดเดตเดถเตเดฏเดฎเดพเดฏ เดตเดธเตเดคเตเดเตเดเตพ เดเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดฟ เดชเด เดฟเดเตเด เดถเตเดทเด, เด เดต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดชเดฏเตเดเดชเตเดฐเดฆเดฎเดพเดฏ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเตเดฏเตเดฏเดพเตป เดธเดฎเดฏเดฎเดพเดฏเดฟ. เดธเตเดตเดพเดญเดพเดตเดฟเดเดฎเดพเดฏเตเด, เดเตเดฌเตเตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฟเดฐเดฒเตเดเตพ เดเดเตเดเตเดเดพเดคเต เดคเดจเตเดจเต.
เดเดฐเต เดชเดเตเดเดฟเด เดเดฒเตเดฒเดพเดคเดพเดเตเดเตเดจเตเดจเดคเต เดฎเดฟเดเตเดเดตเดพเดฑเตเด เดเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเตเดเดณเดฟเดฒเตเด เดเดฐเตเดชเตเดฒเต เดเดพเดฃเดชเตเดชเตเดเตเดฎเตเดจเตเดจเดคเต เดฐเดนเดธเตเดฏเดฎเดฒเตเดฒ:
drop table hr.persons
เดเดจเตเดจเดพเตฝ เดชเดเตเดเดฟเดเดฏเตเดเต เดธเตเดทเตเดเดฟเดฏเตเดเต เด
เดคเต เดเตเดเตเดคเตฝ เดฐเดธเดเดฐเดฎเดพเดฃเต. เดฎเดฟเดเตเดเดตเดพเดฑเตเด เดเดฒเตเดฒเดพ DBMS-เดจเตเด (เดจเดฟเดฐเดตเดงเดฟ NoSQL เดเตพเดชเตเดชเตเดเต) เดเดฐเต เดฐเตเดชเดคเตเดคเดฟเตฝ เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฎเดฑเตเดฑเตเดจเตเดจเดฟเตฝ "เดชเดเตเดเดฟเด เดธเตเดทเตโเดเดฟเดเตเดเดพเตป" เดเดดเดฟเดฏเตเด, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด
เดคเดฟเดจเตเดฑเต เดชเตเดฐเดงเดพเดจ เดญเดพเดเด เด
เดฒเตเดชเด เดชเตเดฒเตเด เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเตเดเตเดเดฟเดฐเดฟเดเตเดเตเด (เดชเตเดฐเต, เดจเดฟเดฐเดเดณเตเดเต เดชเดเตเดเดฟเด, เดกเดพเดฑเตเดฑ เดคเดฐเดเตเดเตพ), เดเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเต เดตเดฟเดถเดฆเดพเดเดถเดเตเดเตพ เดจเดพเดเดเตเดฏเดฎเดพเดฏเดฟ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเตเดเตเดเดฟเดฐเดฟเดเตเดเตเด เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดกเดฟเดฌเดฟเดเดเดเดธเดฟเดจเตเดฑเต เดเดจเตเดคเดฐเดฟเด เดเดชเดเดฐเดฃเดตเตเด เดเดดเดฟเดตเตเดเดณเตเด. เดเดฑเดพเดเตเดเดฟเตพ เดกเตเดเตเดฏเตเดฎเตเดจเตเดฑเตเดทเดจเดฟเตฝ "เดเตเดฌเดฟเตพ เดธเตเดทเตโเดเดฟเดเตเดเตเด" เดเดจเตเดจ เดตเดพเดเตเดฏเดเดเดจเดฏเตโเดเตเดเดพเดฏเดฟ "เดจเดเตเดจ" BNF-เดเตพ เดฎเดพเดคเตเดฐเดฎเต เดเดณเตเดณเต เดเดจเตเดจเดคเดพเดฃเต เดเดจเตเดฑเต เดชเตเดฐเดฟเดฏเดชเตเดชเตเดเตเด เดเดฆเดพเดนเดฐเดฃเด.
เดเตเดเดพเดคเต, เดชเดฒ DBMS-เดเตพเดเตเดเตเด เดฎเดฑเตเดฑเต DBMS-เดเดณเดฟเตฝ เดฒเดญเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดค เดชเตเดฐเดคเตเดฏเตเด เดคเดฐเด เดเดฌเตโเดเดเตโเดฑเตเดฑเตเดเตพ เดเดฃเตเดเต. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเดฌเตเดเดเตเดฑเตเดฑเตเดเดณเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, DBMS-เดฒเตเด เดจเดฎเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เดจเดเดคเตเดคเดพเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเต "เดเตเดฒเตเดฒเตเด", เดเตเดฑเดเตเดเต เดฎเตเดฎเตเดฎเดฑเดฟ เดเดฐเดฟเดฏ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดเตเดเตเด, เดเตเดฐเตเดฏเตโเดธเดฟเดเดเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดทเดฎเดฎเดพเดเตเดเตเด, "เดตเดพเดฏเดจ เดฎเดพเดคเตเดฐเด" เดฎเตเดกเดฟเดฒเตเดเตเดเต เดฎเดพเดฑเตเด, เดเตเดเดพเดคเต เดฎเดฑเตเดฑเต เดชเดฒเดคเตเด.
เดเดจเดฟ เดจเดฎเตเดเตเดเต เดเตเดฑเดเตเดเต เดตเดฐเดฏเตเดเตเดเดพเด
เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดเดฌเตโเดเดเตโเดฑเตเดฑเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดฐเต เดกเดฏเดเตเดฐเด เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเตเดเดฏเตเด เด เดตเดฏเตโเดเตเดเดฟเดเดฏเดฟเดฒเตเดณเตเดณ เดตเดธเตเดคเตเดเตเดเดณเตเด เดเดฃเดเตเดทเดจเตเดเดณเตเด เดฎเดจเตเดนเดฐเดฎเดพเดฏ เดเดฐเต เดเดฟเดคเตเดฐเดคเตเดคเดฟเตฝ เดเดพเดฃเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด เดเดจเตเดจเดคเดพเดฃเต เดเดฑเตเดฑเดตเตเด เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฏ เดเตเดฒเดฟเดเดณเดฟเดฒเตเดจเตเดจเต. เดเดคเดพเดฃเตเดเต เดเดคเตเดเตเดเดฟเดฒเตเด เดเตเดฐเดพเดซเดฟเดเตเดเตฝ IDE, เดชเตเดฐเดคเตเดฏเตเด "เดเดฎเดพเตปเดกเต เดฒเตเตป" เดฏเตเดเตเดเดฟเดฒเดฟเดฑเตเดฑเดฟเดเตพ, เดชเตเดฐเดคเตเดฏเตเด เดเตเดฐเดพเดซเดฟเดเตเดเตฝ เดเตเดณเตเดเตพ, เดฎเตเดกเดฒเตผเดฎเดพเตผ เดเดจเตเดจเดฟเดตเตผเดเตเดเต เดเดคเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด. เด เดตเตผ "เด เดตเตผเดเตเดเต เดเดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดฎเดฟเดเดเตเดเดคเต" เดจเดฟเดเตเดเตพเดเตเดเดพเดฏเดฟ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดตเดฐเดฏเตเดเตเดเตเด, เดเตเดเดพเดคเต เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดซเดฏเดฒเดฟเดฒเต เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดจเตเดฑเตผเดซเตเดธเดฟเดฒเต เดเตเดเตเดเตเดฌเตเดเตเดธเตเดเดณเดฟเดฒเต เดเตเดฑเดเตเดเต เดชเดพเดฐเดพเดฎเตเดฑเตเดฑเดฑเตเดเดณเตเดเต เดธเดนเดพเดฏเดคเตเดคเตเดเต เดฎเดพเดคเตเดฐเดฎเต เดจเดฟเดเตเดเตพเดเตเดเต เด เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเต เด เตฝเดชเตเดชเด เดธเตเดตเดพเดงเตเดจเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเต.
เดเดจเตเดจเดพเตฝ เด เดชเตเดฐเดถเตเดจเด เดตเดณเดฐเต เดฒเดณเดฟเดคเดตเตเด เดเตเดเตเดคเตฝ เด เดฏเดตเตเดณเตเดณเดคเตเด เดเดเดญเตเดฐเดตเตเดฎเดพเดฏ, เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดเตเดกเดฟเดจเตเดฑเต เดธเดนเดพเดฏเดคเตเดคเตเดเต เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด. เดเดคเต เดธเดเตเดเตเตผเดฃเตเดฃเดคเดฏเตเดเตเดฏเตเด เดกเดฏเดเตเดฐเดฎเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต, เดเดเตเดเตพเดเตเดเต เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเดคเตเดฏเตเด เดฎเดพเตผเดเตเดเตเด เดชเตเดชเต เดญเดพเดทเดเตพ (DOT, GraphML เดฎเตเดคเดฒเดพเดฏเดต) เดเดฃเตเดเต, เด เดตเดฏเตโเดเตเดเดพเดฏเดฟ เด เดคเตเดคเดฐเด เดจเดฟเตผเดฆเตเดฆเตเดถเดเตเดเตพ เดตเดพเดฏเดฟเดเตเดเดพเดจเตเด เดตเดฟเดตเดฟเดง เดซเตเตผเดฎเดพเดฑเตเดฑเตเดเดณเดฟเตฝ เดฆเตเดถเตเดฏเดตเตฝเดเตเดเดฐเดฟเดเตเดเดพเดจเตเด เดเดดเดฟเดฏเตเดจเตเดจ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเดณเตเดเต (GraphViz, PlantUML, Mermaid) เดฎเตเดคเตเดคเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดฟเดธเดฐเดฃเด เดเดฃเตเดเต. . เดถเดฐเดฟ, เดเดฌเตโเดเดเตโเดฑเตเดฑเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเด เด เดตเดฏเตโเดเตเดเดฟเดเดฏเดฟเดฒเตเดณเตเดณ เดเดฃเดเตเดทเดจเตเดเดณเตเดเตเดเตเดฑเดฟเดเตเดเตเด เดตเดฟเดตเดฐเดเตเดเตพ เดเดเตเดเดจเต เดจเตเดเดพเดฎเตเดจเตเดจเต เดเดเตเดเตพเดเตเดเดฑเดฟเดฏเดพเด.
PlantUML เดเดชเดฏเตเดเดฟเดเตเดเต เดเดคเต เดเดเตเดเดจเตเดฏเดพเดฏเดฟเดฐเดฟเดเตเดเตเดฎเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดเดฐเต เดเตเดฑเดฟเดฏ เดเดฆเดพเดนเดฐเดฃเด เดเดคเดพ
select '@startuml'||chr(10)||'hide methods'||chr(10)||'hide stereotypes' union all
select distinct ccu.table_name || ' --|> ' ||
tc.table_name as val
from table_constraints as tc
join key_column_usage as kcu
on tc.constraint_name = kcu.constraint_name
join constraint_column_usage as ccu
on ccu.constraint_name = tc.constraint_name
where tc.constraint_type = 'FOREIGN KEY'
and tc.table_name ~ '.*' union all
select '@enduml'
เดจเดฟเดเตเดเตพ เด
เตฝเดชเตเดชเด เดถเตเดฐเดฎเดฟเดเตเดเดพเตฝ, เด
เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ
SQL เดเตเดฆเตเดฏเด เดเตเดฑเดเตเดเตเดเตเดเดฟ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฃเต
-- ะจะฐะฟะบะฐ
select '@startuml
!define Table(name,desc) class name as "desc" << (T,#FFAAAA) >>
!define primary_key(x) <b>x</b>
!define unique(x) <color:green>x</color>
!define not_null(x) <u>x</u>
hide methods
hide stereotypes'
union all
-- ะขะฐะฑะปะธัั
select format('Table(%s, "%s n information about %s") {'||chr(10), table_name, table_name, table_name) ||
(select string_agg(column_name || ' ' || upper(udt_name), chr(10))
from information_schema.columns
where table_schema = 'public'
and table_name = t.table_name) || chr(10) || '}'
from information_schema.tables t
where table_schema = 'public'
union all
-- ะกะฒัะทะธ ะผะตะถะดั ัะฐะฑะปะธัะฐะผะธ
select distinct ccu.table_name || ' "1" --> "0..N" ' || tc.table_name || format(' : "A %s may haven many %s"', ccu.table_name, tc.table_name)
from information_schema.table_constraints as tc
join information_schema.key_column_usage as kcu on tc.constraint_name = kcu.constraint_name
join information_schema.constraint_column_usage as ccu on ccu.constraint_name = tc.constraint_name
where tc.constraint_type = 'FOREIGN KEY'
and ccu.constraint_schema = 'public'
and tc.table_name ~ '.*'
union all
-- ะะพะดะฒะฐะป
select '@enduml'
เดจเดฟเดเตเดเตพ เดธเตเดเตเดทเตเดฎเดฎเดพเดฏเดฟ เดจเตเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดจเดฟเดฐเดตเดงเดฟ เดฆเตเดถเตเดฏเดตเตฝเดเตเดเดฐเดฃ เดเดชเดเดฐเดฃเดเตเดเดณเตเด เดธเดฎเดพเดจเดฎเดพเดฏ เด
เดจเตเดตเตเดทเดฃเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดถเดฐเดฟเดฏเดพเดฃเต, เด เด
เดญเตเดฏเตผเดคเตเดฅเดจเดเตพ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดเดดเดคเตเดคเดฟเดฒเตเดณเตเดณเดคเดพเดฃเต
เด เดณเดตเตเดเดณเตเด เดจเดฟเดฐเตเดเตเดทเดฃเดตเตเด
เดจเดฎเตเดเตเดเต เดชเดฐเดฎเตเดชเดฐเดพเดเดคเดฎเดพเดฏเดฟ เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเดฐเต เดตเดฟเดทเดฏเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดเดพเด - เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เดชเตเดฐเดเดเดจ เดจเดฟเดฐเตเดเตเดทเดฃเด. "เดเดจเตเดฑเต เดเดฐเต เดธเตเดนเตเดคเตเดคเต" เดเดจเตเดจเตเดเต เดชเดฑเดเตเด เดเดฐเต เดเตเดฑเดฟเดฏ เดฏเดฅเดพเตผเดคเตเดฅ เดเดฅ เดเดพเตป เดเตผเดเตเดเตเดจเตเดจเต. เดฎเดฑเตเดฑเตเดฐเต เดชเตเดฐเตเดเดเตเดฑเตเดฑเดฟเตฝ เดเดฐเต เดถเดเตเดคเดฎเดพเดฏ DBA เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดเตเดฑเดเตเดเต เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผเดเตเดเต เด เดฆเตเดฆเตเดนเดคเตเดคเต เดตเตเดฏเดเตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เด เดฑเดฟเดฏเดพเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดจเตเดฐเดฟเดเตเดเต เดเดฃเตเดเดฟเดเตเดเตเดฃเตเดเตเดเตเดเดฟเดฒเตเด (เดเดฟเดเดตเดฆเดจเตเดคเดฟเดเตพ เด เดจเตเดธเดฐเดฟเดเตเดเต, เด เดฆเตเดฆเตเดนเด เด เดเตเดคเตเดค เดเตเดเตเดเดฟเดเดคเตเดคเดฟเตฝ เดเดตเดฟเดเตเดฏเต เดเตเดฒเดฟ เดเตเดฏเตเดคเดฟเดฐเตเดจเตเดจเตเดตเตเดเตเดเดฟเดฒเตเด) . "X" เดฎเดฃเดฟเดเตเดเตเดฑเดฟเตฝ, เดเดฐเต เดตเดฒเดฟเดฏ เดเดฟเดฒเตเดฒเดฑ เดตเตเดฏเดพเดชเดพเดฐเดฟเดฏเตเดเต เดชเตเดกเดเตเดทเตป เดธเดฟเดธเตเดฑเตเดฑเด เดเดฐเดฟเดเตเดเตฝ เดเตเดเดฟ "เดฎเตเดถเด" เด เดจเตเดญเดตเดฟเดเตเดเดพเตป เดคเตเดเดเตเดเดฟเดฏเดชเตเดชเตเตพ, เด เดฆเตเดฆเตเดนเด เดเดฑเดพเดเตเดเดฟเตพ เดเดจเตเดฑเตผเดชเตเดฐเตเดธเต เดฎเดพเดจเตเดเดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เดเตเดฐเดพเดซเตเดเดณเตเดเต เดธเตเดเตเดฐเตเตปเดทเตเดเตเดเตเดเตพ เดจเดฟเดถเดฌเตเดฆเดฎเดพเดฏเดฟ เด เดฏเดเตเดเต, เด เดคเดฟเตฝ "เดเตเดฐเดนเดฃเดเตเดทเดฎเดค" เดเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดเตเดตเดจเตเดจ เดฎเดพเตผเดเตเดเตผ เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเตผเดฃเดพเดฏเด เดธเตเดฅเดฒเดเตเดเตพ เดถเตเดฐเดฆเตเดงเดพเดชเตเตผเดตเตเดตเด เดนเตเดฒเตเดฑเตเดฑเต เดเตเดฏเตเดคเต ( เดเดคเต, เดฎเดฟเดคเดฎเดพเดฏ เดฐเตเดคเดฟเดฏเดฟเตฝ เดชเดฑเดเตเดเดพเตฝ, เด เดงเดฟเดเด เดธเดนเดพเดฏเดฟเดเตเดเดฟเดฒเตเดฒ). เด "เดซเตเดเตเดเต เดเดพเตผเดกเต" เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟ เดเดจเดฟเดเตเดเต เดเดฟเดเดฟเดคเตเดธเดฟเดเตเดเตเดฃเตเดเดฟ เดตเดจเตเดจเต. เด เดคเต เดธเดฎเดฏเด, เดตเดฟเดฒเดฏเตเดฑเดฟเดฏ (เดตเดพเดเตเดเดฟเดจเตเดฑเต เดฐเดฃเตเดเต เด เตผเดคเตเดฅเดคเตเดคเดฟเดฒเตเด) เดเดจเตเดฑเตผเดชเตเดฐเตเดธเต เดฎเดพเดจเตเดเดฐเดฟเดฒเตเดเตเดเต เดเตผเดเตเดเตเด เดชเตเดฐเดตเตเดถเดจเดฎเดฟเดฒเตเดฒ, เดเดพเดฐเดฃเด เดธเดฟเดธเตเดฑเตเดฑเด เดธเดเตเดเตเตผเดฃเตเดฃเดตเตเด เดเตเดฒเดตเตเดฑเดฟเดฏเดคเตเดฎเดพเดฃเต, เดชเตเดเตเดเตเดจเตเดจเต "เดกเตเดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดเดจเตเดคเตเดเตเดเดฟเดฒเตเด เดเดเดฑเตเดเดฏเตเด เดเดฒเตเดฒเดพเด เดคเดเตผเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต." เด เดคเดฟเดจเดพเตฝ, เดกเดตเดฒเดชเตเดชเตผเดฎเดพเตผ "เด เดจเตเดญเดตเดชเดฐเดฎเดพเดฏเดฟ" เดฌเตเดฐเตเดเตเดเตเดเดณเตเดเต เดธเตเดฅเดพเดจเดตเตเด เดเดพเดฐเดฃเดตเตเด เดเดฃเตเดเตเดคเตเดคเดฟ เดเดฐเต เดชเดพเดเตเดเต เดชเตเดฑเดคเตเดคเดฟเดฑเดเตเดเดฟ. DBA-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดญเตเดทเดฃเดฟเดชเตเดชเตเดเตเดคเตเดคเตเดจเตเดจ เดเดคเตเดคเต เดธเดฎเตเดชเดญเดพเดตเดฟเดฏเดฟเตฝ เดตเตเดฃเตเดเตเด เดตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดเดฒเตเดฒเดพเดตเดฐเตเด เดเดถเตเดตเดพเดธเดคเตเดคเดฟเดจเตเดฑเต เดจเตเดเตเดตเตเตผเดชเตเดชเดฟเดเตเดเต เด เดตเดฐเตเดเต เดจเดฟเดฒเดตเดฟเดฒเต เดเตเดฒเดฟเดเดณเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเด (เดชเตเดคเดฟเดฏ เดเดคเตเดคเต เดตเดฐเต).
เดเดจเตเดจเดพเตฝ เดฎเตเดฃเดฟเดฑเตเดฑเดฑเดฟเดเดเต เดชเตเดฐเดเตเดฐเดฟเดฏ เดเตเดเตเดคเตฝ เดฐเดธเดเดฐเดตเตเด เดธเตเดนเตเดฆเดชเดฐเดตเตเด, เดเดฑเตเดฑเดตเตเด เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเดฟ, เดเดฒเตเดฒเดพเดตเตผเดเตเดเตเด เดเดเตเดธเดธเต เดเตเดฏเตเดฏเดพเดตเตเดจเตเดจเดคเตเด เดธเตเดคเดพเดฐเตเดฏเดตเตเดฎเดพเดฃเต. เดชเตเดฐเดงเดพเดจ เดฎเตเดฃเดฟเดฑเตเดฑเดฑเดฟเดเดเต เดธเดฟเดธเตเดฑเตเดฑเดเตเดเตพเดเตเดเต เดเดฐเต เด
เดงเดฟเดเดฎเดพเดฏเดฟ เด
เดคเดฟเดจเตเดฑเต เด
เดเดฟเดธเตเดฅเดพเดจ เดญเดพเดเดฎเตเดเตเดเดฟเดฒเตเด (เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดเดชเดฏเตเดเดชเตเดฐเดฆเดตเตเด เดชเดฒ เดเตเดธเตเดเดณเดฟเดฒเตเด เดฎเดพเดฑเตเดฑเดพเดจเดพเดเดพเดคเตเดคเดคเตเดฎเดพเดฃเต). เดเดคเตเดฐเต เดกเดฟเดฌเดฟเดเดเดเดธเตเด เด
เดคเดฟเดจเตเดฑเต เดจเดฟเดฒเดตเดฟเดฒเต เด
เดตเดธเตเดฅเดฏเตเดฏเตเด เดชเตเดฐเดเดเดจเดคเตเดคเตเดฏเตเด เดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดตเดฟเดตเดฐเดเตเดเตพ เดชเดเตเดเดฟเดเตเดจเตเดจเดคเดฟเดจเต เดธเตเดเดจเตเดฏเดฎเดพเดฏเตเด เดคเดฟเดเดเตเดเตเด เดธเตเดเดจเตเดฏเดตเตเดฎเดพเดฃเต. เด
เดคเต "เดฌเตเดฒเดกเดฟ" เดเดฑเดพเดเตเดเดฟเตพ เดกเดฟเดฌเดฟเดฏเดฟเตฝ, เดชเตเดฐเตเดธเดธเตเดธเตเดเดณเตเด เดธเตเดทเดจเตเดเดณเตเด เดฎเตเดคเตฝ เดฌเดซเตผ เดเดพเดทเตเดฏเตเดเต เด
เดตเดธเตเดฅ เดตเดฐเต (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเดฟเดธเตเดฑเตเดฑเด เดเดพเดดเตเดเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฐเดเดเดจเดคเตเดคเตเดเตเดเตเดฑเดฟเดเตเดเตเดณเตเดณ เดฎเดฟเดเตเดเดตเดพเดฑเตเด เดเดฒเตเดฒเดพ เดตเดฟเดตเดฐเดเตเดเดณเตเด เดฒเดญเดฟเดเตเดเตเด.
เด
เดคเดฟเดจเดพเตฝ, เดเดทเตโเดเดพเดจเตเดธเตเดค sql เด
เดจเตเดตเตเดทเดฃเดเตเดเตพ เดจเดเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเดจเตเดจ เดเดฟเดฒเดคเดฐเด เดฎเตเดเตเดฐเดฟเดเตโเดธเต เดเดณเดเตเดเตผ (เดเตเดฒเดฟเดเตเดฐเดพเดซเต, เดฎเตเดเตเดฐเดฟเดเตโเดฌเตเดฑเตเดฑเต, เดเดณเดเตโเดฑเตเดฑเดกเต), เด เดฎเตเดเตเดฐเดฟเดเตเดเตเดเดณเตเดเต เดธเดเดญเดฐเดฃเด (เดเตปเดซเตโเดฒเดเตโเดธเต เดกเดฟเดฌเดฟ, เดเดฒเดพเดธเตเดฑเตเดฑเดฟเดเตโเดธเตเตผเดเตเดเต, เดเตเดเดธเตโเดเตเดฒเตเดกเตโเดฌเดฟ), เดเดฐเต เดตเดฟเดทเตเดตเดฒเตเดธเตผ (เดเตเดฐเดพเดซเดพเดจ, เดเดฟเดฌเดพเดจ) เดเดจเตเดจเดฟเดต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดตเดณเดฐเต เดเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดฒเดญเดฟเดเตเดเตเด. เดฎเดฑเตเดฑเต เดธเดฟเดธเตเดฑเตเดฑเด-เดตเตเดกเต เดฎเตเดเตเดฐเดฟเดเตเดเตเดเดณเตเดฎเดพเดฏเดฟ (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต, OS-เตฝ เดจเดฟเดจเตเดจเต เดฎเตเดคเดฒเดพเดฏเดต) เด
เดเตเดคเตเดคเต เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดซเตเดฒเตเดเตเดธเดฟเดฌเดฟเตพ เดฎเตเดฃเดฟเดฑเตเดฑเดฑเดฟเดเดเต เดธเดฟเดธเตเดฑเตเดฑเดตเตเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดคเต pgwatch2-เดฒเดพเดฃเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเต, เดเดคเต InfluxDB + Grafana เดเตเดฎเตเดชเดฟเดจเตเดทเดจเตเด เดธเดฟเดธเตเดฑเตเดฑเด เดเดพเดดเตโเดเดเดณเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดฐเต เดเตเดเตเดเด เด
เดจเตเดตเตเดทเดฃเดเตเดเดณเตเด เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, เด
เดตเดฏเตเด เดเดเตโเดธเดธเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเด.
เดเดเต
เดธเดพเดงเดพเดฐเดฃ SQL เดเตเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเดณเตเดเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเตฝ เดเดจเตเดคเตเดเตเดฏเตเดฏเดพเดจเดพเดเตเดฎเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดเดเดฆเตเดถ เดฒเดฟเดธเตเดฑเตเดฑเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเดฟเดคเต. เดจเดฟเดเตเดเตพเดเตเดเต เดเตเดเตเดคเตฝ เดเดชเดฏเตเดเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดเดฑเดชเตเดชเตเดฃเตเดเต, เด เดญเดฟเดชเตเดฐเดพเดฏเดเตเดเดณเดฟเตฝ เดเดดเตเดคเตเด. เดเดคเตเดฒเตเดฒเดพเด เดเดเตเดเดจเต (เดเดฑเตเดฑเดตเตเด เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเดฟ เดเดจเตเดคเตเดเตเดฃเตเดเต) เดเดเตเดเตเดฎเตเดฑเตเดฑเต เดเตเดฏเตเดฏเดพเดฎเตเดจเตเดจเตเด เด เดเตเดคเตเดค เดคเดตเดฃ เดจเดฟเดเตเดเดณเตเดเต CI/CD เดชเตเดชเตเดชเตโเดฒเตเดจเดฟเตฝ เดเตพเดชเตเดชเตเดเตเดคเตเดคเดพเดฎเตเดจเตเดจเตเด เดเดเตเดเตพ เดธเดเดธเดพเดฐเดฟเดเตเดเตเด.
เด เดตเดฒเดเดฌเด: www.habr.com