Đồn Đức Cơng
Bài tốn đặt vấn đề:
Một cơng ti bán văn phịng phẩm thường xuyên nhận đơn đặt
hàng từ khách hàng. Để thống kê và phân tích các đơn đặt hàng
cơng ty lập CSDL cấu trúc như sau:
Cách thứ nhất: Lập CSDL gồm một bảng duy nhất
Tên trường
So_don
Mô tả
Số hiệu đơn đặt hàng
Ma_khach_hang Mã khách hàng
Ten_khach_han
g
Tên khách hàng
Ma_hang
Mã mặt hàng
So_luong
Số lượng
Ten_hang
Tên mặt hàng
Dia_chi
Địa chỉ khách hàng
Ngay_giao
Ngày giao hàng
Don_gia
Đơn giá (VNĐ)
Khố chính
?
Hãy quan sát và chỉ ra những nhược điểm cần lưu ý của
cách lập CSDL trên ?
Dư thừa dữ liệu
Không đảm bảo sự nhất quán về mặt dữ liệu
Cách thứ hai: Lập CSDL KINH_DOANH gồm ba bảng
Tên trường
Khach_hang
Mat_hang
Mô tả
Ma_khach_han
Mã khách hàng
g
Ten_khach_ha
ng
Tên trường
Dia_chi
Ma_hang
Tên khách hàng
Mô tả
Địa chỉ khách hàng
Mã mặt hàng
Ten_hang
Tên mặt hàng
Don_gia
Đơn giá (VNĐ)
Tên trường
Hoa_don
Khố chính
Mơ tả
So_don
Số hiệu đơn đặt hàng
Ma_khach_ha
ng
Mã khách hàng
Ma_hang
Mã mặt hàng
So_luong
Số lượng
Khố chính
Khố chính
KHACH_HA
NG
MAT_HANG
HOA_DON
?
Muốn
kết xuất
thơng
tin
nhiều
bảng
thì của
các
này
nhưtên
Để cóquan
được
thơng
tin
hợp
gồm
Số
hóa
đơn,bảng
mã khách
hàng,
Hãy
sát
và
chỉtổng
ra từ
những
ưu
điểm
cách
lập phải
CSDL
thế
nào?
khách
trên
? hàng,địa chỉ, mã hàng, tên hàng, đơn giá thì cần lấy thơng tin
từ bảng nào?
hai
khắc
được nhược
điểm của
cách thứ nhất
Cách
Tạo
liên
kếtKHACH_HANG,
giữa phục
các bảng
Từ 3thứ
bảng:
MAT_HANG,
HOA_DON
1. Khái niệm:
Liên kết được tạo giữa các bảng cho phép tổng hợp dữ liệu từ
Liên kết giữa các bảng là gì?
?
nhiều bảng.
2. Kỹ thuật tạo liên kết giữa các bảng
Sau? khi
ớt nhất
hai bảng
trở lờn
tạobao
được
mối bảng?
quan hệ
Đểcóliên
kết giữa
các bảng
cần mới
ít nhất
nhiêu
Ví dụ: CSDL KINH_DOANH
• KHACH_HANG: Ma_khach_hang, Ho_ten, Dia_chi
• MAT_HANG: Ma_mat_hang, Ten_mat_hang, Don_gia
• HOA_DON: So_don, Ma_khach_hang, Ma_mat_hang, So_luong,
Ngay_giao_hang
Tạo mối quan hệ giữa 3 bảng này
2. Kỹ thuật tạo liên kết giữa các bảng
B1: Mở CSDL Kinh doanh. Nháy nút
hoặc chọn Tools
Relationships để mở cửa sổ Relationships.
B2: Nháy nút
hoặc nháy nút phải chuột vào vùng trống của sổ
Relationships chọn Show Table
Chọn tên các bảng cần liên kết
rồi nháy Add
2. Kỹ thuật tạo liên kết giữa các bảng
B3: Thiết lập mối liên kết giữa các bảng
Trỏ chuột vào trường Ma_khach_hang (là trường khóa chính), của bảng
và (khơng
HOA_DON
quankhóa
hệ
? Giữa hai bảng
KHACH_HANG
kéo rêKHACH_HANG
sang Ma_khach_hang
phải là có
trường
trênHOA_DON
trường nào?
chính)nhau
của bảng
Đảm bảo tính
tồn vẹn dữ liệu
từ hai bảng
Tương tự Trỏ chuột vào trường Ma_hang (là trường khóa chính), của
bảng MAT_HANG kéo rê sang Ma_hang (khơng phải là trường khóa
chính) của bảng HOA_DON
2. Kỹ thuật tạo liên kết giữa các bảng
B3: Thiết lập mối liên kết giữa các bảng
Trỏ chuột vào trường Ma_khach_hang (là trường khóa chính), của bảng
và (khơng
HOA_DON
quankhóa
hệ
? Giữa hai bảng
KHACH_HANG
kéo rêKHACH_HANG
sang Ma_khach_hang
phải là có
trường
trênHOA_DON
trường nào?
chính)nhau
của bảng
Đảm bảo tính
tồn vẹn dữ liệu
từ hai bảng
Tương tự Trỏ chuột vào trường Ma_hang (là trường khóa chính), của
bảng MAT_HANG kéo rê sang Ma_hang (khơng phải là trường khóa
chính) của bảng HOA_DON
2. Kỹ thuật tạo liên kết giữa các bảng
B4: Nháy nút
và chọn Yes để lưu liên kết.
2. Kỹ thuật tạo liên kết giữa các bảng
Bảng Khach_hang sau khi liên kết:
2. Kỹ thuật tạo liên kết giữa các bảng
Xoá liên kết giữa các bảng
B1: Nháy chuột vào đường liên kết
B2: Nhấn phím Delete trên bàn phím và chọn Yes