Ràng buộc trong CSDL Quản lý sinh viên với SQL Server - Phần 2

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

5.0 (3 đánh giá)
Tạo bởi K9 Cập nhật lần cuối 11:29 17-07-2019 24.669 lượt xem 1 bình luận
Học nhanh

Danh sách bài học

Ràng buộc trong CSDL Quản lý sinh viên với SQL Server - Phần 2

Yêu cầu cần có

Để bắt đầu việc tham gia khóa học, hãy đảm bảo bạn đã có các yêu cầu sau:

  1.  Có tài khoản trên website Howkteam.com để xem tài liệu & truy cập livestream hướng dẫn.
  2.  Có CÀI ĐẶT PHẦN MỀM SQL SERVER.
  3.  Đã tham gia group facebook CỘNG ĐỒNG HỎI ĐÁP KTEAM để có thể trao đổi các vấn đề liên quan trọng bài học với cộng đồng.

Lịch trình khóa học

Thời gian học: 20h ngày 17/07/2019

Mỗi buổi học sẽ diễn ra từ 1 - 2h nhằm đảm bảo lượng kiến thức bạn tiếp thu được tốt nhất. Có thể nắm bắt, hiểu sâu và tự giải quyết các vấn đề tương tự. 

Trong đó mỗi buổi học tương ứng 100%: 

  • 30% thời gian đầu tiên: Giải quyết bài tập của bài trước, giải quyết câu hỏi của các bạn về bài tập đó. (nếu có)
  • 10% thời gian tiếp theo: Tổng quan kiến thức đã học ở bài trước, giới thiệu kiến thức sẽ áp dụng tại bài này.
  • 30% thời gian tiếp theo: Đi vào nội dung bài mới.
  • 20% thời gian tiếp theo: Trao đổi thảo luận các câu hỏi của các bạn về bài học mới.
  • 10% thời gian cuối cùng: Bài tập + định hướng cách giải. 

Hình thức học 

  • Các bạn truy cập Khóa học thực chiến SQL  trên web  Howkteam.com  để xem nội dung buổi học 15 phút trước livestream. (yêu cầu có tài khoản user)
  • Trong thời gian công chiếu, bạn có thể đặt câu hỏi LIÊN QUAN ĐẾN KIẾN THỨC VÀ NỘI DUNG KHÓA HỌC trong phần bình luận của bài viết hoặc phần livestream. (Vào các thời gian thảo luận &  giải đáp người hướng dẫn sẽ giải đáp và cùng thảo luận với các bạn về các câu hỏi đó)
  • Ngoài ra, bạn có thể tham gia bình luận để giải đáp cho các thành viên đó, nếu phần kiến thức được hỏi nằm trong hiểu biết của bạn. Kteam luôn khuyến khích sự hỗ trợ từ cộng đồng đến với mọi người.
  • Khóa học thực chiến SQL sẽ chia thành nhiều phần, với mỗi phần tương ứng một bài tập lớn diễn ra trong vòng 5 - 7 ngày liên tiếp nhau vào các khung giờ cố định.

Khảo sát khóa học

Như đã thông báo trong khảo sát trước, nhằm đánh giá & xác định chất lượng kiến thức truyền tải, Kteam sẽ tiến hành khảo sát với các thành viên trong khóa học này. Hy vọng nhận được sự hỗ trợ từ các bạn tham gia khóa học. 

  • Cụ thể, sau mỗi buổi học bạn sẽ nhận được file khảo sát để xem xét mức độ hiểu bài & giải đáp những thắc mắc mà bạn còn chưa kịp hỏi hoặc chưa được trả lời trong quá trình công chiếu vì thời gian giới hạn. 
  • Các thành viên hoàn thành file khảo sát sau buổi học, sẽ nhận mail thông báo về livestream tiếp theo qua email cũng như nhận được sự giám sát tiến độ và đảm bảo kết quả sau khóa học. 

Kết

Trong bài này,chúng ta đã tìm hiểu về Ràng buộc trong dự án quản lý sinh viên. Buổi học đã được diễn ra vào lúc 20h ngày 17/07/2019 tại phần trình chiếu của bài  Ràng buộc trong dự án quản lý sinh viên - phần 2 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ỔNG KẾT KHÓA & GIẢI ĐÁP THẮC MẮC

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á

Dofy_7 đã đánh giá 21:52 07-09-2019

Rõ ràng, dễ hiểu.

Phạm Tấn Thành Moderator đã đánh giá 14:01 18-07-2019

Ràng buộc trong CSDL Quản lý sinh viên

Boodaica đã đánh giá 21:59 17-07-2019

Rất tốt

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
linhbeo228 đã bình luận 12:49 17-07-2019
USE QuanLySinhVien
GO

-- 1. Mã chương trình trong Chương trình học chỉ 
-- có thể là 'CQ', 'CD' hoặc 'TC'
ALTER TABLE dbo.ChuongTrinhHoc
ADD CONSTRAINT check_mact
CHECK (MaCT IN ('CQ', 'CD', 'TC'))
GO

CREATE TRIGGER UTG_MaCT ON ChuongTrinhHoc
    FOR INSERT, UPDATE
AS
    BEGIN
        IF EXISTS ( SELECT  *
                    FROM    Inserted
                    WHERE   MaCT NOT IN ( 'CQ', 'CD', 'TC' ) )
            BEGIN
                RAISERROR(N'Mã chương trình không hợp lệ', 16, 1)
                ROLLBACK TRAN
            END
    END
GO

-- 2. Học kì trong Giảng khoa chỉ có thể là 'HK1' hoặc 'HK2'
-- Chịu :D

-- 3. Số tiết lý thuyết trong Giảng khoa tối đa là 120
ALTER TABLE dbo.GiangKhoa
ADD CONSTRAINT check_stlt
CHECK (STLT <= 120)
GO

CREATE TRIGGER UTG_STLT ON dbo.GiangKhoa
    FOR INSERT, UPDATE
AS
    BEGIN
        IF ( EXISTS ( SELECT    *
                      FROM      Inserted
                      WHERE     STLT > 120 ) )
            BEGIN
                RAISERROR(N'Số tiết lý thuyết không hợp lệ', 16, 1)
                ROLLBACK TRAN
            END
    END
GO

-- 4. Số tiết thực hành trong Giảng khoa tối đa là 60
-- Tương tự câu 3

-- 5. Số tín chỉ trong Giảng khoa tối đa là 6
-- Tương tự câu 3

-- 6. Điểm trong Kết quả chấm theo thang điểm 10
-- và chính xác đến 0.5 (làm bằng 2 cách, kiểm tra
-- và báo lỗi nếu không đúng quy định, tự động làm tròn
-- nếu không đúng quy định về độ chính xác)
CREATE TABLE dbo.KetQua
ADD CONSTRAINT check_diem
CHECK (Diem >= 0 AND Diem <= 10)
GO

-- Quy ước làm tròn đến 0.5
-- Dưới 0.25 làm tròn xuống .0
-- Từ 0.25 đến dưới 0.75 làm tròn thành 0.5
-- Từ 0.75 trở lên làm tròn lên 1.0
CREATE FUNCTION UF_LamTronDiem05 ( @diem FLOAT )
RETURNS FLOAT
AS
    BEGIN
        DECLARE @int INT
        SET @int = FLOOR(@diem)
        IF ( @diem - @int < 0.25 )
            SET @diem = @int
        ELSE
            IF ( @diem - @int >= 0.25
                 AND @diem - @int < 0.75
               )
                SET @diem = @int + 0.5
            ELSE
                SET @diem = @int + 1
        RETURN @diem
    END
GO

CREATE TRIGGER UTG_Diem ON dbo.KetQua
    FOR INSERT, UPDATE
AS
    BEGIN
        UPDATE  dbo.KetQua
        SET     Diem = dbo.UF_LamTronDiem05(I.Diem)
        FROM    dbo.KetQua KQ
                JOIN Inserted I ON I.Diem = KQ.Diem
                                   AND I.LanThi = KQ.LanThi
                                   AND I.MaMH = KQ.MaMH
                                   AND I.MaSV = KQ.MaSV	
        IF ( EXISTS ( SELECT    *
                      FROM      Inserted
                      WHERE     Diem < 0
                                OR Diem > 10 ) )
            BEGIN
                RAISERROR(N'Điểm không hợp lệ', 16, 1)
                ROLLBACK TRAN
            END			
    END
GO

-- 7. Năm kết thúc phải lớn hơn hoặc bằng Năm bắt đầu trong bảng Khóa học
ALTER TABLE dbo.KhoaHoc
ADD CONSTRAINT check_namkt
CHECK (NamKT >= NamBD)
GO

CREATE TRIGGER UTG_NamKT ON dbo.KhoaHoc
    FOR INSERT, UPDATE
AS
    BEGIN
        IF ( EXISTS ( SELECT    *
                      FROM      Inserted
                      WHERE     NamKT < NamBD ) )
            BEGIN
                RAISERROR(N'Năm kết thúc không hợp lệ', 16, 1)
                ROLLBACK TRAN
            END
    END
GO

-- 8. Số tiết lý thuyết của mỗi Giảng khoa không nhỏ hơn Số tiết thực hành
ALTER TABLE dbo.GiangKhoa
ADD CONSTRAINT check_stlt_2
CHECK (STLT >= STTH)
GO

CREATE TRIGGER UTG_STLT_2 ON dbo.GiangKhoa
    FOR INSERT, UPDATE
AS
    BEGIN
        IF ( EXISTS ( SELECT    *
                      FROM      Inserted
                      WHERE     STLT < STTH ) )
            BEGIN
                RAISERROR(N'Số tiết lý thuyết không hợp lệ', 16, 1)
                ROLLBACK TRAN
            END
    END
GO

 

Không có video.