Nhập dữ liệu và thực hành truy vấn với CSDL dự án Quản lý sinh viên

Khóa Thực chiến SQL cùng Kteam - Dự án quản lý sinh viên

5.0 (6 đánh giá)
Tạo bởi K9 Cập nhật lần cuối 20:38 14-07-2019 6.078 lượt xem 42 bình luận
Học nhanh

Danh sách bài học

Nhập dữ liệu và thực hành truy vấn với CSDL dự án Quản lý sinh viên

Dẫn nhập

Ở bài trước, chúng ta đã cùng nhau CÀI ĐẶT CSDL LÊN SQL SERVER. Qua đó mình cũng đã hướng dẫn bạn vẽ lược đồ ER nhanh, cài đặt CSDL bằng giao diện, bằng code và xử lý một số vấn đề khác.

Trong bài này chúng ta sẽ cùng nhau thực chiến với dự án Quản lý sinh viên với phần Nhập dữ liệu và thực hành truy vấn với CSDL dự án Quản lý sinh viên. 

Đừng quên hoàn thành cài đặt database của dự án Quản lý sinh viên lên SQL Server nhé! Chúng ta sẽ thực hành tiếp trên CSDL đó

Chúng ta hãy cùng nhau teamwork, thảo luận và hỗ trợ nhau trong dự án này để giải quyết  bài toán thực tế một cách hoàn chỉnh dưới sự hướng dẫn của anh Kim Long - founder Howkteam nhé! 


Nội dung

Để theo dõi bài này một cách tốt nhất, bạn nên có kiến thức về các phần:

Trong bài này, Kteam sẽ cùng các bạn tìm hiểu các nội dung:

  • Giải quyết câu hỏi của bài trước
  • Hướng dẫn cách nhập liệu trong SQL Server
  • Giải quyết các lỗi sinh ra trong quá trình nhập liệu
  • Phần hướng dẫn truy vấn cơ bản
  • Phân tích các vấn đề thực tế trong truy vấn
  • Phần định hướng bài tập
  • Các phần chia sẻ kinh nghiệm thực tế

Phần mềm sử dụng

Trong khóa học này, chúng ta sẽ học và thực hành trực tiếp với SQL Server. Nếu bạn chưa cài đặt SQL thì có thể xem qua bài 

Bạn cũng có thể sử dụng các phiên bản khác từ 2008 trở lên. (vì không có nhiều khác biệt)


Nhập dữ liệu cho CSDL 

Nhập bộ dữ liệu như sau:

Khoa:

MaKhoa

tenKhoa

namThanhLap

CNTT

Công nghệ thông tin

1995

VL

Vật Lý

1970

Khóa học:

MaKhoaHoc

namBatDau

namKetThuc

K2002

2002

2006

K2003

2003

2007

K2004

2004

2008

SinhVien

MaSV

hoTen

namSinh

danToc

maLop

0212001

Nguyễn Vĩnh An

1984

Kinh

TH2002/01

0212002

Nguyên Thanh Bình

1985

Kinh

TH2002/01

0212003

Nguyễn Thanh Cường

1984

Kinh

TH2002/02

0212004

Nguyễn Quốc Duy

1983

Kinh

TH2002/02

0311001

Phan Tuấn Anh

1985

Kinh

VL2003/01

0311002

Huỳnh Thanh Sang

1984

Kinh

VL2003/01

ChuongTrinh

MaCT

tenChuongTrinh

CQ

Chính Qui

MonHoc

MaMH

tenMonHoc

maKhoa

THT01

Toán Cao cấp A1

CNTT

VLT01

Toán cao cấp A1

VL

THT02

Toán rời rạc

CNTT

THCS01

Cấu trúc dữ liệu 1

CNTT

THCS02

Hệ điều hành

CNTT

KetQua

maSV

maMH

lanThi

diem

0212001

THT01

1

4

0212001

THT01

2

7

0212002

THT01

1

8

0212003

THT01

1

6

0212004

THT01

1

9

0212001

THT02

1

8

0212002

THT02

1

5.5

0212003

THT02

1

4

0212003

THT02

2

6

0212001

THCS01

1

6.5

0212002

THCS01

1

4

0212003

THCS01

1

7

GiangKhoa

maCT

maKhoa

maMH

namHoc

hocKy

soTietLyThuyet

soTietThucHanh

soTinChi

CQ

CNTT

THT01

2003

1

60

30

5

CQ

CNTT

THT02

2003

2

45

30

4

CQ

CNTT

THCS01

2004

1

45

30

4

Lop

MaLop

maKhoaHoc

maKhoa

maCT

soThuTu

TH2002/01

K2002

CNTT

CQ

1

TH2002/02

K2002

CNTT

CQ

2

VL2003/01

K2003

VL

CQ

1


Truy vấn đơn giản

Hướng dẫn trong buổi học

Source code mẫu của phần này sẽ được cập nhập sau khi khóa livestream kết thúc.

Viết các câu truy vấn sau :

  1. Danh sách các sinh viên khoa “Công nghệ Thông tin” khoá 2002-2006
  2. Cho biết các thông tin (MSSV, họ tên ,năm sinh) của các sinh viên học sớm hơn tuổi quy định (theo tuổi quy định thi sinh viên đủ 18 tuổi khi bắt đầu khóa học)
  3. Cho biết sinh viên khoa CNTT, khoá 2002-2006 chưa học môn cấu trúc dữ liệu 1

Bài tập về nhà

  1. Cho biết sinh viên thi không đậu (Diem <5) môn cấu trúc dữ liệu 1 nhưng chưa thi lại. 
  2. Với mỗi lớp thuộc khoa CNTT, cho biết mã lớp, mã khóa học, tên chương trình và số sinh viên thuộc lớp đó 
  3. Cho biết điểm trung bình của sinh viên có mã số 0212003 (điểm trung bình chỉ tính trên lần thi sau cùng của sinh viên) 

Khảo sát buổi học

Hôm nay chúng ta đã hoàn buổi 3 của khóa THỰC CHIẾN SQL VỚI KTEAM - DỰ ÁN QUẢN LÝ SINH VIÊN
Đây là bài khảo sát ngắn sau mỗi bài học, nhằm giúp Kteam đánh giá hiệu quả truyền tải của khóa học và hỗ trợ bạn các giải đáp các câu hỏi, kiến thức được đề cập đến trong bài.

KHẢO SÁT BÀI NHẬP DỮ LIỆU VÀ THỰC HÀNH TRUY VẤN CƠ BẢN

Vui lòng giúp Kteam hoàn thành khảo sát để nhận được email theo dõi tiến độ cùng source code bài hôm nay, học liệu bài mới và đường dẫn tham gia khóa học mỗi ngày nhé! 


Kết

Trong bài này, chúng ta đã cùng nhau nhập dữ liệu cho CSDL trên SQL và giải quyết một số truy vấn cơ bản của dự án quản lý sinh viên. Buổi học đã được diễn ra vào lúc 20h ngày 12/07/2019 tại phần trình chiếu của bài Nhập dữ liệu và thực hành truy vấn với CSDL dự án Quản lý sinh viên trên Howkteam.com

Lưu ý: Sau bài học, Kteam sẽ gửi mail Khảo sát & giải đáp câu hỏi đến mail đã đăng ký của các bạn. Hoàn thành mail trước buổi học tiếp theo để xác nhận đã tham gia buổi học và đăng ký nhận đường dẫn kèm học liệu cho buổi học tiếp theo.

Ở bài sau, chúng ta sẽ tìm hiểu về FUNCTIONS TRONG DỰ ÁN QUẢN LÝ SINH VIÊN

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó” 


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả/Dịch giả

K9

Nhà sáng lập Howkteam.com & tác giả các khóa học C#, Auto, Unity3D, Python....

Với mong muốn mang đến kiến thức chất lượng, miễn phí cho mọi người, với tâm huyết phá bỏ rào cản kiến thức từ việc giáo dục thu phí. Tôi đã cùng đội ngũ Kteam đã lập nên trang website này để thế giới phẳng hơn.
Hãy cùng chúng tôi lan tỏa kiến thức đến cộng đồng! 

Khóa học

Khóa Thực chiến SQL cùng Kteam - Dự án quản lý sinh viên

sql, kteam, howkteam,cơ sở dữ liệu, bài tập cơ sở dữ liệu

Trong các khóa học SỬ DỤNG SQL SERVER PHÂN TÍCH THIẾT KẾ PHẦN MỀM, Kteam đã đề cập đến các kiến thức cần thiết để bạn có thể bắt đầu xây dựng một cơ sở dữ liệu với SQL server và truy vấn qua CSDL đó.

Ở combo Thực chiến SQL, chúng ta sẽ cùng nhau phân tích các CSDL đó từ đặc tả và ứng dụng các kiến thức đã học ở hai khóa trên vào việc giải quyết các yêu cầu thực tế của một CSDL. Trong bộ khóa học này các bạn sẽ đi qua các kiến thức từ cơ bản đến nâng cao qua các dự án khác nhau.

Nào! Chúng ta sẽ cùng nhau tìm hiểu dự án đầu tiên THỰC CHIẾN SQL CÙNG DỰ ÁN QUẢN LÝ SINH VIÊN

Đánh giá

thinhpham đã đánh giá 01:36 10-08-2019

ngocdungduong đã đánh giá 16:46 26-07-2019

kimphuc.pleiku đã đánh giá 23:14 12-07-2019

anh chia sẻ mấy cái hay quá xá, sau này anh có dạy offline ở đâu thì quay lại cho em xem lại với, chứ em thì chắc không bao giờ tới được chỗ a rồi :D

Đỗ Thông đã đánh giá 22:29 12-07-2019

kingkcode đã đánh giá 19:58 12-07-2019

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Tuan Vo đã bình luận 01:47 22-03-2020

câu 3.

SELECT  * FROM dbo.SinhVien
LEFT JOIN dbo.Lop on  dbo.Lop.MaLop =  dbo.SinhVien.MaLop
LEFT JOIN dbo.Khoa ON  dbo.Khoa.MaKhoa =  dbo.Lop.MaKhoa
WHERE dbo.Khoa.MaKhoa = 'CNTT'
AND  dbo.Lop.MaKhoaHoc='K2002'
AND  dbo.SinhVien.MaSV NOT IN (
			SELECT dbo.SinhVien.MaSV FROM dbo.SinhVien
			LEFT JOIN dbo.Lop on  dbo.Lop.MaLop =  dbo.SinhVien.MaLop
			LEFT JOIN dbo.Khoa ON  dbo.Khoa.MaKhoa =  dbo.Lop.MaKhoa
			LEFT JOIN dbo.KetQua ON KetQua.MaSV = SinhVien.MaSV		
			WHERE dbo.Khoa.MaKhoa = 'CNTT'
			AND  dbo.Lop.MaKhoaHoc='K2002'
			AND  MaMH = 'CTDL'
)

 

trucnguyfb đã bình luận 22:09 14-12-2019

Câu số 3 mình thấy có học sinh Nguyễn Văn Duy chưa học môn Cấu Trúc Dữ Liệu nên việc truy vấn phải ra kết quả này. Nghiên cứu thì thấy ta phải liên hệ đến bảng kết quả, chưa học cũng có thể được xem là ko có điểm thi nên thực hiện truy vấn lồng như sau:

SELECT * FROM SINHVIEN SV LEFT JOIN LOP L
ON L.MALOP = SV.MALOP LEFT JOIN KHOAHOC KH
ON KH.MAKHOAHOC = L.MAKHOAHOC LEFT JOIN KHOA K
ON K.MAKHOA = L.MAKHOA LEFT JOIN MONHOC MH
ON MH.MAKHOA = K.MAKHOA JOIN KETQUA KQ
ON KQ.MAMH = MH.MAMH AND KQ.MASV = SV.MASV
WHERE NAMBATDAU = 2002 
AND NAMKETTHUC = 2006
AND NOT EXISTS (SELECT DISTINCT * FROM KETQUA KQ
WHERE SV.MASV = KQ.MASV AND KQ.MAMH = 'THCS01')

hiếuđặng đã bình luận 15:10 25-09-2019

em có 1 table về HOCSINH

trong table  đó có nhiều dòng  và mỗi dòng có tên hs, mã số, ..... năm học khác nhau .

giờ e muốn xóa những học sinh thuộc năm học 2017. thì dùng câu lệnh gì ạ 

 

 

ngô văn quang đã bình luận 14:22 22-09-2019

tạo liên kết trước khi nhập liệu hay sao anh

Nguyễn Thị Huyền Chi đã bình luận 23:05 24-08-2019

Câu 3: Một sinh viên học khoa đó nhưng không nhất thiết phải học môn cấu trúc dữ liệu 1 ? Nếu xét là đã học thì phải xét trên bảng kết quả chứ ??

Không có video.