nhỡ tay xoá DB em muốn khôi phục
Bạn em nó xoá mất mấy record dữ liệu quan trọng trong bảng, em muốn backup lại có cách nào k ạ
Thiết kế Database cho bài toán thi online
Chào anh ! Em đanh phát triển dự án trang tuyển dụng dành riêng cho lĩnh vực công nghệ thông tin . Em đang gặp khó khăn khi thiết kế phần làm bài test cho ứng viên với yêu cầu như sau :<img src="https://stackask.com/wp-content/uploads/2022/10/test.png" alt="" class="alignnone size-full wp-image-7750" />
<p>
Em đang gặp phải vấn đề khi thiết kết để tạo bài test trong đó có nhiều loại câu hỏi khác nhau ! Anh có thể cho em giải pháp hay hướng giải quyết vấn đề này ko ạ !
</p>
<p>
Em cảm ơn!
</p>
deadlock thực tế
Hôm trước em có bài toán Transaction bị deadlock nhưng lần này em chia sẻ cụ thể hơn
<p>
</p>
<p>
Ở cùng 1 thời điểm, có 2 transaction A và B xảy ra đồng thời
</p>
<p>
</p>
<p>
A sẽ update record có id = 1 ở bảng user sau đó update record có id = 2 ở bảng address
</p>
<p>
</p>
<p>
B sẽ update record có id = 2 ở bảng address và update record có id = 1 ở bảng user
</p>
<p>
</p>
<p>
Vậy là deadlock, để tránh thì đơn giản em sẽ quy ước trong Transaction gọi bảng nào trước bảng nào để tránh deadlock, nhưng như vậy quá khó vì 1 hệ thống có trăm bảng, không thế nhớ hết như vậy được. Nếu là anh, anh sẽ làm gì
</p>
tránh deadlock với Transaction trong Database
Anh ơi, khi 1 ứng dụng có 2 thread Update 2 bảng A đến B và B đến A với cùng 1 record sẽ xảy ra deadlock, điều này không tránh khỏi. 2 thread sẽ chờ nhau nhả khoá dẫn đến cả 2 transaction không bao giờ được commit. Vậy khi gặp trường hợp này anh làm cách nào ngoài việc restart Database. Để tránh deadlock, đa số mọi người sẽ khuyên các thao tác update Database trong 1 transaction luôn cùng thứ tự, ví dụ như A đến B như trong ví dụ trên. Như vậy với 1 hệ thống hàng chục, hàng trăm bảng khi ta làm việc với Transaction, muốn tránh deadlock thì dev phải quy ước phải update bảng nào trước bảng nào, như vậy liệu có ổn không ạ. Người developer sẽ phải ghi nhớ, kiểm tra nên update bảng nào trước, bảng nào. Anh có phương án nào cho việc này không ạ
cách anh lựa chọn 1 CSDL tốt khi quyết định
Anh ơi, thường anh chọn 1 Database cho dự án mới anh chọn theo tiêu chí nào ạ. Ở mức dev của em, em thấy MySQL, POSTGRE hay Oracle chả khác gì nhau, chỉ có query rồi view, hoặc insert update .... Nhưng vì sao họ có quyết định sử dụng 1 csdl dựa trên những tiêu chí nào ạ
[BadQuestion]cách làm database
làm sao để tạo database
Comment, Reply, Notification Database Design
Tình cờ là em cũng đang tự làm một pet project (một blog cho phép mọi người đăng bài) trước khi biết đến stackask, và em cũng đang làm tính năng comment, reply, notification. Thì hình dứoi đây là ảnh em thiết kế database hiện tại.
<p>
</p>
<p>
Em làm 2 table là comment/reply là để lúc em load thì chỉ load comment và số reply, và chỉ load reply khi người dùng chọn "show more reply" thì mới load các reply của comment đấy. Nhưng chia 2 bảng như này thì em lại phải làm 2 bảng vote cho comment và reply. Ngoài ra em cũng làm bảng notification như vậy, khi mà có ngừoi reply, comment, up/down vote comment/reply thì insert vào bảng notification. Mọi người cho em góp ý table như vậy được chưa ạ?
</p>
<p>
</p>
<p>
Và em thắc mắc xíu là trang stackask của mình hình như phần notification nó realtime ạ, em thấy ko cần load trang mà nó vẫn show noti mới cho mình. Không biết bên dưới nó dùng gì ạ?
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
Em cảm ơn mọi ngừoi đã đọc post ạ.
</p>
<p>
</p>
<img class="alignnone size-full wp-image-652" src="https://stackask.com/wp-content/uploads/2021/08/image_2021-08-07_103623.png" alt="" />
Có mấy cách phân trang dữ liệu?
Có mấy cách phân trang dữ liệu và khi nào nên sử dụng mọi người nhỉ?