Swift

Unforgettable Memories

"Blogger chuyên về SQL Server: trigger, view, procedure"

Thứ Hai, 21 tháng 10, 2019

Sổ liên lạc điện tử THCS Nguyễn Viết Xuân ( phần 1)

19:13
Đề tài: Xây dựng hệ thống sổ liên lạc điện tử cho trường THCS Nguyễn Viết Xuân, sử dụng công nghệ ASP.NET.

Phần 1: Thiết kế giao diện hệ thống sổ liên lạc điện tử

Giáo viên hướng dẫn của mình có nói là quan trọng nhất sẽ là phần điểm học sinh cho nên mình sẽ tập trung vào phần này.

Chương trình còn nhiều sai sót, vì vậy mọi người hãy cho mình ý kiến nhé !

Giao diện thì mình lấy trên Internet và do search nhiều quá nên không còn nhớ ở trang nào nữa :v

1.Giao diện css, fonts, images, js

 - CSS: https://drive.google.com/drive/folders/1leFYmwmeelhS_0fYw6UCr-qOCGrcKFM8

 - Images:https://drive.google.com/drive/folders/1EOgIfQInZCSzuin0Nqfq9CcFcE-NXNbq

 - Fonts:https://drive.google.com/drive/folders/1rY8x53paid4jUr9nUzoiVny4_h88gQJk

 -JS:https://drive.google.com/drive/folders/1rY8x53paid4jUr9nUzoiVny4_h88gQJk


 2. Tạo trang MasterPage:

 - Code giao diện trang MasterPage của mình: http://codepad.org/7IkC8I0e


3.Tạo trang Default.aspx: (người dùng sau khi đăng nhập hệ thống sẽ  vô page này đầu tiên)

- Giao diện em nó đây:


- Code giao diện : http://codepad.org/ab1atAba
- Page Load : http://codepad.org/VuST7DOJ

Phần tiếp theo là tạo Cơ sở dữ liệu cho bài toán .





Chủ Nhật, 9 tháng 9, 2018

Thứ Hai, 6 tháng 8, 2018

Hồ sơ xin Visa trao đổi sinh tại Hàn Quốc đầy đủ nhất

23:33

Bạn đang có ý định đi trao đổi sinh tại Hàn Quốc, tuy nhiên bạn hoang mang không biết cần chuẩn bị những gì để xin visa dễ dàng nhất? Vậy thì những gì tôi viết dưới đây chính là những gì bạn cần.

1. Địa điểm 

    Tầng 7 tòa nhà CharmVit Tower, tầng 1 là ngân hàng ShinHan Bank,bên phải là Grand Plaza.

2. Thời gian

    Có nên đến sớm không? Chắc hẳn sẽ có rất, rất nhiều bạn giống như mình đi từ sớm để giành chỗ. Tuy nhiên mình xin khẳng định với các bạn đang có ý định xin visa trao đổi sinh rằng không nên đến sớm. Vì sao? Thực ra, hôm đó mình đến từ rất sớm, chắc tầm khoảng 7h30 gì đấy. Nhưng cuối cùng vẫn phải đợi vì Đại sứ quán làm việc từ 9h và khi chưa đến giờ thì không ai được vào bên trong trừ nhân viên. Bên Đại sứ quán sẽ chia thành nhiều ca làm việc và thời gian tiếp nhận hồ sơ xin visa trao đổi sinh (D-2-6) và du học tự túc (D-2-4) là từ 10h- 11h30. Vì vậy cần đến sớm 10 -15 phút để chuẩn bị tâm lí là vừa.
  Còn một điều quan trọng nữa đó là khi đến nơi, bạn không cần phải xếp hàng lấy số. Đúng từ 10h trở đi bạn vào thẳng bên trong và xếp hàng đợi trước của số 1 (Chị xinh xinh người Hàn Quốc nhận hồ sơ nhé :3)

3. Hồ sơ xin visa trao đổi sinh tại Hàn quốc 

  1. Bản gốc giấy nhập học 
  2. Bản sao đăng ký kinh doanh của trường Hàn Quốc
  3. Bản sao biên bản hợp tác trao đổi sinh viên giữa 2 trường
  4. Quyết định cử đi của trường Việt Nam ( bản gốc Tiếng Việt và bản dịch tiếng Anh/ Hàn công chứng)
  5. Thẻ sinh viên photo 2 mặt hoặc giấy xác nhận đang là sinh viên của trường do trường Đại học cấp và đóng dấu ( bản gốc và dịch tiếng Anh/Hàn công chứng nhà nước)
  6. Bảng điểm các kỳ đã học của trường Đại học (bản gốc và dịch tiếng Anh/Hàn công chứng) 
  7. Đơn xin visa
  8. Bản sao chứng minh thư (mang theo bản gốc)
  9. Hộ chiếu còn hạn
  10. Phiếu xét nghiệm bệnh lao phổi của bệnh viện Lao-Phổi Trung Ương (Phòng khám theo yêu cầu 463 Hoàng Hoa Thám). Cái này là địa chỉ khám bắt buộc nhé!
  11. Bằng tốt nghiệp PTTH, học bạ dịch công chứng.
  12. Bản sao giấy khai sinh (bản gốc và bản dịch tiếng Anh công chứng)
  13. Bản sao sổ hộ khẩu ( bản gốc và bản dịch tiếng Anh công chứng)
  14. Giấy tờ chứng minh tài chính.
  • Sổ tiết kiệm: tối thiểu 9000 $ (~210 triệu) gửi vào ngân hàng tối thiểu 3 tháng trước ngày nộp hồ sơ. Sổ tiết kiệm phải tên bố mẹ bạn hoặc của chính bạn nhé!
  • Giấy xác nhận số dư bản tiếng Anh do ngân hàng cấp, chỉ xin trong vòng 10 ngày tính đến ngày nộp hồ sơ. Ví dụ bạn nộp ngày 30/8 thì xin chỉ được xin trước 10 ngày tức ngày 20/8 trở đi.
  • Cam kết tài chính của bố mẹ có chứng thực của địa phương ( bản gốc và dịch tiếng Anh công chứng). Bạn nào cần mẫu thì comment bên dưới nhé.
  • Hợp đồng lao động của bố mẹ ( nên có), nếu nhà làm vườn hay chăn nuôi...( không có hợp đồng lao động) thì viết cái giấy xác nhận nhà có bao nhiêu hec-ta vườn, bao nhiêu con lợn, vịt, vv... tóm lại có gì thì kể hết rồi ra xin chữ kí phó chủ tịch là được.
Việc chứng minh tài chính là quan trọng nhất. Bạn phải giải thích được cái số tiền gửi tiết kiệm là từ đâu mà có chứ không phải chỉ cần sổ tiết kiệm là xong đâu.
Bạn có thể tải mẫu đơn xin visa  tại đây sau đó photo và điền đầy đủ thông tin, dán ảnh trước khi mang hồ sơ đến ĐSQ. Bạn cũng có đến ĐSQ trước nửa tiếng rồi vào chỗ nhân viên bảo vệ (tầng 7 ) xin sẽ có đơn photo sẵn cho bạn điền. Tuy nhiên mình khuyên bạn nên điền trước ở nhà tránh sai sót, tốn nhiều thời gian nộp đơn.

4. Lệ phí xin visa :50USD

Ngoài ra, bạn cũng cần biết một số điều cần lưu ý khi chuẩn bị hồ sơ xin visa trao đổi sinh tại Hàn Quốc như sau:

  •  Tất cả các giấy tờ dịch công chứng đều phải có dấu nhà nước ( dấu của Phòng Tư pháp ), ĐSQ không chấp nhận dấu của phòng công chứng tư nhân
  • Bạn cũng nên check xem trường của mình có nằm trong danh sách top 1 % trường được ưu tiên không. Trường của mình ở Hàn Quốc à Yeung Nam University , thuộc danh sách trên nên hồ sơ của mình thật sự rất đơn giản (Hộ chiếu , đơn xin visa, giấy nhập học (bản gốc), bản sao đăng kí thành lập trường của Đại học Hàn Quốc, phiếu kết quả xét nghiệm lao phổi, bản sao chứng minh thư nhân dân):D.
  • Thời gian xét đối với hồ sơ xin visa trao đổi sinh là 10 ngày (không kể lễ, tết, thứ 7, CN nhé)
Chúc các bạn xin visa thành công!!!





Chủ Nhật, 4 tháng 12, 2016

Trigger và 3 ví dụ cơ bản về trigger trong SQL Server

22:02

TRIGGER TRONG SQL VÀ 3 VÍ DỤ CƠ BẢN VỀ TRIGGER


Trigger là gì? Viết 1 câu lệnh trigger cần phải biết những gì? Cú pháp tạo trigger như thế nào? 3 ví dụ cơ bản về trigger trong SQL Server.


Trigger là gì?

Trigger trong SQL server  được định nghĩa là một dạng đặc biệt của thủ tục lưu (Store procedure), chứa các lệnh cần thực thi nhằm thực hiện một hành động nào đó do người lập trình viết.

Nói cách khác, trigger là 1 đoạn mã gắn liền với bảng. Khi bảng thay đổi thì trigger tự động kích hoạt tượng ứng.

Lưu ý gì khi tạo trigger trong SQL server?

Trước khi tạo trigger cần phải xác định được những câu hỏi sau:
  • Tên của trigger? [ phải là duy nhất trọng 1 CSDL]
  • Áp dụng tới bảng nào hay view nào?
  • trigger loại nào? [instead of | after]
  • thực hiện thao tác gì trên trigger?
  • Khi kích hoạt trên trigger thì lệnh nào sẽ được thực thi?

Cú pháp tạo trigger :

CREATE TRIGGER <tên trigger>
ON <ten_bang,view>
      [with encryption]
      {for|after |instead of} {insert, update, delete}
AS
BEGIN
     < các câu lệnh >
END
GO

Dưới đây là cơ sở dữ liệu sẽ áp dụng trong bài:
  • NHASANXUAT(Masx, Tensx)
  • CHUCVU(Macv, Tencv)
  • KHACHHANG(Makh, Hoten, Diachi, SoDT)
  • SANPHAM( Masp, Tensp, Gia, Solg, Tgbaohanh, Masx)
  • PHIEUNHAP(Mapn, Tonggia, Ngaynhap, Manv)
  • SP_PN(Masp, Mapn, SoLuong)
  • HOADON(Mahd, Ngaylap, Thanhtien, Manv, Makh)
  • SP_HD(MaspMahd, Slg)
  • PHIEUBAOHANH(Mapbh, Ngaybd, Ngaykt, Masp)
  • NHANVIEN(Manv, Tennv, Gt, NS, DC, SDT, Macv)


3 ví dụ về trigger trong SQL

VD1: Số nv nam phải nhỏ hơn số nv nữ

Phân tích vd1:

  • Tên của trigger :trigger1
  • Áp dụng tới bảng nào hay view nào: bảng NHANVIEN
  • trigger loại nào? [instead of | after] :insert, update
  • thực hiện thao tác gì trên trigger: kiểm tra ràng buộc ( số nv nam luôn nhỏ hơn số nv nữ) sau khi thêm hoặc sửa đổi giới tính nhân viên
  • Khi kích hoạt trên trigger thì lệnh nào sẽ được thực thi?: so sánh số nv nam và nữ trong công ty
[code]
create trigger trigger1
on NHANVIEN
     after insert, update
as
begin
 declare @count_nvnam nvarchar (9)
 set        @count_nvnam = ( select count(Manv) from inserted where Gt='nam')
 declare @count_nvnu nvarchar (9)
 set       @count_nvnu = ( select count(Manv) from NHANVIEN where GT='nu')
  if (@count_nvnam>@count_nvnu)
   begin
        raiserror (' So nv nam phai nho hon nv nu',16,1)
   end
end
go

VD2: Tuổi của nhân viên mới không quá 45 tuổi


Phân tích vd2:
  • Tên của trigger :trigger2
  • Áp dụng tới bảng nào hay view nào: bảng NHANVIEN
  • trigger loại nào? [instead of | after] :insert
  • thực hiện thao tác gì trên trigger: kiểm tra ràng buộc ( tuổi của nhân viên không quá 45) sau khi thêm nhân viên mới
  • Khi kích hoạt trên trigger thì lệnh nào sẽ được thực thi?: so sánh tuổi nhân viên mới có quá 45 tuổi không.
[code]

create trigger trigger2
on NHANVIEN
     after insert
as
 begin
 declare @tuoi_nvmoi int
 set @tuoi_nvmoi = ( select year(getdate())-year(Ns) as tuoi_nv from inserted)
 if (@tuoi_nvmoi > 45)
     begin 
            raiserror (' nhan vien khong duoc qua 45 tuoi',16,1)
     end
end
go

VD3: Tạo trigger thay đổi số lượng hàng tồn khi nhập thêm hàng

Phân tích vd3:
  • Tên của trigger? : trigger 3
  • Áp dụng tới bảng nào hay view nào : SP_PN 
  • trigger loại nào? [instead of | after] : after insert 
  • thực hiện thao tác gì trên trigger?: lấy số lượng nhập của sản phẩm
  • Khi kích hoạt trên trigger thì lệnh nào sẽ được thực thi?: cập nhập số lượng sản phẩm trên bảng SANPHAM

[code]

create trigger trigger3
on SP_PN
     after insert 
as
    begin
        declare @masp nvarchar(9)
        set        @masp = (select top 1 masp from inserted )
        declare @soluongnhap int
        set        @soluongnhap = (select Soluong from SP_PN)
        UPDATE SANPHAM
        SET         Solgton=Solgton+@soluongnhap
        where      @masp =Masp
    end
go

Xem thêm: 6 ví dụ về view trong SQL server

p/s:Nếu bạn là người  mới bắt đầu tìm tòi về trigger trong SQL Server, tôi tin chắc bài viết trên đây của mình sẽ ít nhiều giúp được được bạn. Chúc bạn thành công!!!.

Thứ Bảy, 29 tháng 10, 2016

6 VÍ DỤ CƠ BẢN VỀ VIEW TRONG SQL SERVER

12:23

6 VÍ DỤ CƠ BẢN VỀ VIEW TRONG SQL SERVER

6 ví dụ về view cơ bản trong SQL Server cho người mới nhập môn  

Khái niệm view 

View là gì? Các bảng trong cơ sở dữ liệu đóng vai trò là các đối tượng tổ chức và lưu trữ dữ liệu. Như vậy, ta có thể quan sát được dữ liệu trong cơ sở dữ liệu bằng cách thực hiện các truy vấn trên bảng dữ liệu. Ngoài ra, SQL còn cho phép chúng ta quan sát được dữ liệu thông qua việc định nghĩa các khung nhìn.

Một view trong SQL có thể chứa tất cả các hàng của một bảng hoặc các hàng đã được chọn từ một bảng. Một view có thể được tạo từ một hoặc nhiều bảng, phụ thuộc vào truy vấn SQL đã viết để tạo một view.

Cú pháp tạo view

create view [tên view]

as

select [giá trị 1, giá trị 2...]

from [tên bảng]


where [điều kiện]


Ví dụ về view trong SQL

Cho CSDL Quản lý bán hàng như sau:


  • NHASANXUAT(Masx, Tensx)
  • CHUCVU(Macv, Tencv)
  • KHACHHANG(Makh, Hoten, Diachi, SoDT)
  • SANPHAM( Masp, Tensp, Gia, Solg, Tgbaohanh, Masx)
  • PHIEUNHAP(Mapn, Tonggia, Ngaynhap, Manv)
  • SP_PN(Masp, Mapn, SoLuong)
  • HOADON(Mahd, Ngaylap, Thanhtien, Manv, Makh)
  • SP_HD(Masp, Mahd, Slg)
  • PHIEUBAOHANH(Mapbh, Ngaybd, Ngaykt, Masp)
  • NHANVIEN(Manv, Tennv, Gt, NS, DC, SDT, Macv)


    Database Diagrams


    --vd1: Cho thông tin về sản phẩm có mã là 1

    các bảng ảnh hưởng: SANPHAM

    [code]
     create view vd1  //vd1: ten cua view
     as 
     select         Masp, Tensp, Giaban, Solgton, Tgbaohanh
                      //các thông tin cần hiện thị về sản phẩm
     from          SANPHAM //lấy thông tin từ bảng SANPHAM
    Where       Masp=1 //điều kiện hiển thị là mã sp= 1

    --vd2:Tên các nhân viên của công ty có họ là Nguyễn

    -các bảng ảnh hưởng:NHANVIEN

    [code]
    create view vd2
    as
    select         Tennv
    from           NHANVIEN
    where         Tennv like 'Nguyen %' //ho là nguyen va cac ki tu dang sau


    --vd3:Cho thông tin nhân viên lập hóa đơn có mã hóa đơn là 1


    create view vd3
    as
    select          tennv, Gt, NS,DC,SDT 
    from            HOADON,NHANVIEN
    where         HOADON.MaNV=NHANVIEN.Manv //dieu kien noi 2 bang
                       and Mahd=1


    --vd4:Tổng số lượng nhập của sản phẩm có mã phiếu nhập là 1 


    -các bảng ảnh hưởng: SP_PN,PHIEU NHAP


    [code]
    create view vd4
    as
    select       PHIEUNHAP.Mapn, sum (SoLuong) as TongSLNhap 
                   //thay tên cột sum(SoLuong) thành TongSLNhap
    from         PHIEUNHAP,SP_PN
    where      PHIEUNHAP.Mapn = SP_PN.Mapn
                    and PHIEUNHAP.Mapn=1
    group by PHIEUNHAP.Mapn
    //các thuộc tính khác ngoài thuộc tính gom nhóm (sum, count..)trên select bưng hết vào đây

    --vd5:Thông tin sản phẩm của khách hàng có mã hóa đơn là 2

    -các bảng ảnh hưởng:SANPHAM,SP_HD,HOADON



    [code]

    create view vd5
    as
    select  HOADON.Mahd,Tensp,Giaban,Solgton,Tgbaohanh
    from    HOADON,SP_HD,SANPHAM
    where HOADON.Mahd=SP_HD.Mahd
              and SP_HD.Masp=SANPHAM.Masp
              and HOADON.Mahd=2

    --vd6:tổng tiền hóa đơn cao nhất

    -các bảng ảnh hưởng: HOADON,SP_HD,SANPHAM

    [code] 
    create view vd6
    as
    Select        top 1 * from  (select sum (Slg*Giaban) as maxHD
                                        from HOADON,SP_HD,SANPHAM
                                        where  HOADON.Mahd=SP_HD.Mahd
                                        and SP_HD.Masp=SANPHAM.Masp
                                        ) 
    order by    maxHD //mệnh đề order by dùng để sắp xếp dữ liệu


    Chú ý: Khi liên kết nhiều bảng với nhau cần chú ý thứ tự các bảng để viết điều kiện nối
    Xem thêm:  Trigger trong SQL server và 3 ví dụ cơ bản
    Trên đây là 6 ví dụ cơ bản về view trong SQL server.

    FOLLOW @ INSTAGRAM

    About Us

    "Name: Thu Trần

    DOB:26/11/1996

    ĐH YeungNam - Korea"

    Recent

    Random