Database
Như phần trước mình có nói Database là tập hợp dữ liệu có hệ thống. Nó hỗ trợ lưu trữ và cho phép thao tác, làm cho việc quản lý dữ liệu dễ dàng hơn.

Table
Một database lưu trữ những đối tượng (object) gọi là tables ( bảng). Một bảng là 1 tập hợp dữ liệu thực thể liên quan và nó được biễu diễn dưới dạng columns và rows ( hàng và cột)
Ví dụ ta có bảng customers bên dưới:
Ví dụ ta có bảng customers bên dưới:
Fields
Trong mỗi bảng chia thành các thực thể nhỏ hơn gọi là fields, tương ứng với columns trong table. Ví dụ fields tỏng bảng customers bên trên là CustomerID, CustomerName, ContactName, Address, City, PostalCode and Country.
Rows
Mỗi bản ghi(record) là mỗi dòng, là mỗi thực thể riêng lẽ trong 1 table.
Naming convention
Có rất nhiều cách đặt tên, có thể ở công ty này đặt theo quy ước này, có thể công ty khác đăt tên theo quy ước khác, tùy theo người design ban đầu. Mục đích của việc đặt tên là đưa về một chuẩn chung, tránh sự lộn xộn, dễ dàng nhận biết mục đích nó là gì. Một số người có thể lấy db mẫu của microsoft: AdventureWorks, đặc điểm của sample này như sau:
Sử dụng tên số ít cho tables và fields
Tên Schema cho tiền tố của bảng tables (Ví dụ: auth.User, master.Category)
Quy tắc Pascal
Sử dụng tên số ít cho tables và fields
Tên Schema cho tiền tố của bảng tables (Ví dụ: auth.User, master.Category)
Quy tắc Pascal
Ví dụ cách đặt tên
Mình thì vẫn lựa chọn đặt tên theo quy tắc pascal, tên table, tên database, tên fields có nghĩa. Với index, khóa ngoại, trigger, function.. thì mình dùng dấu gạch ngang giữa các từ có nghĩa, và luôn luôn có tiền tố đầu
Ví dụ 1 function trong sql server mình thường đặt tên như sau:
fn_news_getCreatedDate
Nhìn vào có thể hiểu nó là 1 function của tin tức và nó làm nhiệm vụ lấy ngày tạo ra tin tức.
fn là viết tắt của function
news: là module tin tức
getCreatedDate: là tên của function
Ví dụ 1 function trong sql server mình thường đặt tên như sau:
fn_news_getCreatedDate
Nhìn vào có thể hiểu nó là 1 function của tin tức và nó làm nhiệm vụ lấy ngày tạo ra tin tức.
fn là viết tắt của function
news: là module tin tức
getCreatedDate: là tên của function
Database name:
Food.News, Food.Data, Food.MasterData
FoodNews, FoodData, FoodMasterData
foodNews, foodData
Trong một hệ thống có thể có nhiều database, thường người ta chia theo domain, ít có ràng buộc tới nhau. để tránh sự phức tạp khi lấy dữ liệu giữa các database.
Ở ví dụ trên có thể thấy, đây là dữ liệu về một hệ thống liên quan tới Food.
FoodNews -> Chứa những tin tức về food
FoodData -> dữ liệu chính, liên quan tơi food
FoodMasterData -> Là chứa những master data, ít bị thay đổi.
Food.News, Food.Data, Food.MasterData
FoodNews, FoodData, FoodMasterData
foodNews, foodData
Ở ví dụ trên có thể thấy, đây là dữ liệu về một hệ thống liên quan tới Food.
FoodNews -> Chứa những tin tức về food
FoodData -> dữ liệu chính, liên quan tơi food
FoodMasterData -> Là chứa những master data, ít bị thay đổi.
Table name
Auth.Users, Food.Categories
Đối với bảng thì mình vấn thích để schema rồi tới table name số nhiều, như vậy mình sẽ thấy nó rõ ràng hơn và phần biệt được giữa các module.
Một số cách đặt tên khác như:
sys_master_holiday
SysMasterHoliday
Thay vì đặt schema thì sẽ đặt prefix bên trước.
Auth.Users, Food.Categories
Một số cách đặt tên khác như:
sys_master_holiday
SysMasterHoliday
Field name
Đối với fields thì mình thường đặt tên như sau:
AccountName
chữ cái đầu mỗi tiếng thì viết hoa.
Cách đặt tên khác:
acountName
acount_name
AccountName
Cách đặt tên khác:
acountName
acount_name
Để lại bình luận cho trang này