Thứ Tư, 16 tháng 11, 2022

Quy tắc đặt tên object trong Oracle Database

Oracle khuyến nghị  những quy tắc tôi tuân theo:

  • Entities & Tables
  • Aliasing
  • Attributes & Columns
  • Keys & Their Columns
  • Indexes
  • Triggers
  • Other Objects
  • PL/SQL Variables
  • File Extensions

Entities & Tables

Tất cả các tên thực thể phải là số ít và có thể có khoảng trắng. Chúng được thay thế bằng '_' bởi Oracle Designer trong quá trình tạo bảng.

APPLICATION
APPLICATION FUNCTION
APPLICATION FUNCTION ROLE

Tất cả các tên bảng phải là số nhiều. Nếu tên bảng chứa nhiều từ, thì chỉ từ cuối cùng phải ở dạng số nhiều.

APPLICATIONS
APPLICATION_FUNCTIONS
APPLICATION_FUNCTION_ROLES

Aliasing

Tất cả các thực thể và bảng phải được xác định một bí danh duy nhất được sử dụng như một phần của định nghĩa khóa ngoại. Bí danh phải là tên viết tắt của tên.

APPLICATIONS = APPL (4)
APPLICATION_FUNCTIONS = APFU (2:2)
APPLICATION_FUNCTION_ROLES = APFR (2:1:1)
APPLICATION_FUNCTION_ROLE_BANANAS = AFRB (1:1:1:1)
APPLICATION_FUNCTION_ROLE_BANANA_APPLES = (Do what you like!)

Các số trong ngoặc cho biết số lượng chữ cái được sử dụng từ mỗi từ trong tên.

Oracle có giới hạn 30 ký tự đối với tên đối tượng, vì vậy bí danh bảng rất hữu ích để giảm độ dài của tên đối tượng.

Thuộc tính & Cột

Các thuộc tính và cột không nên có tiền tố là bí danh (alias) bảng. Đối với hầu hết các phần, điều này là không cần thiết và thường rất lộn xộn.

Keys & Cột của chúng

Khóa chính được đặt tên theo bảng hoặc bí danh của nó với hậu tố '_PK'.

Table      : APPLICATIONS
Primary Key: APPLICATIONS_PK
             or
             APPL_PK

Khóa duy nhất được đặt tên theo bảng hoặc bí danh của nó với hậu tố '_UK'. Nếu có nhiều hơn một khóa duy nhất, bạn có thể cần thêm thông tin khác để làm cho tên khóa trở nên duy nhất.

Table      : APPLICATIONS
Unique Key : APPLICATIONS_UK
             hoặc
             APPL_UK

Khóa ngoại thường được đặt tên bằng cách sử dụng hai bí danh bảng, từ và đến, với hậu tố '_FK':

Mối quan hệ: APPLICATION_FUNCTIONS -> APPLICATIONS
Khóa ngoại: APFU_APPL_FK

Cột khóa ngoại trên bảng phụ thuộc có thể được đặt tên bằng cách sử dụng dạng số ít của tên bảng đầy đủ hoặc bí danh, cùng với tên cột.

APPLICATION_FUNCTIONS.APPLICATION_ID -> APPLICATIONS.ID
hoặc
APPLICATION_FUNCTIONS.APPL_ID -> APPLICATIONS.ID

Tôi thích dạng số ít của tên bảng đầy đủ, nhưng giới hạn 30 ký tự đôi khi buộc phải sử dụng bí danh.

Chỉ mục (Index)

Các chỉ mục được tạo hoàn toàn để hỗ trợ PK và UK Các chỉ mục này có cùng tên với ràng buộc.

Theo nguyên tắc thông thường, tất cả các cột khóa ngoại phải được lập chỉ mục. Các chỉ mục hỗ trợ khóa ngoại nên được đặt tên bằng cách sử dụng tên khóa ngoại với hậu tố '_I'.

Khóa ngoại: APFU_APPL_FK
Chỉ mục hỗ trợ: APFU_APPL_FK_I

Các chỉ mục khác nên được tạo với các tên có ý nghĩa, thường kết hợp bí danh bảng và (các) tên cột nếu có thể, cùng với hậu tố '_I'.

Trigger

Tên trigger phải được tạo thành từ tên bảng, từ viết tắt đại diện cho hành động kích hoạt và hậu tố "_TRG".

Table : APPLICATIONS

Action: BEFORE INSERT STATEMENT-LEVEL
Name  : APPLICATION_BIS_TRG

Action: AFTER INSERT AND UPDATE ROW-LEVEL
Name  : APPLICATION_AIUR_TRG

Đối tượng khác

Các đối tượng cơ sở dữ liệu khác có hậu tố xác định loại đối tượng của chúng.

Check Constraints : <name>_CHK
Sequences         : <name>_SEQ
Views             : <name>_V
Materialized Views: <name>_MV
Types             : <name>_T
Directories       : <name>_DIR
External Tables   : <name>_EXT
PL/SQL Packages   : <name>_API
PL/SQL Procedures : <name>_PRC
PL/SQL Functions  : <name>_FUN

Biến PL/SQL

Các biến PL/SQL được đặt trước bằng một chữ cái, nếu có thể, để chỉ ra loại hoặc cách sử dụng của chúng.

Check Constraints : <name>_CHK
Sequences         : <name>_SEQ
Views             : <name>_V hoặc V_<name>
Materialized Views: <name>_MV hoặc MV_<name>
Types             : <name>_T
Directories       : <name>_DIR
External Tables   : <name>_EXT
PL/SQL Packages   : <name>_PKG
PL/SQL Procedures : <name>_PRC
PL/SQL Functions  : <name>_FUN

Đôi khi tôi quay lại sử dụng tiền tố "p_" chung cho các tham số, bất kể cách sử dụng IN/OUT của chúng. Thói quen cũ khó chết.

Phần mở rộng tệp

Phần mở rộng tập tin bao gồm:

.pks – Package specification.
.pkb – Package body.
.sql – Everything else.

Tham khảo thêm:

Naming Standards

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master