SINHVIEN Thuộc tính Kiểu dữ liệu Kích thước Ghi chú NGAYSINH Datetime LOPHOC Thuộc tính Kiểu dữ liệu Kích thước Ghi chú MONHOC Thuộc tính Kiểu dữ liệu Kích thước Ghi chú THETHUVIE
Trang 1MỤC LỤC
CHƯƠNG 1: THIẾT LẬP MÔ HÌNH ER 3
1.1 Giới thiệu: 3
1.1.1 Khởi động Power Designer 16 3
1.1.2 Tạo mới 1 mô hình quan niệm dữ liệu 3
1.1.3 Thanh công cụ 5
1.2 Thiết lập mô hình CDM 6
1.2.1 Tạo thực thể 6
1.2.2 Tạo mối kết hợp 8
1.2.3 Tạo thực thể yếu 12
1.2.4 Biểu diễn mối kết hợp đệ quy 14
1.2.5 Biểu diễn mối kết hợp 1-1 14
1.2.6 Biểu diễn cấu trúc phân cấp ( tổng quát hóa và chuyên biệt hóa) 15
1.2.7 Biểu diễn mối kết hợp mở rộng 18
1.3 Chuyển đổi từ mô hình CDM sang mô hình PDM 23
1.4 Chuyển đổi từ mô hình PDM sang SQL Server 26
1.5 Bài tập: 35
CHƯƠNG 2 THIẾT LẬP MÔ HÌNH DFD 38
2.1 Giới thiệu 38
2.2 Tạo ô xử lý, kho dữ liệu, tác nhân và dòng dữ liệu 40
2.3 Tạo mô hình phân cấp 51
2.3.1 Tạo mô hình một cấp 51
2.3.2 Tạo mô hình nhiều cấp 52
2.4 Một số lưu ý khi thiết kế mô hình xử lý 56
2.5 Bài tập 58
CHƯƠNG 3: THIẾT KẾ GIAO DIỆN 62
3.1 Giới thiệu: 62
3.2 Khởi tạo dự án: 62
3.3 Thiết kế các thành phần GUI: 63
3.3.1 Tạo lập một màn hình mới: 63
3.3.2 Tạo lập cửa sổ ứng dụng chính: 69
3.4 Thiết kế Prototype các ứng dụng tương tác: 71
3.4.1 Gộp tất cả lại: 71
Trang 3CHƯƠNG 1: THIẾT LẬP MÔ HÌNH ER
1.1 Giới thiệu:
1.1.1 Khởi động Power Designer 16
Start/All Programs/ Sybase/ PowerDesigner 16/ PowerDesigner
Object Browser Window: hiện nội dung của vùng làm việc
(workspace) trong tree view Bạn có thể dùng Object Browser để tổ chức các đối tượng trong mỗi mô hình của bạn
Workspace là tên của PowerDesigner session hiện hành CDM mới sẽ
được mở và lưu trong workspace
Output Window: hiển thị progression của các process mà bạn chạy từ
PowerDesigner, Ví dụ tiến trình tạo PDM từ CDM sẽ được hiển thị trong window này
1.1.2 Tạo mới 1 mô hình quan niệm dữ liệu
File/ New Model Hộp thoại New Model xuất hiện
Chọn Model types là Conceptual Data Model
Gõ tên mô hình vào ô Model name
Click nút OK
Trang 4Tên mô hình xuất hiện trong cửa sổ Workspace
Trang 51.1.3 Thanh công cụ
Cách bật Association và Association link:
Vào menu: tools-> Model options-> Notation, chọn "E/R+Merise"
Trang 6học, ứng với mỗi môn học có 1 điểm số Thông tin lớp học gồm: mã lớp và tên lớp (mã lớp là khóa chính) Thông tin sinh viên gồm: mã sinh viên, họ tên, ngày sinh và địa chỉ (mã sinh viên là khóa chính) Thông tin môn học gồm: mã môn học, tên môn học và số tín chỉ (mã môn học là khóa chính) Ngoài ra, mỗi sinh viên còn được cấp 1 thẻ thư viện Thông tin thẻ thư viện gồm: mã thẻ, ngày cấp, ngày hết hạn
SINHVIEN
Thuộc tính Kiểu dữ liệu Kích thước Ghi chú
NGAYSINH Datetime
LOPHOC
Thuộc tính Kiểu dữ liệu Kích thước Ghi chú
MONHOC
Thuộc tính Kiểu dữ liệu Kích thước Ghi chú
THETHUVIEN
Thuộc tính Kiểu dữ liệu Kích thước Ghi chú
Khai báo thông tin của thực thể:
Double-click vào thực thể, một cửa sổ mới mở ra cho phép chúng ta chỉnh sửa thông tin của thực thể như: tên của thực thể, thuộc tính của thực thể, các rule,…
Thẻ General:
Name Tên thực thể Tên này hiển thị trên mô hình
Trang 7Comment Diễn giải về thực thể
Number Số mẫu tin sẽ lưu trữ trong thực thể
Generate table Được chọn nếu entity sẽ được chuyển thành table trong PDM
Thẻ Attributes : Khai báo thuộc tính của thực thể
Name: nhập tên thuộc tính của thực thể
Trang 8phù hợp cho các thuộc tính, bên dưới cho có text box cho phép ta chọn kích thước chiều dài của từng kiểu dữ liệu
M (Mandatory): thuộc tính có bắt buộc hay không?
P(Primary Indentifier): thuộc tính có phải là khóa chính hay không?
D(Displayed): có hiển thị thuộc tính này hay không?
1.2.2 Tạo mối kết hợp
Cách 1: không sử dụng biểu tượng mối kết hợp ở giữa:
Giả sử ta xét mối quan hệ giữa hai thực thể SINHVIEN và LOPHOC
Chọn biểu tượng mối quan hệ của hai thực thể từ thanh công cụ
Click vào thực thể SINHVIEN và kéo qua thực thể LOP
Để thay đổi thông tin của mối kết hợp: như tên của mối kết hợp, bản
số của mối kết hợp(1-1, 1-n, n-1, ….) ta double click vào mối quan hệ:
Trang 9 Nhập tên mối quan hệ vào mục Name
Chọn bản số của mối kết hợp trong thẻ Cardinalities Ta có các mối quan hệ: 1-1, 1-n, n-1, n-n
Dependent cho phép ta có sử dụng phụ thuộc khóa hay không?
Mandatory: cho biết lượng số tối thiểu ở mỗi đầu của mối kết hợp là
1 (chọn Mandatory) hoặc 0 (không chọn Mandatory)
Sau khi tạo xong, kết quả như sau:
o
Cách 2: sử dụng biểu tượng mối kết hợp ở giữa:
Bước 1: tạo ra 1 mối kết hợp trong lược đồ:
Trang 10 Chú ý: mối kết hợp không có thuộc tính khóa
Bước 2: Tạo liên kết giữa thực thể với mối kết hợp
Click chọn biểu tượng Link, kéo thả từ thực thể đến mối kết hợp
Chỉnh sửa các thông tin của liên kết:
Role :Nhãn diễn giải vai trò của mối liên kết
Cardinality: Bản số mỗi nhánh của mối kết hợp
Trang 11o Kết quả như sau:
Trang 12o Kết quả như sau:
Trang 13Trong lúc tạo mối quan hệ giữa hai thực thể ta chỉ cần check vào checkbox Dependent như hình bên dưới:
Kết quả như sau:
Trang 141.2.5 Biểu diễn mối kết hợp 1-1
Ta thấy rằng bản số của mối kết hợp giữa 2 thực thể SINHVIEN và
THETHUVIEN là 1-1 theo hình sau:
Khi chuyển sang PDM, mô hình có dạng:
Giả sử ta chỉ muốn đưa MaSV vào table THETHUVIEN mà không muốn đưa Mathe vào table SINHVIEN, ta double click vào đường link của mối kết hợp, chọn mục Dominant role như hình dưới đây:
Trang 15Kết quả sau khi chuyển sang PDM nhƣ sau:
1.2.6 Biểu diễn cấu trúc phân cấp ( tổng quát hóa và chuyên biệt hóa)
(1) Click công cụ Inheritance link trong thanh Palette
(2) Drag and drop từ thực thể con đến thực thể cha Sẽ sinh ra MKH kế thừa có tên là Inhr_n
(3) Nếu muốn khai báo thêm thực thể con thì drag and drop từ ký hiệu hình bán nguyệt tới thực thể con đƣợc thêm
Nếu muốn thay đổi tên và khai báo các đặc tính của nó thì bấm đúp vào hình bán nguyệt, sẽ xuất hiện hộp thoại inheritance properties
Trang 17 Trang Generation: Chỉ định cách thức chuyển đổi cấu trúc kế thừa sang
mô hình PDM
Genarate parent: tạo hay không tạo thực thể cha
Genarate children: tạo hay không tạo thực thể con
Trường hợp chỉ chọn Generate Parent mà không chọn Generate Children: tạo ra một Table tương ứng với thực thể cha và chứa thêm các thuộc tính của thực thể con Kết quả khi chuyển sang mô hình PDM như sau:
NHANVIEN MaNV
TenNV Khoa Phong
char(10) char(30) char(10) char(10)
<pk>
Trường hợp chỉ chọn Generate Children mà không chọn Generate Parent:
Khi chuyển sang PDM, Power Designer sẽ tạo các table tương ứng với các thực thể con Khi đó cần chỉ định cách thức kế thừa:
Inherit all attributes: kế thừa tất cả các thuộc tính của thực thể cha
Inherit only primary attributes: chỉ kế thừa các thuộc tính khóa của thực thể
Trang 18 Trường hợp chọn cả 2:
1.2.7 Biểu diễn mối kết hợp mở rộng
Ví dụ bạn cần biểu diễn mối kết hợp mở rộng cho hệ thống thông tin quản
lý khách sạn như sau: Mỗi lần khách đến ở thì lập một phiếu đăng ký, mỗi phiếu đăng ký được đăng ký nhiều phòng Khách sạn cũng có các dịch vụ để phục vụ khách hàng, các dịch vụ này chỉ phục vụ sau khi khách đã đăng ký và đến ở Hệ thống cũng lưu lại số lượng sử dụng dịch vụ của từng phòng trong một lần ở
Trang 19Trong ví dụ này, giả sử ta có 2 mối kết hợp CTPHONG và CTDICHVU, rõ ràng mối kết hợp CTDICHVU được nghĩa trên mối kết hợp CTPHONG như hình
vẽ tay dưới đây:
Cách biểu diễn mô hình trong mô hình CDM của Power Designer
Đầu tiên các mối kết hợp và kểt hợp mở rộng ta điều tạo là các thực thể
Kết quả như sau:
Trang 20 Việc tạo các thực thể đơn giản như đã làm ở phần bài tập trên, ở đây ta quan tâm đến mối kết hợp và mối kết hợp mở rộng là làm sao chúng kế thừa được khóa từ những thực thể của chúng Cụ thể, thực thể CTPHONG là thực thể yếu phụ thuộc vào 2 thực thể PHIEUDANGKY và PHONG, thực thể CTDICHVU là thực thể yếu phụ thuộc vào 2 thực thể CTPHONG và DICHVU
Cách tạo mối quan hệ phụ thuộc thực hiện như hướng dẫn ở phần 4.3
Giả sử hệ thống cần lưu lại chi tiết ngày sử dụng và giờ sử dụng cho mỗi lần khách sử dụng dịch vụ để phân biệt các lần sử dụng khác nhau trong ngày Lúc này mối kết hợp CTDICHVU có thêm 2 thuộc tính NgaySD và GioSD Hai thuộc tính này là thuộc tính khóa, được vẽ bằng tay như sau:
Trang 21
Ta không thể thiết lập thuộc tính khóa cho mối kết hợp, hơn nữa mối kết hợp CTDICHVU lúc này có định danh riêng nên phải chuyển thành thực thể Sau khi chuyển, kết quả nhƣ sau:
Trang 231.3 Chuyển đổi từ mô hình CDM sang mô hình PDM
Bước 1: Kiểm tra mô hình:
Chọn Tool/Check Model hoặc ta có thể nhấn phím tắt F4
Xuất hiện hộp Check Conceptual Data Model
Chọn hay bỏ chọn những đối tượng cần kiểm tra lỗi và chú ý
o Click OK Kết quả kiểm tra sẽ hiện trong khung “Output” Đối tượng và thuộc tính bị lỗi sẽ hiện trong khung Result List
Trường hợp mô hình có lỗi, bạn có thể xem chi tiết thông báo lỗi hoặc chuyển nhanh đến đối tượng bị lỗi bằng cách: click phải vào dòng thông báo trong hộp thoại “Result List” và chọn:
(1) Detail để xem chi tiết lỗi
(2) Correct mở cửa sổ thuộc tính của đối tượng bị lỗi để chỉnh sửa
(3) Recheck để kiểm tra lại mô hình sau khi hiệu chỉnh
Trang 261.4 Chuyển đổi từ mô hình PDM sang SQL Server
Bước 1: Tạo CSDL mới trong SQL Server, giả sử Database mới trong SQL Server
là QLKS
Bước 2: Tạo kết nối từ Power Designer đến CSDL trên SQL Server
Từ mô hình vật lý:
Trang 27hình sau xuất hiện:
Click vào biểu
tƣợng Add Data
Source trên hình
Trang 28(4) Cửa sổ Create New
Data Source xuất
hiện, chọn trong
listbox SQL
Server, nhấn nút
Next
Trang 29(5) Nhấn nút Finish,
xuất hiện cửa sổ
Create a new data
Trang 32Ta có hình minh họa sau:
Trang 33Bước 4: Ta chọn DatabaseGenerate Database (Ctrl + G), cửa sổ Database
Generation xuất hiện, cửa sổ này cho phép chúng ta lựa chọn một số tham số cần thiết trước khi tạo database:
Trang 34 Nhấn nút Run, lúc này các Table đã đƣợc tạo trong Database QLKS của SQL Server
Đoạn Script
Trang 35cuonsach tuasach
1 1 1 1
1 1
Thuyết minh cho mô hình dữ liệu
Thuộc tính mô tả cho các thực thể
Thực thể docgia: ma_docgia, ho, tenlot, ten, hinh
Thực thể thedocgia: ma_docgia, ngaylapthe, ngayhethan
Thực thể nguoilon: ma_docgia, sonha, duong, quan, dienthoai, ngaysinh
Thực thể treem: ma_docgia, ngaysinh
Thực thể tuasach: ma_tuasach, tuasach, tacgia, tomtat
Thực thể dausach: isbn, ngonngy, bia, trangthai
Thực thể cuonsach: ma_cuonsach, tinhtrang
Mối kết hợp dangky: ngay_dk,ghichu
Thực thể phieumuon: ngaymuon, ngaytra
Thực thể phieutra: ngaytrathatsu, tienphat
Về cách qui định đặt thuộc tính tham gia làm khóa chính cho các thực thể
Thực thể tuasach có ma_tuasach là khóa chính
Thực thể dausach có isbn là khóa chính
Thực thể cuonsach lấy khóa chính của thực thể dausach và thuộc tính
ma_cuonsach của nó để làm khóa chính
Thực thể docgia co ma_docgia là khóa chính
Trang 36Các thực khách sẽ đến ăn uống tại nhà hàng Mỗi thực khách có các thông tin như:
số CMND, họ tên, địa chỉ, phái Nếu các thực khách đi theo nhóm thì chỉ tính là một thực khách và chọn một người trong nhóm là đại diện Mỗi lần đến ăn uống tại nhà hàng, thực khách sẽ nhận được hóa đơn thanh toán có các thông tin: mã hóa đơn, ngày lập, họ tên thực khách, các món ăn, các thức uống, giá tiền
Bài 2: QUẢN LÝ CỬA HÀNG VẬT LIỆU XÂY DỰNG
Một cửa hàng vật liệu xây dựng muốn xây dựng CSDL để quản lý hoạt động kinh doanh của cửa hàng Cửa hàng mua nguyên vật liệu từ các nhà cung cấp Mỗi lần cần mua nguyên vật liệu, cửa hàng cần lập đơn đặt hàng ghi rõ các mặt hàng cần mua, số lượng Thông tin về nguyên vật liệu là mã vật liệu, tên vật liệu, đơn vị tính
Trang 37cung cấp giao hàng, cửa hàng sẽ lập phiếu nhập hàng gồm các thông tin mã phiếu nhập, ngày giờ nhập, nhập theo đơn hàng nào, các mặt hàng nhập, số lượng và đơn giá nhập Một đơn đặt hàng có thể phải nhập hàng nhiều lần nhưng mỗi lần nhập hàng chỉ nhập theo một đơn đặt hàng Các mặt hàng được phân theo loại hàng để tiện quản lý Thông tin của loại hàng gồm mã loại, tên loại
Các khách hàng sẽ đến cửa hàng mua vật liệu Mỗi lần khách hàng mua vật liệu nhân viên của cửa hàng sẽ lập phiếu xuất hàng, trong đó ghi rõ ngày xuất, xuất cho khách hàng nào, nhân viên lập, danh sách chi tiết các mặt hàng cùng số lượng, đơn giá xuất, tổng thành tiền
Bài 3: QUẢN LÝ MUA BÁN HÀNG TẠI SIÊU THỊ
Một siêu thị cần xây dựng một hệ thống quản lý hàng hóa đang bày bán tại siêu thị Siêu thị hiện đang có những hoạt động như sau:
Siêu thị nhập hàng từ nhà cung cấp Các nhà cung cấp cung cấp nhiều mặt hàng với số lượng khác nhau Mỗi mặt hàng cần ghi nhận thông tin mã hàng, tên hàng, đơn vị tính Mỗi mặt hàng chỉ do một nhà sản xuất làm ra Những thông tin về nhà sản xuất là: mã nhà sản xuất, tên nhà sản xuất, quốc tịch Các mặt hàng thuộc cùng chủng loại nhưng khác nhà sản xuất sẽ được đánh mã khác nhau Mỗi lần nhập hàng cần lưu lại phiếu nhập hàng gồm các thông tin như: mã phiếu nhập, các mặt hàng nhập, nhập từ nhà cung cấp nào, số lượng, đơn giá nhập, ngày giờ nhập Các thông tin về nhà cung cấp là mã nhà cung cấp, họ tên, địa chỉ
Siêu thị có rất nhiều quầy hàng bán các mặt hàng, tuy nhiên mỗi mặt hàng chỉ được bày bán ở một quầy nhất định nào đó Thông tin về quầy hàng bao gồm số quầy, tên quầy, vị trí
Các khách hàng sẽ đến siêu thị mua hàng Mỗi lần khách mua hàng, hệ thống sẽ in
ra phiếu bán hàng gồm các thông tin mã phiếu bán, khách hàng, các mặt hàng, số lượng, đơn giá bán Thông tin của khách hàng bao gồm mã khách hàng, tên khách hàng, địa chỉ
Trang 38tượng quan tâm của phân tích xử lý là các hoạt động hay xử lý thông tin và các dòng thông tin giữa các hoạt động xử lý này Kết quả của giai đoạn phân tích xử lý này là lược đồ xử lý (Process Schemal) của hệ thống thông tin ngược lại với mô hình tĩnh của hệ thống thông tin là mô hình thực thể kết hợp
Trong thực tế tồn tại nhiều loại mô hình xử lý khác nhau:
Một số tập trung vào dữ liệu và dòng dữ liệu giữa các hoạt động
Một số tập trung vào tính đồng bộ của các hoạt động bằng cách định rõ điều kiện trước và điều kiện sau của hoạt động
Chúng ta chỉ quan tâm đến loại mô hình đơn giản nhưng hiệu quả và khá phổ biến cho giai đoạn phân tích xử lý là mô hình dòng dữ liệu (Data Fow Diagram-DFD)
Hướng dẫn cách tạo mô hình DFD trong Power Designer
Khởi động Power Designer 16
Start/All Programs/ Sybase/ PowerDesigner 16/ PowerDesigner
Trang 39Tạo mới một mô hình DFD
Vào File New Model Chọn Model type Business Process Diagram nhƣ màn hình 3.2
Hình 3.2 Tạo mới một mô hình DFD
- Tại Model Name: Đặt tên mô hình DFD
- Tại Process language: Chọn Data Flow Diagram
Trang 40Hình 3.3 Màn hình làm việc tạo mô hình DFD
2.2 Tạo ô xử lý, kho dữ liệu, tác nhân và dòng dữ liệu
Các đối tƣợng trên mô hình DFD tại hộp Toolbox Data Flow Diagram
Trang 42o Đặt tên: Động từ + bổ ngữ (nếu cần) Ví dụ: Ghi hoá đơn, nhập hồ sơ,…
Dòng dữ liệu:
o Chức năng: Là luồng thông tin vào hoặc ra của 1 chức năng xử lý
o Đặt tên: Danh từ + tính từ (nếu chạy) Ví dụ: Hồ sơ đã kiểm tra, đơn hàng đã duyệt,…
Tác nhân ngoài:
o Chức năng: Nhân tố bên ngoài là phần sống còn của hệ thống, chúng
là nguồn gốc cung cấp thông tin cho hệ thống và là nơi nhận các sản phẩm của hệ thống
o Đặt tên: Danh từ Ví dụ: Sinh viên, giáo viên, phòng đào tạo,… Kho dữ liệu:
o Một kho dữ liệu là tập hợp các dữ liệu được lưu lại để có thể được truy nhập nhiều lần về sau
o Đặt tên: Danh từ + tính từ (nếu cần) Ví dụ: Hồ sơ cán bộ, Danh sách giá,…
Phân rã sơ đồ DFD
Right Click vào xử lý muốn thực hiện phân rã, chọn Decompose Process