TRUY VẤN CSDL QUẢN LÝ THỊ
TRƯỜNG BẤT ĐỘNG SẢN
1. Mô tả bài tốn
Cơng ty Cổ phần Dịch vụ Bất Động Sản Việt Nam là công ty cung cấp dịch vụ về bất
động sản bao gồm rất nhiều hoạt động như mua bán, chuyển nhượng, cho thuê...thường
phải ký kết, giao dịch với rất nhiều cá nhân, tổ chức, doanh nghiệp.Vì vậy để tránh bỏ
sót thơng tin, trùng lặp, rủi ro.....trong q trình quản lý cần xây dựng hệ cơ sở dữ liệu
cho hoạt động kinh doanh của công ty.
Cơ sở dữ liệu gồm 4 bảng lưu thông tin về : Nhân viên, Khách hàng, Bất động sản,
Hợp đồng.
-
Mỗi nhân viên của cơng ty có một mã nhân viên riêng của từng người ,các thông
tin gồm: Mã nhân viên, họ tên, giới tính, quê quán, số điện thoại.
-
Khách hàng ký hợp đồng với công ty được cung cấp một mã riêng, thông tin
khách hàng gồm: Mã khách hàng, họ tên, địa chỉ,ngày tháng năm sinh, số điện
thoại.
-
Thông tin về bất động sản bao gồm: Mã bất động sản, diện tích, địa chỉ, giá tiền
-
Nhân viên ký hợp đồng với khách hàng, bản hợp đồng gồm: Mã hợp đồng, mã
nhân viên, mã khách hàng, mã bất động sản, ngày giao dịch, tổng tiền.
2. Sử dụng đại số quan hệ và SQL để thực hiện những truy vấn sau:
1. Hiển thị thông tin BĐS ở Hà Nội hoặc Ninh Bình
2. Cho biết số lượng nhân viên nữ
3. Hiển thị thông tin Khách Hàng mua bất động sản:Mã Khách Hàng,Họ Tên
Khách Hàng, Mã Bất Động Sản ,Giá Tiền
4. Hiển thị thông tin Khách Hàng: Mã Khách Hàng ,Họ Tên Khách Hàng mua bất
động sản có diện tích > 50m2
5. Thống kê số lượng hợp đồng mà mỗi nhân nhân viên phụ trách
6. Hiển thị mã nhân viên phụ trách từ 2 hợp đồng trở lên
3. Xây dựng mơ hình ER (mơ hình thực thể liên kết)
Xác Định Mối Quan Hệ
NHÂN VIÊN
Phụ trách
KHÁCH HÀNG
Ký
Thuộc
HỢP ĐỒNG
HỢP ĐỒNG
BẤT ĐỘNG SẢN
HỢP ĐỒNG
Mơ Hình Thực Thể Liên Kết
Họ đệm
Tên
SĐT
Địa chỉ
Họ tên
Giới tính
Mã NV
Ngày sinh
SĐT
NHÂN VIÊN
Họ tên
KHÁCH HÀNG
Mã KH
BẤT ĐỘNG SẢN
Mã BĐS
1
1
Quê quán
Phụ trách
Ký
Tổng tiền
n
Mã HĐ
Mã NV
n
HỢP ĐỒNG
Mã BĐS
1
n
Thuộc
Ngày giao dịch
Giá tiền
Địa chỉ
Diện tích
4. Chuyển đổi từ mơ hình ER - mơ hình quan hệ
SDT
MaKH
Diachi
Ngaysinh
Khachhang
Kiểu thực thể khách hàng với thuộc tính đơn
Khachhang
Hoten
Ma KH
Hoten
Ngaysinh
Diachi
SDT
Quan hệ khách hàng
Biến đổi kiểu thực thể thông thường
Ten
Hodem
Gioitinh
Hoten
SDT
MaNV
Quequan
Nhanvien
nn
Kiểu thực thể nhân viên với thuộc tính đơn
Nhanvien
MaNV
Hoten
Gioitinh
Quequan
SDT
Quan hệ nhân viên
Biến đổi kiểu thực thể thông thường
BATDONGSAN
Giatien
Diachi
MaBDS
Dientich
Kiểu thực thể Bất động sản với thuộc tính đơn
Batdongsan
Ma BDS
Dientich
Diachi
Giatien
Quan hệ Bất động sản
Biến đổi kiểu thực thể thông thường
HOPDONG
Tongtien
Ma HD
MaNV
MaBDS
Ngaygiao dich
Kiểu thực thể hợp đồng với thuộc tính đơn
HOPDONG
MaHD
MaNV
MaKH
MaBDS
Ngaygiaodic
h
Tongtien
Quan hệ hợp đồng
Biến đổi kiểu thực thể thông thường
Chuyển đổi ER sang mơ hình quan hệ:
Nhanvien
(MaNV, hotennv, Gioitinh, Quequan, SDT)
Khachhang (MaKH, HotenKH, Diachi, Ngaythangnamsinh, SDT)
Batdongsan (MaBDS, Dientich, Diachi, Gia)
Hopdong
(MaHD, MaNV, MaKH, MaBDS, Ngaygiaodich, Tongtien)
4. Cài đặt CSDL trên hệ quản trị CSDL cụ thể
Bước 1 : Mở Microsoft Access tại cửa sổ khởi động click vào Blank desktop database
- Nhập tên tệp tin cơ sở dữ liệu vào File name. Click vào nút Create để tạo tệp tin cơ sở
dữ liệu
Bước 2 : Nhập dữ liệu vào các bảng đã tạo
BATDONGSAN
HOPDONG
KHACHHANG
NHANVIEN
Bước 3 : Tạo mối quan hệ
- Trên thanh Ribbon click Database Tools, chọn Relationship
Mơ hình quan hệ
5. Truy vấn trong hệ quản trị CSDL đó
Hiển thị thơng tin BĐS ở Hà Nội hoặc Ninh Bình
(dùng ngơn ngữ đại số quan hệ + SQL)
1.Hiển thị thông tin BĐS ở Hà Nội hoặc Ninh Bình
●ĐSQH:
σDiachi = “Hà Nội” ᵥ Diachi = “Ninh Bình”Diachi = “Hà Nội” ᵥ Diachi = “Ninh Bình”
●SQL:
SELECT batdongsan.MaBĐS, batdongsan.Dientich, batdongsan.Diachi,
batdongsan.Giatien
FROM batdongsan
WHERE (((batdongsan.Diachi)="Hà Nội")) OR (((batdongsan.Diachi)="Ninh Binh"));
2.Cho biết số lượng nhân viên nữ
●ĐSQH:
R← σgioitinh = “nữ” (nhanvien)σgioitinh = “nữ” (nhanvien)gioitinh σgioitinh = “nữ” (nhanvien)= σgioitinh = “nữ” (nhanvien)“nữ” σgioitinh = “nữ” (nhanvien)(nhanvien)
GioitinhFcount(MaNV) ( R )
●SQL:
SELECT Gioitinh, count(MaNV) AS ["số lượng nhanvien"]
FROM nhanvien
WHERE Gioitinh="nữ" GROUP BY Gioitinh;
3.Hiển thị thông tin Khách Hàng mua bất động sản:
Mã Khách Hàng,Họ Tên Khách Hàng, Mã Bất Động Sản ,Giá Tiền
●ĐSQH:
•MaKH, HoTenKH, MaBĐS,GiaTien (KhachHang ⁕ BatDongSan ⁕ HopDong ) BatDongSan ⁕ BatDongSan ⁕ HopDong ) HopDong )
●SQL:
SELECT khachhang.MaKH, khachhang.HotenKH, batdongsan.MaBĐS,
batdongsan.Giatien FROM batdongsan INNER JOIN (khachhang INNER JOIN
hopdong ON khachhang.MaKH = hopdong.MaKH) ON batdongsan.MaBĐS =
hopdong.MaBĐS;
4. Hiển thị thông tin Khách Hàng:
Mã Khách Hàng, Họ Tên Khách Hàng mua bất động sản có diện tích > 50m2
●ĐSQH:
R← σgioitinh = “nữ” (nhanvien)σDiachi = “Hà Nội” ᵥ Diachi = “Ninh Bình”DienTich >50
•MaKH;HoTenKH(R*HopDong*BatDongSan)
●SQL:
SELECT khachhang.MaKH, khachhang.HotenKH, batdongsan.Dientich
FROM (khachhang INNER JOIN hopdong ON khachhang.MaKH = hopdong.MaKH)
INNER JOIN batdongsan ON hopdong.MaBĐS = batdongsan.MaBĐS
WHERE (((batdongsan.Dientich)>50));
5. Thống kê số lượng hợp đồng mà mỗi nhân nhân viên phụ trách
●ĐSQH:
R←HoTenNV Fcount(MaHD)(NhanVien*HopDong)
ρ(HoTenNV;SoluongHD)(•HoTenNV,count(MaHĐ)(R))
●SQL:
SELECT nhanvien.HotenNV, Count(MaHĐ) AS ["số lượng HĐ"]
FROM nhanvien, hopdong
WHERE nhanvien.MaNV=hopdong.MaNV
GROUP BY HotenNV;
6.Hiển thị mã nhân viên phụ trách từ 2 hợp đồng trở lên
●ĐSQH:
MaNVFcount(MaHD)≥2(HopDong*NhanVien)
●SQL:
SELECT nhanvien.MaNV, Count(MaHĐ) AS ["số lượng HĐ"]
FROM nhanvien, hopdong
WHERE nhanvien.MaNV=hopdong.MaNV
GROUP BY nhanvien.MaNV
HAVING Count(MaHĐ)>=2;
END.