Tải bản đầy đủ (.doc) (26 trang)

Truy vấn cơ sở dữ liệu quản lý điểm của sinh viên trên Access

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (873.77 KB, 26 trang )

Mục lục
Mục lục.................................................................................................................................... 1
Truy vấn cơ sở dữ liệu quản lý điểm của sinh viên trên Access..............................................3
Bước 1: Đặt bài toán............................................................................................................... 3
1.1 Mô tả bài toán................................................................................................................ 3
1.2Các truy vấn thực hiện:...................................................................................................3
Bước 2 : Xây dựng mô hình thực thể liên kết ER....................................................................3
2.1 Xác định các thực thể và thuộc tính của chúng.............................................................3
2.2 Xác định các liên kết......................................................................................................4
................................................................................................................................................ 5
Bước 3: Chuyển đổi ra mô hình quan hệ................................................................................6
4.1 Thao tác tạo CSDL trên access.....................................................................................9
4.2 Tạo bảng dữ liệu trên ACCESS...................................................................................11
4.4 Nhập dữ liệu:............................................................................................................... 12
4.5 Thực hiện truy vấn:......................................................................................................14
Bước 5: Truy vấn trong hệ quản trị CSDL đó ( dùng ĐSQH và ngôn ngữ SQL)....................22

1


Lời mở đầu

Hiện nay với sự phát triển không ngừng của công nghệ thông tin, cơ sở
dữ liệu ngày càng quan trọng trong cuộc sống. Để có thể tạo ra và phát triển một
chương trình quản lý điểm hoàn hảo, khắc phục đến mức thấp nhất các nhược
điểm, khai thác tối đa các ưu điểm của chương trình đó là việc rất khó khăn do
đó chúng ta cần đến cơ sở dữ liệu để lưu trữ và truy xuất. Một hệ thống quản lý
điểm trong các trường học hiện nay tỏ ra rất quan trọng. Để quản lý điểm trong
một trường từ trước đến nay phải quản lý trên giấy tờ nên có nhiều hạn chế.
Những thông tin về điểm của sinh viên luôn thay đổi từng năm, điều đó thật là
khó và rất dễ sai sót cũng như thất lạc những giấy tờ liên quan.


Với xu thế hội nhập như hiện nay thì trình trạng làm việc thủ công như
vậy phải loại bỏ gấp, nếu không dẫn đến tình trạng lạc hậu cũng như không đi
kịp với xu thế của thời đại.
Vì thế, một xu hướng cho việc quản lý điểm trong các trường học hiện
nay là dùng các hệ thống cơ sở dữ liệu để tin học hóa công việc. Điều này sẽ
giúp bạn lấy thông tin một cách nhanh chóng, chính xác và tránh nhầm lẫn.
Rất mong nhận được những ý kiến đóng góp của quý thầy cô và các bạn.
Chúng tôi xin cảm ơn giảng viên Nghiêm Thị Lịch đã hướng dẫn chúng
tôi hoàn thành đề tài này

2


Nội dung
Truy vấn cơ sở dữ liệu quản lý điểm của sinh viên trên Access
Bước 1: Đặt bài toán
1.1 Mô tả bài toán

Một lớp hành chính có nhiều sinh viên
 Mỗi sinh viên có một mã nhân viên, Họ tên, Ngày sinh, Giới tính
 Nhiều sinh viên có thể cùng thuộc một lớp hành chính
 Sinh viên sẽ theo học các lớp học phần. Mỗi lớp học phần có một mã
số( duy nhất), Tên học phần, Số tín chỉ, Giảng viên giảng dạy
 Khi các sinh viên thi hết học phần, điểm sẽ được thống kê vào bảng
điểm này
 Bảng điểm này sẽ bao gồm: Mã lớp học phần, Điểm quá trình trên lớp,
Điểm thi
1.2 Các truy vấn thực hiện:

Câu 1: Đưa ra thông tin của sinh viên thuộc lớp hành chính 50S2

Câu 2: Đưa ra thông tin của sinh viên học học phần mã 1607
Câu 3: Thông kê số sinh viên có điểm quá trình=8 và học lớp hành chính
50S2
Câu 4: Đưa ra họ tên của sinh viên có điểm thi >5 và mã học phần 1607
Câu 5: Đưa ra họ tên của sinh viên có điểm thi cao nhất và mã học phần
1607
Câu 6: Đưa ra số sinh viên lớp hành chính 50S2 và mã học phần 1607
Câu 7: Thống kê điểm thi trung bình của học phần mã 1607
Câu 8: Với mỗi lớp hành chính hãy thống kê số sinh viên có điểm thi >5
và học phần mã 1607

Bước 2 : Xây dựng mô hình thực thể liên kết ER
2.1 Xác định các thực thể và thuộc tính của chúng
SINHVIEN (MaSV, Hoten, MaLHC, NgS, GT)
LHC (MaLHC, Khoa)
3


LHP (MaLHP, TenHP, SoTC, GV)
DIEM (MaLHP, Diemqt, Diemthi)
2.2 Xác định các liên kết
SINHVIEN

SINHVIEN

DIEM

(n, 1)

(1, n)


(n, 1)

Thuộc



Của

4

(n, 1)

LHC

(1, n)

(n, 1)

DIEM

LHP


2.3 Xác định mô hình liên kết

Trên cơ sở thiết lập các mối liên kết và mối liên hệ giữa các thực thể ở trên,
chúng ta tiến hành xây dựng mô hình thực thể liên kết cho cơ sở dữ liệu quản lý
điểm
MaLHC


Khoa

LHC

MaLHC

MaSV

NgS

GT
Thuộc

HoTen
SINHVIEN

MaLHP
Diemqt



Diemthi

DIEM
TenHP
MaLHP
GV

Của


SoTC

LHP

5


Bước 3: Chuyển đổi ra mô hình quan hệ
Chuyển đổi mối quan hệ “một – nhiều”
Quy tắc : Đưa khóa chính của bảng phía 1 sang làm khóa ngoại của bảng phía
nhiều.
 SINHVIEN - THUỘC - LHC: Mỗi sinh viên thuộc ít nhất 1 lớp hành
chính và nhiều nhất 1 lớp hành chính. Mỗi lớp hành chính có ít nhất 1
sinh viên và nhiều nhất là N sinh viên.
Cách chuyển : thêm khóa “ MaLHC” vào bảng “ SINHVIEN”

NgS

MaSV
MaLHC

SINHVIEN

Khoa

HoTen

MaLHC


LHC

Thuộc
(n,1)

(n,1)
SINHVIEN
MaSV

HoTen

LHC
MaLHC

….

MaLHC

6

Khoa


SINHVIEN - CÓ - DIEM: Mỗi sinh viên có ít nhất 1 điểm và nhiều nhất N
điểm của N học phần. Điểm ít nhất cho 1 sinh viên của 1 học phần, 1 học phần
nhiều nhất 1 điểm cho 1 sinh viên
Cách chuyển : thêm khóa “ MaSV” vào bảng “ DIEM”

Diemqt


MaSV

NgS

HoTen

Diemthi

MaLHP

MaLHC

SINHVIEN

(1,n)

(1,n)
SINHVIEN
MaSV

HoTen

DIEM


DIEM

….

MaLHP


7

Diemqt

MaSV

….


 DIEM – CỦA - LHP: Mỗi sinh viên thuộc ít nhất 1 lớp hành chính và
nhiều nhất 1 lớp hành chính. Mỗi lớp hành chính có ít nhất 1 sinh viên và
nhiều nhất là N sinh viên.
Cách chuyển : thêm khóa “ MaLHC” vào bảng “ SINHVIEN”

Diemt
hi

Diemqt

TenHP

SoTC

MaLHP

MaSV

MaLHP


GV

DIEM

LHP

Của
(1,n)

(1,n)
SINHVIEN
MaSV

Diemqt

LHC
MaSV

Diemthi

8

MaLHP

TenHP

MaSV


Bước 4: Tạo lập CSDL trên Hệ quản trị CSDL ACCESS


Sử dụng Hệ Quản Trị Cơ Sở Dữ Liệu Access 2010 thiết kế cơ sở dữ liệu.
4.1 Thao tác tạo CSDL trên access

Mở Access hiện giao diện

Chọn “Blank database”

Nhấn Ctrl-S để lưu và đổi tên bảng

9


Đổi tên bảng thành “SINHVIEN” ta được bảng sau:

10


4.2 Tạo bảng dữ liệu trên ACCESS

Chọn design view
Thêm vào các trường ở cột “field name”, “data type” và “description” ta
được các bảng:
1. SINHVIEN

2. LHC

3. LHP

4. DIEM


11


4.3 Tạo quan hệ trong access

Tắt hết tất cả các table đang bật
Chọn “Database Tools” rồi chọn “reationships”

Chọn tất cả các bảng rồi liên kết các bảng

4.4 Nhập dữ liệu:



SINHVIEN

12




LHC



LHP




DIEM

13


4.5 Thực hiện truy vấn:

Truy vấn sử dụng Query trong CSDL Access 2010.
Câu 1: Đưa ra thông tin của sinh viên thuộc lớp hành chính 50S2 và có
giới tính nữ
Cách làm trên access:
B1: tạo các bảng cần thiết cho việc quản lý điểm sinh viên như trên
B2: chọn “Create” chọn “Query Design” rồi chọn bảng cần thiết cho quá
trình truy vấn ( bảng SINHVIEN)

Sau khi chọn xong đóng cửa sổ “show table”
B3: Ở dòng “Field”, “Table” ta chọn các thuộc tính tương ứng
B4: điều kiện truy vấn: sinh viên có MaLHC=”50S2” và GT=”Nữ”
Tại dòng Criteria của cột “MaLHC” gõ cú pháp ”50S2”
Tại dòng Criteria của cột “GT” gõ cú pháp: “Nữ”
14


B5: Chọn Run



Kết quả truy vấn:

Câu 2: Đưa ra thông tin của sinh viên học học phần mã 1607

Thực hiện trong access:
15


Thực hiện các như câu trên:



Kết quả truy vấn:

16


Câu 3: Thống kê số sinh viên có điểm quá trình = 8 và lớp hành chính 50S2
Thực hiện trong access:
Thực hiện các như câu trên:



Kết quả truy vấn:

17


Câu 4: Đưa ra họ tên của sinh viên có điểm thi >5 và mã học phần 1607
Thực hiện trong access:
Thực hiện các như câu trên:




Kết quả truy vấn:

18


Câu 5: Đưa ra họ tên của sinh viên có điểm thi cao nhất và mã học phần
1607



Kết quả truy vấn:

Câu 6: Đưa ra số sinh viên lớp hành chính 50S2 và mã học phần 1607
Thực hiện trong access:
Thực hiện các bước như câu trên:

19




Kết quả truy vấn:

Câu 7: Thống kê điểm thi trung bình của học phần mã 1607
Thực hiện trong access:
Thực hiện các như câu trên:



Kết quả truy vấn:


20


Câu 8: Với mỗi lớp hành chính hãy thống kê số sinh viên có điểm thi >5
và học phần mã 1607
Thực hiện trong access:
Thực hiện các như câu 1:



Kết quả truy vấn:

21


Bước 5: Truy vấn trong hệ quản trị CSDL đó ( dùng ĐSQH và ngôn ngữ
SQL)
Câu 1: Đưa ra thông tin của sinh viên thuộc lớp hành chính 50S2 và giới tính nữ

SELECT *
FROM SINHVIEN
WHERE MaLHC=”50S2” AND GT = “ Nữ “ AND
LHC.MaSV=SINHVIEN.MaSV;
Câu 2: Đưa ra thông tin của sinh viên học học phần mã 1607

SELECT MaSV, Hoten, MaLHC, NgS, GT
FROM

DIEM , SINH VIEN


WHERE Ma LHP = “ 1607 “ AND DIEM.MaSV = SINH VIEN.MaSV;
Câu 3: Thông kê số sinh viên có điểm quá trình=8 và học lớp hành chính 50S2
)

SELECT COUNT ( Ma SV ) as So SV
FROM

DIEM , SINH VIEN

WHERE Diemqt=8 AND MaLHC = “ 50S2 “ AND DIEM.MaSV =
SINHVIEN.MaSV;
Câu 4: Đưa ra họ tên của sinh viên có điểm thi >5 và mã học phần 1607
)
SELECT Hoten
22


FROM

SINHVIEN, DIEM

WHERE Diemthi > 5 AND MaLHP = “1607 “ AND DIEM.MaSV =
SINHVIEN.MaSV;
Câu 5: Đưa ra họ tên của sinh viên có điểm thi cao nhất và mã học phần 1607

SELECT Hoten, MAX(Diemthi)
FROM

SINHVIEN, DIEM


WHERE Diemthi = (SELECT MAX(Diemthi) FROM DIEM WHERE
MaLHP=1607) AND DIEM.MaSV = SINHVIEN.MaSV;
Câu 6: Đưa ra số sinh viên lớp hành chính 50S2 và mã học phần 1607
)

SELECT COUNT(MaSV), MaLHC, MaLHP
FROM

DIEM, SINH VIEN

WHERE MaLHC = “ 50S2 “ AND MaLHP = “ 1607 “ AND DIEM.MaSV =
SINHVIEN.MaSV ;
Câu 7: Thống kê điểm thi trung bình của học phần mã 1607
)

SELECT AVG(Diemthi)
FROM DIEM
WHERE MaLHP =1607;
23


24


Câu 8: Với mỗi lớp hành chính hãy thống kê số sinh viên có điểm thi >5 và học
phần mã 1607

)


SELECT COUNT (MaSV) as SoSV
FROM

DIEM, SINH VIEN

WHERE Diemthi > 5 AND MaLHP “ 1607 “ AND DIEM.MaSV =
SINHVIEN.MaSV
GROUP BY MaLHC;

25


×