Tải bản đầy đủ (.pdf) (65 trang)

Mô hình hóa và thiết kế cơ sở dữ liệu của bạn với pptx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (402.22 KB, 65 trang )

Mô hình hóa và thiết kế cơ sở dữ liệu của bạn
với Bộ tạo mô hình dữ liệu XDE Rational
David Bridgewater, Tác giả, Studio B
Tóm tắt: Hướng dẫn này chỉ dẫn cho bạn cách sử dụng Bộ tạo mô hình dữ liệu
trong bộ công cụ XDE Rational để quản lý việc thiết kế và bảo trì cơ sở dữ liệu
của bạn như thế nào. Hướng dẫn đưa bạn qua tấ
t cả các bước cần thiết để tạo ra
một mô hình lôgíc cho cơ sở dữ liệu của bạn, và để biến đổi nó thành sơ đồ vật lý
và bộ kịch bản lệnh để tạo cơ sở dữ liệu. Cơ sở dữ liệu đích là UDB DB2 của hãng
IBM. Chúng tôi cũng chỉ dẫn ngắn gọn cho bạn cách làm theo chiều ngược lại: Bài
hướng dẫn chỉ cho bạn cách tiến hành nếu bạn muốn bắt đầu với một cơ sở dữ liệu
vật lý và biến đổi chúng thành thiết kế lôgíc và vật lý trong Bộ tạo mô hình dữ liệu.
Trước khi bạn bắt đầu
Về hướng dẫn này
Bạn cần phải theo hướng dẫn này nếu bạn để tâm trí vào kiến trúc dữ liệu cho dự
án của bạn hay của công ty bạn. Hướng dẫn này được so
ạn cho các nhà thiết kế,
các quản trị viên hay các nhà phát triển cơ sở dữ liệu, chịu trách nhiệm về mô hình
dữ liệu, cả lôgíc lẫn vật lý, và/hoặc các cơ sở dữ liệu thực (đặc biệt là cơ sở dữ liệu
phổ thông DB2).
Hướng dẫn này không yêu cầu bạn phải có các hiểu biết trước đó. Tuy nhiên, sẽ dễ
dàng hơn nếu bạn quen thuộc với các đi
ều sơ đẳng của cơ sở dữ liệu quan hệ
nhất là các dạng chuẩn và thiết kế thực thể quan hệ. Cũng sẽ có ích nếu bạn có
kiến thức nào đó về Ngôn ngữ mô hình hóa thống nhất (UML), đặc biệt là về các
sơ đồ lớp vì chúng được sử dụng ở bên trong các công cụ của Rational® như là cái
tương đương thực sự của các sơ đồ thực thể quan hệ.
Bài hướng dẫn này nói về thành phần Bộ tạo mô hình dữ liệu của bộ công cụ XDE
Rational của hãng IBM® và hướng dẫn cách sử dụng nó với hệ thống quản trị cơ
sở dữ liệu UDB® DB2 của IBM như một phương tiện thực thi. Bài hướng dẫn bao
gồm các mục sau đây:


• Tổng quan về XDE Rational mô tả bằng cách nào mà các công cụ của
Rational khai thác một cách thành công UML và làm cho nó áp dụng được
để thiết kế và mô hình hóa cơ sở dữ liệu. Mục này giới thiệu danh sách các
thực thể cho một ví dụ bán lẻ, ví dụ này là cốt lõi của bài hướng dẫn.
• Phối cảnh tạo mô hình dữ liệu dạy bạn về các đặc tính chính của phối
cảnh tạo mô hình dữ liệu trong sản phẩm WebSphere® Application
Developer của hãng IBM (hay Eclipse), và hướng dẫn bạn cách tạo dự án
tạo mô hình dữ liệu đầu tiên của bạn bằng công cụ XDE Rational.
• Tạo mô hình dữ liệu lôgíc chuyển các danh sách thực thể từ mục tổng
quan thành mô hình dữ liệu lôgíc hoàn toàn đầy đủ và kết thúc bằng việc
trình diễn cách biến đổi nó thành một mô hình dữ liệu (vật lý) như thế nào.
• Sự tích hợp giữa việc tạo mô hình dữ liệu vật lý và UDB DB2 khảo sát
mô hình dữ liệu đã sinh ra từ mô hình dữ liệu lôgíc và xem xét cách tiến
hành một số thay đổi cho mô hình này để đưa vào thêm các đặc tính thực
thi vật lý khác ví dụ như các vùng bảng (tablespaces). Mục này kết thúc
bằng việc trình diễn cách chuyển tiếp thiết kế mô hình dữ liệu vào trong
một lược đồ trong cơ sở dữ liệu UDB của DB2.
• Đến đó và quay lại lần nữa chỉ dẫn toàn bộ quá trình theo chiều ngược lại.
Cơ sở dữ liệu UDB của DB2 được tạo ra trước đó được bố trí ngược lại
thành một mô hình dữ liệu mới. Từ mô hình này bạn tạo ra một mô hình dữ
liệu lôgíc.
• Các phương tiện đồng bộ hóa kết thúc bài hướng dẫn bằng việc điểm qua
các công cụ có thể quản lý và lan truyền các thay đổi giữa mô hình lôgíc,
mô hình vật lý và cơ sở dữ liệu thực tế.

Về đầu trang
Các điều kiện cần có trước
Chủ đề chính của hướng dẫn này là Bộ tạo mô hình dữ liệu của Rational, nó là một
bộ phận cấu thành của bộ công cụ của các nhà phát triển Rational, được gọi là
XDE của Rational.

Công cụ XDE Rational được tích hợp vào trong các công cụ bàn làm việc phát
triển khác của IBM. Với mục đích của hướng dẫn này, nó được sử dụng với phầ
n
mềm WebSphere Studio Application Developer, phiên bản 5.1.1. của IBM.
Có thể chạy XDE Rational với công cụ phát triển Eclipse, phiên bản 2.1 tải về
miễn phí (không được trình bày thêm trong hướng dẫn này, mặc dù không có bất
kỳ sự khác biệt nào). Việc cài đặt công cụ XDE Rational vào trong sản phẩm
WebSphere Studio Application Developer nằm ngoài phạm vi của hướng dẫn này,
nhưng đó là công việc hoàn toàn đơn giản.
Cơ sở dữ liệu đích của hướng dẫn này là UDB DB2 của IBM. Bạn có thể t
ải
xuống bản dùng thử của cơ sở dữ liệu phổ thông DB2.
Tổng quan về XDE của Rational
UML cho dữ liệu: Mâu thuẫn trong thuật ngữ ?
Hướng dẫn này nói về bộ công cụ XDE Rational và tính khả dụng của nó đối với
các cơ sở dữ liệu. Các công cụ của Rational theo truyền thống được gắn kết với
cộng đồng mô hình hóa đối tượng và nói riêng, với UML. UML được biết đến
nhiều trong việc hợp lý hóa các cách biểu diễn đồ họa khác nhau của đối tượ
ng,
chứ không phải của dữ liệu, của các mối quan hệ.
Hiển nhiên là cộng đồng mô hình hóa đối tượng không có độc quyền đối với cách
tiếp cận biểu đồ. Trong thế giới cơ sở dữ liệu, sơ đồ các mối quan hệ thực thể tồn
tại từ nhiều thập niên. Nếu bạn nhìn kỹ một sơ đồ mối quan hệ thực thể
truyền
thống, đặt nó bên cạnh một sơ đồ lớp, bạn sẽ thấy nhiều điểm giống nhau hơn là
các điểm khác nhau. Một số nguồn gợi ý rằng các sơ đồ lớp nói riêng, được phát
triển từ việc nghiên cứu cách tiếp cận sơ đồ mối quan hệ thực thể.
Tính khả dụng của UML đối với thiết kế cơ sở d
ữ liệu được được trình bày kỹ
trong cuốn UML cho thiết kế cơ sở dữ liệu (Xem mục Tài nguyên). Ở phần đầu

cuốn sách các tác giả nói như sau:
"Đừng loại trừ việc sử dụng UML chỉ vì bạn không xây dựng các ứng dụng hướng
đối tượng— Về cơ bản, UML có thể được sử dụng cho bất kỳ kiểu dự án phân tích
và thiết kế nào, dù cơ sở
dữ liệu hay các hệ thống có là hướng đối tượng hay
không."

Về đầu trang
Bộ tạo mô hình dữ liệu XDE Rational: Tổng quan nhanh
Bộ tạo mô hình dữ liệu XDE Rational cung cấp rất nhiều lợi ích cho bất kỳ phòng
ban máy tính nào phải thiết kế và quản lý một cơ sở dữ liệu mọi kích cỡ. Các lợi
ích này bao gồm (và không chỉ có thế):
• Dễ dàng sử dụng các công cụ đồ họa để thiết kế, mở rộng hay xem trực
quan bất kỳ cơ sở dữ liệu nào.
• Hỗ trợ đầy đủ các tầng mô hình hóa dữ liệu truyền thống: Lôgíc và vật lý.
• Kết nối đầy đủ giữa các tầng vật lý và lôgíc và tích hợp từ tầng vật lý đến
tất cả các hệ thống quản trị cơ sở dữ liệu chính.
• Tích hợp đầy đủ với bàn công tác của Eclipse và các công cụ khác của
Rational.
• Mô hình hóa dữ liệu là một sự mở rộng của các loại mô hình hóa khác
trong bộ công cụ của Rational. Những người làm mô hình đối tượng với các
công cụ của Rational nhanh chóng học được và bổ sung thêm kỹ năng tạo
mô hình dữ liệu vào tập hợp các kỹ năng của họ.
Vì nó xuất phát từ mô hình hóa đối tượng, Bộ tạo mô hình dữ liệu XDE Rational
hợp nhất các sơ đồ UML và các tác nhiệm thiết kế cơ
sở dữ liệu một cách tao nhã
nhất. Các đơn vị công việc đầu tiên cho XDE Rational là các mô hình, chúng nằm
trong các dự án mô hình hóa. Có hai kiểu mô hình được kết hợp với dự án tạo mô
hình dữ liệu:
• Mô hình dữ liệu lôgíc: Để mô hình hóa các mối quan hệ dữ liệu giữa các

thực thể ở mức nhận thức.
• Mô hình dữ liệu: Để tạo mô hình cơ sở dữ liệu vật lý. Bất kỳ nơi nào trong
tài liệu của Rational mà bạn thấy chỉ bốn chữ "mô hình dữ liệu", thì bạn
hãy hiểu rằng nó có nghĩa là "mô hình dữ liệu vật lý". Quy ước này được áp
dụng xuyên suốt hướng dẫn này, nhưng đôi khi viết "mô hình dữ liệu (vật
lý)" là nhằm để nhấn mạnh sự khác biệt của nó với mô hình dữ liệu lôgíc.
Mô hình dữ liệu (vật lý) có thể bị ràng buộc với một hệ quản trị cơ sở dữ
liệu cụ thể (Chẳng hạn như UDB của DB2) hay với một mẫu số chung nhỏ
nhất của tiêu chuẩn ANSI SQL 92.
Tại tâm điểm của mỗi kiểu mô hình dữ liệu là một sơ đồ lớp UML (có thể là một
vài sơ đồ như vậy). Các sơ đồ lớp được điều chỉnh thích nghi để hỗ trợ các chức
năng khác nhau mà các mô hình dữ liệu lôgíc và mô hình dữ liệu (vật lý) yêu cầu.
Sự điều chỉnh thích nghi này tự nó biểu lộ bằng một vài cách – đây là những các
cách rõ ràng nh
ất:
• Các bản mẫu UML được kết hợp với các biểu tượng sơ đồ. Các bản mẫu là
các nhãn miêu tả nằm trong các dấu ngoặc kép. Trong các mô hình dữ liệu
lôgíc, bạn nhiều khả năng đã thấy các bản mẫu <<entity>>. Trong các mô
hình dữ liệu (vật lý), bạn sẽ thấy khá nhiều bản mẫu cụ thể hơn: <<table>>.
• Các thuộc tính đặc thù của mô hình hóa dữ liệu. Ví dụ, các thực thể lôgíc—
mặc dù nhìn khá giống các lớp UML bình thường – có thêm một thuộc tính
UseSurrogateKey.
• Các hành động của trình đơn chuyên biệt theo bối cảnh. Có một số hành
động bình thường mà bạn có thể thực hiện khi nhấn chuột phải trên bất kỳ
lớp nào trong một sơ đồ lớp XDE Rational. Tuy nhiên, khi bạn nhấn chuột
phải trên một bảng trong sơ đồ lớp mô hình dữ liệu, có thêm một vài tùy
chọn như "Biến đổi" và "Bộ tạo mô hình dữ liệu".

Về đầu trang
Ví dụ bán lẻ

Hướng dẫn này dựa trên hai kịch bản phát triển cơ sở dữ liệu thực tế, xoay quanh
ví dụ thiết kế cơ sở dữ liệu cho cửa hàng bán lẻ mức nhỏ.
• Trước tiên, bạn hãy hình dung một cơ sở dữ liệu mới phải được xây dựng
để hỗ trợ một siêu thị. Không chỉ nó phải được thiết kế lôgíc, bạn hãy xem
cơ sở dữ liệu thông qua giai đoạn thiết kế vật lý và thực thi nó. Cơ sở dữ
liệu đích để thực hiện là UDB của DB2.
• Sau đó bạn hình dung cơ sở dữ liệu mà bạn tạo ra chưa bao giờ được phát
triển từ một thiết kế lôgic nào!! Thay vào đó, bây giờ nó là một cơ sở dữ
liệu di sản. Nhiệm vụ của chúng ta là đảo ngược sự bố trí của cơ sở dữ liệu
này vào trong một mô hình dữ liệu vật lý, rồi sau đó vào trong một mô hình
dữ liệu lôgíc. Có trong tay những mô hình này, bạn có thể hiểu rõ hơn cơ sở
dữ liệu di sản làm việc như thế nào và tự đặt mình vào vị trí để làm lại các
thiết kế cần thiết.
Hướng dẫn này sẽ đưa bạn đi trọn một vòng, cho bạn thấy các hỗ trợ theo cả hai
hướng của Bộ tạo mô hình dữ liệu XDE Rational.
Bây giờ là một chút hiểu biết cơ sở về các yêu cầu. Một siêu thị mu
ốn mô hình
hóa một bộ phận của hệ thống nguồn cung cấp hàng của họ đặc biệt là các đơn
đặt hàng tới các nhà cung cấp. Siêu thị cất trong kho hai loại sản phẩm là hàng
may mặc và thực phẩm. Giả sử bạn với vai trò một nhà thiết kế cơ sở dữ liệu, đã
có được danh sách ban đầu của các thực thể lôgíc như dưới đây:
Đơn hàng
Thuộc tính Kiểu
Id của đơn hàng Integer
Mô tả đơn hàng String
Kiểu đơn hàng
ProductType
Tình trạng đơn hàng
OrderStatus
Người lập đơn hàng Integer

Ngày lập đơn hàng String
Chi tiết đơn hàng
Thuộc tính Kiểu
Id của Chi tiết đơn hàng Integer
Trình tự Integer
Số lượng Single
Giá Double
Nhà Cung cấp
Thuộc tính Kiểu
Mã số của nhà Cung cấp Integer
Kiểu nhà Cung cấp
ProductType
Địa điểm String
Có hiệu lực boolean
Địa chỉ String
Sản phẩm
Thuộc tính Kiểu
ID của sản phẩm Integer
Mô tả sản phẩm String
Loại sản phẩm
ProductType
Số lượng sản phẩm trong kho Long
Số lượng sản phẩm đã bán Long
Giá mua Single
Giá bán Single
Hàng may mặc
Thuộc tính Sản phẩm
Cỡ String
Mầu sắc String
Kiểu cách String

Hàng thực phẩm
Thuộc tính Kiểu
Ngày bán Date
Hàng bị hỏng Boolean
Các thực thể này có thể giống như trong các kịch bản mô hình hóa dữ liệu kinh
doanh tương tự mà bạn đã từng gặp, tuy nhiên tôi xin nói ngắn gọn về mục đích
của chúng:
• Đơn hàng – Đầu mục Đơn hàng. Là các đơn hàng được gửi tới các nhà
cung cấp cho siêu thị.
• Chi tiết trong đơn hàng – là "con" của thực thể đầu mục đơn hàng, là từng
dòng riêng biệt trên đơn hàng (số lượng nào đó của một sản phẩm có thể
được đặt hàng trên mỗi dòng).
• Nhà Cung cấp - Là nhà cung cấp hàng may mặc, hàng thực phẩm hay cả hai
loại hàng cho siêu thị.
• Sản phẩm - Là hàng may mặc hay thực phẩm.
• Hàng may mặc - Một thực thể có các thuộc tính sản phẩm đặc thù của hàng
may mặc.
• Hàng thực phẩm - Một thực thể có các thuộc tính sản phẩm đặc thù của
hàng thực phẩm.
Phối cảnh tạo mô hình dữ liệu
Sự tích hợp giữa WebSphere Studio và Eclipse
Tất cả các tài nguyên phát triển trong các công cụ trên nền Eclipse được quản lý ở
dạng "Phối cảnh" và việc cài đặt XDE Rational tạo ra một số phối cảnh mới. Một
phối cảnh liên quan đến hướng dẫn này (và công việc thiết kế UML khác) là phối
cảnh mô hình hóa. Bây giờ bạn mở phối cảnh này và so sánh nó với hình ở dưới.

Về đầu trang
Tìm các tùy chọn ưu tiên khi mô hình hóa dữ liệu
1. Chuyển đến trình đơn Window của Application Developer và nhấn tùy
chọn Preferences.

2. Mở rộng tùy chọn Rational XDE từ khung nhìn theo kiểu trình duyệt
(explorer) xếp theo thứ tự bảng chữ cái ở bên trái.
3. Mở rộng Data Modeler. Bạn thấy hai phần tử con là Assisted Modeling
(Tạo mô hình được giúp đỡ) và Database Defaults (Các cơ sở dữ liệu mặc
định).
4. Chọn Assisted Modeling. Cử
a sổ các tùy chọn ưu tiên phải nhìn giống như
sau:
5. Đối với tùy chọn, Use Specification dialogs when adding new (sử dụng các
hộp thoại đặc tả khi thêm mới), đánh dấu chọn hộp All. Thao tác này làm
xuất hiện một số phiếu hộp thoại khi bạn thêm bằng tay các phần tử vào các
mô hình của bạn sau này. Tuy nhiên, thường thì các phần tử được bổ sung
tự động vào các mô hình—trong những tình huống ấy thì các hộp thoại đặc
tả không xuất hiện, và các mặc định được chấp nhận. Tất nhiên chúng có
thể được thay đổi thông qua việc truy nhập vào các hộp thoại đặc tả hay các
thuộc tính thích hợp.
6. Đối với tùy chọn, Use key migration when adding new relationships (sử
dụng di trú khóa khi thêm các quan hệ mới), bảo đảm rằng đã đánh dấu
chọn hộp Migrate Key. Khi nó được chọn thì bộ t
ạo mô hình dữ liệu sẽ
cung cấp tự động các khóa ngoại cho mọi quan hệ, và như vậy giảm bớt
gánh nặng tạo các khóa này bằng tay. (Ta hoàn toàn có thể tắt hành vi này ở
mức các quan hệ riêng lẻ khi chúng được tạo ra).

Về đầu trang
Các tùy chọn ưu tiên khi mô hình hóa dữ liệu: Mặc định của cơ sở dữ liệu
Nhấn chuột lên phần tử con “Database Defaults”. Đặt các tùy chọn như trong hình
dưới đây:
Tùy chọn thứ nhất Default Database Assignment (Gán cơ sở dữ liệu mặc định) -
- cho phép bạn đặt tên một phần tử cơ sở dữ liệu trong một mô hình dữ liệu (vật

lý) XDE. Tuy nhiên, bạn chưa tạ
o ra bất kỳ một cơ sở dữ liệu nào. Cửa sổ này sẽ
được bàn đến sau khi bạn đặt tên cho một cơ sở dữ liệu. Các tùy chọn thứ hai và
thứ ba ở dưới áp dụng cho bất cứ cơ sở dữ liệu nào đã được lựa chọn trong phần
thả xuống của tùy chọn thứ nhất.
Tùy chọn thứ hai Default Database Target (Cơ sở dữ liệu đích mặc định) cần
phải được thiết lập là UDB 8.0 của DB2 (Tôi sử dụng phiên bản cá nhân của UDB
DB2, phiên bản 8.1.3 để chuẩn bị hướng dẫn này. Xem phần Các điều kiện cần có
trước). Khi bạn tạo ra các phần tử vật lý trong mô hình dữ liệu của mình, bộ tạo
mô hình dữ liệu sẽ giả định lấy đích là phiên bản này của DB2 và điều chỉnh việc
sinh ra kịch bản lệnh của nó một cách tương ứng. Hơn nữa, khi bạn chọn tùy chọn
để chuyển tiếp thiết kế từ mô hình dữ liệu, bộ tạo mô hình dữ liệu tạo m
ột kết nối
tới bản cài đặt DB2 phiên bản này.
Tùy chọn thứ ba Maximum Identifier Length (Chiều dài tối đa của mã nhận
dạng) hạn chế chiều dài của thuộc tính name trong mô hình dữ liệu của bạn. Tùy
chọn này có thể hoặc phù hợp với giới hạn thực tế của cơ sở dữ liệu đích được lựa
chọn của bạn, hay đơn giản là để áp đặt m
ột tiêu chuẩn (tránh các thuộc tính kiểu
này: IPreferToWriteASentenceInsteadOfACrypticButDescriptiveElementName) -
Tôi thích viết một câu thay vì tên của phần tử đầy bí hiểm nhưng diễn tả). .
Nhấn OK để đóng các cửa sổ ưu tiên.

Về đầu trang
Dự án tạo mô hình dữ liệu đầu tiên
Với tập hợp các mặc định tổng thể thích hợp, bạn đã sẵn sàng để trở lại nhiệm vụ
chính phải làm – tạo ra một thiết kế lôgic cho cơ sở dữ liệu siêu thị của mình. Để
làm điều này bạn cần một dự án tạo mô hình dữ liệu. Nếu bạn đã tạ
o ra các dự án
bất kỳ loại nào trong WebSphere Studio, bạn sẽ thấy cách tiếp cận tương tự trong

XDE Rational.
1. Từ trình đơn Flie, bạn chọn New > Project
2. Tại cửa sổ đầu tiên của thủ thuật New Project bạn chọn Modeling.
3. Tại phía bên phải cửa sổ, bạn chọn Data Modeling Project và nhấn Next.
4. Tại cửa sổ thứ hai của thủ thuật New Project, bạn nhập tên DMTutorial và
nhấn Finish.
Phối cảnh nhìn giống như hình dưới đây:
Kết quả của việc tạo dự án làm mô hình dữ liệu như sau:
• Hai mô hình được tạo ra: một mô hình dữ liệu lôgíc, và một mô hình dữ
liệu (vật lý). Chúng có tên tương ứng là Logical Data Model và Data Model,
và nhìn thấy trong khung hình Model Explorer (nhấn vào phiếu để xem).
• Đối với mỗi mô hình này, một sơ đồ mặc định được tạo ra và đều có tên là
'Main' trong cả hai trường hợp. Chúng được mở ra trong các cửa sổ bộ biên
tập riêng biệt, lấp đầy vùng rỗng mầu xám ở giữa của phối cảnh tạo mô
hình.
Bạn lưu ý rằng (DMTutorial) Data Model* có một dấu sao (*) tại bên phải của tên,
biểu thị rằng có các thay đổi chưa được ghi lưu.
1. Nhấ
n vào phiếu Output (ở dưới đáy) để kích hoạt khung nhìn Output.
2. Nhấn vào phiếu Rational XDE trên đỉnh của khung hình Output.
3. Chú ý các thông điệp đang thông báo sự tạo thành các mô hình và thông
điệp cảnh báo: "Mô hình dữ liệu đã được cập nhật với các tùy chọn ưu tiên
đã thiết lập cho cơ sở dữ liệu và vẻ ngoài hiển thị. Đề nghị ghi lưu mô hình
đã được cập nhật."
4. Nhấn chuộ
t phải trên (DMTutorial) Data Model* tại khung hình Model
Explorer (trên cùng, bên phải) và chọn tùy chọn Save Data Model.mdx.
Tạo mô hình dữ liệu lôgíc
Tạo các thực thể lôgíc
Khi đã tạo ra dự án làm mô hình dữ liệu, bạn đã sẵn sàng để bắt đầu một mô hình

dữ liệu lôgíc nào đó. Nhớ lại rằng tất cả những gì bạn có cho đến lúc này là sáu
thực thể cho ví dụ siêu thị, được liệt kê với một tập hợp của các thuộc tính trong
một bảng phẳng. Để thật sự đ
ánh giá các thực thể liên hệ qua lại như thế nào, và
để giải thích thiết kế với những người khác, bạn cần một phương tiện truyền đạt
thú vị và nhiều thông tin hơn – cụ thể là bạn cần một sơ đồ mối quan hệ thực thể.
Đây chính là cái mà bộ tạo mô hình dữ liệu sẽ mang đến cho bạn như là một bộ
phận của mô hình lôgíc mà bạn sắp s
ửa thiết kế.
Sau đây là các cơ chế thực hiện. Bạn sẽ làm việc với Logical Data Model: Main
diagram (mô hình dữ liệu lôgíc: Sơ đồ chính). Hãy tạo ra sáu lớp UML riêng biệt
để thể hiện sáu thực thể lôgíc trong danh sách gốc ban đầu:
1. Chọn cửa sổ bộ biên tập cho sơ đồ Logical Data Model: Main.
2. Chú ý rằng pa lét (palette) UML Class của khung hình Toolbox (ở bên trái)
được mở rộng tự động. Bạn thử chọn các sơ đồ Data Model: Main và
Logical Data Model: Main l
ần lượt xen kẽ nhau – hãy lưu ý xem pa lét Data
Modeler được mở rộng như thế nào khi sơ đồ vật lý được lựa chọn. Đảm
bảo rằng bạn kết thúc với Logical Data Model: Main đã được chọn.
3. Nhập thực thể đầu tiên. Nhấn vào mục Class trên danh sách trong pa lét
UML Class và sau đó nhấn vào đâu đó tại góc trái phía trên của sơ đồ
Logical Data Model: Main. Sau một lúc, Class1 xuất hiện dưới dạng một
hộp trên sơ
đồ. Đổi tên hộp thành Order (gõ nhập tên trên dòng chữ hiện
thời).
4. Lặp lại bước trước đây để tạo ra thêm năm lớp nữa (các thực thể lôgíc) với
các tên sau đây: Order Detail, Supplier, Product, Garment, và Food Item
(Chi tiết Đơn hàng, Nhà cung cấp, Sản phẩm, Hàng may mặc và Đồ thực
phẩm).
5. Lưu ý rằng khi bạn tạo ra các lớp, chúng xuất hiện như các nút nodes mới

trong khung nhìn Model Explorer dưới nút Logical Data Model.
6. Ghi lưu sơ đồ (nhấn tổ hợp Ctrl- S).
Sơ đồ mô hình dữ li
ệu lôgíc của bạn phải như hình dưới đây:

Về đầu trang
Bản mẫu thực thể
Bạn đã có phần khung của bản thiết kế lôgic cơ sở dữ liệu của siêu thị của mình.
Tuy nhiên, lúc này các thực thể lôgíc của bạn trông rất giống các lớp UML. Nhiệm
vụ của bạn là tạo ra sơ đồ quan hệ thực thể. Để làm cho các lớp UML giống các
thực thể hơn, hãy cho chúng trở thành một bản mẫu th
ực thể. Biểu tượng của
chúng thay đổi trong khung nhìn Model Explorer, như vậy đã có một gợi ý trực
quan rằng đây là một cái gì đó hơi khác với một mô hình đối tượng của siêu thị.
Để áp dụng bản mẫu thực thể, cần:
1. Lần lượt chọn từng lớp.
2. Tìm thuộc tính bản mẫu tại khung nhìn Properties (dưới cùng bên phải)
3. Nhấn nút ở bên phải củ
a thuộc tính này (nút mầu xám với ba dấu chấm).
Cửa sổ Properties mở ra (Xem hình bên dưới).
4. Trong danh sách ở cửa sổ thuộc tính, đánh dấu chọn hộp Entity.
5. Nhấn OK.
Tại cửa sổ Model Explorer, hãy lưu ý các biểu tượng cho các lớp đã chọn đã thay
đổi từ có dạng cái tủ (dành cho cho các lớp bình thường) thành vòng tròn màu
vàng với gạch dưới như thế nào.
Hẳn là bạn đã nhận thấy rằng sơ đồ lôgic làm nổi lên biểu tượng cũng giống như
vậ
y, có phần lớn hơn, tại phía trên của hộp các lớp của bạn. Nếu bạn thích có các
bản mẫu được hiển thị dưới dạng văn bản thuần túy (<<entity>>), thì bạn hãy tìm
thanh công cụ Appearance:

Khi một hoặc nhiều lớp đã được chọn, bạn nhấn chuột lên danh sách thả xuống
Show stereotype as (mũi tên nhỏ hướng xuống ở bên phải của nút được khoanh
tròn màu đỏ ở trên) và chọn Shape Stereotype: Label.
Lưu ý dòng chữ sau trong lời trợ giúp : "Để biến đổi lớp thành bảng mô hình dữ
liệu không yêu cầu phải là bản mẫu <<thực thể>> ." Việc chỉ định các lớp như
những thực thể chỉ mang tính chất tô điểm.
Một số mẹo nhỏ:
• Đôi khi ta khó tìm thấy thanh công cụ Appearance. Bạn nhấn Window >
Reset Perspective để hiện thanh công cụ đó lên nếu bạn không thể tìm thấy
nó.
• Đôi khi các lớp hiện ra là đã được chọn, nhưng các nút của thanh công cụ
Appearance chuyển thành mầu xám và không sử dụng được. Nhấn chuột
bên ngoài các lớp rồi chọn lại để giải quyết vấn đề này.

Về đầu trang
Thêm thuộc tính cho thực thể Đơn hàng
Bây giờ thiết kế lôgic của siêu thị của bạn đã hình thành nhưng hơi thưa. Bạn đã
thêm các lớp và chuyển chúng thành các thực thể, nhưng cho đến lúc này chúng
thiếu các thuộc tính. Bây giờ là lúc để thêm một số thuộc tính mới.
Một cách để thực hiện thao tác này là nhấn chuột phải trên thực thể trong khung
nhìn Model Explorer và chọn Add UML > Attribute từ trình đơn bối c
ảnh. Thao
tác này không hiệu quả lắm. Toàn bộ cái mà bạn có thể làm tại đây là gán cho
thuộc tính một cái tên (mọi nỗ lực để thêm kiểu dữ liệu (type) đều bị từ chối).
Tốt hơn là ta soạn thảo trực tiếp ngay trên hình. Nhấn chuột phải trên lớp Đơn
hàng trong sơ đồ mô hình dữ liệu lôgíc và chọn Add UML > Attribute. Lần này
ta gán cho thuộc tính một cái tên, tiếp theo là dấu hai chấm, rồi sau đó là kiểu d

liệu. Thuộc tính đầu tiên, ID của Đơn hàng, cần soạn thảo như sau:
Order Id: Integer


Như là một khoản thưởng thêm, khi bạn nhấn phím Enter, ngay lập tức bạn được
chuyển sang dòng kế tiếp và sẵn sàng thêm thuộc tính tiếp theo. Bây giờ hãy thêm
các thuộc tính sau đây::
Order Description: String
Order Type: ProductType
Order Status: OrderStatus
Created By: String
Created Date: Date

Sau khi bạn nhấn phím Enter cho hàng cuối cùng, bạn nhấn phím Escape, thao tác
này để loại bỏ thuộc tính sắp tiếp tục thêm vào. Bạn phải chú ý và gõ nhập các
thuộc tính đúng như nêu ở trên. Các tên thuộc tính gồm nhiều từ, ví dụ như Order
Description (Mô tả Đơn hàng) có thể có ký tự trống giữa chúng; các tên kiểu dữ
liệu bao gồm nhiều từ (ví như ProductType) thì phải viết liền, không có dấu trống
xen giữa.

Về đầu trang
Thêm thuộc tính cho các thực thể còn lại
Lặp lại quá trình đã mô tả trong mục trên để thêm tất cả những thuộc tính cần có
cho năm thực thể còn lại.
Đối với thực thể Chi tiết Đơn hàng, bạn nhập:
ID chi tiết đơn hàng: Integer
Trình tự: Integer
Số lượng: Single
Giá tiền: Currency

Đối với thực thể Nhà cung cấp, bạn nhập:
Mã số nhà cung cấp: Integer
Loại nhà cung cấp: ProductType

Địa điểm: String
Có hiệu lực: Boolean
Địa chỉ : String

Đối với thực thể Sản phầm:
ID của sản phẩm: Integer
Mô tả sản phẩm: String
Loại sản phẩm: ProductType
Số lượng sản phẩm trong kho: Long
Số lượng sản phẩm đã bán: Long
Giá mua: Currency
Giá bán: Currency

Đối với thực thể Hàng may mặc bạn nhập:
Cỡ: String
Mầu sắc: String
Kiểu cách: String

Đối với thực thể Hàng thực phẩm bạn nhập:
Ngày bán: Date
Hàng bị hỏng: Boolean

Sơ đồ mô hình dữ liệu lôgíc của bạn cần phải nhìn giống như hình ở dưới:
Ở giai đoạn này bạn đã nhập tất cả thông tin có trong danh sách thực thể gốc ban
đầu củ
a ví dụ về siêu thị. Mặc dù các thông tin vẫn giống như thế, nhưng khi bạn
nhập các thông tin đó vào trong bộ tạo mô hình dữ liệu, sẽ có hai lợi thế rõ ràng.
Lợi thế thứ nhất là bạn có sơ đồ được tạo ra ngay lập tức; lợi thế thứ hai là mặc dù
bạn nhập hầu hết dữ liệu của mình vào trong sơ đồ, nhưng các dữ liệu nằm bên
dưới cũng được lưu giữ trong một mô hình có cấu trúc. Điều này là miễn phí, chỉ

cần tạo ra sơ đồ.

Về đầu trang
Vài lời về kiểu dữ liệu
Đối với phần lớn trong ví dụ này các kiểu dữ liệu được dùng là những kiểu dữ liệu
Phân tích Analysis mà XDE Rational đã quen biết. Chúng có lợi thế là dịch trực
tiếp thành các kiểu dữ liệu của DB2 (và của các DBMS khác). Trợ giúp trực tuyến
cho XDE Rational có một bảng ánh xạ tương ứng rất hữu ích. Để tìm các thông tin
này, hãy :
1. Chọn Help > Help Contents
từ trình đơn WebSphere Studio.
2. Nhấn Rational XDE.
3. Di chuyển qua các phân cấp nội dung lần lượt như sau: Modeling Data
with Rational XDE > Transforming Tables, Classes and EJBs > Class
to Table Transformation Data Type Mapping > Class to DB2 Table >
Transformation Data Type Mapping.
Tuy nhiên, có hai kiểu dữ liệu do người dùng định nghĩa. Đó là ProductType
(Được tham chiếu bởi các thuộc tính trên các thực thể Đơn hàng, Nhà cung cấp và
Sản phẩm) và OrderStatus (Được tham chiếu bởi thuộc tính tình trạng đơn hàng
trên thực thể Đơn hàng). Trong mô hình dữ liệu lôgíc của bạn chúng được mô hình
hóa như các bảng kê.
Bây giờ chúng ta hãy xem Bộ tạo mô hình dữ liệu hỗ trợ như thế nào cho các kiểu
dữ liệu do người dùng định nghĩa trong cơ sở dữ liệu của siêu thị. Trong mô hình
dữ liệu lôgíc, hãy mô hình hóa chúng như các bảng kê.

Về đầu trang
Các bảng kê
Các bảng kê cung cấp một cơ chế để gắn kết một tập hợp các trực kiện (literals)
với một thuộc tính đã cho. Trong ví dụ này, ProductType có ba giá trị có thể xảy
ra:

• G Cho hàng may mặc.
• F Cho hàng thực phẩm.
• B Cho cả hàng may mặc lẫn hàng thực phẩm (chỉ có ít sản phẩm thuộc cả
hai loại, nhưng các nhà cung cấp thì hoàn toàn có thể).
Thuộc tính OrderStatus có thêm một số trực kiện nữa bạn sẽ thấy các giá trị ấy
ngay sau đây.
Trước tiên, chúng ta hãy nhập ProductType và OrderStatus vào sơ đồ mô hình dữ
liệu lôgíc:
1. Chọn Enumeration từ pa lét UML Class.
2. Kích vào phần trống của sơ đồ mô hình dữ liệu lôgíc.
3. Đổi tên bả
ng kê đầu tiên thành ProductType.

×