TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
Chương 2
1
2
3
Thiết kế và cài đặt Cơ sở dữ liệu
Thiết
Thiết kế
kế các
các Bảng
Bảng và
và xác
xác định
định các
các mối
mối quan
quan hệ
hệ
2.
2. Cài
Cài đặt
đặt các
các Bảng
Bảng lên
lên đĩa
đĩa thông
thông qua
qua
Access
Access
3.
3. Thiết
Thiết lập
lập các
các mối
mối quan
quan hệ
hệ giữa
giữa các
các Bảng
Bảng
1
2.1 Phân tích CSDL
2.1.1 Đặt vấn đề
Trong một xí nghiệp, hàng ngày người ta xuất vật tư theo phiếu xuất kho:
Ta thấy cấu trúc bảng trên có những điều không hợp lý như sau:
Cùng một người nhận vật tư, nhưng ở phiếu khác thì ta phải ghi lặp
lại tên và địa chỉ của họ.
Nếu có thêm vật tư M3, M4, v.v.. thì cấu trúc trên bị thiếu cột, nghĩa
là cấu trúc trên không phù hợp nữa, mặt khác rất lãng phí để ghi tên
trường mã vật tư.
2
Bởi vậy phải biết phân tích CSDL để đưa ra được bảng hợp lý
2.1.1 Đặt vấn đề
Để phân tích tốt phải hiểu được CSDL là gì ?
Đó là một môn học riêng (dành cho chuyên ngành) Ở đây ta chỉ dùng
trực giác để xây dựng một cách tương đối, đáp ứng nhu cầu ứng dụng
ngay của Access mà thôi.
3
2.1.1 Giải quyết vấn đề
Giả sử bạn cần quản lý một cửa hàng bán hàng hóa trong thành
phố. Bạn hãy phân tích và thiết kế một CSDL nhằm thực hiện các
yêu cầu quản lý thực tế. Đó là quản lý các nhân viên trong cửa
hàng, các sản phẩm, các khách hàng, các hoá đơn
Theo trực giác chúng ta cần gì?
NHÂN VIÊN: Mỗi một nhân viên cần có thông tin gì?
SẢN PHẨM: Mỗi sản phẩm cần có gì để quản lí
KHÁCH HÀNG: Mỗi khách hàng cần có thông tin gì?
HÓA ĐƠN: Mỗi một hóa đơn cần có những gì?
CHI TIẾT HÓA ĐƠN: Một chi tiết hóa đơn cho biết gì?
4
2.1.2 Một số các quy tắc về xây dựng CSDL
Mỗi trường trong bảng phải mô tả một loại thông tin duy nhất.
Mỗi bản ghi có một số trường tối thiểu, nhờ nó mà không có các
bản ghi trùng nhau. (số trường tối thiểu đó gọi là khoá cơ bản)
Các trường trong bảng phải đầy đủ và liên quan đến khoá cơ
bản hay còn gọi là liên quan đến chủ thể của bảng (điều này
được gọi là phụ thuộc hàm)
Có thể thay đổi được một trường bất kỳ (trừ các khoá cơ bản)
mà không ảnh hưởng đến mọi trường khác
5
1
2
3
4
1
Mỗi trường trong bảng phải mô tả một loại thông tin duy nhất.
Giả sử ta có một phiếu
xuất kho như sau:
Ta thấy mã vật tư 1 và vật tư
2 đều mô tả một loại thông
tin là mã vật tư vậy tại sao ta
không để chung là mã vật tư
2
Họ tên
Mỗi bản ghi có một số trường tối thiểu, nhờ nó mà không có các bản ghi
trùng nhau. (số trường tối thiểu đó gọi là khoá cơ bản)
Giớ Ngày
i
sinh
tính
Lê Anh Nu
Địa chỉ
Để xây dựng bảng
Nhân Viên ta xây
dựng gồm:
12/2/197 Hà nội
7
Hà Thi Nu 13/4/197 Hà
Ta thấy có hai bản ghi M
Hoten
Giớ Ngày
Tú
4
Nam
thông tin giống hệt
ã
i
sinh
nhau vậy làm cách nào
Lê
Anhbiệt Nu 12/2/197
Hà nộitính
N
để phân
7 V
Hãy thêm mã nhân
viên sẽ giúp chúng ta
khác phục điều này
01 Lê Anh Nu
Địa chỉ
12/2/197 Hà nội
7
3
Các trường trong bảng phải đầy đủ và liên quan đến khoá cơ bản hay còn
gọi là liên quan đến chủ thể của bảng (điều này được gọi là phụ thuộc hàm)
Mã Họ tên
NV
Giới
tính
Ngày sinh
Địa chỉ
01
Lê Anh
Nu
12/2/1977
Hà nội
02
Hà Thị Tú Nu
13/4/1974
Hà Nam
03
Lê Anh
12/2/1977
Hà nội
Nu
Ta thấy Họ tên, giới tính, ngày sinh, địa chỉ liên quan đến Mã
NV giúp cho thông tin nhân viên rõ ràng
Ta
Ta gọi
gọi Mã
Mã NV
NV là
là khóa
khóa cơ
cơ bản
bản
Không thể thêm vào một trường chẳng hạn Số lượng vào bảng này
vì chẳng liên quan gì đến Mã NV cả
4
Có thể thay đổi được một trường bất kỳ (trừ các khoá cơ bản) mà không
ảnh hưởng đến mọi trường khác
Ở bảng Phiếu Kho bên
cạnh nếu dòng 1 ta vô tình
gõ sai tên người nhận là
Lê Anh Quân thì:
- Địa chi Lê Anh Quân chỉ
có là 13 Hàng Bài
- không có Lê Anh Quân nào
ở 35 Tràng Thi
Bảng
Bảng Phiếu
Phiếu
Bảng
Bảng Địa
Địa Chỉ
Chỉ
- Thực ra Địa Chỉ là phụ
thuộc vào Người Nhận.
Do đó ta nên tách bảng
Phiếu Kho
thành 2 bảng:
Phiếu và Địa Chỉ như bên:
2.2 Cài đặt dữ liệu lên các bảng trong Access
Để rõ hơn về vấn đề này chúng ta phải hiểu Bảng là gì? Hãy hình dung bài
toán CSDL vừa phân tích gồm các bảng
Bảng 1: Danh mục Khách Hàng (KHACHHANG):
Bảng 2: Danh mục Sản Phẩm
(SANPHAM):
Bảng 3: Danh mục Nhân Viên (NHANVIEN):
10
2.2 Cài đặt dữ liệu lên các bảng trong Access
Bảng 4: Hóa đơn (HOADON):
Bảng 5: Chi tiết hóa đơn (CTHD):
Một cơ sở dữ liệu Access bao gồm tập hợp các bảng dữ liệu có quan hệ
chặt chẽ, phù hợp để phục vụ lưu trữ dữ liệu cho một ứng dụng quản lý
11
2.3 Thiết kế các bảng và xác định mối quan hệ
Dựa vào số liệu thống kê trên ta xây dựng Bảng.
Tìm hiểu cấu trúc của một bảng và cách tạo một bảng trong Access
12