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

02 Hà Th ị

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.

12