Gíao viên chủ nhiệm phổ biến các thông tin cần thiết cho sinh viên: Giới thiệu sơ lược về kế hoạch thực tập, mục tiêu, kết quả sinh viên phảiđạt được, điều kiện được làm luận văn và
Trang 1NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ
Tháng 05/2012
MỤC LỤ
Trang 2CHƯƠNG I: NGHIÊN CỨU THỰC TRẠNG 6
I Thực trạng 6
1 Quy trình đăng ký đề tài và lưu trữ kết quả báo cáo thực tập 6
2 Quy trình đăng ký làm luận văn tốt nghiệm và lưu trữ kết quả của sinh viên 7
II Thông tin cần quản lý 8
1 Theo hình thức tra cứu 8
2 Theo hình thức cập nhật và lưu trữ 9
III Yêu cầu quản lý 9
1 Yêu cầu lưu trữ: 9
2 Theo hình thức thống kê – tìm kiếm: 9
a Tìm kiếm: 9
b Thống kê: 9
CHƯƠNG II: ĐỀ SUẤT CƠ SỞ DỮ LIỆU MỚI 11
I MỤC TIÊU 11
II THIẾT KẾ CƠ SỞ DỮ LIỆU 11
1 Mô hình Codd 11
1 Mô tả chi tiết chức năng 11
2 Mô hình ERD 12
3 Mô hình thực thể và mối kết hợp 13
4 Mối liên hệ giữa các đối tượng 13
5 Mô tả chi tiết các đối tượng và các mối kết hợp 14
CHƯƠNG III: RÀNG BUỘCTOÀN VẸN 17
I RÀNG BUỘC TRÊN MỘT QUAN HỆ 17
1 Ràng buộc liên bộ 17
2 Ràng buộc miền giá trị 19
II RÀNG BUỘC TRÊN NHIỀU QUAN HỆ 19
1 Ràng buộc phụ thuộc tồn tại 19
2 Ràng buộc liên thuộc tính – liên quan hệ 23
Trang 3CHƯƠNG IV: CÂU TRUY VẤN SQL 24
CHƯƠNG V: 67
THIẾT KẾ GIAO DIỆN VÀ VIẾT CHƯƠNG TRÌNH 67
CHƯƠNG VI: CHUẨN HÓA CƠ SỞ DỮ LIỆU 80
CHƯƠNG VII KẾT LUẬN 81
I Các khó khăn gặp phải khi làm đồ án: 81
II Các mặt chưa làm được 81
III Các mặt làm được và thuận lợi 82
IV Hướng phát triển 82
Trang 4CHƯƠNG I: NGHIÊN CỨU THỰC TRẠNG
I Thực trạng.
Hằng năm sinh viên của các khoa đều phải làm bài báo cáo thực tập tốt nghiệp vàsau đó được chọn làm luận văn tốt nghiệp Qúa trình thực hiện và lưu trữ của
“Khoa tin học quản lý” được thực hiện như sau:
1 Quy trình đăng ký đề tài và lưu trữ kết quả báo cáo thực tập.
a) Giới thiệu về quy trình đăng ký đề tài thực tập tốt nghiệp
Gíao viên chủ nhiệm phổ biến các thông tin cần thiết cho sinh viên:
Giới thiệu sơ lược về kế hoạch thực tập, mục tiêu, kết quả sinh viên phảiđạt được, điều kiện được làm luận văn và việc định hướng từ đề tài thựctập phát triển thành luận văn
Định hướng các lĩnh vực cho đề tài thực tập tốt nghiệp
Cấu trúc sơ lược của báo cáo thực tập tốt nghiệp và ví dụ cho một số lĩnhvực tiêu biểu
Hướng dẫn viết đề cương thực tập
Giới thiệu và hướng dẫn mẫu đề cương thực tập của trường
Khoa cung cấp giấy giới thiệu và giấy đăng ký giảng viên hướng dẫn chosinh viên
Thông tin đăng kí bao gồm: họ tên, mã số sinh viên, lĩnh vực muốn lựachọn thứ 1, lĩnh vực muốn lựa chọn thứ 2, …(độ ưu tiên giảm dần).Thờigian đăng ký từ ngày 25/11 đến 2/12 Sinh viên có quyền không đăng ký(Khoa sẽ tự phân người hướng dẫn) Đăng ký người hướng dẫn (mỗisinh viên đăng ký 1 giảng viên)
Khoa sẽ cung cấp giấy giới thiệu cho sinh viên theo hình thức tập trung(2 đợt), Lớp trưởng sẽ tổng hợp và liên lạc với khoa để nhận Sau 2 đợtnếu sinh viên nào cần thì liên hệ trực tiếp tại khoa
Thư kí văn phòng khoa sẽ tổng hợp số lượng sinh viên đăng kí thực tậptrong kì và thống kê số lượng đề tài theo lĩnh vực, số lượng sinh viênchưa có nơi thực tập, số lượng sinh viên chọn một giảng viên làm giáoviên hướng dẫn thực tập.Trường hợp các sinh viên không có nơi thực tậpthì khoa sẽ giới thiệu nơi thực tập cho sinh viên
Ban chủ nhiệm khoa phân công hướng dẫn thực tập lần 1 cho sinh viên:
Tổng hợp, lập danh sách, và gửi danh sách đăng ký lĩnh vực thực tập củasinh viên (danh sách gồm các cột: mã sv, họ tên, lĩnh vực ưu tiên 1, lĩnhvực ưu tiên 2, …) cho các giảng viên
Trang 5 Ra công văn qui định giảng viên nào phải hướng dẫn tối thiểu và tối đabao nhiêu sinh viên.
Ra công văn yêu cầu các giảng viên gửi đề nghị (nếu muốn) được lựachọn hướng dẫn các sinh viên về ban chủ nhiệm khoa
Ban chủ nhiệm khoa phân công hướng dẫn thực tập lần 2 cho sinh viên:
Sau khi phân công lần 1 những giảng viên chưa đủ số lượng hướng dẫn
và sinh viên chưa có người hướng dẫn được phần công lần 2
Cho phép sinh viên đăng ký lần 2 căn cứ trên số lượng đối với từng giảngviên
b) Quy trình lưu trữ kết quả báo cáo thực tập của sinh viên
Sau khi kết thúc đợt thực tập thư kí khoa nhận báo cáo thực tập cuối cùngcủa sinh viên, sau đó chuyển báo cáo thực tập, phiếu điểm, phiếu nhận xétcho giáo viên hướng dẫn đánh giá
Giáo viên hướng dẫn sau khi chấm điểm và đánh giá kết quả thực tập củasinh viên thì giáo viên hướng dẫn giao lại cho thư kí khoa, thư kí khoatổng hợp điểm số nộp về phòng đào tạo và lưu giữ tại khoa tất cả các báocáo thực tập gồm: một đĩa CD chứa nội dung báo cáo thực tập, một cuốnbáo cáo và phiếu nhận xét của giáo viên hường dẫn
Những đề tài tốt dựa trên nhiều tiêu chí như: điểm cao, được giáoviên hướng dẫn đánh giá tốt thì được lưu trên kệ đề tài tham khảocủa khoa để cho sinh viên tham khảo và được sắp xếp theo từng khóatheo từng chồng riêng biệt
Những đề tài tốt thường kèm theo những lời nhận xét đánh giá những
ưu và khuyết điểm của người làm đề tài để người tham khảo có thểtiếp thu mặt ưu và khắc phục mặt chưa tốt
Tất cả các đĩa CD được tháo ra khỏi báo cáo và cất ở một khu vựcriêng cũng theo từng khóa riêng biệt
Kết quả của sinh viên được cập nhật vào file Excel đã được lưu trongmáy tính của thư kí khoa theo từng khóa
2 Quy trình đăng ký làm luận văn tốt nghiệm và lưu trữ kết quả của sinh viên.a) Giới thiệu quy trình đăng kí làm luận văn:
Thư kí khoa nhận file điểm tổng kết tất cả các học kì của sinh viên từphòng đào tạo, từ đó lấy ra 10-15% sinh viên có kết quả cao nhất, điểmtrung bình trên 7.0 và không còn nợ môn nào để thực hiện luận văn tốtnghiệp Sau đó thông báo danh sách lên website trường và lớp trưởng
Trong vòng một tuần, sinh viên đủ điều kiện làm luận văn có quyền xinkhông làm luận án tốt nghiệp Và sau đó các sinh viên khác có thể đăng kílàm luận văn khi còn thiếu số lượng sinh viên, do các sinh viên khác đãxin không làm luận văn ( phải đạt yêu cầu điểm tổng kết 7.0, không còn
nợ môn nào) Tùy thuộc vào số lượng sinh viên làm luận văn mà khoaphân công giáo viê hướng dẫn Đối với giáo viên hướng dẫn luận văn tốt
Trang 6nghiệp thì phải có trình độ từ thạc sĩ trở lên và có quyền được thêm mộtngười một giảng viên phụ (có thể là một cử nhân) để hướng dẫn đề tài đó.
Các đề tài còn lại được sắp xếp theo các khóa vào các tủ sách trong vănphòng khoa
Thư kí khoa lập danh sách sinh viên làm luận văn tốt nghiệp và lưu lại đểquản lý
b) Quy trình lưu trữ luận văn tốt nghiệp của sinh viên:
Sau khi làm xong luận văn tốt nghiệp thì sinh viên phải nộp 3 quyển báocáo luận văn và 3 đĩa CD cho thư kí khoa
Thư kí khoa sẽ chuyển một quyển cho hội đồng, một quyển cho giáo viênhướng dẫn và một quyển cho người phản biện kèm theo bảng nhận xét vàphiếu chấm điểm
Thư kí khoa nhận điểm trung bình (tính trung bình điểm của hội đồngchấm luận văn, của giáo viên hướng dẫn và của giáo viên phản biện), đồngthời lưu lại file giấy nhận xét của hội đồng, giáo viên hướng dẫn, và củagiáo viên phản biện
Thư kí khoa nộp kết quả luận văn tốt nghiệp lên cho phòng đào tạo
Sinh viên sau khi bảo vệ trước hội đồng sẽ ghi nhận lại góp ý và chỉnhsửa Sau khi hoàn tất, sinh viên đóng bìa mạ vàng nộp lại cho thư kí khoa,thư kí khoa chuyển xuống thư viện lưu trữ
Nhận xét về quy trình lưu trữ kết quả thực tập và luận văn của sinh viên:
Việc lưu trữ như trên có nhiều bất lợi cần khắc phục như là:
Các tập báo cáo thực tập, CD và luận văn của sinh viên đều được cập nhậthằng năm và việc lưu trữ chúng trên kệ trong văn phòng khoa sẽ chiếmmột diện tích đáng kể dẫn đến việc lưu trữ lâu dài sẽ không đảm bảo và cóthể bị thất lạc
Đây là nguồn tư liệu có giá trị cho các sinh viên năm sau tham khảo vàhọc hỏi nhưng dường như việc tìm kiếm đề tài cần thiết mà khi có mộtsinh viên đến mượn rất mất thời gian và khó quản lí Không thể cho nhiềusinh viên mượn chung trong một thời gian Chưa mang tính chuyênnghiệp
Kết quả của sinh viên được lưu trong file excel trong máy của thư kí khoa
sẽ gây nhiều khó khăn nếu như cần thống kê, xử lí số liệu, báo cáo cầnthiết theo yêu cầu nghiệp vụ Khi cần thiết lấy thông tin giới thiệu cho sinhviên năm sau cũng có chút khó khăn
Việc lưu trữ nội bộ khiến cho sinh viên các khoa khác khó có thể mượnnếu như muốn biết về những lĩnh vực này
II Thông tin cần quản lý.
1 Theo hình thức tra cứu
Thông tin về sinh viên tham gia thực tập tại khoa “Tin học quản lí “ qua cácnăm
Trang 7 Danh sách các đề tài thực tập và nội dung đề tài đã được thực hiện bởi sinhviên của khoa.
Danh sách đề tài luận văn và nội dung luận văn đã được thực hiện bởi sinhviên
Danh sách giảng viên hướng dẫn thực tập cho sinh viên cụ thể
Danh sách bảng điểm ghi nhận kết quả của sinh viên
Danh sách doanh nghiệp, công ty, địa điểm sinh viên thực tập
Danh sách các đề tài, luận văn cùng một loại đề tài
2 Theo hình thức cập nhật và lưu trữ
Tất cả các dữ liệu liên quan đến quá trình cần tra cứu bao gồm: thông tin sinhviên tham gia thực tập, đề tài báo cáo thực tập và nội dung, đề tài luận văn vànội dung, giảng viên hướng dẫn, thông tin nơi sinh viên tham gia thực tập, …
III Yêu cầu quản lý
1 Yêu cầu lưu trữ:
Lưu các thông tin sinh viên đã làm thực tập và luận văn tốt nghiệp gồm: Họ vàtên sinh viên, ngày sinh, giới tính, số điện thoại, email
Lưu thông tin các đề tài thực tập và luận văn mà sinh viên đã làm cùng với kếtquả đạt được gồm: Tên đề tài và luận văn, nội dung, kết quả điểm đạt được
Lưu thông tin các công ty mà sinh viên của khoa đã thực tập gồm: Tên công
ty, địa chỉ, số điện thoại
Lưu trữ thông tin giảng viên hướng dẫn sinh viên thực tập, làm luận văn gồm:Tên giảng viên, học vị, bộ môn
Lưu trữ các loại đề tài mà sinh viên tham gia thực tập và làm luận văn
2 Theo hình thức thống kê – tìm kiếm:
a Tìm kiếm:
Tìm kiếm thông tin liên quan đến sinh viên thực tập theo mã số sinh viên,tên sinh viên
Tìm kiếm thông tin công ty mà sinh viên x nào đó đã thực tập
Tìm kiếm thông tin giảng viên đã hướng dẫn cho sinh viên x nào đó thựctập
Tìm kiếm giảng viên hướng dẫn nhiều sinh viên thực tập nhất
Tìm kiếm công ty được nhiều sinh viên tham gia thực tập nhất
Tìm kiếm giảng viên có số lượng sinh viên được hướng dẫn đạt kết quả tốt(giỏi) nhiều nhất
b Thống kê:
Thống kê danh sách số sinh viên tham gia thực tập theo tổng thể, theo từngkhóa học
Trang 8 Thống kê danh sách tống số sinh viên tham gia làm luận văn.
Thống kê xem trong một khóa học x nào đó có bao nhiêu sinh viên đượcchọn làm luận văn
Thống kê danh sách sinh viên được giảng viên x nào đó hướng dẫn thựctập
Thống kê danh sách sinh viên cùng tham gia thực tập trong một công ty
Thống kê danh sách sinh viên phải làm lại báo cáo thực tập lần hai
Thống kê danh sách sinh viên có điểm thực tập đạt mức giỏi, khá, trungbình, yếu, kém theo tổng thể, theo từng khóa học, theo từng loại đề tài, theotừng giảng viên
Thống kê danh sách sinh viên có bài luận văn được đánh giá theo các mứcgiỏi, khá, trung bình, yếu , kém theo tổng thể, theo từng khóa học, theo từngloại đề tài, theo từng giảng viên
Thống kê dánh sách sinh viên cùng thuộc một loại đề tài
Thống kê danh sách tổng các công ty mà sinh viên đã tham gia thực tập
Thống kê danh sách các công ty có địa chỉ thực tập tại một quận x nào đó
Thống kê danh sách các công ty thực tập không có địa chỉ tại tp.HCM (cóliệt kê tên địa chỉ đó)
Thống kê danh sách tổng các tên loại đề tài báo cáo thực tập và luận văn
Thống kê danh sách tổng số giảng viên tham gia hướng dẫn sinh viên thựctập
Thống kê danh sách giảng viên cùng thuộc một bộ môn
Thống kê danh sách giảng viên hướng dẫn sinh viên thực tập có học vị làthạc sĩ, tiến sĩ
Thống kê danh sách sinh viên thực tập tại một công ty x nào đó, đượchướng dẫn bởi giảng viên y nào đó
Thống kê gần đúng theo từ khóa tên của tất cả các đề tài và luận văn sinhviên đã thực tập
Trang 9CHƯƠNG II: ĐỀ SUẤT CƠ SỞ DỮ LIỆU MỚI
I MỤC TIÊU
Xây dựng cơ sở dữ liệu nhằm hỗ trợ việc quản lý đồ án thực tập và luận văn tốtnghiệp của sinh viên Khoa Tin Học Quản Lý, trường Đại Học Kinh Tế - Luật,Đại Học Quốc Gia Thành Phố Hồ Chí Minh
II THIẾT KẾ CƠ SỞ DỮ LIỆU
1 Mô hình Codd
SinhVien ( MaSV, HoSV, TenSV, NgaySinh, GioiTinh, SDT, Email)
CongTy (MaCT, TenCT, DiaChi, SDT)
GVHD (MaGV, TenGV, HocVi, BoMon)
ThucTap (MaDT, MaSV, MaCT, MaGV1, MaGV2, TenDT, Diem)
LuanVan (MaLV, MaSV, MaGV1, MaGV2, TenLV, NgayBaoVe, Diem)
LoaiDT (MaLoai, TenLoai)
LoaiDTThucTap (MaLoai, MaDT)
LoaiDTLuanVan (MaLoai, MaLV)
TuKhoa (MaTK, TenTK)
TuKhoaThucTap (MaTK, MaDT)
TuKhoaLuanVan (MaTK, MaLV)
Ghi chú:
Các thuộc tính gạch dưới là khóa chính
Các bảng là Đối Tượng bao gồm: SinhVien, CongTy, GVHD, ThucTap,LuanVan, LoaiDT, TuKhoa
Các bảng là mối kết hợp bao gồm: LoaiDTThucTap, LoaiDTLuanVan,TuKhoaThucTap , TuKhoaLuanVan
1 Mô tả chi tiết chức năng
SinhVien là thực thể dữ liệu gồm các thuộc tính mã sinh viên, họ sinh viên, tênsinh viên, ngày sinh của sinh viên đó, giới tính, số điện thoại, địa chỉ email
CongTy là thực thể dữ liệu gồm các thuộc tính mã công ty, tên công ty, địa chỉcông ty, số điện thoại công ty
GVHD là thực thể dữ kiệu gồm các thuộc tính mã giảng viên, tên giảng viên, học
vị, bộ môn
ThucTap là thực thể dữ liệu gồm các thuộc tính mã đề tài, mã sinh viên, mã loại,
mã công ty, mã giảng viên hướng 1, mã giảng viên hướng dẫn 2, tên đề tài thựctập, điểm
LuanVan là thực thể dữ liệu gồm các thuộc tính mã luận văn, mã sinh viên, mãloại, mã giảng viên hướng dẫn 1, mã giảng viên hướng dẫn 2, tên đề tài luận văn,ngày bảo vệ luận văn, điểm
LoaiDT là thực thể dữ liệu gồm các thuộc tính mã loại đề tài, tên loại đề tài
Trang 101.2
1 1
1
n
n n
n
n
n 1 n
n
n n
LoaiDTThucTap là thực thể dữ liệu gồm các thuộc tính mã loai đề tài thực tập, mã
đề tài thực tập
LoaiDTLuanVan là thực thể dữ liệu gồm các thuộc tính mã loai đề tài luận văn,
mã đề tài luận văn
TuKhoa là thực thể dữ liệu gồm các thuộc tính mã từ khóa, tên từ khóa để môphỏng tên đề tài
TuKhoaThucTap là thực thể dữ liệu bao gồm các thuộc tính mã từ khóa, mã đề tàithực tập
TuKhoaLuanVan là thực thể dữ liệu bao gồm các thuộc tính mã từ khóa, mã đề tàiluận văn
Trang 113 Mô hình thực thể và mối kết hợp
4 Mối liên hệ giữa các đối tượng
Diễn giải ý nghĩa của các liên hệ trên.Trong mô hình trên những mối quan hệnhiều-nhiều giữa các bảng sẽ được phân rã thành nhiều bảng con để chuyển thànhmối quan hệ một-nhiều nhằm dễ dàng truy xuất dữ liệu
CongTy – ThucTap (1 n): mỗi một công ty có thể có nhiều đề tài thực tập vàmỗi để tài thực tập chỉ được thực hiện ở một công ty
SinhVien – ThucTap (1 1 n): mỗi một sinh viên phải có ít nhất một đề tài thựctập và một đề tài thực tập chỉ có một sinh viên thực hiện
SinhVien – LuanVan (1 n): mỗi một sinh viên có thể có nhiều đề tài luận vănhoặc không có đề tài luận văn nào nhưng mỗi một đề tài luận văn chỉ có thể cómột sinh viên thực hiện
LoaiDT – ThucTap (n n): mỗi một loại đề tài có thể có nhiều đề tài thực tập vàmỗi một đề tài thực tập chỉ có thể thuộc nhiều loại đề tài Vì liên hệ giữa LoaiDT –ThucTap là liên hệ n -n nên mối liên hệ của chúng sẽ được biểu diễn thông qua
Trang 12mối kết hợp LoaiDTThucTap, khi đó sẽ có 2 liên hệ: LoaiDT – LoaiDTThucTap(1 n) và ThucTap – LoaiDTThucTap (1 -n).
LoaiDT – LuanVan (n n): mỗi một loại đề tài có thể có nhiều đề tài thực tập vàmỗi một đề tài thực tập chỉ có thể thuộc nhiều loại đề tài Vì liên hệ giữa LoaiDT –ThucTap là liên hệ n -n nên mối liên hệ của chúng sẽ được biểu diễn thông quamối kết hợp LoaiDTLuanVan, khi đó sẽ có 2 liên hệ: LoaiDT – LoaiDTLuanVan(1 n) và LuanVan – LoaiDTLuanVan (1 -n)
TuKhoa – ThucTap (n -n): mỗi một từ khóa có thể được dùng để mô phỏngnhiều tên đề tài thực tập và mỗi một tên đề tài thực tập có thể được mô phỏng bằngnhiều từ khóa khác nhau Vì liên hệ giữa TuKhoa – ThucTap là liên hệ n -n nênmối liên hệ của chúng sẽ được biểu diễn thông qua mối kết hợp TuKhoaThucTap,khi đó sẽ có 2 liên hệ : TuKhoa – TuKhoaThucTap (1 -n) và ThucTap –TuKhoaThucTap (1 -n)
TuKhoa – LuanVan (n -n): mỗi một từ khóa có thể được dùng để mô phỏngnhiều tên đề tài thực tập và mỗi một tên đề tài thực tập có thể được mô phỏng bằngnhiều từ khóa khác nhau Vì liên hệ giữa TuKhoa – LuanVan là liên hệ n -n nênmối liên hệ của chúng sẽ được biểu diễn thông qua mối kết hợp TuKhoaLuanVan,khi đó sẽ có 2 liên hệ : TuKhoa – TuKhoaLuanVan (1 -n) và ThucTap –TuKhoaLuanVan (1 -n)
GVHD – ThucTap (1.2 -n): mỗi giảng viên có thể hướng dẫn được nhiều đề tàithực tập và mỗi một đề tài thực tập chỉ có thể được hướng dẫn bởi nhiều nhất 2giảng viên
GVHD – LuanVan (1.2 -n): mỗi giảng viên có thể hướng dẫn được nhiều đề tàiluận văn và mỗi một đề tài luận văn chỉ có thể được hướng dẫn bởi nhiều nhất 2giảng viên
5 Mô tả chi tiết các đối tượng và các mối kết hợp
SinhVien
thực hiện đề tài
sinh viên
Trang 13dẫn
) x Bộ môn giảng dạy của giảng viênhướng dẫn
ThucTap
Trang 14Thuộc tính Kiểu dữ liệu Allow null Diễn giải
mà sinh viên thực hiện
hiện đề tài luân vănMaGV1 Nvarchar(5) x Mã giảng viên hướng dẫn đề tài
luận văn 1MaGV2 Nvarchar(5) x Mã giảng viên hướng dẫn đề tài
thực tập 2 (nếu có)
thực hiên luận văn
LoaiDT
LoaiDTThucTap
LoaiDTThucTap
TuKhoa
Trang 15MaTK Int Mã của từ khóa
TuKhoaThucTap
bởi các từ khóa
TuKhoaLuanVan
bởi các từ khóa
CHƯƠNG III: RÀNG BUỘCTOÀN VẸN
I RÀNG BUỘC TRÊN MỘT QUAN HỆ
Trang 16 t,t’ LuanVan, t ≠ t’ t.MaLV ≠ t’.MaLV
t,t’ GVHD, t ≠ t’ t.MaGV ≠ t’.MaGV
Bảng tầm ảnh hưởng :
Trang 172 Ràng buộc miền giá trị
R8 : trên quan hệ ThucTap, thuộc tính Diem phải là một số thực≥0 và ≤10
II RÀNG BUỘC TRÊN NHIỀU QUAN HỆ
1 Ràng buộc phụ thuộc tồn tại
Trang 18R10: Trong mô hình thực thề và mối kết hợp ở trên nếu 2 đối tượng có liên hệ1 -n thì luôn tồn tại 1 ràng buộc phụ thuộc tồn tại là ràng buộc khóa ngoại.Ràng buộc này được mô tả là:
Gọi q1 là quan hệ của lược đồ quan hệ Q mô tả thông tin về đối tượng ở nhánh
1 , q2 là quan hệ của lược đồ quan hệ S mô tả thông tin về đối tượng ở nhánh
n, K là khóa chính của lược đồ quan hệ Q, thì trong S sẽ tồn tại khóa ngoại là
K Khi đó với giá trị k của mỗi dòng trong quan hệ q2 phải tương ứng tồn tạitrong quan hệ q1
Trang 19 t ThucTap , t’ GVHD : t MaGV = t’.MaGV.
R15: trên các quan hệ SinhVien, LuanVan, giá trị MaSV của mỗi dòng trong quan
hệ LuanVan phải tương ứng tồn tại trong quan hệ SinhVien
Trang 20Gọi q1 là quan hệ của lược đồ quan hệ Q mô tả thông tin về đối tượng 1, q2 là quan
hệ của lược đồ quan hệ S mô tả thông tin về đối tượng 2, q3 là quan hệ của lược đồquan hệ P mô tả thông tin về mối kết hợp, K là khóa chính của lược đồ quan hệ Q,K’ là khóa chính trong lược đồ quan hệ S thì trong P sẽ tồn tại khóa ngoại là K vàK’ Khi đó với giá trị K và K’ của mỗi dòng trong quan hệ q3 phải tương ứng tồntại trong quan hệ q1 và q2
R19: trên các quan hệ LuanVan, LoaiDT, LoaiDT LuanVan, với mỗi giá trị MaLV
và MaLoai của mỗi dòng trong quan hệ LoaiDTLuanVan phải tương ứng tồn tạitrong quan hệ LuanVan và LoaiDT
Trang 21-Loai DT - +
+(MaLoai)
R20: trên các quan hệ ThucTap, TuKhoa, TuKhoaThucTap, với mỗi giá trị MaDT
và MaTK của mỗi dòng trong quan hệ TuKhoaThucTap phải tương ứng tồn tạitrong quan hệ ThucTap và TuKhoa
R21: trên các quan hệ LuanVan, TuKhoa, TuKhoaLuanVan, với mỗi giá trị MaLV
và MaTK của mỗi dòng trong quan hệ TuKhoaLuanVan phải tương ứng tồn tạitrong quan hệ LuanVan và TuKhoa
2 Ràng buộc liên thuộc tính – liên quan hệ
R22: trên quan hệ SinnhVien và LuanVan, thuộc tính NgaySinh trên quan hệSinhVien phải nhỏ hơn thuộc tính NgayBaoVe trên quan hệ LuanVan trên cùngmột giá trị MaSV
Trang 22-CHƯƠNG IV: CÂU TRUY VẤN SQL
Tìm kiếm thông tin liên quan đến sinh viên thực tập theo mã số sinh viên, tên sinh viên.
SELECT MaSV, NgaySinh, GioiTinh, SDT, Email
FROM SinhVien
WHERE (HoSV + ' ' + TenSV LIKE @X)
//Tim kiếm theo sinh viên Đoàn Ngọc lâm
SELECT HoSV + ' ' + TenSV AS HoTenSV, NgaySinh, GioiTinh, SDT, EmailFROM SinhVien
WHERE (MaSV = @X)
//Tìm kiếm theo sinh viên có mã sinh viên K074061074
Tìm kiếm thông tin công ty mà sinh viên x nào đó đã thực tập
Trang 23SELECT DISTINCT CongTy.TenCT, CongTy.DiaChi, dbo.CongTy.SDT
FROM CongTy INNER JOIN
ThucTap ON CongTy.MaCT = ThucTap.MaCT INNER JOIN
SinhVien ON SinhVien.MaSV = ThucTap.MaSV
WHERE (SinhVien.HoSV + ' ' + SinhVien.TenSV LIKE @X)
//Tìm kiếm theo sinh viên Tôn Nữ Quí Khang
Tìm kiếm thông tin giảng viên đã hướng dẫn cho sinh viên x nào đó thực tập.
SELECT DISTINCT GVHD.TenGV, GVHD.HocVi,GVHD.BoMon
FROM GVHD INNERJOIN
ThucTap ON GVHD.MaGV = ThucTap.MaGV1 INNER JOIN
SinhVien ON SinhVien.MaSV = ThucTap.MaSV
WHERE (SinhVien.HoSV + ' ' + SinhVien.TenSV LIKE @X)
//Tìm kiếm theo sinh viên Tôn Nữ Quí Khang
Tìm kiếm giảng viên hướng dẫn nhiều sinh viên thực tập nhất.
SELECT TenGV, HocVi, BoMon, soluonghuongdan
FROM (SELECT dbo.GVHD.TenGV, dbo.GVHD.HocVi,
dbo.GVHD.BoMon,COUNT(dbo.ThucTap.MaSV) AS soluonghuongdan
FROM dbo.GVHD INNERJOIN
dbo.ThucTap ON dbo.GVHD.MaGV =
dbo.ThucTap.MaGV1
GROUP BY dbo.GVHD.TenGV, dbo.GVHD.HocVi,
dbo.GVHD.BoMon) AS derivedtbl_1
WHERE (soluonghuongdan >=ALL
(SELECT soluonghuongdan
FROM (SELECT GVHD_1.MaGV,
COUNT(ThucTap_1.MaSV)AS soluonghuongdan
Trang 24FROM dbo.GVHD AS GVHD_1 INNERJOIN
dbo.ThucTap AS ThucTap_1 ONGVHD_1.MaGV = ThucTap_1.MaGV1
GROUPBY GVHD_1.MaGV)AS derivedtbl_2))
Tìm kiếm công ty được nhiều sinh viên tham gia thực tập nhất
SELECT TenCT, DiaChi, SDT, soluongsvthuctap
FROM (SELECT dbo.CongTy.TenCT, dbo.CongTy.DiaChi,
dbo.CongTy.SDT,COUNT(dbo.ThucTap.MaSV)AS soluongsvthuctap
FROM dbo.CongTy INNER JOIN
dbo.ThucTap ON dbo.CongTy.MaCT =
dbo.ThucTap.MaCT
GROUP BY dbo.CongTy.TenCT, dbo.CongTy.DiaChi,
dbo.CongTy.SDT)AS derivedtbl_1
WHERE (soluongsvthuctap >=ALL
(SELECT derivedtbl_1.soluongsvthuctap
FROM (SELECT CongTy_1.MaCT,
COUNT(ThucTap_1.MaSV)AS soluongsvthuatap
FROM dbo.CongTy AS CongTy_1 INNERJOIN
dbo.ThucTap AS ThucTap_1 ONCongTy_1.MaCT = ThucTap_1.MaCT
GROUPBY CongTy_1.MaCT)AS derivedtbl_2))
Tìm kiếm giảng viên có số lượng sinh viên được hướng dẫn đạt kết quả tốt (giỏi) nhiều nhất.
Trang 25SELECT TenGV, HocVi, BoMon, soluonghuongdan
FROM (SELECT GVHD.TenGV, GVHD.HocVi,GVHD.BoMon,
COUNT(ThucTap.MaSV) AS soluonghuongdan
FROM GVHD INNERJOIN
ThucTap ON GVHD.MaGV = ThucTap.MaGV1 GROUP BY GVHD.TenGV, GVHD.HocVi, GVHD.BoMon) ASderivedtbl_1
WHERE (soluonghuongdan >=ALL
(SELECT soluonghuongdan
FROM (SELECT GVHD_1.MaGV,
COUNT(ThucTap_1.MaSV)AS soluonghuongdan
FROM GVHD AS GVHD_1 INNERJOIN
ThucTap AS ThucTap_1 ONGVHD_1.MaGV = ThucTap_1.MaGV1
where ThucTap_1 Diem >='8' GROUPBY GVHD_1.MaGV)AS derivedtbl_2))
Thống kê danh sách số sinh viên tham gia thực tập theo tổng thể Danh sách gồm mã sinh viên, họ tên sinh viên, ngày sinh, số điện thoại, email, tên đề tài, điểm.
SELECT SinhVien.MaSV, (SinhVien.HoSV + ' ' + SinhVien.TenSV) AS hoten,
SinhVien.NgaySinh, SinhVien.GioiTinh, SinhVien.SDT, SinhVien.Email,
ThucTap.TenDT, ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV = ThucTap.MaSV
Trang 26Thống kê danh sách số sinh viên tham gia thực tập theo từng khóa học Danh sách gồm mã sinh viên, họ tên sinh viên, ngày sinh, giới tính, số điện thoại, email.
SELECT SinhVien.MaSV, (SinhVien.HoSV + ' ' + SinhVien.TenSV) AS hoten,
SinhVien.NgaySinh, SinhVien.GioiTinh, SinhVien.SDT, SinhVien.Email,
ThucTap.TenDT, ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV = ThucTap.MaSVWHERE SinhVien.MaSV like @x
Thống kê danh sách tống số sinh viên tham gia làm luận văn Danh sách gồm
mã sinh viên, họ tên sinh viên , tên luận văn, điểm.
Trang 27SELECT SinhVien.MaSV, (SinhVien.HoSV + ' ' + SinhVien TenSV) AS hoten,
LuanVan.TenLV, LuanVan.Diem
FROM SinhVien innerjoin LuanVan ON SinhVien.MaSV = LuanVan.MaSV
Thống kê xem trong một khóa học x nào đó có bao nhiêu sinh viên được chọn làm luận văn Danh sách gồm mã sinh viên, họ tên sinh viên, tên luận văn , ngày bảo vệ, điểm.
SELECT SinhVien.MaSV, (SinhVien.HoSV + ' ' + SinhVien.TenSV) AS hoten,
LuanVan.TenLV, LuanVan.NgayBaoVe, LuanVan.Diem
FROM SinhVien innerjoin LuanVan ON SinhVien.MaSV = LuanVan.MaSVWHERE SinhVien.MaSV like @x
Trang 28Thống kê danh sách sinh viên được giảng viên x (sử dụng mã giảng viên vì trong form giao diện có tạo ComboBox chứa tên gỉang viên tứ đó ta lấy mã giảng viên truy vấn vào bảng) nào đó hướng dẫn thực tập Danh sách gồm mã sinh viên, họ tên sinh viên.
SELECT SinhVien.MaSV, SinhVien.HoSV+''+SinhVien.TenSV
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV = ThucTap.MaSVWHERE ThucTap.MaGV1= @xor ThucTap.MaGV2 = @x
Thống kê danh sách sinh viên cùng tham gia thực tập trong một công ty Danh sách gồm mã sinh viên, họ tên sinh viên.
SELECT SinhVien.MaSV, SinhVien.HoSV+''+SinhVien.TenSV
FROM (SinhVien inner join ThucTap ON SinhVien MaSV= ThucTap.MaSV)innerjoin CongTy ON ThucTap.MaCT=CongTy.MaCT
WHERE CongTy.MaCT=@X
Trang 29Thống kê danh sách sinh viên phải làm lại báo cáo thực tập lần hai Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập.
SELECT SinhVien.MaSV, SinhVien.HoSV+''+SinhVien.TenSV,ThucTap.TenDTFROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE ThucTap.MaDT like '%a'
Thống kê danh sách sinh viên có điểm thực tập đạt mức giỏi theo tổng thể Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
Trang 30WHERE ThucTap.Diem >=8.0
Thống kê danh sách sinh viên có điểm thực tập đạt mức khá theo tổng thể Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) ashoten,ThucTap.TenDT,ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE ThucTap.Diem >=6.5 and ThucTap.Diem <8
Thống kê danh sách sinh viên có điểm thực tập đạt mức trung bình theo tổng thể Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) ashoten,ThucTap.TenDT,ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE ThucTap.Diem >=5.0 and ThucTap.Diem <6.5
Trang 31Thống kê danh sách sinh viên có điểm thực tập đạt mức yếu và kém theo tổng thể Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) ashoten,ThucTap.TenDT,ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE ThucTap.Diem <5.0
Thống kê danh sách số sinh viên tham gia thực tập đạt mức giỏi theo từng khóa học Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) ashoten,ThucTap.TenDT,ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE SinhVien.MaSV like @x and ThucTap.Diem >=8
Trang 32Thống kê danh sách số sinh viên tham gia thực tập đạt mức khá theo từng khóa học Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) ashoten,ThucTap.TenDT,ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE SinhVien.MaSV like @x and ThucTap.Diem >=6.5 and
ThucTap.Diem<8
Trang 33Thống kê danh sách số sinh viên tham gia thực tập đạt mức trung bình theo từng khóa học Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) ashoten,ThucTap.TenDT,ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE SinhVien.MaSV like @x and ThucTap.Diem >=5 and ThucTap.Diem
FROM SinhVien innerjoin ThucTap ON SinhVien.MaSV=ThucTap.MaSV
WHERE SinhVien.MaSV like @x and ThucTap.Diem <5
Trang 34Thống kê danh sách số sinh viên tham gia thực tập đạt mức giỏi và kém theo từng loại đề tài Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) AShoten,ThucTap.TenDT, ThucTap.Diem
FROM (SinhVien inner join ThucTap ON SinhVien.MaSV=ThucTap.MaSV)innerjoin LoaiDTThucTap ON ThucTap.MaDT=LoaiDTThucTap.MaDT
WHERE LoaiDTThucTap.MaLoai like @x and ThucTap.Diem >=8
Trang 35Thống kê danh sách số sinh viên tham gia thực tập đạt mức khá theo từng loại
đề tài Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) AShoten,ThucTap.TenDT, ThucTap.Diem
FROM (SinhVien inner join ThucTap ON SinhVien.MaSV=ThucTap.MaSV)innerjoin LoaiDTThucTap ON ThucTap.MaDT=LoaiDTThucTap.MaDT
WHERE LoaiDTThucTap.MaLoai like @x and ThucTap.Diem >=6.5 and
ThucTap.Diem <8
Trang 36Thống kê danh sách số sinh viên tham gia thực tập đạt mức tring bình theo từng loại đề tài Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) AShoten,ThucTap.TenDT, ThucTap.Diem
FROM (SinhVien inner join ThucTap ON SinhVien.MaSV=ThucTap.MaSV)innerjoin LoaiDTThucTap ON ThucTap.MaDT=LoaiDTThucTap.MaDT
WHERE LoaiDTThucTap.MaLoai like @x and ThucTap.Diem >=5 and
ThucTap.Diem <6.5
Trang 37Thống kê danh sách số sinh viên tham gia thực tập đạt mức yếu và kém theo từng loại đề tài Danh sách gồm mã sinh viên, họ tên sinh viên, tên đề tài thực tập, điểm.
SELECT SinhVien.MaSV,(SinhVien.HoSV+''+SinhVien.TenSV) AShoten,ThucTap.TenDT, ThucTap.Diem
FROM (SinhVien inner join ThucTap ON SinhVien.MaSV=ThucTap.MaSV)innerjoin LoaiDTThucTap ON ThucTap.MaDT=LoaiDTThucTap.MaDT
WHERE LoaiDTThucTap.MaLoai like @x and ThucTap.Diem <5