Hợp thức hóa mô hình dữ liệu bởi xử lý

Một phần của tài liệu Giáo trình phân tích thiết kế hệ thống Thầy Khánh (Trang 160 - 170)

CHƯƠNG 6 XÂY DỰNG MÔ HÌNH LOGIC DỮ LIỆU

III. S ử DụNG CÁC NGÔN NGữ LậP TRÌNH

III.2. Hợp thức hóa mô hình dữ liệu bởi xử lý

Ta sẽ chứng tỏ rằng các tệp dữ liệu vừa xây dựng ở trên thỏa mãn các xử lý cho bài toán quản lý lưu trú trong ví dụ Khu du lịch Non Nước như sau :

− Đăng ký một lưu trú mới khi khách đến.

− Đăng ký thuê bao thể thao.

− Lập hóa đơn thanh toán khi khách đi.

Như vậy, mô hình thực thể - kết hợp khi chuyển thành MHLGDL các tệp sẽ được hợp thức hoá bởi các xử lý.

a. Đăng ký một lưu trú mới

Tệp dữ liệu LƯUTRÚ.DBF được thêm một bản ghi mới : SELECT 0

USE LƯUTRÚ INDEX CMLƯUTRÚ && Khoá LưuTrúSố APPEND BLANK

SCATTER MEMVAR

*INPUT m.LưuTrúSố,m.ChỗSố,m.TênKhách,m.NgàyĐến,m.NgàyĐi,m.SốNgười GATHER MEMVAR

USE

b. Đăng ký thuê thể thao

Tệp dữ liệu THUÊ.DBF được thêm một bản ghi mới : SELECT 0

USE THUÊ INDEX CMTHUÊ && Khoá LưuTrúSố+TênThểThao+NgàyThuê APPEND BLANK

SCATTER MEMVAR

*INPUT m.LưuTrúSố,m.TênThểThao,m.NgàyThuê,m.SốĐơnVị GATHER MEMVAR

USE

c. Lập hóa đơn

Đây là thủ tục phức tạp hơn cả, mọi tệp dữ liệu và chỉ mục đều dùng đến : STORE 0 TO m.LưuTrúSố, m.SốTiền

INPUT “Cho biết Lưu Trú Số:” TO m.LưuTrúSố SELECT 0

USE LƯUTRÚ INDEX CMLƯUTRÚ && Khoá LưuTrúSố SEEK m.LưuTrúSố

IF FOUND() && Tìm thấy bản ghi có khoá m.LưuTrúSố

*Nhận các giá trị ChỗSố,TênKhách,NgàyĐến,NgàyĐi và SốNgười SCATTER MEMVAR

SELECT 0

USE CHỖ INDEX CMCHỗ && Khoá ChỗSố SEEK m.ChỗSố

IF FOUND() && Tìm thấy bản ghi có khoá m.LưuTrúSố SCATTER MEMVAR && Nhận giá trị m.KiểuChỗ SELECT 0

USE KIểU INDEX CMKIỂU && Khoá KiểuChỗ

SCATTER MEMVAR && Nhận giá trị m.GiáNgàyNgười SELECT 0

USE THUÊ

*Tạo tệp DBF trung gian khoá LưuTrúSố

COPY TO THUÊTG.DBF FOR LưuTrúSố=m.LưuTrúSố

*Mở tệp THỂTHAO để lấy GiáTiền tính toán SELECT 0

USE THỂTHAO INDEX CMTHỂTHAO && Khoá TênThểThao SELECT 0

SELECT THỂTHAO

SEEK THUÊTG.TênThểThao

m.SốTiền=m.SốTiền+THỂTHAO.GiáTiền*THUÊTG.SốĐơnVị SELECT THUÊTG

ENDSCAN

*Tiếp tục tính số tiền lưu trú và tổng số tiền phải trả

*In hoá đơn thanh toán ELSE

? “Không tìm thấy bản ghi có chỗ “+STR(m.ChỗSố,4) ENDIF

ELSE

? “Không tìm thấy bản ghi có khoá “+STR(m.LưuTrúSố,4) ENDIF

CLOSE DATABASES

Bài tập chương 6

1. Làm lại các bài tập ở chương 5 với các yêu cầu sau đây : 1. Xây dựng mô hình thực thể − kết hợp.

2. Chuyển đổi mô hình thực thể - kết hợp về mô hình logic dữ liệu

3. Mô tả các tệp CSDL và các quan hệ giữa chúng (nếu có), chỉ ra các tệp chủ (master), tệp tớ (slave) và các khoá sắp xếp tương ứng.

4. Cho 3 ví dụ về các câu hỏi vấn tin trên CSDL đã xây dựng.

Có thể sử dụng lệnh SQL (select...) để viết câu trả lời.

2. Viết các lệnh FoxPro :

Để chuyển đổi các thực thể LƯUTRÚ và THỂTHAO trong ví dụ đã cho ở chương 6 thành các tệp CSDL (DBF) và tệp chỉ mục (IDX hoặc CDX) tương ứng.

3. Quản lý đảng viên tại đảng bộ cơ sở Y a. Sơ đồ dòng thông tin

c Hồ sơ gia nhập Đảng (khoảng 10 mục tin).

d Hồ sơ gia nhập Đảng đã vào sổ Đảng + mã số Đảng viên + chức vụ Đảng + Đảng phí phải đóng hàng tháng.

e Phiếu sửa đổi hồ sơ Đảng viên : thông tin mới về Đảng viên cần sửa đối.

f Phiếu xoá bỏ hồ sơ Đảng viên (do khai trừ, thuyên chuyển...) : mã số Đảng viên.

g Danh sách Đảng viên trong Đảng bộ (thứ tự ABC).

h Danh sách Ban Thường vụ Đảng uỷ.

i Danh sách đóng Đảng phí của Đảng viên trong Đảng bộ (thứ tự ABC).

j Giấy biên nhận đã đóng Đảng phí.

b. Yêu cầu công việc Lập bảng các dòng.

j c

g h i d e f

Thường vụ.

Đảng uỷ Đảng viên mới

ĐẢNG BỘ CƠ SỞ Y

Bộ phận Văn thư, Tài vụ

4. Quản lý thư viện a. Mô tả

Để quản lý thư viện của một trường Đại học, người ta sử dụng những thông tin như sau : Tác phẩm Gồm các thông tin về tác phẩm số, tiêu đề, năm xuất bản,

tên nhà xuất bản, đơn giá...

Tác giả (của tác phẩm) Họ và tên tác giả, quốc tịch, nơi làm việc... Một tác phẩm có thể được viết bởi nhiều tác giả.

Sinh viên mượn các tác phẩm này

Mã sinh viên, họ và tên sinh viên, lớp, ngành chuyên môn...

Mượn tác phẩm Ngày mượn, ngày trả, mã sinh viên mượn,

tác phẩm số

Thư viện quy định rằng mỗi sinh viên chỉ có thể được mượn không quá 3 tác phẩm mỗi lần. Điều này có nghĩa nếu một sinh viên nào đó đã mượn và còn giữ lại một vài tác phẩm (chưa trả) thì anh ta chỉ được mượn tiếp cho đủ 3 tác phẩm. Còn nếu anh ta đã trả hết (hoặc chưa mượn) thì có thể mượn cùng lúc tối đa 3 tác phẩm.

b. Yêu cầu công việc

Anh (hay chị) hãy lập mô hình thực thể − quan hệ (có ghi bản số min − max tương ứng với CIF hoặc CIM) cho các trường hợp cụ thể sau :

Số lượng mỗi tác phẩm chỉ có một.

Số lượng mỗi tác phẩm có nhiều.

Thư viện muốn quản lý thêm nhà xuất bản (gồm tên và địa chỉ nhà xuất bản).

Lập ma trận phụ thuộc hàm để hợp thức hoá cho trường hợp 3 vừa nêu.

Chuyển mô hình dữ liệu trên về cấu trúc dữ liệu trong FoxPro.

5. Thực tập tốt nghiệp a. Mô tả

Tại một trường Đại học, Khoa Công nghệ Thông tin (CNTT) tổ chức cho sinh viên thực tập tốt nghiệp hàng năm trong thời gian 10 tuần tại các cơ sở sản xuất − nghiên cứu thuộc về lĩnh vực Tin học.

Khoa CNTT báo cho sinh viên danh sách những cơ quan đồng ý tiếp nhận sinh viên để họ có thể tự do lựa chọn nơi phù hợp với đề tài của họ. Sinh viên chọn xong, Khoa phân công giáo viên trực tiếp hướng dẫn sinh viên thực tập. Sau đó, Khoa đánh quyết định thực tập cho mỗi sinh viên.

Các giáo viên của Khoa sau khi được phân công sẽ xuống các cơ sở thực tế để kiểm tra việc thực tập tốt nghiệp của sinh viên. Mỗi giáo viên phải hướng dẫn ít nhất bốn sinh viên.

Để phân phối giáo viên cho phù hợp, Khoa CNTT cần biết những cơ sở thực tế mà giáo viên đã từng đến trong những kỳ thực tập của các năm trước.

Khoa CNTT cần có những thông tin như sau :

− Với mỗi cơ quan : tên cơ quan, địa chỉ, số điện thoại, loại cơ quan (nhà nước, tư nhân, liên doanh...), họ tên người phụ trách nhận quản lý sinh viên thực tập.

− Với mỗi sinh viên : mã số, họ tên, ngày sinh, giới tính, nhóm đề tài, và, những thông tin sau khi nhận quyết định thực tập : tên cơ quan sinh viên sẽ đền, ngày ký quyết định thực tập và họ tên giáo viên trực tiếp hướng dẫn.

− Với mỗi giáo viên : mã số, họ tên, giới tính, chức danh, số điện thoại, tên cơ quan đã từng đến hướng dẫn sinh viên và năm tương ứng (gần đây nhất).

Chú ý : Một cơ quan có thể tiếp nhận đồng thời nhiều sinh viên, tuy nhiên, mỗi sinh viên có thể có một giáo viên hướng dẫn riêng (các sinh viên tại cùng một cơ quan không nhất thiết có cùng giáo viên hướng dẫn).

b. Yêu cầu công việc

Xây dựng mô hình thực thể − quan hệ (có ghi bản số min − max tương ứng với CIF hoặc CIM) biểu diễn việc tổ chức thực tập tốt nghiệp của Khoa CNTT tại một năm học đã cho.

U9

Một phần của tài liệu Giáo trình phân tích thiết kế hệ thống Thầy Khánh (Trang 160 - 170)

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

(170 trang)