Tôi có vi phạm bất kỳ quy tắc NF nào trên thiết kế cơ sở dữ liệu của mình không?


8

Tôi là người mới về tạo cơ sở dữ liệu ... Tôi cần tạo nó cho ứng dụng web tuyển dụng của mình.

Ứng dụng của tôi cần lên lịch trình kiểm tra, kiểm tra và phỏng vấn ứng viên và lưu kết quả vào cơ sở dữ liệu ..

Lược đồ cơ sở dữ liệu của tôi như sau:

nhập mô tả hình ảnh ở đây

Vấn đề của tôi là tôi đã bao gồm applicant_idcác bảng khác ... ví dụ: bài kiểm tra, phỏng vấn, loại bài kiểm tra.

Tôi có vi phạm quy tắc chuẩn hóa nào không? Nếu tôi làm, bạn khuyên gì để cải thiện thiết kế của tôi?


1
Tôi không nghĩ bất cứ ai không có kiến ​​thức cụ thể về miền doanh nghiệp / doanh nghiệp chỉ có thể nhìn vào mô hình dữ liệu của bạn và cho bạn lời khuyên thực tế về các khóa, ràng buộc, loại dữ liệu, v.v. một cách giải thích chặt chẽ của 1NF.
ngày

Câu trả lời:


10

Có vài điều cần xem xét ngoài việc bình thường hóa. Chẳng hạn, bạn có một cột cho AGE. Bạn sẽ cập nhật điều đó mỗi năm? Làm thế nào bạn sẽ biết khi nào để làm điều đó? Điều tương tự cũng diễn ra trong nhiều năm kinh nghiệm.

Có một số cột có thể sẽ có nhiều giá trị cho mỗi ứng viên: Trường học, Khóa học, v.v.

Bạn cũng có thể muốn kiểm tra tính tùy chọn của mình trên các mối quan hệ đó. Ngay bây giờ một ứng viên phải có một kỳ thi liên quan, nhưng một kỳ thi không nhất thiết phải có một ứng viên liên quan đến nó. Tôi đoán điều đó ngược với cách mọi thứ hoạt động trong cuộc sống thực. Bạn có vấn đề tương tự với tất cả các mối quan hệ khác.

Nó giúp nếu bạn đọc các mối quan hệ sau khi bạn tạo chúng.


1
Có vài điều cần xem xét ngoài bảng và cột :) Quốc gia của tôi có luật bảo vệ dữ liệu (giới hạn thời gian lưu giữ dữ liệu, người có quyền truy cập vào dữ liệu của họ, v.v.) và luật phân biệt tuổi tác khiến cho chủ nhân ít nhất phải suy nghĩ hai lần trước khi ghi tuổi của ai đó ở giai đoạn phỏng vấn.
ngày

5

Tôi đoán rằng bạn thực sự cần nhiều mối quan hệ giữa nhiều người nộp đơn và các bảng chính khác (chủ yếu là sàng lọc và kiểm tra). Rằng nếu bạn có một sàng lọc chứa nhiều hơn một người nộp đơn (và tình huống tương tự cho các bảng khác).

Tôi muốn xem một cuộc phỏng vấn với một ứng cử viên, nhưng một kỳ thi hoặc buổi kiểm tra với nhiều hơn một ứng cử viên. Trong trường hợp này, bạn sẽ cần một bảng quan hệ sẽ liên kết Sàng lọc với Người nộp đơn.

Xem ở đây về mối quan hệ Nhiều-Nhiều.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.