PDA

View Full Version : thiết kế CSDL



conanroil
12-11-2010, 21:11
e down 1 database của 1 web bán hàng trực tuyến.
ERD của nó dây:

http://i305.photobucket.com/albums/nn209/conanroil/1-2.jpg

nhưng có cái e không hiểu là sao bảng giỏ hàng lại không có mối liên hệ với bảng khách hàng và bảng sản phẩm nhỉ vì e thấy nó có những thuộc tính liên quan tới 2 bảng trên như username, mã SP, tên SP mà.hay là vì quy trình xử lý của nó.nếu vì thế thì quy trình xử lý ở đây là gì.mọi người xem rùi nói cho e quy trình của nó là gì mà giỏ hàng lại để không. không có quan hệ nào cả thế ah.
hì. còn cài nữa e down cả code của web đó nữa rùi nhưng không biết làm sao để xem thử cả.e sử dụng XAMPP để cài PHP và MySQL rùi.e cũng đã thử copy forder chứa code của web để vào htdocs rùi nhưng khi chạy vẫn không thấy được.có bác nào biết cái này thì hưỡng dẫn e với.thanks.

[=========> Bổ sung bài viết <=========]

hix.bác nào biết thì vào giúp e với.nhiều người đọc thế mà không lẽ không co bác nào biết sao.

nh9cvjetkt
05-04-2012, 10:52
bạn có code đó không đưa mình xem thử mới hướng dẫn được chứ. chắc bạn chưa có file index

Red Devilic
06-04-2012, 08:54
Một vài trường hợp, người ta không tạo ràng buộc cụ thể giữa các bảng mà "ngầm hiểu" là những bảng đó có quan hệ với nhau.

Với những CSDL lớn mà mình từng làm việc qua đều như vậy. Và họ trả lời làm như vậy để tăng tốc độ xử lý, lúc insert, update hay delete sẽ không phải kiểm tra ràng buộc nữa.

Tuy vậy, sẽ dẫn đến hậu quả là nếu không kiểm soát tốt, sẽ có rất nhiều dữ liệu bị lỗi.

megaownage
06-04-2012, 11:33
Thực ra không có "ràng buộc cứng" mới dễ kiểm soát. LTV và người sử dụng tự biết, không cần phải dựa vào những ràng buộc kiểm soát trigger này nọ của người thiết kế. Đặt trách nhiệm dữ liệu vào tay phần mềm ứng dụng hợp lý hơn là 1/2 trên phần mềm và 1/2 trên cài đặt CSDL. Nhất là khi về sau này có sự thay đổi thiết kế, rất nhiều rắc rối.

Lúc mới đầu thấy các thiết kế của SVHS hầu như lúc nào cũng loanh quanh với khóa nội, khóa ngoại, điều kiện, trigger, vv... tôi rất lấy làm ngạc nhiên. Những cái này là dụng cụ hổ trợ chứ không phải là căn bản của CSDLLH. Lúc nào cũng đào sâu vào đó rồi quên mất cái quan trọng của CSDL là cách ghi lại ý nghĩa dữ liệu và cách hổ trợ trình bày dữ liệu.

Tôi nghĩ là các GV không có kinh nghiệm nhiều về CSDL thực tế nên bắt buộc phải dạy lý thuyết và các công cụ hổ trợ cài đặt dồn vào cả đống để bù đắp.

Tất cả các CSDL lớn mà tôi đã thấy qua đều không có ràng buộc cứng, mọi ràng buộc đều là hiểu ngầm. Chỉ có một vài cái rất nhỏ và đã xác định là khả năng thay đổi thiết kế rất thấp mới thấy ràng buộc khóa.

tb. cái ERD chỉ diễn tả liên hệ dữ liệu. Còn phải xem cái Data Dictionary mới hiểu được.