Skip to main content

[Database] - Lưu trữ nội dung About Us, Contact Info, hay những dữ liệu tĩnh ở đâu?

  Tôi thường gặp các câu hỏi tương tự của đồng nghiệp về vấn đề này. Theo các bạn nếu các bạn là người phân tích CSDL thì việc đầu tiên các bạn nghĩ tới muốn lưu trữ nội dung của AboutUs là gì?

Các câu trả lời hệ thống nhất và đơn giải nhất là lưu nó vào một file hoặc là 1 Article/ Post nếu bạn dùng các CMS cơ bản như Wordpress/ Joomla. Còn nếu làm việc trên các nền tảng cơ bản và cổ điển   hay ngay cả Node.js 

Vậy có bạn nào nghĩ rằng nên tạo riêng một table trong Database để lưu trữ nội dung này? Chắc chắn là không nên vì như vậy là một cách quản lý dữ liệu không hiệu quả và tối ưu. 

Một lý do chắc chắn là  các thông tin này là những thông tin tĩnh, ít có sự cập nhật sửa đổi nên chúng ta cần tìm một giải pháp hoàn hảo nhất để quản lý. Và đúng như vậy, các tốt nhất và đơn giản nhất là hãy lưu các thông tin này dưới dạng một records của Post/News/Article table nơi mà bạn lưu trữ toàn bộ bài viết trên website. 

Nếu bạn muốn tìm hiểu sâu về phân tích CSDL, theo mình bạn nên dành một chút time tìm hiểu xem cơ chế hoạt động lưu trữ content của Wordpress, một CMS đang rất nổi tiếng hiện nay về khả năng linh hoạt, nhẹ nhàng của nó. 

Comments

Popular posts from this blog

[java] So Sánh DFS và BFS trong thuật toán tìm kiếm

Khái niệm DFS (Tìm kiếm Độ sâu thứ nhất) và BFS (Tìm kiếm Breadth Đầu tiên) là các thuật toán tìm kiếm được sử dụng cho đồ thị và cây. Khi bạn có cây hoặc đồ thị được sắp xếp, giống như BST, bạn có thể dễ dàng tìm kiếm cấu trúc dữ liệu để tìm nút mà bạn muốn. Tuy nhiên, khi đưa ra một cây hoặc đồ thị không có thứ bậc, thuật toán tìm kiếm BFS và DFS có thể hữu ích để tìm thấy những gì bạn đang tìm kiếm. Quyết định chọn một trong những khác cần được dựa trên loại dữ liệu mà một trong những là làm việc với. Trong một tìm kiếm đầu tiên, bạn bắt đầu từ nút gốc, và sau đó quét từng nút ở mức đầu tiên bắt đầu từ nút trái, di chuyển về phía bên phải. Sau đó, bạn tiếp tục quét mức thứ hai (bắt đầu từ bên trái) và mức thứ ba, v.v ... cho đến khi bạn đã quét tất cả các nút hoặc cho đến khi bạn tìm thấy nút thực mà bạn đang tìm kiếm. Trong một BFS, khi vượt qua một mức độ, chúng ta cần một số cách để biết được các nút nào đi qua khi chúng ta đạt đến cấp độ tiếp theo. Cách này được thực hiện ...

[Java] Comparator - Assignment

1. Introduction Xin chào các bạn! Hôm nay, mình sẽ giới thiệu cho các bạn một bài thực hành trên trang cousera.org ,  trong bài học liên quan đến lập trình java, Nguyên lý thiết kế phần mềm để chúng ta ôn luyện thêm về phương pháp Sort trên mảng các đối tượng. Sau khi các bạn làm thành thục bài Assignment này, mình tin là các bạn sẽ phân biệt tốt và sử dụng hiệu quả Comparable và Comparator. Trong toàn bộ assignments này, bạn sẽ bắt đầu với các trường đã được cung cấp, sử dụng hầu hết các class, và chỉ việc chỉnh sửa một vài thứ của chúng mà thôi. Trước tiên, dưới đây là các lớp đã được cung cấp từ các bài học trước chưa có sự chỉnh sửa: - Location class, được lấy từ bài học Android và chỉnh sửa để dùng cho khoá học này. Các dữ liệu là geographic location.  Có một hàm constructors sử dụng 2 biến : latitude và longitude và một public method distanceTo. - QuakeEntry class, dây là một lớp Model Entity, được định nghĩa và sử dụng thông suốt khoá học. Bạn có thể thấy nó ...

[English] Regular Verbs - (ed) Ending.

Today I'am going to talk about how to pronounce the past tense of regular verbs. Regular verbs take the -ed ending in the past. When the final sound of the verb in infinitive form is an unvoiced consonant sound. Case 1: Unvoiced consonant ending -ed =[t] Then the -ed is also pronounced as an unvoiced consonant, and that is the tt, T sound. ex: Pack: [k] is unvoiced so we will talk packed So other unvoiced consonants : [p], [f], [s], [tf], [l], [0] Case 2 : Voiced consonant ending [v], [b], [g], th[e], [z], zd, rr, mm, nn, ng, ll. Then the -ed is also pronounced as an unvoiced consonant, and that is the dd, D sound. Case 3: Verbs ends in [t] or [d]