Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
CSDL có liên kết khóa chính khóa ngoại các bảng liên quan đến nhau
14:48 06-08-2017
817 lượt xem
10 bình luận
07:54 05-11-2017
Trước em làm bên cty cũ có dùng CSDL có liên kết khóa chính khóa ngoại các bảng liên quan đến nhau ( 1-1, 1-n, ,,,),
và code api có dùng entity frameword db first lấy model rất nhanh. Nhưng giờ chuyển sang cty mới đang nâng cấp 1 hệ thống đã chạy, db nguoi ta ko xây dựng khóa ngoại mà chỉ có note ghi chú bảng nào lưu ID của bảng nào ( 1-n), thì mình có dùng entity frameword dc ko, hay là h lại map khóa ngoại lại cho tất cả db rui mới dùng entity frameword để tạo model.
XL dạo này mình không có onl nhiều nên chưa tl bạn .Theo mình thì mỗi bảng của bạn thêm 1 trường là STT hay ID làm khóa chính( khóa này để int tự tăng nha .. cái này bạn tự tìm hiểu) ... mỗi bảng đều có khóa chính kiểu vậy .Còn về việc liên kết thì dựa vào mối quan hệ và cái bạn cho có thể liên kết đc ví dụ như MAKT - MAKT chẳng hạn .Còn cái khóa chính mà bạn đặt (STT hay ID ) thì đừng quan tâm nó làm gì nó như cái cột trong excel vậy ,cũng chả cần đụng đến nó. Việc này đảm bảo cho bạn không bị rối + thêm lúc nhập bạn dễ dàng hơn và nhìn ra mối quan hệ các bạn tốt nhất.
Vì nó tối ưu trong lúc tạo bảng + lúc truy vấn cả thêm lúc bạn làm việc với database .
Cách đó là mình được tiền bối chỉ giáo ấy ... mong cách đó có thể giúp bạn
Mình thấy việc đặt khóa chính khóa phụ khá rừm ra ... mình toàn đặt mỗi bản có khóa chính là STT tăng dần .. rồi kết nối lại .
Nguyễn Đoàn Ngọc Giàu thực tế muốn truy vấn nhanh thì hạn chế hoặc nên bỏ luôn liên kết giữa các bảng, ví dụ db mình đang làm
Hoàng Công Hòa Sau này đi làm, nhiều cty họ ít kéo khóa lắm b! Mục đích là tăng tốc độ, hạn chế ràng buộc, thay vào đó là kiểm soát dữ liệu vào ra. Mình cũng đang làm như vậy!