Tại sao nên sử dụng kiểu ENUM khi thiết kế Database?

Tại sao nên sử dụng kiểu ENUM khi thiết kế Database?

Trước đây khi thiết kế database tôi thường sử dụng kiểu INT để cho các trường dữ liệu. Ví dụ kiểu boolean là 0 = No, 1 = Yes. Sau đó khi code định nghĩa các constant tương ứng:

const YES = 1;
const NO = 0;

Hoặc

const STATUS_ACTIVE = 1;
const STATUS_PENDING =2;
const STATUS_APPROVED = 3;

Tuy nhiên kiểu thiết kế này rất bất lợi cho việc bảo trì hệ thống. Bởi vì khi đọc trực tiếp trên database, các giá trị 0,1,2,3... không có ý nghĩa. Buộc phải đọc code để hiểu các giá trị trên là gì. Điều này đã ngốn không ít thời gian của tôi.

Khi đã có kinh nghiệm hơn, tôi chuyển sang sử dụng kiểu ENUM lúc này Yes sẽ là 'Yes', No sẽ là 'No'. Nhờ vậy, tôi chỉ cần đọc dữ liệu là hiểu được ý nghĩa của nó. Giảm đi một thao tác vô ích.

Tags: 
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Cách viết the Best-Selling Drupal Book

Cách viết the Best-Selling Drupal Book

We've been fortunate over the last couple of years to have great success with our CMS books.

5 lý do để tăng doanh số bán hàng cho E-Commerce Site Drupal 7

5 lý do để tăng doanh số bán hàng cho E-Commerce Site Drupal 7

If you’re a small business owner who is trying to build an online e-commerce website for your company, you’re probably doing much of the legwork yourself.

Security, and Drupal như thế nào?

Security, and Drupal như thế nào?

Did you know I provide various infosec services, including security audits of code and infrastructure, penetration testing, etc, for Drupal websites?

Công ty diệt chuột T&C

 

Diet con trung