Ví dụ trên đây đơn giản là avata của người dùng.Câu lệnh lấy ảnh chỉ đơn giản như sau :
SELECT * FROM avata WHERE user_id = ?Ưu điểm : dễ sử dụng, thao tác nhanh chóng,...Nhược điểm : Bạn chỉ có thể sử dụng 1 ảnh với 1 user.
Bạn đang xem: Cách đưa hình ảnh vào sql server
Bạn đang xem: Cách đưa hình ảnh vào sql serverMột ảnh chỉ dùng cho nhiều bảng
Có rất nhiều cách để thiết kế và sử dụng cho vấn đề này, ở đây mình đưa ra các cách thiết kế mà mình cho là lựa chọn tốt nhất đối với mọi người.1. Cách truyền thốngThiết dữ liệu theo dạng sau.
Xem thêm: Hướng Dẫn Cách Nạp Tiền Điện Thoại Qua Thẻ Atm Bidv Bạn Không Nên Bỏ Qua!

Sql query:

Ưu điểm : Cũng rất dễ dàng xử lý và thao tác.Nhược điểm : Nhìn cũng đoán ra được Cách lưu ảnh kiểu này nếu chỉ có 1 2 bảng thì không sao, nhưng nếu có nhiều hoặc rất nhiều bảng dùng đến bảng image thì nó thật sự khủng khiếp khi ta liên tiếp phải thêm các trường (table)id.Từ đây chung ta sáng tạo ra một kiểu sau.2. Cách cải tiến từ truyền thống
Thiết dữ liệu theo dạng sau.

Sql query:
-- Thử join bảng image và users vào xem kết quả thu được ra sao nhé :DSELECT * FROM images JOIN users ON users.id = relation_id-- Còn đây là cách chúng ta thao tác để lấy ảnh của người dùng sử dùng type =))SELECT images.* FROM imagesjoin users on users.id = relation_idWHERE relation_id = 2 and type = "user"Kết quả


Ưu điểm: Việc sử dụng cách thiết kế này giúp những nhà phát triển có thể dễ dàng mở rộng hệ thống, ngoài ra việc tạo các type giúp cho bạn linh động trong cách thực hiện hành vi của hệ thống.Nhược điểm: Như bạn thấy đó ở cách 1 bạn có thể sử dụng hình ảnh từ users hoặc products. Nhưng đến cách 2 đây lại là nhược điểm năng nề nhất, việc sử dụng kiểu type này đã đã góp phần bắt buộc bạn nếu muốn 1 hình ảnh sử dụng trong nhiều bảng thì cũng đồng nghĩa bạn sẽ phải tạo ra thật nhiều row tương ứng.Từ đây những nhà phát triển tài năng lại sáng tạo ra một cách nữa các bạn có thể tham khảo nhé
Với việc thêm 1 bảng trung gian using_images dễ dàng thấy đây là sự mở rộng của Cách 1 nhưng thay vì phải chỉnh sửa bảng (alter) images thì ta chỉ cần thêm cột vào bảng trung gian.Cải tiến mở rộng
Khi bạn sử dụng cách này việc sử dụng using_type có thể giúp bạn tạo nhiều type khác nhau từ những bảng ban đầu. VD:
1 | user |
2 | product |
3 | user, product |
Cảm ơn các bạn đã đọc bài viết của mình
. Mọi ý kiến đóng góp xin vui lòng bình luận bên dưới, mình sẽ tiếp thu và chỉnh sửa nếu có gì sai sót. thank you!