Thầy ơi! em rất thích môn học phân tích thiết kế hệ thống thông tin, nên em có một số thắc mắc, mong thầy giải đáp dùm em!
- Thứ nhất: theo mô hình của thầy thì thực thể "sách" là có nhiều cuốn sách, còn thực thể "đầu sách" là một cuốn sách trong số nhiều cuốn sách đó!
Nhưng theo em biết thì một đầu sách sẽ có nhiều cuốn sách. Ví dụ đầu sách Tin học đại cương có 100 quyển. Vậy sao mình không đổi tên thực thể "sách" thành "đầu sách", còn "đầu sách" thành "quyển sách" cho nó dễ hiểu hả thầy?
- Thứ hai: Mỗi đầu sách sẽ có một số lượng sách, một số lượng sách đã mượn, một số lượng sách gốc. Vậy sao mình không đưa ba thuộc tính này vào thực thể đầu sách luôn, mà phải tách ra thêm một thực thể nữa?
- Thứ ba: Những thuộc tính như số lượng sách, số lượng sách gốc, số lượng sách đã mượn, chúng ta có thể tính ra được chỉ bằng một câu truy vấn, vậy tai sao phải lưu vào CSDL?
Khi lưu những số lượng này vào CSDL ta phải cài đặt Trigger để ràng buộc như là:
+ Khi thêm sách phải cập nhật số lượng sách
+ Khi xóa sách phải cập nhật số lượng sách
+ Khi cho mượn sách phải cập nhật số lượng sách mượn
+ Khi trả sách phải cập nhật số lượng sách mượn
Nếu thiếu các Trigger này thì CSDL sẽ không chặt chẽ. Vậy sao ta không để khi nào cần xem số lượng thì hãy dùng một câu truy vấn select count ... là sẽ ra ngay, không lưu vào CSDL?
- Thứ tư: quan hệ giữa đầu sách và nhà xuất bản là quan hệ (n-n), vậy nếu đầu sách Tin học đại cương thuộc về nhà xuất bản A, vẫn có thể có một nhà xuất bản B xuất bản ra sách Tin học đại cương đó.
Nếu sách tin học đại cương của hai nhà xuất bản này hoàn toàn giống nhau thì không sao, nhưng nếu nó có khác nhau, ví dụ về "đơn giá" chẳng hạn thì phải làm sao, trong khi ta lưu trong CSDL là cùng một đầu sách?
Vậy sao ta không quy định, mỗi đầu sách là một tập hợp các quyển sách hoàn toàn giống nhau, kể cả nhà xuất bản. Khi đó mỗi đầu sách chỉ thuộc về một nhà xuất bản, vậy quan hệ này sẽ là quan hệ (1-n), "mỗi đầu sách thuộc về một nhà xuất bản, mỗi nhà xuất bản có thể xuất bản nhiều đầu sách"?
Trên đây là một số thắc mắc của em, mong thầy giải đáp dùm em!