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.

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
KT đã bình luận 07:52 05-11-2017

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

KT đã bình luận 14:22 14-08-2017

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 .

Copy Writing Kteam đã bình luận 14:52 06-08-2017

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 

database_kteam

Copy Writing Kteam đã bình luận 14:49 06-08-2017

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!

Câu hỏi mới nhất