Một database hay nhiều database

Mình đang làm trang web quản lý kho, khoảng bảy table (khách hàng nhỏ lẻ), bây giờ mình có dự định tăng thêm lượng người dùng (khách hàng, khoảng 10 người thôi) cho cái app kia. Vậy nên tổ chức database như thế nào? có nên dồn CSDL của 10 khách hàng kia vào một database hay là mỗi người một cái database?

Sao lại phải mỗi khách hàng một bảng nhỉ, mình chưa thấy ai làm thế bao giờ, sao không lưu chung 1 bảng

đúng không phải vào một bảng mà vào một database bạn ạ,:grinning:

Đây không phải khách hàng mà ý mình là một chủ kho hàng í. ông chủ kho này có rất nhiều khách hàng.
Một ông chủ này lai có 7 table dữ liệu ( khach_hang, san_pham, nhap_xuat…)

Okay mình hiểu rồi, thế thì vấn đề là cấu trúc kho hàng của mỗi ông chủ có giống nhau không, nếu không thì chắc phải dùng db riêng thật, thế thì đến lúc query phải if else các thứ vất vả lắm

dĩ nhiên tên hàng thì không giống nhau nhưng chúng cùng cấu trúc
san_pham=(id,ten,don_gia,cong_ty_id…)

mình muốn bảo toàn cái tên các table, chỉ đổi tên database, ví dụ như : user1_qlkho, user2_qlkho

các câu lệnh query vẫn để nguyên.

Cấu trúc giống nhau thì nên cho vào chung 1 db, mình nghĩ vậy

đó là ý kiến dùng 1 database, lúc đó các bảng lại phải thêm 1 field user_id

vd :

san_pham=(id,ten,don_gia,cong_ty_id…, user_id)

Đúng rồi bảng sẽ thêm field nhưng có sao đâu nhỉ. Mình nghĩ db của bạn cũng không đến mức quá to mà phải chia nhỏ ra :slight_smile: sản phẩm mình làm ở cty cũng là thương mại điện tử, và lưu chung hết vào 1 db mà :slight_smile:

2 Likes

Vậy là phải có một bảng

chu_cua_hang=(id,ten…)

và tất cả các bảng

san_pham=(id,ten,don_gia,cong_ty_id…, chu_cua_hang_id)


;
cám ơn bạn nhé

1 Like

Thế nhưng kho của các ông chủ này lại chẳng liên quan gì đến nhau, điều này cũng giống như chúng ta cung cấp 1 cái site app cho mỗi ông chủ kho, vậy thì việc gì phải thêm vào table một field nữa để làm hỏng cái app sẳn có.?

Vậy 1 app quản lý của bạn chỉ dành cho 1 khách hàng (ông chủ) nhất định?
Vậy mỗi ông chủ có quản lý sản phẩm gì đặc biệt đến mức phải mỗi ông 1 db và 1 app?

Thiết kế csdl cho mỗi khách hàng là khác nhau, khách hàng ở đây là công ty riêng biệt và ứng dụng dành cho công ty đó cũng riêng biệt. Nếu bạn gộp chung nhiều công ty lại với nhau dùng cùng csdl thì khi bạn thay đổi csdl của 1 công ty nào đó thì công ty khác sẽ bị ảnh hưởng. Chưa ai làm thế bao giờ. Còn cái việc trong csdl của mỗi công ty có bao nhiêu bảng, lưu những dữ liệu nào là việc thiết kế của bạn.

1 Like

Nó cũng như bạn phân phối một app quản lý kho, bạn đến nhà người ta và bạn cài vào máy tính cho họ để quản lý kho, vậy một app là 1 db thôi bạn. Quy trình nghiệp vụ thì giống nhau.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?