Hiện nay, cùng với quá trình hệ thống hóa và tin học hóa văn phòng, công tác tổ chức một hệ quản trị cơ sở dữ liệu điểm thi của sinh viên lại càng cần thiết hơn lúc nào hết.. Đáp ứng nhu
Trang 1Mô hình Quản lý điểm sinh viên dùng SQL
server 2008
Đ H K h o a H ọ c T ự N h i ê n T P H C M
K h o a Đ i ệ n T ử V i ễ n T h ô n g
M á y T í n h v à H ệ T h ố n g N h ú n g
1020005 - 1020145
Đề tài môn học Cơ Sở Dữ Liệu
Trang 2Công tác quản lý điểm, kết quả học tập và truy vấn kết quả học tập của sinh viên đóng vai trò hết sức quan trọng và cần thiết đối với một trường đại học, cao đẳng
Hiện nay, cùng với quá trình hệ thống hóa và tin học hóa văn phòng, công tác tổ chức một hệ quản trị cơ sở dữ liệu điểm thi của sinh viên lại càng cần thiết hơn lúc nào hết
Đáp ứng nhu cầu đó, nhóm đã xây dựng mô phỏng đơn giản một hệ quản trị cơ
sỡ dữ liệu quản lý điểm thi sinh viên dựa trên những yêu cầu thực tế, bằng ngôn ngữ SQL thông qua phần mềm SQL Server 2008 do Microsoft cung cấp
Sinh viên được quản lý thông qua mã số sinh viên (MASV), họ tên sinh viên (HOTENSV), giới tính (NU – bằng 0 nếu là Nam, bằng 1 nếu là Nữ), ngày tháng năm sinh (NGAYSINH), nơi sinh (NOISINH), nơi thường trú tại (TINH) Mỗi sinh viên có một mã
số sinh viên riêng và phân biệt với mỗi sinh viên khác, mã số sinh viên có thể dùng để xác định lớp, khoa, khóa học và số thứ tự sinh viên Mỗi sinh viên đều phải thuộc về một lớp có tại trường
Mỗi lớp đều phải trực thuộc một khoa và có mã lớp (MALOP), tên lớp (TENLOP) riêng biệt Mỗi lớp do một giảng viên giảng dạy
Mỗi khoa được yêu cầu phải có một mã khoa (MAKHOA) và tên khoa (TENKHOA) để phân biệt với các khoa khác trong trường Mỗi khoa có thể có một hoặc nhiều lớp, nhiều giảng viên khác nhau
Mỗi môn học phải có một mã môn học (MAMH), tên môn học (TENMH) Mỗi môn học cũng được quy định số đơn vị học tập (TINCHI) riêng của môn mình
Các giảng viên giảng dạy tại trường được quản lý thông qua mã giảng viên (MAGV), họ tên giảng viên (HOTENGV), học vị (HOCVI), chuyên ngành (CHUYENNGANH) và mỗi giảng viên đều phải trực thuộc một khoa nào đó tại trường Mỗi giảng viên được phân công giảng dạy tại một lớp, mỗi giảng viên có thể dạy nhiều lớp khác nhau
Kết quả học tập của sinh viên được quản lý thông qua mã số sinh viên, mã số môn học, lần thi (LANTHI) và điểm số (DIEM) của lần thi đó
Trang 3Khoa
MAKHOA
MALOP
Lớp
TENLOP
NOISINH
Sinh Viên
MASV
TINH
NGAYSINH
NU
HOTENSV Dựa theo mô tả chung, ta sẽ có tất cả 5 thuộc tính chính cho sơ đồ ER sau:
Lớp
Trang 4Giảng Viên
MAGV
HOTENGV
HOCVI
CHUYENNGANH
TENMH
Môn Học
TINCHI MAMH
Trang 5Kết Quả Sinh Viên Môn Học
Khoa Lớp
Lớp
Phân Công
Trang 7Dựa trên cơ sở sơ đồ ER đã xây dựng trên, ta chuyển các thuộc tính thành bảng
quan hệ sau:
Sau khi thiết lập các thuộc tính và lập bảng quan hệ, chúng ta cần xác định kiểu
dữ liệu cho từng thuộc tính để có thể tạo mô hình trên phần mềm SQL Server 2008 Kiểu dữ liệu được xác định qua bảng sau:
MASV char(7) Kiểu ký tự, có thể chứa số và chữ, không dấu Kích thước 7 ký
tự
HOTENSV nvarchar(25) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 25x2=
50 ký tự
NU char(1) Kiểu ký tự, có thể chứa số và chữ, không dấu Kích thước 1 ký
tự
NGAYSINH date Kiểu ngày tháng, định dạng yyyy-mm-dd Kích thước 3 ký tự NOISINH nvarchar(20) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 20x2=
40 ký tự
Trang 8TINH nvarchar(20) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 20x2=
40 ký tự
MALOP char(7) Kiểu ký tự, có thể chứa số và chữ, không dấu Kích thước 7 ký
tự
TENLOP nvarchar(20) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 20x2=
40 ký tự
MAKHOA char(7) Kiểu ký tự, có thể chứa số và chữ, không dấu Kích thước 7 ký
tự
TENKHOA nvarchar(20) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 20x2=
40 ký tự
MAMH char(7) Kiểu ký tự, có thể chứa số và chữ, không dấu Kích thước 7 ký
tự
TENMH nvarchar(20) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 20x2=
40 ký tự
TINCHI tinyint Kiểu số nguyên, giới hạn 0-255
MAGV char(7) Kiểu ký tự, có thể chứa số và chữ, không dấu Kích thước 7 ký
tự
HOTENGV nvarchar(25) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 25x2=
50 bits
HOCVI nvarchar(10) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 10x2=
20 ký tự CHUYENNGANH nvarchar(20) Kiểu ký tự, có thể chứa số và chữ, có dấu Kích thước 20x2=
40 ký tự
LANTHI tinyint Kiểu số nguyên, giới hạn 0-255
DIEM numeric(4,2) Kiểu số thập phân, gồm 4 chữ số, trong đó 2 số ở phần
nguyên, 2 số ở phần thập phân Kích thước 3 hoặc 4 số
Phần này sẽ tường thuật lại các bước tạo 1 hệ cơ sở dữ liệu mới trong SQL Server 2008, cũng như cách thức tạo các Table và Column
Khởi động phần mềm SQL Server bằng quyền MSSQLSERVER và mở SQL Server Management Studio
Trang 9Tại đây, ta chọn Connect với Server name là admin của máy chủ
Tạo 1 hệ cơ sở dữ liệu Database của riêng mình bằng cách
Click phải chuột vào Database -> chọn New Database -> Đặt tên database rồi nhấp nút
OK để tạo
Trang 10Tạo 1 hệ truy vấn mới
Tại cửa sổ SQLQuery1.sql, ta nhập đoạn code để tạo các bảng, thuộc tính của các bản, thiết lập kiểu dữ liệu, đặt các key…
Kiểm tra lỗi của query vừa tạo bằng nút Execute trên thanh công cụ và xem kết quả
Trang 11Với các lệnh đúng, không gặp phải lỗi, ta sẽ được các database object, có thể quan sát
tại cửa sổ Object Explorer
Trang 12Lưu lại với tên DiemSV_0.sql
Kiểm tra cấu trúc các table bằng cách:
Click phải chuột vào table muốn kiểm tra -> Design -> chọn thuộc tính -> kiểm tra ở cửa sổ Column Properties
Trang 13Kiểm tra mối quan hệ của các thuộc tính qua bảng quan hệ
Click phải chuột vào Database Diagrams -> New Database Diagrams -> Add tất cả các database object -> Kiểm tra quan hệ các thuộc tính
Trang 14Nhập dữ liệu qua lệnh Edit
Click phải chuột vào table muốn nhập dữ liệu -> chọn Edit Top 200 Rows -> Nhập dữ
liệu theo các thuộc tính ở cửa sổ vừa hiện ra
Ví dụ: nhập dữ liệu cho table dbo.Lop, ta click phải chuột vào dòng dbo.Lop tại cửa sổ Object Explorer, 1 cửa sổ có tên gọi DiemSV_0 – dbo.Lop được hiện ra, ta sẽ nhập dữ
liệu tại đây
Trang 15
Lưu ý: dữ liệu mới nhập sẽ được SQL Server tự động lưu
Lưu các database objects, diagrams Hoàn tất việc tạo mô hình quản lý dữ liệu điểm của sinh viên
/*Code seminar “Mo hinh quan ly diem sinh vien”*/
MALOP char ( ) NOT NULL,
TENLOP nvarchar ( 20 ),
MAKHOA char ( ),
constraint PK_Lop_MALOP primary key ( MALOP )
)
MASV char ( ) NOT NULL,
HOTENSV nvarchar ( 25 ) NOT NULL,
NGAYSINH date NOT NULL,
NOISINH nvarchar ( 20 ),
TINH nvarchar ( 20 ),
MALOP char ( ) NOT NULL,
constraint PK_Sinhvien_MASV primary key ( MASV ),
constraint FK_Sinhvien_MALOP foreign key ( MALOP ) references Lop ( MALOP )
)
create table Khoa (
MAKHOA char ( ) NOT NULL,
TENKHOA nvarchar ( 20 ) NOT NULL,
constraint PK_Khoa_MASV primary key ( MAKHOA )
)
MAMH char ( ) NOT NULL,
TINCHI char ( ) NOT NULL,
constraint PK_Monhoc_MAMH primary key ( MAMH )
)
MAGV char ( ) NOT NULL,
HOCVI nvarchar ( 10 ),
CHUYENNGANH nvarchar ( 20 ),
Trang 16)
MASV char ( ) NOT NULL,
MAMH char ( ) NOT NULL,
DIEM numeric (4,2) NOT NULL,
constraint PK_Ketqua_MASV_MAMH_LANTHI primary key ( MASV , MAMH , LANTHI ),
constraint FK_Ketqua_MASV foreign key ( MASV ) references Sinhvien ( MASV ),
constraint FK_Ketqua_MAMH foreign key ( MAMH ) references Monhoc ( MAMH )
)
MALOP char ( ) NOT NULL,
MAMH char ( ) NOT NULL,
MAGV char ( ) NOT NULL,
constraint FK_Phancong_MALOP foreign key ( MALOP ) references Lop ( MALOP ),
constraint FK_Phancong_MAMH foreign key ( MAMH ) references Monhoc ( MAMH ),
constraint FK_Phancong_MAGV foreign key ( MAGV ) references GVien ( MAGV )
)
1 Với mô hình Quản lý điểm sinh viên trên phần mềm SQL Server 2008, người dùng dễ dàng lưu trữ, truy xuất dữ liệu, chỉnh sửa cấu trúc các thuộc tính, nội dung các đối tượng, do đó công tác quản lý điểm, kết quả học tập của sinh viên trở nên thuận tiện, nhanh và chính xác hơn
2 Đề tài môn học đáp ứng được nhu cầu thực tiễn ở các trường đại học, cao đẳng Tuy nhiên cần được chỉnh sửa 1 số chỗ để phù hợp với công tác quản lý của từng trường
3 Trong quá trình tìm hiểu hệ quản trị cơ sở dữ liệu bằng ngôn ngữ SQL qua phần mềm SQL Server 2008, thành viên trong nhóm còn gặp nhiều khó khăn do thiếu tài liệu, cũng như làm quen với tập lệnh của ngôn ngữ SQL, dẫn đến mô hình quản lý được tạo ra chưa thật tối ưu
o Bài giảng môn học Cơ sở dữ liệu – Ths Lê Đức Trị
o Microsoft SQL Server 2008 for Dummies by Mike Chapple