30/09/2018, 16:03

Hướng dẫn làm bài tập hệ quản trị cơ sở dữ liệu

Xin chào mọi người mình có chút bài tập hệ quản trị cơ sở dữ liệu ,mong mọi người có thể giải đáp cho mình với nhé !

vì mình không upload được file nên mình copy paste vậy mọi người thông cảm nhé !
giúp mình gỡ rối với vì minh đang tự học nên cần ý tưởng tham khảo để có kinh nghiêm cho các bài kế tiếp…

Hãy tạo 1 CSDL gồm 4 bảng sau:
SinhVien(MaSV, TenSV, MaLop, NamSinh, GioiTinh) {Sinh viên}
Monhoc(MaMon, TenMon, SoTinChi) {Môn học}
DangKy(MaSV, Mamon, HocKy) {Đăng ký}
Lop(Malop, Tenlop, SoSV) {Lớp}
PHẦN I: FUNCTION
Bài 1. Hãy viết một Function để tách tên của sinh viên từ Họ và tên (giả sử cột TenSV đang lưu
Họ và tên của SV). Sau đó sử dụng hàm đó để viết 1 câu truy vấn liệt kê danh sách Sinh viên của
lớp có tên là ‘TTD56’ được sắp xếp theo thứ tự alphabet của Tên sinh viên.
Bài 2. Hãy viết 1 hàm để tính tuổi của 1 người dựa vào năm sinh. Sau đó sử dụng hàm đó hãy
viết 1 câu truy vấn để liệt kê danh sách các Sinh viên (MaSV, TenSV, Tuoi, Gioitinh) của các
sinh viên đăng ký học môn có mã là ‘MH001’ ở kỳ 3.
Bài 5. Hãy thêm 1 bảng mới có cấu trúc như sau: Thong_Ke(MaSV, Nam1, Nam2, Nam3, Nam4,
Nam5, Tong) để lưu lại thống kê về số lượng tín chỉ mà từng SV đã đăng ký theo từng năm và
tổng số tín chỉ đăng ký (Trong đó: Cột Nam1 sẽ lưu tổng số tín chỉ đã đăng ký trong năm học thứ
1, . . ., cột Tong sẽ lưu tổng số tín chỉ đã đăng ký đến thời điểm hiện nay). Hãy viết 1 stored
procedure để Insert dữ liệu vào cho bảng này.
Bài 3. Xét bài số 5 ở ở trên : insert dữ liệu cho bảng Thong_Ke(MaSV,
Nam1, Nam2, Nam3, Nam4, Nam5, Tong). Hãy viết 1 hàm với tham số đầu vào là (MaSV, Nam)
để tính tổng số tín chỉ mà sinh viên đó đã đăng ký trong năm tương ứng. Sau đó sử dụng hàm này
để Insert dữ liệu cho bảng trên chỉ bằng 1 câu truy vấn.
PHẦN I: TRIGGER
Bài 1. Hãy viết một Trigger để đưa ra câu thông báo khi Xóa 1 bản ghi khỏi bảng Monhoc
Bài 2. Hãy viết trigger để tự động kiểm tra khi Insert một bản ghi vào bảng Dangky nếu
Hocky>10 hoặc <0 thì không được phép Insert (dùng lệnh ROLLBACK TRAN)
Bài 3. Hãy viết trigger để tự động kiểm tra khi Insert một bản ghi vào bảng Dangky nếu Mã môn
học không có trong bảng Monhoc thì không được phép Insert (dùng lệnh ROLLBACK TRAN)
Bài 4. Hãy viết trigger để tự động kiểm tra khi Delete một bản ghi ở bảng Monhoc, nếu Môn học
đó đã được Sinh viên đăng ký thì không được phép Delete (dùng lệnh ROLLBACK TRAN)
Bài 5. Hãy viết trigger để tự động xóa tất cả Sinh viên của 1 lớp khi Delete một bản ghi ở bảng
Lop tương ứng với lớp đó.
Bài 6. Hãy viết trigger để tự động cập nhật lại Mã lớp của tất cả Sinh viên của 1 lớp khi Update
lại mã lớp của bản ghi tương ứng với lớp đó ở bảng Lop.
Bài 7. Hãy viết trigger để tự động cập nhật lại Số SV (cộng thêm 1) của 1 lớp ở bảng Lớp khi
thêm 1 sinh viên của lớp đó vào bảng Sinhvien. Tương tự viết Trigger cho trường hợp xóa 1 SV
khỏi bảng Sinhvien.
thank cả nhà

vanhop viết 18:03 ngày 30/09/2018

@ltd @tuancoi2506 các anh giúp em với nhé !!! thank ạk

Phạm Hoàng Tuấn viết 18:16 ngày 30/09/2018

em có thẻ tạo bảng và dữ liệu mẫu trước không em. Vậy sẽ nhanh hơn đó em.

vanhop viết 18:17 ngày 30/09/2018

em tạo rồi ak giờ xuất ra post len ha anh

Đỗ Trung Quân viết 18:15 ngày 30/09/2018

Đây là trang web cơ bản cho những ai muốn học SQL
http://www.w3schools.com/sql/

vanhop viết 18:19 ngày 30/09/2018

đây anh ơi cái này nhìn trực quan chưa anh

Phạm Hoàng Tuấn viết 18:08 ngày 30/09/2018

e taoj file script hay file .bak rồi đưa lên e

Nguyễn Minh Dũng viết 18:13 ngày 30/09/2018

Hi @vanhop, câu hỏi của em dài quá, em tách ra thành từng phần nhỏ để hỏi. Em post cả bài tập lên thế kia khó mà giải hết cùng một lúc được.

Trong diễn đàn cũng có nhiều bạn đi làm (giống anh và @tuancoi2506 và nhiều người khác nữa). Em có thể chờ đến tối hoặc bạn nào có thời gian sẽ giúp em. Mà hôm nay anh bận tí

vanhop viết 18:13 ngày 30/09/2018

a đợi em chút ! em khong upload lên được

vanhop viết 18:18 ngày 30/09/2018

vâng em ! em post bai lên làm dần anh ak hj

vanhop viết 18:15 ngày 30/09/2018

a ơi sao phần upload các file lên diễn đàn khó và chọn lọc thế ak : vd nhu file pdf và word không tải len được

Nguyễn Minh Dũng viết 18:07 ngày 30/09/2018

Hiện anh chỉ hỗ trợ các định dạng file hình ảnh thôi. Các định dạng file khac em up lên host ở ngoài như mediafire, dropbox, … Vì upload các định dạng file khác sẽ chiếm hết dung lượng lưu trữ của diễn đàn.

vanhop viết 18:05 ngày 30/09/2018

em chưa uploat lên được ak , vì em xuất ra word mà không up lên được đang đổi dduoi để tải lên

Nguyễn Minh Dũng viết 18:15 ngày 30/09/2018

Bây giờ em nên phân tích bài tập của em thành nhiều câu hỏi nhỏ, rồi em đặt câu hỏi để đó. Buổi tối sẽ có người vào xem cho em. Hơn là em đặt một câu hỏi bài tập mà không có cho biết em đã làm gì, em muốn làm gì, và em sẽ làm gì.

vanhop viết 18:12 ngày 30/09/2018

anh ơi link fshare đây ạ http://www.fshare.vn/file/T2184HZK5E/

vanhop viết 18:03 ngày 30/09/2018

em muốn hỏi câu 1 ấy muốn viết 1 function tách tên sinh viên thì phải làm cách nào ạ !
em ngĩ nên dung hàm right trong sql nhưng chưa biết diễ đạt ý tương như thế nào

vanhop viết 18:14 ngày 30/09/2018

vấn đề của em nằm ở câu 1 chưa biết phải đi thế nào ?
muốn tách tên sinh viên thì dùng hàm cắt chuổi bên phải nhưng cắt thế nào em vẫn chưa áp dụng được

Phạm Hoàng Tuấn viết 18:06 ngày 30/09/2018

có j trưa gỉ giữa giờ a giúp nhé e, h a đang bận tý

vanhop viết 18:17 ngày 30/09/2018

vâng buye anh nhé !!! hi

HaNguyen Blender viết 18:08 ngày 30/09/2018

Mình nghĩ bn nên đọc cái notice ở cuối trang này trước. Phần lớn những người có thể giải đáp cho bạn thì họ đã đi làm, không có nhiều thời gian. Mình nghĩ bạn nên đưa ra một vấn đề thảo luận thì tốt hơn là hỏi cách làm bài tập

Phạm Hoàng Tuấn viết 18:13 ngày 30/09/2018

SCRIPT CỦA E POST LÊN KHÔNG CÓ DỮ LIỆU E ƠI. E INSERT VÀO 1 ÍT ĐỂ DỄ TEST HƠN

Bài liên quan
0