Lưu trữ bản ghi trong cơ sở dữ liệu

Một phần của tài liệu Giáo trình Phát triển hệ thống thương mại điện tử: Phần 2 (Trang 88 - 93)

THIẾT KẾ KỸ THUẬT VÀ XÂY DỰNG HỆ THỐNG THƯƠNG MẠI ĐIỆN TỬ

6.2.3.4. Lưu trữ bản ghi trong cơ sở dữ liệu

Các thuộc tính được sắp xếp thành các bản ghi, tệp (file) và cơ sở dữ liệụ Một bản ghi (record) là một tập hợp các thuộc tính mơ tả một vài

thực thể hay sự kiện cụ thể nào đó. Khái niệm bản ghi được dựa trên các loại tài liệu, giấy tờ tạo cơ sở cho các bản ghi kinh doanh khác nhaụ Các bản ghi kinh doanh thông thường được xem như nội dung trong bản phân tích u cầụ Để có thể sử dụng các bản ghi hiệu quả trên cơ sở dữ liệu

được lưu trữ trong máy tính, "bản ghi máy tính" cần được thiết lập sao cho thuận lợi để xử lý hơn là chỉ giống như một bản ghi điện tử thay cho các bản ghi giấy thông thường.

Bản ghi thường được phân biệt dựa trên vai trò ổn định hay biến động của chính nó.

- Các bản ghi mô tả một thực thể thường dễ nhận thấy thơng qua chu trình của hệ thống (ví như một bản ghi khách hàng hay bản ghi sản phẩm), chúng được gọi là bản ghi tổng thể (master records). Trong khi

giá trị của các thuộc tính khác nhau trong một bản ghi tổng thể có thể thay đổi, nhưng bản ghi có thể vẫn được lưu trữ trong hệ thống.

- Các bản ghi mô tả một sự kiện trong cuộc sống của một hay nhiều cá thể (như bản ghi khách hàng hay bản ghi thanh toán) chủ yếu dành cho người dùng hệ thống chỉ trong một giai đoạn rất ngắn, và chúng đươc gọi là bản ghi giao dịch (transaction records). Trong khi các bản

ghi này cần được lưu lại dưới bất kỳ hình thức nào để đảm bảo lưu giữ pháp lý, thì chúng khơng có khả năng được nhắc đến nữa sau một thời gian ngắn (có thể là một ngày, một tuần hoặc một tháng) kể từ khi được tạo lập.

Một tệp (file) là tập hợp các bản ghi tương tự nhau được sử dụng

riêng rẽ hoặc đồng thờị Khái niệm về tệp là căn cứ trên các danh mục tệp dành cho việc bảo quản bản ghi loại đơn nhất (như là chỉ có bản ghi khách hàng hoặc chỉ có bản ghi bán hàng). Xuất phát từ quan điểm của người dùng, tệp có hai mục đích chính:

- Tệp tổng thể (master files) thường lưu trữ dữ liệu tổng quát và

quan trọng nhất về đối tượng. Bản ghi tổng thể thường chứa các bản ghi liên quan đến cả chu trình của hệ thống. Các bản ghi trong tệp tổng thể thường sử dụng tên của một đối tượng hoặc mã nhận dạng đối tượng giống như khóa của bản ghi;

- Tệp thứ cấp (secondary files) thông thường lưu trữ dữ liệu liên

quan đến một hoặc nhiều tệp chủ. Các dữ liệu này bao gồm các mơ tả có chọn lựa hoặc khơng về một đối tượng nào đó, thơng tin về sự kiện mà đối tượng tham gia, hoặc cũng có thể là mối quan hệ giữa các đối tượng. Các bản ghi trong tệp thứ cấp sử dụng các thông tin bổ sung về bản ghi để làm rõ tên của đối tượng hoặc mã nhận dạng đối tượng và chúng được

xem như một khóa bản ghi phức hợp. Các bản ghi này ln u cầu có các bản ghi tương ứng trong tệp chủ.

Tệp máy tính lưu trữ các bản ghi chia sẻ một định dạng đơn trong cấu trúc tệp nhằm đáp ứng tốt nhất các nhu cầu truy cập các bản ghi nàỵ Một vài tệp máy tính, ví dụ tệp chỉ số (index files) ln có mặt để hỗ trợ việc truy cập các bản ghi trong một tệp có mối quan hệ với các bản ghi trong một tệp khác.

Cơ sở dữ liệu (database) là tập hợp các tệp dùng để hỗ trợ một hay

nhiều ứng dụng. Dữ liệu được lưu trên máy khác với hệ thống các tủ hồ sơ ở chỗ là chúng có thể truy cập các bản ghi có liên quan đến nhau một cách dễ dàng hơn.

Chuẩn hóa (normalization) là kỹ thuật thiết kế cấu trúc tối ưu các

tệp dữ liệu và bản ghi nội bộ nhằm đáp ứng yêu cầu xử lý của một ứng dụng. Chuẩn hóa là việc tái cấu trúc logic các bản ghi thành một tập bản ghi có hiệu quả đủ linh hoạt để đáp ứng đầu vào cũng như các yêu cầu xử lý hiện tại và trong tương laị Chuẩn hóa căn cứ trên hai ngun tắc chính là tính đơn giản và tránh rườm rà. Tính đơn giản địi hỏi:

- Hệ thống các bản ghi đơn giản cần phải kết hợp theo những cách khác nhau để đáp ứng được nhu cầu;

- Chỉ nên sử dụng một chìa khóa bản ghi duy nhất, dù đó là chìa khóa phức hợp trong mỗi bản ghị Khi chìa khóa này hoặc các thơng tin thay thế được sử dụng, chúng cần được để trong các bản ghi khác nhau nhưng có quan hệ đến bản ghi đang được nói tới;

- Khơng được có các nhóm dữ liệu lặp lại trong một bản ghị Các bản ghi lặp lại chỉ chấp nhận được khi chúng là các bản ghi thứ cấp, tách biệt.

Tránh rườm rà đòi hỏi:

- Việc lưu trữ dữ liệu trong các thuộc tính mơ tả chỉ được thực hiện một lần trong một cơ sở dữ liệụ Dữ liệu nên được tham chiếu từ các vị trí khác mà chúng có thể xuất hiện;

- Dữ liệu nên được bảo quản trong một định dạng đơn nhất mà có khả năng chuyển đổi để phục vụ những mục đích sử dụng khác nhau hơn là được bảo quản trong các thuộc tính mơ tả mà giá trị của chúng có thể mâu thuẫn với nhaụ

Chuẩn hóa là một q trình gồm rất nhiều bước để chuyển đổi logic cấu trúc dữ liệu thành một bản thiết kế lý tưởng cho việc triển khai các cơ sở dữ liệu liên quan. Ba bước đầu tiên và cũng là quan trọng nhất mà chúng ta cần xem xét.

Để minh họa cho q trình chuẩn hóa, xem ví dụ về mẫu đơn đặt hàng dưới đâỵ Sau khi kiểm tra các mẫu đã phát hiện ra các thuộc tính sau (các thuộc tính then chốt được gạch chân):

- Phân định lớp (ví dụ CMPT 275 nhóm 01 mùa thu năm 1999) được hình thành từ:

+ Mã lớp; + Số hiệu nhóm; + Kỳ hạn; + Năm.

- Ngày đặt hàng (theo định dạng năm, tháng, ngày). - Các dòng cho mỗi cuốn sách bao gồm:

+ IBSN (International Standard Book Number - số hiệu nhận dạng duy nhất của cuốn sách);

+ Tên sách; + Tác giả; + Số lượng; + Giá cả. - Tổng giá trị đơn đặt hàng. Chú ý:

- Đơn đặt hàng khơng có số thứ tự vì phân định lớp (được xem như là chìa khóa phức hợp) đã đủ để xác định đơn đặt hàng đó;

- Chìa khóa phức hợp này được xem như phân định lớp chỉ trừ khi cần giải quyết các phần tách biệt nhau;

- Nếu có nhiều đơn đặt hàng cho một nhóm đơn nhất, ngày đặt hàng có thể được sử dụng như một phần của chìa khóa tích hợp.

Mẫu chuẩn đầu tiên (1st Normal form) xóa bỏ các nhóm trùng lặp trong các bản ghi tách biệt bằng cách thay thế chúng bởi các khóa bản

ghi tổng hợp bao gồm khóa bản ghi của bản ghi gốc. Trong ví dụ này, bản ghi thứ tự của cuốn sách sẽ được chia thành hai bản ghi (mỗi bản ghi sẽ có một tên mơ tả riêng ở dạng các chữ cái in hoa). Bản ghi khởi tạo có thể được chuyển đổi thành mẫu chuẩn đầu tiên:

ĐƠN ĐẶT HÀNG-LỚP Bao gồm các thuộc tính (phân định lớp, ngày đặt hàng, tổng giá trị đơn hàng) ĐƠN ĐẶT HÀNG-SÁCH Bao gồm phân định lớp, IBSN, tên sách,

tác giả, số lượng, giá cả.

Mẫu chuẩn thứ hai (2nd Normal form) tách biệt các dữ liệu phụ thuộc hoàn toàn vào chìa khóa bản ghi từ dữ liệu bổ sung về mặt chức năng. Các dữ liệu bổ sung này có thể phụ thuộc khơng đáng kể vào chìa khóa bản ghị Trong ví dụ này, ĐƠN ĐẶT HÀNG-SÁCH chứa một vài dữ liệu liên quan đến đơn đặt hàng và một vài dữ liệu chỉ liên quan đến cuốn sách đã được đặt muạ Bản ghi chuẩn đầu tiên sẽ được biến đổi thành bản ghi thứ hai như sau:

ĐƠN ĐẶT HÀNG-LỚP Bao gồm các thuộc tính phân định lớp, ngày đặt hàng và tổng giá trị đơn đặt hàng ĐƠN ĐẶT HÀNG-SÁCH Bao gồm phân định lớp, ISBN, số lượng

SÁCH Bao gồm ISBN, tên sách, tác giả, giá cả

Mẫu chuẩn thứ ba (3rd normal form) xóa bỏ các thuộc tính khơng khóa (dư thừa) căn cứ trên các thuộc tính khơng khóa khác. Trong ví dụ này, tổng giá trị đơn đặt hàng có thể tính tốn được bằng cách nhân số lượng với giá cả mỗi sách được đặt hàng sẽ ra kết quả. Khi đó, mẫu chuẩn thứ hai sẽ được đơn giản hóa như sau:

ĐƠN ĐẶT HÀNG-LỚP Bao gồm các thuộc tính phân định lớp, ngày đặt hàng

ĐƠN ĐẶT HÀNG-SÁCH Bao gồm phân định lớp, ISBN, số lượng

SÁCH Bao gồm ISBN, tên sách, tác giả, giá cả

Đơn đặt hàng sách giáo khoa trong cơ sở dữ liệu nên được chia làm ba tệp hơn là một tệp trên cơ sở đơn đặt hàng thực tế.

Một phần của tài liệu Giáo trình Phát triển hệ thống thương mại điện tử: Phần 2 (Trang 88 - 93)

Tải bản đầy đủ (PDF)

(161 trang)