› Bài tập CSDL

Bấm
để cập nhật phim mới !

  • » Nhấn thích hoặc +1 nếu phim hay bạn nhé!
  • »Có đang xem phim này.
  • » Các bạn xem phim nên ấn nút tạm dừng khoảng 30s - 1 phút rồi tiếp tục xem phim để không bị giật.
  • » Nếu bạn không xem được phim vui lòng nhấn Ctrl + F5 vài lần. Hoặc chuyển sang Server khác để xem.
  • » Xem phim nhanh hơn với trình duyệt Firefox Google Chrome , Cờ Rôm +

Nhóm thực hiện-NHÓM 6:  Lê Thị Lan
                                              Đào Văn Trí
                                              Trần Thị Thùy Linh









 Tên lược đồ quan hệ: QUẢN LÍ BÁN HÀNG
 -Khi bán hàng cửa hàng sẽ lưu lại thông tin của khách hàng: MaKH, TenKH, ĐC, SĐT.
 -Mỗi lần bán hàng cửa hàng sẽ tạo ra các hóa đơn bán hàng để lưu thông tin: SoHĐ, TenMH, Ngày bán, đơn giá, số tiền bán hàng.
 -Mỗi hóa đơn sẽ có một nhân viên phụ trách tạo lập và lưu trữ tại thời điểm bán hàng, thông tin nhân viên: MaNV, TenNV, ĐC, GT, SĐT.
*Các thực thể: 
 NV(MaNV,TenNV,ĐC,Ngay sinh, GT, SĐT)
 HĐ Ban(MaHĐ,TenMH,Ngay ban,So luong,Đon gia,Tong tien)
 KH(MaKH,TenKH,ĐC,SĐT)
*Mối quan hệ giữa các thực thể: 
 NV   ->          Lập     ->       HĐ Ban
 KH    ->        Đặt bởi   ->      HĐBan
 *Mô hình dữ liệu mảng:





















 *Mô hình dữ liệu thực thể:























*Các truy vấn lược đồ quan hệ:
 a.Bằng đại số quan hệ
 + Đưa ra địa chỉ khách hàng
      ∏{ĐC} (KH);
 + Đưa ra mã hóa đơn và tên mặt hàng
      ∏{MaHĐ,TenMH } (HĐ Ban);
 + Đưa ra số điện thoại của nhân viên và khách hàng
      ∏{SĐT }(NV*KH);
 + Đưa ra tổng tiền thu được trong ngày 15/10
      ∏{Tong tien }δ(Ngay ban=’15/10’) (HĐ Ban);
 + Đưa ra số lượng mặt hàng bán được trong tháng 2
     ∏{So luong }δ(TenMH^thang=’2’) (HĐ Ban);

b.Bằng SQL 
 +Đưa ra tên mặt hàng bán được theo chiều hướng tăng
    Select *
    From HĐ Ban
    Order by TenMH ASC;
 +Liệt kê danh sách nhân viên nghỉ làm bắt đầu bằng chữ ‘K’
    Select *
    From NV
    Where TeNV like’K%’ ;
 +Đếm số nhân viên đang làm việc
    Select count( *) as sô lương NV
    From NV
    Where Trang thai=’ Đang lam’ ;
 +Đưa ra thông tin khách hàng đã mua hàng tại cửa hàng
    Select *
    From KH
    Where MaKH in (Select MaKH
                                  From HĐ Ban
                                  And ĐC=’Ha Noi’);
 +Đưa ra thông tin mặt hàng được nhập từ Cao Bằng
     Select *
     From TenMH
     Where Nơi nhâp = ‘Cao Bằng’ ;
 +Đưa ra thông tin mặt hàng được bán ngày 3/10
     Select *
     From HĐ Ban
     Where TenMH in (Select TenMH
                                    From HĐ Ban
                                    Where Day(ngay)=’3’
                                    And Month(ngay)=’10’);
*Chuẩn hóa lược đồ quan hệ:
 -Cho lược đồ quan hệ quản lí bán hàng U(MaHĐ, TenMH, Ngay ban, Đongia, Soluong, Tongtien,    MaKH, TenKH) và tập phụ thuộc hàm: F{f1:KH→MaKH,TenKH,ĐC,SĐT
                                                               f2:HĐBan→MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien
  f3:MaHĐ,MaKH→HĐ Ban)

-Tìm khóa:
  TN={MaKH,MaHĐ}
  TG=Ø
  →(TN) + = {MaKH,MaHĐ}+ ={  MaKH,TenKH,ĐC,SĐT,MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien}=Q+
 Vậy Q có khóa là(MaKH,MaHĐ)

 -Phân rã:
   -Bước 1: Ta có: +[VT(f1)]+ =[MaKH]+= {MaKH,TenKH,ĐC,SĐT }
                           +[VT(f2)]+=[MaHĐ]+= {MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien }
                           +[VT(f3)]+=[MaKH,MaHĐ]+ = Q+
   -Bước 2: Chọn f1:
                 X     →     Y
            MaKH       TenKH,ĐC,SĐT
   -Bước 3: Phân rã lược đồ quan hệ Q thành 2 lược đồ quan hệ con:
        Q1 (MaKH,TenKH,ĐC,SĐT)
           với F1={f1:MaKH→TenKH,ĐC,SĐT };
       Q2 (MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien)
           với F2={f2: MaHĐ→TenMH,Ngayban,Đongia,Soluong,Tongtien;
                          f3: MaKH, MaHĐ→HĐ Ban };
    -Bước 4: Phân rã Q1 (MaKH,TenKH,ĐC,SĐT)
         Ta có: +[VT(f1)] + =[MaKH] +={ MaKH,TenKH,ĐC,SĐT }= Q1+
            →F1*= Ø.
    -Bước 5: Phân rã Q2(MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien)
        +[VT(f2)] + =[MaHĐ] += { MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien }
        +[VT(f3)]+=[ MaKH,MaHĐ]+= Q2+
      →F2* = {f2}
        .Chọn f2 :             X      →    Y
                                MaHĐ         TenMH,Ngayban,Đongia,Soluong,Tongtien
       + Phân rã lược đồ quan hệ Q2 thành 2 lược đồ quan hệ con:
          Q21 (MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien)
            với F21={f2: MaHĐ→TenMH,Ngayban,Đongia,Soluong,Tongtien };
          Q22 (MaKH,MaHĐ,HĐ Ban)
            với F22 ={f3: MaKH, MaHĐ→HĐ Ban };
      + Phân rã Q21 (MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien):
            [VT(f2)] + =[MaHĐ] +={ MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien }= Q21+
             F21+= Ø
      + Phân rã Q22 (MaKH,MaHĐ,HĐ Ban):
               [VT(f3)]+=[MaKH, MaHĐ]+= Q22+
               F22+= Ø
        Vậy sau khi phân rã Q ta nhận được 3 lược đồ quan hệ :
           Q1+=KH(MaKH,TenKH,ĐC,SĐT),
           Q21+=HĐ Ban (MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien),
           Q22+= (MaKH,MaHĐ,HĐ Ban)

 *Xác định dạng chuẩn:
       - Xét KH(MaKH,TenKH,ĐC,SĐT)
          với f1:MaKH→TenKH,ĐC,SĐT.
        + Đạt chuẩn 1.
        + Đạt chuẩn 2 vì mọi thuộc tính không là thuộc tính khóa (TenKH,ĐC,SĐT) đều phụ thuộc hàm           đầy đủ vào khóa MaKH.
        + Đạt chuẩn 3 vì mọi thuộc tính không là khóa đều không phụ thuộc bắc cầu vào thuộc tính của              khóa
       - Tương tự, xét HĐ Ban (MaHĐ,TenMH,Ngayban,Đongia,Soluong,Tongtien)
                            và (MaKH,MaHĐ,HĐ Ban) đạt chuẩn 3.
 
      →Vậy CSDL đạt chuẩn 3.


*Tạo lập bảng CSDL:
 /*Tạo Cơ Sở Dữ Liệu*/
GREATE DATABASE QuanLyBanHang
USE QuanLyBanHang

 /*Tạo Bảng Nhân Viên*/
 GREATE TABLE NV
 ( MaNV Char(10) PRIMARY KEY,
   TenNV Varchar(50) NOT NULL,
   Goitinh Char(15) NOT NULL,
   Ngaysinh Date NOTNULL,
   ĐC Varchar(20),
   SĐT Char(15) )

 /*Tạo Bảng Khách Hàng*/
 GREATE TABLE KH
 ( MaKH Char(10) PRIMARY KEY,
   TenKH Varchar(50) NOT NULL,
   ĐC Varchar(20),
   SĐT Char(15) )

 /*Tạo Bảng HĐ Bán*/
GREATE TABLE HĐ Ban
( MaHĐ Varchar(50) PRIMARY KEY,
  TenMH Varchar(100) NOT NULL,
  Ngayban Date NOT NULL,
  Đongia Money NOT NULL,
  Tongtien Integer NOT NULL,
  Soluong Integer NOT NULL)

  /*Nhập Dữ Liệu Cho Các Bảng*/
 INSERT INTO NV
 VALUES
 (‘01’,’Trân Thị Lê’,’HN’,’Nữ’,’09987#####’),
 (‘02’,’Nguyên Văn A’,NB’,’Nam’,’0129#####’),
 (‘03’,’Bùi Văn Mạnh’,’NĐ’,’Nam’, ‘0764######’),

 INSERT INTO HĐ Ban
VALUES
 (‘01’,’Kẹo’,’1/10’,’100’,’200’,’50000’),
 (‘02’,’Chăn’,’30/4’,’200’,’100’,’40000’),
 (‘03’,’Vở’,’5/4’,’500’,’50’,’700’,’20000’),

INSERT INTO KH
 VALUES
 (‘01’,’Nguyễn Văn A’,’HN’,’0987#####’),
 (‘02’,’Trân Thi B’,’TB’,’0129######’),
 (‘03’,’Lê Thị Ly’,’HN’,’0967######’),

Còn nhiều phim hot bạn đã xem chưa?

Nhấn +1 để xem nhanh hơn :

Tổng số lượt xem trang