Ổ tay chuyÊn nghiỆpedxbooks.com/pdfs/relationaldatabase-designrules-codingconventi… ·...

17
Relation ALEX KHANG QUY TC THIT KTIÊU CHUN VIT MÃ SQL CHUYÊN NGHIP Hướng dẫn dùng cho người đang theo hc, ging dy và làm vic trong ngành Công nghPhn mm STAY CHUYÊN NGHIP CƠ SỞ DLIÊU QUAN HQuy tắc và quy định thiết kế Cơ sở dliu Các tiêu chuẩn và quy ước vmã SQL SQL Thc hành Lp trình mã SQL tt nht SQL Server . Oracle . SAP Anywhere . MySQL edX Books 4.0 Express

Upload: others

Post on 26-May-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Relation

ALEX KHANG

QUY TẮC THIẾT KẾ VÀ

TIÊU CHUẨN VIẾT MÃ SQL

CHUYÊN NGHIỆP

Hướng dẫn dùng cho người đang theo học, giảng dạy và

làm việc trong ngành Công nghệ Phần mềm

SỔ TAY

CHUYÊN NGHIỆP

CƠ SỞ DỮ LIÊU QUAN HỆ

Quy tắc và quy định thiết kế Cơ sở dữ liệu

Các tiêu chuẩn và quy ước về mã SQL

SQL

Thực hành Lập trình mã SQL tốt nhất

SQL Server . Oracle . SAP Anywhere . MySQL

edX Books 4.0 Express

Page 2: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Giới thiệu

PHẠM HỮU KHANG (bút danh trên thì trường sách tiếng

Anh là Alex Khang) từng giữ vị trí giám đốc kỹ thuật, quản

lý sản phẩm và lãnh đạo các dự án phần mềm sử dụng .NET

Technology, Java, Android, SQL Server, Oracle, DB2,

SharePoint Framework, Power BI, Azure Cloud, Data

Warehouse, Database Migration và AI/ML, Data Science

cho các công ty Đức, Singapore, Anh, Mỹ và Thụy Điển

trong nhiều năm.

Alex Khang đã có hơn 25 năm làm việc và hơn 15 năm giảng dạy các khóa học

về Kỹ thuật phần mềm, Khoa học dữ liệu tại các công ty và trường Đại học,

Cao đẳng, Viện, Trung tâm Công viên Phần mềm và các cơ quan CNTT.

Alex Khang còn là tác giả của

48 cuốn sách bán chạy nhất về chuyên ngành Kỹ thuật phần mềm bằng tiếng

Việt từ năm 2001 đến 2012 tại thị trường trong nước.

4 cuốn sách Kỹ thuật phần mềm chuyên ngành bằng tiếng Việt trong trường

đại học.

Một số cuốn sách chuyên ngành về Kỹ thuật phần mềm và Khoa học dữ liệu

bằng tiếng Anh trên thị trường toàn cầu.

Ngoài ra, Alex Khang đã tư vấn và hỗ trợ về Kỹ thuật phần mềm, Giải pháp

phần mềm, Kho dữ liệu và Kỹ thuật dữ liệu cho nhiều công ty nước ngoài, công

ty nhà nước và cũng như các dự án chính phủ điện tử.

Alex Khang hiện làm việc như là Nhà khoa học dữ liệu, Kỹ sư AI / ML, Chuyên

gia cơ sở dữ liệu, Biên tập viên và Người đánh giá và Kiến trúc sư giải pháp

phần mềm cao cấp và cũng giữ vai trò "Quản lý đào tạo cao cấp" tại Công ty

phát triển phần mềm toàn cầu.

Page 3: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Tự sự của tác giả

Xây dựng các ví dụ thực tế mình họa để đính kèm theo sách này là một nỗ lực

đáng kinh ngạc và và là sự trở lại đánh dấu công việc viết lách của tôi.

Trước hết, tôi muốn cảm ơn con gái và con trai tôi đã khuyến khích tôi viết cuốn

sách này.

Thứ hai, tôi muốn cảm ơn đến tất cả các nhà phát triển, người kiểm thử, nhà

phân tích kinh doanh, nhà thiết kế cơ sở dữ liệu, giảng viên, kỹ sư phần mềm

làm việc trong ngành Kỹ thuật phần mềm hoặc sinh viên, thực tập cũng như

giáo viên, giảng viên đang học và giảng dạy tại Khoa Khoa học Máy tính tại

Đại học, vì vậy họ luôn luôn đặ câu hỏi cho tôi là Tại sao bạn là tác giả nổi tiếng

trong quá khứ và làm việc trong Kỹ thuật phần mềm nhưng bạn không tiếp tục

đóng góp kiến thức và kinh nghiệm của mình cho những người trẻ tuổi.

Thứ ba, tôi muốn cảm ơn các độc giả và sinh viên đã từng đọc những cuốn sách

đã xuất bản của tôi nhiều lần trong quá khứ và đưa ra phản hồi hữu ích.

Thứ tư, tôi muốn nói lời cảm ơn đến các đồng nghiệp của tôi, vì đã thúc đẩy tôi

quay lại viết sách và hỗ trợ tôi tham gia thị trường trực tuyến.

Cuối cùng, thật tuyệt vời khi phục vụ những cuốn sách thiết thực cho tất cả các

bạn, và hy vọng tôi có thể truyền cảm hứng cho bạn trong những cuốn sách tiếp

theo.

Page 4: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Kế hoạch xuất bản

Tôi luôn từ bỏ những thú vui để dành thời gian cho kế hoạch xuất bản sắp tới

bao gồm một số chủ đề như về Công nghệ phần mềm:

1. Apply the modern Model of Application Lifecycle Management (ALM)

to Software Production and Services.

2. Mastering in Design and Implementation of Competency Modern

Model in Software Engineering Organization.

3. Mastering Oracle Database - Practical Architect Design and PL/SQL

Programming.

4. Mastering SQL Server Database - Practical Architect Design and T-

SQL Programming.

5. Mastering SAP Anywhere Database - Practical Architect Design and T-

SQL Programming.

6. Data Science - The Journey to become a Data Scientist in an Era of

Artificial Intelligence.

Page 5: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Cuốn sách dành cho ai?

Ngày nay, có nhiều cuốn sách thường giới thiệu kiến thức và kinh nghiệm về

thiết kế và lập trình trong nền tảng cơ sở dữ liệu quan hệ cụ thể như

Microsoft SQL Server

Oracle

MySQL

PostgreSQL

SAP Anywhere

IBM DB2

Nhưng hầu hết các quy định và quy ước trong quy tắc thiết kế, hướng dẫn về

tiêu chuẩn viết mã lệnh SQL cũng như những lời khuyên có giá trị nhất trong

việc phát triển các sản phẩm phần mềm chất lượng toàn cầu mà bạn cần mua là

cuốn sách có tên "Quy tắc thiết kế và Tiêu chuẩn viết mã lệnh SQL trong

Cơ sở dữ liệu quan hệ" tên tiếng Anh là "Relational Database - Design Rules

and SQL Coding Conventions".

Cuốn sách này hướng dẫn bạn thiết kế và viết mã lệnh SQL trong cơ sở dữ liệu

quan hệ rất chi tiết và chuyên nghiệp với văn bản gồm tiêu chuẩn và quy ước

bằng cũng như các kỹ thuật phổ biến nhất, vì vậy giáo viên, sinh viên, thực tập,

nhà phát triển, kỹ sư và thậm chí là người cao niên có thể dễ dàng làm theo.

Nếu bạn muốn có một thiết kế thực tế chuyên sâu và viết mã chuyên nghiệp

trên nền tảng cơ sở dữ liệu quan hệ, thì cuốn sách này chắc chắn là sự lựa chọn

tuyệt vời cho bạn.

Bạn có thể tìm thấy nhiều sách do tác giả biên soạn đã bán trên Amazon tại địa

chỉ http://amazon.com/author/mr.alexkhang.

Page 6: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Tại sao phải đọc sách này?

Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL cho cơ

sở dữ liệu quan hệ, sẽ giúp bạn chuyên nghiệp hơn trong việc làm việc tổ

chức Kỹ thuật phần mềm đẳng cấp thế giới.

Đừng chần chờ nữa. Hãy đọc cẩm nang này càng sớm càng tốt.

Bạn có thể nâng cao các kỹ năng thiết kế cơ sở dữ liệu và lập trình

SQL và T-SQL, PL/SQL, bạn cũng sẽ nhận được nhiều kinh nghiệm

quý giá có thể giúp bạn nhanh chóng thiết kế và quản lý các ứng

dụng cơ sở dữ liệu cho bất kỳ giải pháp kinh doanh nào..

Sổ tay này chắc chắn sẽ giúp bạn cải thiện kiến thức về SQL, kỹ

thuật viết mã SQL, kỹ năng lập trình, tiêu chuẩn và lời khuyên viết

mã cũng như các mẹo để bạn bắt đầu phát triển hệ thống cơ sở dữ

liệu hiện đại.

Nó cung cấp bài thực hành theo cú pháp của các ví dụ kèm theo, bạn

luôn giữ câu sau đây: "Bây giờ, tôi là Kiến trúc sư và Nhà phát triển

cơ sở dữ liệu, và bạn rất tự hào về bản thân."

Page 7: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Những điều bạn học được từ cuốn sách

Phiên bản đầu tiên này bao gồm 06 phần,

Phần đầu tiên, PHẦN 01 - Các quy tắc và quy định thiết kế cho nền tảng

cơ sở dữ liệu quan hệ phổ biến.

04 phần tiếp theo của Cơ sở dữ liệu quan hệ - Quy tắc thiết kế và Tiêu

chuẩn viết mã SQL trình bày trong PHẦN 02 - PHẦN 05.

o T-SQL và Cơ sở dữ liệu Microsoft SQL Server

o PL/SQL và Cơ sở dữ liệu Oracle

o MSQL và Cơ sở dữ liệu MySQL

o T-SQL và Cơ sở dữ liệu SAP Anywhere

Phần cuối cùng, PHẦN 6 - Thực tiễn tốt nhất cho lập trình SQL và SQL-

Based.

Ngoài ra, ấn bản này bao gồm các ví dụ với các loại dữ liệu mới nhất bao gồm

dữ liệu đầu vào của chuỗi XML và JSON để điều phố cách gửi và lấy lại XML

và JSON thông qua Web API hoặc mã Front-End.

Ý kiến từ bạn đọc

Tôi luôn mở cánh cửa (đám mây) để hỗ trợ cho bất kỳ độc giả nào mua sách mà

tôi đã biên soạn. Nếu bạn gặp vấn đề, xin vui lòng gửi email cho tôi tại địa chỉ:

[email protected].

Trong trường hợp tôi không thể trả lời nhanh vì tôi bận rộn với các dự án, tôi

sẽ cố gắng phản hồi trong vòng 72 giờ sau khi nhận được email của bạn.

Page 8: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Nội dung

Giới thiệu .......................................................................................................... 2

Tự sự của tác giả ............................................................................................... 3

Kế hoạch xuất bản ............................................................................................. 4

Cuốn sách dành cho ai?..................................................................................... 5

Tại sao phải đọc sách này? ................................................................................ 6

Những điều bạn học được từ cuốn sách ............................................................ 7

Ý kiến từ bạn đọc .............................................................................................. 7

Nội dung............................................................................................................ 8

Giới thiệu ........................................................................................................ 16

PHẦN 1: QUY TẮC THIẾT KẾ ỨNG DỤNG CƠ SỞ DỮ LIỆU ................ 18

1. Mục tiêu của tài liệu ................................................................................ 19

2. Giả định và hạn chế ................................................................................. 19

3. Nhóm phát triển và các bên liên quan ..................................................... 20

4. Định nghĩa về hành động ......................................................................... 20

5. Quy tắc thiết kế lược đồ cơ sở dữ liệu ..................................................... 20

Quy tắc thiết kế Cơ sở dữ liệu ................................................................. 20

Quy tắc thiết kế Bảng .............................................................................. 21

Quy tắc thiết kế cột dữ liệu ...................................................................... 21

Quy tắc thiết kế cơ sở dữ liệu lịch sử ...................................................... 21

Quy tắc áp dụng rang buộc giữa hai bảng ............................................... 22

6. Quy tắc dung dữ liệu lưu trong bảng ....................................................... 22

Kiểu dữ liệu chuỗi và ký tự ..................................................................... 22

Kiểu dữ liệu thời gian .............................................................................. 22

Kiểu dữ liệu UTC (Coordinated Universal Time) ................................... 22

7. Quy tắc thiết kế cơ sở dữ liệu doanh nghiệp ........................................... 24

Cột BranchCode (tùy chọn) ..................................................................... 25

Page 9: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Cột TenantId (tùy chọn) .......................................................................... 25

Cột năm tài chính Fiscal Year (tùy chọn) ................................................ 26

Xử lý dữ liệu (required) ........................................................................... 26

Thời gian sử dụng dữ liệu ........................................................................ 29

Kiểm soát và quản lý tác vụ đồng thời .................................................... 30

8. Quy tắc quản lý Dữ liệu Nghiệp vụ (Transaction Data) .......................... 31

Kiều số Unique (tùy chọn) ....................................................................... 31

Cột số tự động (AUTO NUMBER / IDENTITY) ................................... 32

Quy tắc lấy số tự động (tùy chọn) ........................................................... 34

Quy định xóa mềm .................................................................................. 34

Quy tắc xử lý các truy vấn hành động ..................................................... 35

Quy định hàm mặc định UTC cho INSERT ............................................ 36

Quy định hàm mặc định UTC cho UPDATE .......................................... 37

9. Quy định liên kết giữa các Cơ sở dữ liệu ................................................ 38

Cơ sở dữ liệu Microsoft SQL Server ....................................................... 38

Cơ sở dữ liệu SAP Anywhere .................................................................. 38

10. Bảng ghi chép lịch sử thay đổi ................................................................ 39

11. Bảng ghi chép vấn đề phát sinh ............................................................... 39

12. Danh sách người duyệt tài liệu ................................................................ 39

PHẦN 2: SQL SERVER DATABASE QUY ƯỚC VÀ TIÊU CHUẨN VIẾT

MÃ T-SQL TRONG CƠ SỞ DỮ LIỆU SQL SERVER ................................ 40

1. Mục tiêu của tài liệu ................................................................................ 41

2. Giả định và hạn chế ................................................................................. 41

3. Nhóm phát triển và các bên liên quan ..................................................... 42

4. Định nghĩa Hành động ............................................................................ 42

5. Định nghĩa và Từ viết tắt ......................................................................... 43

6. Quy ước chung ........................................................................................ 43

7. Quy ước viết Chú thích ........................................................................... 44

8. Quy ước thêm TAB ................................................................................. 45

Page 10: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

9. Hướng dẫn lập trình lệnh T-SQL ............................................................ 48

Câu truy vấn SELECT ............................................................................. 48

Hàm SQL Server ..................................................................................... 50

Số TOP trong truy vấn SQL .................................................................... 50

Toán tử CASE WHEN ............................................................................ 51

Mệnh đề ORDER BY .............................................................................. 52

10. Quy tắc số tự động ................................................................................... 53

Biến toàn cục hay hàm IDENTITY ......................................................... 53

Hàm NewID () ......................................................................................... 54

11. Quy ước đặt tên ....................................................................................... 54

Các quy tắc và Quy định chung ............................................................... 54

Quy ước đặt tên Biến SQL ...................................................................... 56

Quy ước đặt tên Tham số SQL ................................................................ 58

Quy ước đặt tên Bảng .............................................................................. 62

Quy ước đặt tên Cột ................................................................................. 62

Quy ước đặt tên View .............................................................................. 63

Quy ước đặt tên Thủ tục nội tại ............................................................... 64

Quy ước đặt tên Hàm SQL ...................................................................... 65

Quy ước đặc tên Trigger .......................................................................... 66

12. Quy định xử lý và ném Ngoại lệ ............................................................. 70

13. Quy định xử lý đồng thời ........................................................................ 73

14. Quy định xóa dữ liệu ............................................................................... 75

Quy định về chế độ xóa mềm (soft delete) .............................................. 75

Quy định về chế độ xóa cứng (hard delete) ............................................. 76

15. Quy tắc của Truy vấn động ..................................................................... 78

16. Quy định truy vấn dữ liệu hàng loạt ........................................................ 82

Quy định truy vấn dữ liệu XML .............................................................. 82

Ví dụ về dữ liệu nhập XML ..................................................................... 84

Quy định truy vấn dữ liệu JSON ............................................................. 85

Page 11: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Ví dụ về dữ liệu nhập JSON .................................................................... 86

17. Bảng ghi chép lịch sử thay đổi ................................................................ 88

18. Bảng ghi chép vấn đề phát sinh ............................................................... 88

19. Danh sách người duyệt tài liệu ................................................................ 88

PHẦN 3: ORACLE DATABASE QUY ƯỚC VÀ TIÊU CHUẨN VIẾT MÃ

PL/SQL TRONG CƠ SỞ DỮ LIỆU ORACLE .............................................. 89

1. Mục tiêu của tài liệu ................................................................................ 90

2. Giả định và hạn chế ................................................................................. 90

3. Nhóm phát triển và các bên liên quan ..................................................... 91

4. Định nghĩa Hành động ............................................................................ 91

5. Định nghĩa và Từ viết tắt ......................................................................... 91

6. Tiêu chuẩn và Quy ước ........................................................................... 92

Định nghĩa Chung .................................................................................... 92

Quy ước viết Chú thích ............................................................................ 93

Quy ước thêm TAB ................................................................................. 95

7. Hướng dẫn lập trình ngôn ngữ PL/SQL .................................................. 97

Câu truy vấn SELECT ............................................................................. 97

Hàm SQL của Oracle ............................................................................... 99

Số TOP trong truy vấn SQL .................................................................... 99

Toán tử CASE WHEN .......................................................................... 101

8. Quy ước đặt tên ..................................................................................... 102

Quy ước đặt tên Biến SQL .................................................................... 102

Quy ước đặt tên Tham số SQL .............................................................. 103

Quy ước đặt tên View ............................................................................ 104

Quy ước đặt tên Thủ tục nội tại ............................................................. 105

Quy ước đặt tên Hàm SQL .................................................................... 107

Quy ước đặc tên Trigger ........................................................................ 108

9. Quy tắc số tự động ................................................................................. 109

Biến toàn cục hay hàm IDENTITY ....................................................... 109

Page 12: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Quy định về định danh duy nhất ............................................................ 111

10. Quy định xóa dữ liệu ............................................................................. 111

Quy định về chế độ xóa mềm ................................................................ 111

Quy định về chế độ xóa cứng ................................................................ 113

11. Quy định đặc biệt .................................................................................. 114

Quy định của truy vấn động .................................................................. 114

Quy định xử lý và ném Ngoại lệ ............................................................ 115

Quy định xử lý đồng thời ....................................................................... 116

12. Quy định truy vấn dữ liệu hàng loạt ...................................................... 118

Quy định truy vấn dữ liệu XML ............................................................ 118

Quy định truy vấn dữ liệu JSON ........................................................... 124

13. Record of Changes ................................................................................ 131

14. Bảng ghi chép vấn đề phát sinh ............................................................. 131

15. Danh sách người duyệt tài liệu .............................................................. 131

PHẦN 4: MySQL DATABASE QUY ƯỚC VÀ TIÊU CHUẨN VIẾT MÃ

SQL TRONG CƠ SỞ DỮ LIỆU MYSQL ................................................... 132

1. Mục tiêu của tài liệu .............................................................................. 133

Giả định và hạn chế ............................................................................... 133

Nhóm phát triển và các bên liên quan ................................................... 134

Định nghĩa và Từ viết tắt ....................................................................... 134

2. Tiêu chuẩn và Quy ước ......................................................................... 135

Định nghĩa Hành động ........................................................................... 135

Định nghĩa Chung .................................................................................. 135

Quy ước viết Chú thích .......................................................................... 136

Quy ước thêm TAB ............................................................................... 138

3. Hướng dẫn lập trình ngôn ngữ MySQL ................................................ 140

Câu truy vấn SELECT ........................................................................... 140

Hàm SQL của MySQL .......................................................................... 142

Số TOP trong truy vấn SQL .................................................................. 143

Page 13: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Toán tử CASE WHEN .......................................................................... 144

4. Quy ước đặt tên ..................................................................................... 146

Quy ước đặt tên Biến SQL .................................................................... 146

Quy ước đặt tên Tham số SQL .............................................................. 148

Quy ước đặt tên View ............................................................................ 149

Quy ước đặt tên Thủ tục nội tại ............................................................. 150

Quy ước đặt tên Hàm ............................................................................. 152

Quy ước đặt tên Trigger ........................................................................ 153

5. Quy tắc số tự động ................................................................................. 155

Quy ước Số tự động ............................................................................... 155

Quy ước Số định danh duy nhất ............................................................ 157

6. Quy ước đặc biệt.................................................................................... 157

Quy định của truy vấn động .................................................................. 157

Quy định xử lý và ném Ngoại lệ ............................................................ 159

Quy định xử lý đồng thời ....................................................................... 160

7. Quy định xóa dữ liệu ............................................................................. 162

Quy định về chế độ xóa mềm ................................................................ 162

Quy định về chế độ xóa cứng ................................................................ 163

8. Bảng ghi chép lịch sử thay đổi .............................................................. 164

9. Bảng ghi chép vấn đề phát sinh ............................................................. 164

10. Danh sách người duyệt tài liệu .............................................................. 165

PART 5: SAP ANYWHERE DATABASE QUY ƯỚC VÀ TIÊU CHUẨN

VIẾT MÃ SQL TRONG CƠ SỞ DỮ LIỆU SAP ANYWHERE ................. 166

1. Mục tiêu của tài liệu .............................................................................. 167

2. Giả định và hạn chế ............................................................................... 167

3. Nhóm phát triển và các bên liên quan ................................................... 168

4. Tiêu chuẩn và Quy ước ......................................................................... 168

Định nghĩa Hành động ........................................................................... 168

Định nghĩa và Từ viết tắt ....................................................................... 168

Page 14: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Quy ước chung ...................................................................................... 169

Quy ước viết Chú thích .......................................................................... 169

Quy ước thêm TAB ............................................................................... 172

5. Hướng dẫn lập trình ngôn ngữ T-SQL SAP Anywhere ........................ 174

Câu truy vấn SELECT ........................................................................... 174

Hàm SQL ............................................................................................... 176

Số TOP trong truy vấn SQL .................................................................. 176

Toán tử CASE WHEN .......................................................................... 177

Mệnh đề ORDER BY ............................................................................ 178

Biến toàn cục hay hàm IDENTITY ....................................................... 178

6. Quy ước đặt tên ..................................................................................... 180

Định nghĩa Chung .................................................................................. 180

Quy ước đặt tên Biến SQL .................................................................... 181

Quy ước đặc tên Bảng ........................................................................... 183

Các Quy ước đặt tên Tham số SQL ....................................................... 184

Quy ước đặt tên Cột ............................................................................... 187

Quy ước đặt tên View ............................................................................ 189

Quy ước đặc tên Thủ tục nội tại ............................................................ 189

Quy ước đặt tên Hàm SQL .................................................................... 191

Quy ước đặc tên Trigger ........................................................................ 191

7. Quy định xử lý và ném Ngoại lệ ........................................................... 195

8. Quy định xử lý đồng thời ...................................................................... 198

9. Quy định xóa dữ liệu ............................................................................. 200

Quy định về chế độ xóa mềm ................................................................ 200

Quy định xóa cứng ................................................................................ 201

10. Quy tắc số tự động ................................................................................. 203

Biến toàn cục hay hàm IDENTITY ....................................................... 203

Hàm NewID () ....................................................................................... 203

11. Quy định của truy vấn động .................................................................. 204

Page 15: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

12. Watcom-SQL Syntax ............................................................................ 209

13. Quy định truy vấn dữ liệu hàng loạt ...................................................... 209

Quy định truy vấn dữ liệu XML ............................................................ 209

Ví dụ về dữ liệu nhập XML ................................................................... 211

Quy định truy vấn dữ liệu JSON ........................................................... 212

Ví dụ về dữ liệu nhập JSON .................................................................. 214

14. Bảng ghi chép lịch sử thay đổi .............................................................. 216

15. Bảng ghi chép vấn đề phát sinh ............................................................. 216

16. Danh sách người duyệt tài liệu .............................................................. 216

PHẦN 6 THỰC HÀNH LẬP TRÌNH TỐT NHẤT VỚI MÃ SQL VÀ SQL-

BASED ......................................................................................................... 217

1. Giới thiệu ............................................................................................... 218

2. Quy ước viết mã SQL ............................................................................ 218

3. Không thuộc phạm vi ............................................................................ 218

4. Định nghĩa Hành động .......................................................................... 218

5. Câu truy vấn SQL của Cơ sở dữ liệu ..................................................... 219

6. DO PREFER .......................................................................................... 219

7. AVOID .................................................................................................. 233

References of Material .................................................................................. 240

Page 16: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Giới thiệu

Chào bạn đến với sổ tay “Relational Database - Design Rules and SQL

Coding Conventions”!

Sách là tập gồm nhiều hướng dẫn về nguyên tắc thiết kế và tiêu chuẩn viết mã

SQL, tiếp tục cải tiến các quy ước mới và các kỹ thuật hiện đại trong những loại

cơ sở dữ liệu quan hệ khác.

PHẦN 1: Phần giới thiệu đầy đủ về các quy tắc và quy định thiết kế phổ biến

cho các loại cơ sở dữ liệu quan hệ, bao gồm

Quy tắc thiết kế hỗ trợ thiết kế cấu trúc Cơ sở dữ liệu ứng dụng.

Quy tắc thiết kế cho các đối tượng cơ sở dữ liệu, chẳng hạn như bảng,

cột, các ràng buộc.

Các loại dữ liệu lưu trữ trong bảng và các quy định về thời gian quốc tế

phối hợp.

Quy tắc thiết kế của cơ sở dữ liệu doanh nghiệp và Quy định quản lý dữ

liệu nghiệp vụ giao dịch.

Quy định liên kết giữa các Cơ sở dữ liệu, chẳng hạn như cơ sở dữ liệu

Dùng chung (COMMON), cơ sở dữ liệu hệ thống ( MASTER) và Cơ sở

dữ liệu nghiệp vụ giao dịch (Dữ liệu Nghiệp vụ (Transaction Data)).

PHẦN 2-5 là các tiêu chuẩn và quy ước mã hóa cùng với các ví dụ cụ thể để

hướng dẫn cách áp dụng

Tiêu chuẩn viết mã T-SQL trong cơ sở dữ liệu SQL Server.

Tiêu chuẩn viết mã PL/SQL trong cơ sở dữ liệu Oracle.

Tiêu chuẩn viết mã MySQL trong cơ sở dữ liệu MySQL.

Tiêu chuẩn viết mã T-SQL trong cơ sở dữ liệu SAP Anywhere.

Which includes

Nguyên tắc và các quy ước đặt tên trong lập trình ngôn ngữ SQL.

Quy định về ném ngoại lệ và xử lý đồng thời.

Page 17: Ổ TAY CHUYÊN NGHIỆPedxbooks.com/pdfs/RelationalDatabase-DesignRules-CodingConventi… · Hướng dẫn sử dụng các Quy tắc thiết kế và Quy ước viết mã SQL

Database Design Rules and SQL Coding Conventions Professional Handbook

Prof. Software Engineering, Database Expert, Data Scientist, AI/ML Engineer

Quy tắc xóa dữ liệu và truy vấn động.

Quy định về chế độ xóa mềm và xóa cứng.

Quy tắc truy vấn dữ liệu dạng XML và JSON.

PHẦN 6, bạn được đề nghị nên chọn một hành động "DO USE", "PREFER

USE", "CAN USE" hay "DO NOT USE", "ALLOW USE" hay "AVOID USE"

tương ứng với cú pháp của lệnh SQL tùy thuộc vào ngữ cảnh cụ thể mà nó thể

hiện tốt nhất về logic trong bài toán kinh doanh.

Nếu bạn đang làm việc trong lĩnh vực Phát triển phần mềm hoặc Kỹ thuật phần

mềm, và muốn tạo ra hệ thống cơ sở dữ liệu có thể tận dụng tối đa lợi thế của

thiết kế kiến trúc cơ sở dữ liệu, các tiêu chuẩn và quy ước viết mã SQL, bạn cần

tìm hiểu sổ tay hướng dẫn này. Bởi vì ấn bản mới này được cập nhật đầy đủ để

áp dụng trên nền tảng cơ sở dữ liệu quan hệ phổ biến nhất hiện nay cũng như

các cơ sở dữ liệu nhúng.

Với sổ tay chuyên nghiệp này, điểm nổi bật của hướng dẫn là hỗ trợ cho

T-SQL và cơ sở dữ liệu Microsoft SQL Server.

PL/SQL và cơ sở dữ liệu Oracle.

MySQL và cơ sở dữ liệu MySQL.

Đặc biệt là T-SQL và cơ sở dữ liệu SAP Anywhere.

Bạn sẽ có thể thiết lập các nền tảng cơ sở dữ liệu trên máy tính hệ điều hành

Windows, sau đó tận hưởng tất cả các lợi ích mà ví dụ mà tôi phải cung cấp.

Nếu bạn quan tâm đến các chi tiết của từng phần khác, vui lòng xem một phần

nội dung trong các trang tiếp theo.