Swift

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

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

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

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.

    1 nhận xét:

    About Us

    "Name: Thu Trần

    DOB:26/11/1996

    ĐH YeungNam - Korea"

    Recent

    Random