Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Mối quan hệ trong CSDL Quản lý lịch dạy của Giáo Viên nên làm thế nào?

  1. #1
    Ngày gia nhập
    09 2011
    Bài viết
    7

    Mặc định Mối quan hệ trong CSDL Quản lý lịch dạy của Giáo Viên nên làm thế nào?

    Em mới học qua SQL và đang học tạo các mối quan hệ giữa tables. Đề bài như sau:

    Mỗi giáo viên có một mã số giáo viên (MAGV) duy nhất, mỗi MAGV xác định các thông tin như: họ và tên giáo viên (HOTEN), số điện thoại (DTGV). Mỗi giáo viên có thể dạy nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh của một khoa nào đó.

    Mỗi môn học có một mã số môn học (MAMH) duy nhất, mỗi môn học xác định tên môn học(TENMH). Ứng với mỗi lớp thì mỗi môn học chỉ được phân cho một giáo viên.

    Mỗi phòng học có một số phòng học (PHONG) duy nhất, mỗi phòng có một chức năng (CHUCNANG); chẳng hạn như phòng lý thuyết, phòng thực hành máy tính, phòng nghe nhìn, xưởng thực tập cơ khí,…

    Mỗi khoa có một mã khoa (MAKHOA) duy nhất, mỗi khoa xác định các thông tin như: tên khoa (TENKHOA), điện thoại khoa(DTKHOA).

    Mỗi lớp có một mã lớp (MALOP) duy nhất, mỗi lớp có một tên lớp (TENLOP), sĩ số lớp (SISO). Mỗi lớp có thể học nhiều môn của nhiều khoa nhưng chỉ thuộc sự quản lý hành chính của một khoa nào đó.

    Hàng tuần, mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ dạy những lớp nào, ngày nào (NGAYDAY), môn gì?, tại phòng nào, từ tiết nào (TUTIET) đến tiết nào (ĐENTIET),tựa đề bài dạy (BAIDAY), những ghi chú (GHICHU) về các tiết dạy này, đây là giờ dạy lý thuyết (LYTHUYET) hay thực hành - giả sử nếu LYTHUYET=1 thì đó là giờ dạy thực hành và nếu LYTHUYET=2 thì đó là giờ lý thuyết, một ngày có 16 tiết, sáng từ tiết 1 đến tiết 6, chiều từ tiết 7 đến tiết 12, tối từ tiết 13 đến 16.
    Và đây là mối quan hệ e đã tạo ra được.



    Mỗi giáo viên có thể dạy nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh của một khoa nào đó.
    Ứng với mỗi lớp thì mỗi môn học chỉ được phân cho một giáo viên.
    E có 1 số thắc mắc sau mong các a giúp e giải đáp:

    Với câu trên thì mối quan hệ là nhiều nhiều nhưng ở câu hỏi ở dưới lại là quan hệ 1 - 1. Em tạo xong thì thấy quan hệ giữa GV và môn học là nhiều nhiều (Chưa đủ yêu cầu của câu hỏi phía dưới).

    Có thể tạo 1 bảng trung gian mà chỉ gồm 2 thuộc tính của khóa chính không? Vd: tạo bảng Phong_Lop gồm 2 thuộc tính của: MA_PH và MA_LOP (quan hệ nhiều nhiều giữa LOP và PHONG).

    E còn gà trong môn này. Mong được học hỏi các anh

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    ...
    Với câu trên thì mối quan hệ là nhiều nhiều nhưng ở câu hỏi ở dưới lại là quan hệ 1 - 1. Em tạo xong thì thấy quan hệ giữa GV và môn học là nhiều nhiều (Chưa đủ yêu cầu của câu hỏi phía dưới).
    ...
    Quan hệ giữa GV và môn học:

    Đăt ra thêm một bảng nối tên là LopHocMonHoc (maLopHoc, maMonHoc, ...)

    Lúc đó có thể nhét maGV vào bảng này ---> một môn học ở một lớp chỉ có thể có 1 GV

    Đại khái nguyên tắc là vậy. Dựa vào đó mà làm mấy quan hệ khác. Mỏi mắt quá không coi hết được.

    Quên mất phải thêm phần này:
    Vì đã có bảng nối (bạn gọi là bảng trung gian) giữa Lớp Học và Môn Học nên bạn phải loại bỏ quan hệ trực tiếp giữa lớp học và môn học.

    Có thể tạo 1 bảng trung gian mà chỉ gồm 2 thuộc tính của khóa chính không? Vd: tạo bảng Phong_Lop gồm 2 thuộc tính của: MA_PH và MA_LOP (quan hệ nhiều nhiều giữa LOP và PHONG).
    Được. Chuyện đó vẫn thường xảy ra.
    Đã được chỉnh sửa lần cuối bởi VoTichSu : 30-03-2012 lúc 02:47 PM.

  3. #3
    Ngày gia nhập
    09 2011
    Bài viết
    7

    Cám ơn anh. Đây là bài e vừa edit theo cách chỉ nhưng e thấy có gì đó chưa ổn lắm giữa GV và MONHOC


  4. #4
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    CSDL LH là áp dụng của môn Đại Số Tập Hợp. Nó rất rõ ràng. Nếu ổn là làm việc được, và không ổn là không làm việc được. "có gì đó chưa ổn lắm" không có nghĩa lý gì cả.

  5. #5
    Ngày gia nhập
    09 2011
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    CSDL LH là áp dụng của môn Đại Số Tập Hợp. Nó rất rõ ràng. Nếu ổn là làm việc được, và không ổn là không làm việc được. "có gì đó chưa ổn lắm" không có nghĩa lý gì cả.
    Cám ơn a về lời nhận xét

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Quan hệ giữa GV và môn học:

    Đăt ra thêm một bảng nối tên là LopHocMonHoc (maLopHoc, maMonHoc, ...)

    Lúc đó có thể nhét maGV vào bảng này ---> một môn học ở một lớp chỉ có thể có 1 GV

    Mỗi giáo viên có thể dạy nhiều môn cho nhiều khoa nhưng chỉ thuộc sự quản lý hành chánh của một khoa nào đó.
    Vậy e có cần phải bỏ mối quan hệ của GV và MONHOC thông qua bảng MON_GV không a.

  6. #6
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Mặc định Mối quan hệ trong CSDL Quản lý lịch dạy của Giáo Viên nên làm thế nào?

    Lô gíc: GV không dạy Môn Học. GV dạy Môn Học cho Lớp Học.

    Trong một đề tài phức tạp. Bạn cần phải hiểu rõ thế nào là một đơn vị.

    Môn Học không phải là một đơn vị đặc thù. Môn Học + Lớp mới là đơn vị đặc thù.

    GV chỉ liên hệ trực tiếp với đơn vị Môn Học + Lớp. GV không có liên hệ trực tiếp với Môn Học.

    Lưu ý: về vấn đề quản giáo (hướng dẫn) thì mỗi GV có thể liên hệ trực tiếp với một lớp, nhưng về vấn đề dạy môn học, GV quan hệ với lớp qua Môn Học + Lớp

  7. #7
    Ngày gia nhập
    09 2011
    Bài viết
    7

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Lô gíc: GV không dạy Môn Học. GV dạy Môn Học cho Lớp Học.

    Trong một đề tài phức tạp. Bạn cần phải hiểu rõ thế nào là một đơn vị.

    Môn Học không phải là một đơn vị đặc thù. Môn Học + Lớp mới là đơn vị đặc thù.

    GV chỉ liên hệ trực tiếp với đơn vị Môn Học + Lớp. GV không có liên hệ trực tiếp với Môn Học.

    Lưu ý: về vấn đề quản giáo (hướng dẫn) thì mỗi GV có thể liên hệ trực tiếp với một lớp, nhưng về vấn đề dạy môn học, GV quan hệ với lớp qua Môn Học + Lớp
    1./ Thank a, e đã hiểu ra vấn đề nhưng vẫn còn thắc mắc là ở phần trả lời trước a bảo là:

    Vì đã có bảng nối (bạn gọi là bảng trung gian) giữa Lớp Học và Môn Học nên bạn phải loại bỏ quan hệ trực tiếp giữa lớp học và môn học.
    Nhưng giữa bảng Lop và Mon học e không nối qua bảng trung gian (bảng trung gian chỉ nối giữa bảng PHONG và LOP vì 2 bảng này quan hệ nhiều nhiều).

    2./
    Hàng tuần, mỗi giáo viên phải lập lịch báo giảng cho biết giáo viên đó sẽ dạy những lớp nào, ngày nào (NGAYDAY), môn gì?, tại phòng nào, từ tiết nào (TUTIET) đến tiết nào (ĐENTIET),tựa đề bài dạy (BAIDAY), những ghi chú (GHICHU) về các tiết dạy này, đây là giờ dạy lý thuyết (LYTHUYET) hay thực hành - giả sử nếu LYTHUYET=1 thì đó là giờ dạy thực hành và nếu LYTHUYET=2 thì đó là giờ lý thuyết, một ngày có 16 tiết, sáng từ tiết 1 đến tiết 6, chiều từ tiết 7 đến tiết 12, tối từ tiết 13 đến 16.
    Trong bảng BAOGIANG này e dùng 2 thuộc tính của khóa chính đó là: MA_LOP và MA_MH. Việc thêm MA_GV vào bảng này có thể giải quyết việc GV dạy lấn sang tiết của GV khác được không a.
    Đã được chỉnh sửa lần cuối bởi b1u3eyes : 01-04-2012 lúc 01:36 PM.

  8. #8
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Tôi cũng chẳng hiểu "dạy lấn tiết" nghĩa là gì.

    Tôi đặt ra đơn vị chính MonHoc+LopHoc dựa trên giả thuyết một lớp học A có bao nhiêu ấy tiết để học một môn học X

    Code:
    MH  LH  CHI_TIET_VE_tietHoc (mã GV, ngày giờ, ...)
    
    X   A  GV1 10/03/2012 10:30-11:30 (tiết đầu tiên)
    X   A  GV1 17/03/2012 10:30-11:30 (tiết thứ nhì - tuần kê tiếp)
    X   A  GV2 21/03/2012 10:30-11:30 (tiết thứ 3, lưu ý GV khác)
    X   B  GV1 10/03/2012 14:30-15:30 (gv1 cũng có dạy môn này cho một lớp khác)
    ...
    
    Nếu giờ dạy có tiêu chuẩn thì lập một bảng Giờ Tiết (Mã giờ tiết, ngày giờ,...)
    Lúc ấy có thể thay thế ngày giờ trong bảng MonHocLopHoc thành ra mã giờ tiết
    Nếu giả thuyết này không đúng thì phải thiết kế khác đi. Đơn vị chính không còn là MonHoc+LopHoc nữa.

  9. #9
    Ngày gia nhập
    11 2012
    Bài viết
    1

    E chào mọi người, hiện h e đang làm thảo luận môn cơ sở dữ liệu và phần mềm ứng dụng vs đề bài giống như của bạn chủ topic, e đc giao viết 2 câu lệnh nhưng khó quá e vẫn chưa biết viêt thế nào:
    - Viết câu lệnh truy vấn đưa ra các phòng học có máy chiếu:
    SELECT PHONGHOC.SoPhong, ThietBi
    FROM PHONGHOC AS PH
    WHERE PHONGHOC.SoPhong=PHONGHOC.ThietBi AND ThietBi="may chieu";
    E viết thế này không biết có đúng k???
    - MaGV, Hoten của các giáo viên không có giờ lên lớp vào buổi sáng ngày 20/04/2010
    Câu này e vẫn chưa biết viết tnao, rất mong sự giúp đỡ của mọi người!

  10. #10
    Ngày gia nhập
    12 2014
    Bài viết
    1

    GV lien ket truc tiep voi Khoa, Lop lien ket truc tep voi Khoa. Con Phong, Lop, MonHoc lien ket voi GV thong qua GiangDay.

Các đề tài tương tự

  1. Database Thiết lập quan hệ 0,1 - n trong csdl bằng cách nào ?
    Gửi bởi danchithancong trong diễn đàn Thắc mắc đại cương Database & Reporting
    Trả lời: 4
    Bài viết cuối: 21-09-2012, 02:08 PM
  2. Đếm ngược thời gian lấy từ CSDL, nên làm như thế nào?
    Gửi bởi bubu333 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 05-02-2012, 09:25 PM
  3. Tạo quan hệ giữa table giáo viên và table môn học nên làm thế nào?
    Gửi bởi while trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 0
    Bài viết cuối: 20-10-2011, 09:50 PM
  4. Làm thế nào không cần cài .net framework mà chạy 1 ứng dụng nhỏ không liên quan CSDL
    Gửi bởi hocphp_1998 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 14
    Bài viết cuối: 04-01-2011, 06:12 PM
  5. Code quản lý giáo viên trong C++. không thể xóa bớt 1 giáo viên, sửa thế nào?
    Gửi bởi congtuazx trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 15-05-2009, 03:05 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn