TR
ƯỜ
NG Đ I H C KINH DOANH VÀ CÔNG NGH HÀ N I Ộ
Ạ Ọ
Ệ
KHOA CÔNG NGH THÔNG TIN
Ệ
Thiết kế và cài đặt Cơ sở dữ liệu Thiết kế và cài đặt Cơ sở dữ liệu
Ch
ng 2
ươ
11
Thiết kế các Bảng và xác định các mối quan hệ
22
2. Cài đặt các Bảng lên đĩa thông qua Access
33
3. Thiết lập các mối quan hệ giữa các 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ư.
Bởi vậy phải biết phân tích CSDL để đưa ra được bảng hợp lý
2
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
11
Mỗi trường trong bảng phải mô tả một loại thông tin duy nhất.
22
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)
33
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)
44
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
Mỗi trường trong bảng phải mô tả một loại thông tin duy nhất.
11
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ư
22
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)
H tênọ
Ngày sinh
Đ a ị chỉ
Để xây dựng bảng Nhân Viên ta xây dựng gồm:
Giớ i tính
Lê Anh Nu
12/2/1977 Hà n iộ
13/4/1974 Hà
ấ
Hoten
Đ a ch ỉ
ị
Nam
Ngày sinh
Nu ả ệ ậ Lê Anh Nu
Giớ i 12/2/1977 Hà n iộ tính
Hà Thi Ta th y có hai b n ghi Tú thông tin gi ng h t ố nhau v y làm cách nào t đ phân bi ệ
ể
M ã N V
Hãy thêm mã nhân
ẽ
01 Lê Anh Nu
Hà n iộ
viên s giúp chúng ta khác ph c đi u này
ụ
ề
12/2/197 7
Nu
13/4/197
Hà
02 Hà Th ị
Tú
Nam
4
03 Lê Anh Nu
12/2/197
Hà n iộ
7
33
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)
Ngày sinh Đ a ch
H tênọ
ị
ỉ
Mã NV
i ớ Gi tính
01
Lê Anh
Nu
12/2/1977
Hà n iộ
02 Hà Th Tú
Nu
13/4/1974
Hà Nam
ị
03
Lê Anh
Nu
12/2/1977
Hà n iộ
i tính, ngày sinh, đ a ch Ta th y ấ H tên, gi ọ ị ỉ liên quan đ n ế Mã
Ta g i ọ Mã NV là khóa c b n
ơ ả
ớ NV giúp cho thông tin nhân viên rõ ràng
ng ch ng h n S l ể ố ượ ạ ng vào b ng này ả
Không th thêm vào m t tr vì ch ng liên quan gì đ n ẳ ộ ườ ế Mã NV cả ẳ
44
Ở 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 Phi u
ế
ả
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
ị
B ng Đ a ả Chỉ
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
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
Danh mục Khách Hàng (KHACHHANG): Bảng 1: Danh mục Khách Hàng (KHACHHANG): Bảng 1:
Bảng 2: Danh mục Sản Phẩm
(SANPHAM):
Danh mục Nhân Viên (NHANVIEN): Bảng 3: Danh mục Nhân Viên (NHANVIEN): Bảng 3:
10
2.2 Cài đặt dữ liệu lên các bảng trong Access
Hóa đơn (HOADON): Bảng 4: Hóa đơn (HOADON): Bảng 4:
Chi tiết hóa đơn (CTHD): Bảng 5: Chi tiết hóa đơn (CTHD): Bảng 5:
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ệ
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
Dựa vào số liệu thống kê trên ta xây dựng Bảng.