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

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.

David Bridgewater, Tác giả, Studio B

David Bridgewater, tác giả của Studio B, có một sự nghiệp lâu dài trong việc phát triển các ứng dụng, và đã trải qua những năm làm việc hạnh phúc nhất đời mình giúp đỡ một công ty bán lẻ lớn của Anh để nắm lấy các công nghệ Java. Bây giờ ông ta là giảng viên theo hợp đồng cho sản phẩm Java/WebSphere cho công ty IBM, cũng như sản xuất ra các giáo cụ và các sách hướng dẫn của chính mình. Ông là người đóng góp thường xuyên cho các tờ báo kỹ thuật, tập trung vào sự phát triển các ứng dụng Web với công nghệ Java và J2EE và hỗ trợ công nghệ của IBM (phần mềm WebSphere)



06 06 2009

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ế.

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."

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í 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ínhKiểu
Id của đơn hàngInteger
Mô tả đơn hàngString
Kiểu đơn hàngProductType
Tình trạng đơn hàngOrderStatus
Người lập đơn hàngInteger
Ngày lập đơn hàngString

Chi tiết đơn hàng

Thuộc tínhKiểu
Id của Chi tiết đơn hàngInteger
Trình tựInteger
Số lượngSingle
GiáDouble

Nhà Cung cấp

Thuộc tínhKiểu
Mã số của nhà Cung cấpInteger
Kiểu nhà Cung cấpProductType
Địa điểmString
Có hiệu lựcboolean
Địa chỉString

Sản phẩm

Thuộc tínhKiểu
ID của sản phẩmInteger
Mô tả sản phẩmString
Loại sản phẩmProductType
Số lượng sản phẩm trong khoLong
Số lượng sản phẩm đã bánLong
Giá muaSingle
Giá bánSingle

Hàng may mặc

Thuộc tínhSản phẩm
CỡString
Mầu sắcString
Kiểu cáchString

Hàng thực phẩm

Thuộc tínhKiểu
Ngày bánDate
Hàng bị hỏngBoolean

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.

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).

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.

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:

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.

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.

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à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ê.

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.
  4. Lặp lại các bước trên, đặt tên bảng kê thứ hai là OrderStatus.

Các trực kiện trong các bảng kê

Thay vì thêm các thuộc tính vào bảng kê, bạn thêm các trực kiện trong bảng kê. Quy trình này tương tự với quy trình thêm các thuộc tính.

  1. Trong sơ đồ dữ liệu lôgíc, nhấn chuột phải trên hình biểu diễn bảng kê và chọn Add Enumeration Literal.
  2. Nhập vào giá trị của trực kiện bảng kê và nhấn Enter.
  3. Sau khi nhập trực kiện bảng kê cuối cùng, bạn nhấn phím Escape để thoát khỏi hàng mới được bổ sung.
  4. Ghi lưu các thao tác của bạn.

Đối với ProductType, các trực kiện bảng kê là :

G
F
B

Đối với OrderStatus, các trực kiện bảng kê là :

Vừa lập ra
Đã chấp thuận
Đang giữ lại, chưa chuyển
Từ chối
Đã hoàn tất 
Đã giao một phần

Số phận của các bảng kê

Thiết kế lôgíc đã tích hợp các kiểu dữ liệu do người dùng định nghĩa có trong ví dụ siêu thị. Việc sử dụng các kiểu dữ liệu này chưa bao giờ dễ dàng hơn: bạn chỉ cần nhập tên của kiểu dữ liệu khi bạn bổ sung các thuộc tính sử dụng các kiểu đó (dù bạn còn chưa định nghĩa các kiểu dữ liệu vào thời điểm đó).

Thiết kế lôgic chưa phải là hết chuyện. Thậm chí tại giai đoạn này bộ tạo mô hình dữ liệu cho phép bạn đặt nền móng để chuyển tiếp trơn tru thành một mô hình vật lý.

Khi điều này xảy ra thì mỗi bảng kê có hai khả năng có thể sau: hoặc được biểu diễn như một bảng riêng biệt, hoặc trở thành một miền trong cơ sở dữ liệu đích. Nếu sự phân biệt này không rõ ràng đối với bạn thì bạn đừng lo -- bạn sẽ thấy sự khác nhau ở phần sau của hướng dẫn này.

Tuy nhiên bây giờ bạn hãy đặt các thuộc tính để trao cho hai bảng kê của bạn các “số phận” đúng.

Đầu tiên, bạn nhấn chuột trên mục OrderStatus tại đồ thị lôgic. Lưu ý rằng tại khung nhìn Properties ta chỉ có một thuộc tính tại phần các thuộc tính của Enumeration Data Modeler (tạo mô hình dữ liệu bảng kê), nó có tên là IsSeparateTable và được mặc định là True. Đây là điều mà bạn muốn. OrderStatus được ràng buộc với luồng công việc nguồn cung ứng hàng, rất có thể sẽ thay đổi, và bạn muốn có sự linh hoạt, có thể thêm một hàng mới vào một bảng riêng biểu diễn một trạng thái mới của đơn hàng.

Nhấn chuột vào ProductType và chuyển thuộc tính của IsSeparateTable thành False. ProductType được thực thi như một miền. Như thế sẽ ít tính linh hoạt hơn. Tôi có thể hình dung những kiểu sản phẩm khác nhau sẽ có trong tương lai, vì vậy dạng bảng có lẽ thích hợp hơn. Nhằm mục đích của hướng dẫn này, một miền được thực hiện sẽ thích hợp hơn.

Các thuộc tính lớp cho các thực thể: khóa thay thế

Ta cần chuẩn bị nhiều hơn để chuyển tiếp tới mô hình vật lý. Bạn nhấn chuột vào thực thể Order và lưu ý rằng trong phần Class Data Modeler (tạo mô hình dữ liệu lớp) của khung nhìn Properties có một thuộc tính là UseSurrogateKey. Nó được mặc định là True.

Khi bạn để mục đó là True, thì bạn không cần phải chỉ định rõ bất kỳ thuộc tính nào duy nhất nhận dạng thực thể -- nói cách khác là các thuộc tính làm khóa chính. Thay vào đó, quá trình biến đổi thành mô hình vật lý sẽ sinh ra một thuộc tính bổ sung để làm khóa thay thế.

Khái niệm khóa thay thế được giới thiết kế cơ sở dữ liệu hiểu rất rõ. Bằng cách cung cấp các hỗ trợ tự động mặc định với khóa thay thế, Bộ tạo mô hình dữ liệu tiết kiệm cho ta thời gian và công sức. Tuy nhiên, thường có các lý do để giữ quyền kiểm soát bằng tay đối với đặc tả khóa chính. Đối với đa số trường hợp trong ví dụ siêu thị bạn sẽ chỉ định những "ứng cử viên" khóa chính.

Hãy đổi thuộc tính UseSurrogateKey của thực thể Đơn hàng thành nhận giá trị False. Lặp lại thao tác này đối với các thực thể Chi tiết đơn hàng, Sản phẩm, Hàng may mặc và Hàng thực phẩm. Chỉ để giá trị là True cho thực thể Nhà cung cấp, để rồi bạn có thể thấy một ví dụ về việc tạo ra khóa thay thế sau này.

Các tính chất của thuộc tính: Các khóa ứng viên

Bất cứ một thực thể nào trong các thực thể của siêu thị đều phải có một hoặc nhiều khóa chính để xác định duy nhất mỗi dòng. Đây không phải chỉ là thông lệ thực hành thiết kế cơ sở dữ liệu tiêu chuẩn và là lẽ thường nên làm, nó còn thỏa mãn các quy tắc chuẩn hóa. Thực thể Nhà Cung cấp sẽ có một khóa thay thế được sinh ra cho nó. Đối với năm thực thể còn lại, bạn cần chỉ định các khóa ứng viên.

Cách tiếp cận tiện lợi nhất là làm việc với Model Explorer và khung nhìn Properties.

  1. Mở rộng thực thể Order tại khung nhìn Model Explorer.
  2. Nhấn chuột vào thuộc tính Order Id, nó là khóa ứng viên. Phần bên phải của phối cảnh của bạn nhìn như hình dưới đây:

Các khóa ứng viên, tiếp tục

Chú ý hai thuộc tính tại mục Candidate Keys Data Modeler của khung nhìn Thuộc tính là IsNullableOID. IsNullable xác định liệu thuộc tính có thể giữ một giá trị Null hay không—mặc định là True (nghĩa là nó có thể nhận giá trị null). Kém rõ ràng hơn, thuộc tính OID chỉ định rằng đó là một khóa ứng viên-- mặc định là False (nghĩa là nó không là khóa ứng viên)

  1. Đổi giá trị của IsNullable thành False và giá trị của OID thành True cho thuộc tính Order ID.
  2. Giữ phím Control và nhấn chuột để chọn cả năm thuộc tính khác của Đơn hàng tại khung hình Model Explorer.
  3. Đổi giá trị của IsNullable thành True tại khung nhìn Thuộc tính (thao tác này thay đổi cả năm thuộc tính cùng một lúc). Để giá trị của OID là False. Bạn đang nói rằng năm thuộc tính còn lại bắt buộc phải được gán các giá trị-- chúng không thể không có giá trị, nhưng chúng không phải là các khóa ứng viên. Phần bên phải của phối cảnh của bạn nhìn như hình dưới đây:

Để làm cho các thay đổi thuộc tính hiển thị trên sơ đồ mô hình dữ liệu lôgíc, cần:

  1. Chọn sơ đồ mô hình dữ liệu lôgíc (nhấn chuột vào bất cứ nơi nào tại cửa sổ bộ biên tập).
  2. Nhấn Diagram > Layer Selection.
  3. Tại cửa sổ Layer Selection, đánh dấu mục Data Modeler trong danh sách Select Layers for Enable.
  4. Nhấn OK.

Bạn phải thấy một biểu tượng chìa khóa mầu bạc ở bên trái của thuộc tính Order Id, chứng tỏ rằng đó là một khóa ứng viên.

Lặp lại những bước ở trên để chọn các khóa ứng viên sau đây:

Order Detail: Order Detail Id
Product: Product Id

Bạn có thể làm cho một số hay tất cả các thuộc tính trong bất kỳ thực thể nào là non-nullable (không thể không có giá trị).

Các mối quan hệ thực thể: Các kết hợp mạnh

Bây giờ bạn có các thực thể đầy đủ thuộc tính và bạn đã chọn lựa các giá trị khóa chính thông qua các khóa thay thế và khóa ứng viên. Tuy nhiên, việc thiết kế cơ sở dữ liệu của siêu thị không chỉ là có thế. Bạn chưa đưa vào bất kỳ một quan hệ kết hợp nào giữa các thực thể-- Các "mối quan hệ" trong sơ đồ quan hệ thực thể mà bạn được giao nhiệm vụ thiết kế ra. Để làm điều này bạn hãy sử dụng những quan hệ kết hợp được vẽ trong pa lét UML Class trong khung nhìn Toolbox.

Trước tiên bạn hãy xem xét quan hệ kết hợp giữa Đơn hàng và Chi tiết Đơn hàng. Đây là một quan hệ cha-con cổ điển: các cá thể Chi tiết đơn hàng không thể tồn tại nếu không có Đơn hàng cha. Trong Bộ tạo mô hình dữ liệu (và ở mọi chỗ khác), chúng được gọi là một kết hợp mạnh. Bạn hãy thể hiện quan hệ kết hợp này bằng Composition Association (quan hệ kết hợp cấu thành) được vẽ trong hộp công cụ.

  1. Chọn sơ đồ Logical Data Model.
  2. Nhấn một lần trên Composition Association trong pa lét UML Class.
  3. Nhấn một lần trên thực thể Order trên sơ đồ.
  4. Nhấn một lần trên thực thể Order Detail trên sơ đồ.

Một quan hệ kết hợp được vẽ ra nối chúng với nhau. Kết hợp này được chọn tự động và các thuộc tính được nhìn thấy tại khung nhìn Properties. Điều chỉnh các thuộc tính như sau:

  1. Đổi giá trị của End1Name thành _Child Order Lines.
  2. Đổi giá trị của End2Name thành _Parent Order.
  3. Đổi giá trị của End2Multiplicity thành 1.

Kết quả trong sơ đồ dữ liệu lôgíc nhìn như hình dưới đây:

Khuyến khích đặt tên cho các mối quan hệ khi mô hình hóa quan hệ thực thể, tuy nhiên đôi khi bạn có thể phản bác rằng các mối quan hệ quá hiển nhiên đến nỗi việc đặt tên là không cần thiết.

Các số bội xác nhận rằng:

  • Có thể có một cá thể Đơn hàng cho một cá thể Chi tiết đơn hàng (mặc dù bạn vẫn còn chưa ở mức vật lý, bạn có thể được tha thứ khi bạn nghĩ rằng các cá thể ở đây giống như các hàng trên các bảng).
  • Có thể có từ không đến số bất kỳ các cá thể Chi tiết đơn hàng đối với một cá thể Đơn hàng. Điều này được chỉ rõ bởi dấu sao bên cạnh mối quan hệ có tên _Child Order Lines.

Một lần nữa Bộ tạo mô hình dữ liệu cung cấp các lợi thế sinh đôi của việc hiển thị đồ họa các mối quan hệ, trong khi lưu giữ chúng tại mô hình cấu tạo của mình.

Các mối quan hệ thực thể: các quan hệ kết hợp yếu

Một cá thể Chi tiết Đơn hàng hoàn toàn cần một cá thể Đơn hàng để tồn tại, vì thế có kết hợp mạnh giữa chúng. Tuy nhiên, các cá thể Đơn hàng và Nhà Cung cấp có thể tồn tại độc lập với nhau – để tồn tại, cá thể này không cần cá thể kia (vì thế đây là kết hợp yếu). Điều này không làm cho quan hệ kết hợp giảm tính quan trọng: Việc tạo ra một đơn hàng sẽ kéo theo việc lựa chọn nhà cung cấp liên quan đến đơn hàng đó. Điều này được thực hiện với một kết hợp yếu.

Những điều nói trên được mô hình hóa bằng cách sử dụng một quan hệ kết hợp UML thông thường.

  1. Chọn sơ đồ mô hình dữ liệu lôgíc.
  2. Nhấn một lần trên Association từ pa lét UML Class trong khung nhìn Toolbox.
  3. Nhấn một lần trên thực thể Order trên sơ đồ.
  4. Nhấn một lần trên thực thể Supplier trên sơ đồ.

Một quan hệ kết hợp được vẽ giữa hai thực thể. Bạn hãy điều chỉnh các thuộc tính cho kết hợp đó bằng cách:

  1. Đổi giá trị của End1Multiplicity thành 1 (một cá thể Đơn hàng phải có một và chỉ một cá thể Nhà Cung cấp kết hợp với nó).
  2. Đổi giá trị của End2Multiplicity thành many: * (một cá thể Nhà cung cấp có thể kết hợp với không, một hay nhiều cá thể Đơn hàng).
  3. Tùy ý, bạn gán tên cho cả hai đầu của mối quan hệ (thuộc tính End1NameEnd2Name).

Kết quả nhìn giống như hình ở dưới :

Thêm một quan hệ kết hợp nữa giữa Chi tiết đơn hàng và Sản phẩm, theo đúng các bước giống như như bạn đã làm ở trên. Một lần nữa, lại đổi giá trị của End1Multiplicity thành 1 và giá trị của End2Multiplicity thành * (một cá thể Chi tiết Đơn hàng có thể tham chiếu tới một và chỉ một cá thể Sản phẩm; tuy nhiên, cùng một cá thể Sản phẩm có thể tồn tại trên bất kỳ số lượng nào các cá thể Chi tiết Đơn hàng).

Các mối quan hệ thực thể: vai trò của tính tổng quát

Hai thực thể còn lại, không có quan hệ kết hợp là Hàng may mặc và Hàng thực phẩm. Đây là các ví dụ cổ điển của các thực thể kiểu phụ (của Sản phẩm). Bây giờ bạn có thể thấy Bộ tạo mô hình có thể mô hình hóa khái niệm này dễ dàng và tự nhiên như thế nào. Các thuộc tính có thể áp dụng được với bất kỳ loại sản phẩm nào (dù là hàng thực phẩm hay hàng may mặc) nằm trong thực thể Sản phẩm. Các thuộc tính đặc thù cho kiểu của chúng nằm riêng rẽ trong các mục Hàng may mặc hay Hàng thực phẩm.

Một cá thể Hàng may mặc hay Hàng Thực phẩm sẽ không bao giờ tồn tại nếu không có cá thể Sản phẩm cha, vì vậy thoạt nhìn thì một quan hệ kết hợp mạnh có vẻ đúng chỗ (sử dụng một kết hợp cấu thành trong pa lét). Tuy nhiên, Bộ tạo mô hình dữ liệu khai thác tính tổng quát của loại quan hệ này. Để đưa nó vào trong sơ đồ, bạn :

  1. Chọn sơ đồ mô hình dữ liệu lôgíc.
  2. Nhấn một lần trên mục Generalization tại pa lét UML Class.
  3. Nhấn một lần trên thực thể Garment trong sơ đồ.
  4. Nhấn một lần trên thực thể Product trong sơ đồ.
  5. Nhấn lần nữa trên mục Generalization tại pa lét UML Class.
  6. Nhấn một lần trên thực thể Food Item trong sơ đồ.
  7. Nhấn một lần trên thực thể Product trong sơ đồ.

Kết quả nhìn giống như hình ở dưới:


Mô hình dữ liệu vật lý và tích hợp với UDB của DB2

Thiết lập cơ sở dữ liệu của mô hình dữ liệu

Nhiệm vụ kế tiếp cho yêu cầu của siêu thị là tạo ra một mô hình dữ liệu vật lý. Tin tốt là hầu hết công việc nặng nhọc đã được làm. Bộ tạo mô hình dữ liệu tự động hóa một nửa quá trình đưa mô hình dữ liệu lôgíc vào trong địa hạt vật lý. Ta cần phải có mô hình vật lý bởi hai lý do:

  1. Cho phép thiết kế vật lý, khác biệt với thiết kế lôgíc
  2. Để gói ghém các định nghĩa cần thiết để tạo ra và bảo trì cơ sở dữ liệu DB2 thực tế

Trong đời sống thực tiễn, có khả năng bạn thực hiện nhiều điều chỉnh bằng tay trong giai đoạn tạo mô hình vật lý. Để phục vụ cho mục đích của hướng dẫn này, bạn chấp nhận phần lớn rằng thiết kế lôgic mà bạn đã tạo ra sẽ dịch trực tiếp thành thiết kế vật lý. Bạn có thể đưa vào nhiều bảng và các mối quan hệ mới tại giai đoạn này do yêu cầu về sản xuất của bạn.

Vì cơ sở dữ liệu đích là DB2, tốt nhất là bạn bắt đầu với một mô hình dữ liệu của DB2. Khi bạn tạo ra dự án mô hình hóa dữ liệu, bạn nhận được hai mô hình dữ liệu. Bạn đã làm được nhiều công việc trong mô hình dữ liệu lôgíc và chưa làm gì cho mô hình dữ liệu (vật lý). Vì thế bạn sẽ xóa mô hình dữ liệu (vật lý) đã cho và thay vào đó tạo một mô hình dữ liệu DB2. Làm việc ấy như sau:

  1. Tại khung hình Model Explorer, bạn nhấn chuột phải trên Data Model và chọn Close.
  2. Chuyển tới cửa sổ Navigator.
  3. Nhấn chuột phải trên Data Model trong dự án DMTutorial và chọn Delete.
  4. Nhấn chuột phải trên dự án DMTutorial và chọnNew > Model.
  5. Tại cửa sổ Create XDE Model bạn chọn DB2 UDB từ File Types và DB2 Data Model từ Templates (như hình dưới đây).
  6. Nhấn Finish.

Hãy đảm bảo rằng sơ đồ mô hình dữ liệu (vật lý) được mở trong cửa sổ biên tập và được chọn. Nếu không phải như thế, bạn nhấn đúp chuột trên Main tại cửa sổ Model Explorer bên dưới DB2 Data Model (DMTutorial) (tức là nhánh mô hình dữ liệu vật lý). Chú ý xem pa lét Data Modeler từ khung nhìn Toolbox hiện lên như thế nào, khung nhìn này bây giờ gồm nhiều công cụ:

Bây giờ chúng ta hãy tạo ra một cơ sở dữ liệu: Đây vẫn chưa phải là một cơ sở dữ liệu thực tế tại DB2, mà nó mới chỉ là một thể hiện trong sơ đồ mô hình dữ liệu.

  1. Nhấn chuột một lần trên Database trong pa lét Data Modeler tại khung nhìn Toolbox.
  2. Nhấn chuột lên bất cứ nơi nào trên sơ đồ mô hình dữ liệu.
  3. Cửa sổ đặc tả cơ sở dữ liệu mở ra. Gán tên cho cơ sở dữ liệu là OrderDB. Chọn cơ sở dữ liệu đích là IBM DB2 8.x nếu nó chưa được chọn và nhấn OK.
  4. Bây giờ hãy xem lại các mặc định của Bộ tạo mô hình dữ liệu (bạn đã thấy các mặc định này tại ba phần Tùy chọn ưu tiên tạo mô hình dữ liệu trước đây). Nhấn Window > Preferences, mở rộng Rational XDE, mở rộng Data Modeler và chọn Database Defaults. Bạn hãy kiểm tra các mục sau:
    1. Settings For: được đặt thành (DM Tutorial) DB2 Data Model.
    2. Thay đổi lệnh gán cơ sở dữ liệu mặc định tới OrderDB (chọn từ danh sách thả xuống), đây là cơ sở dữ liệu mà bạn đã tạo ra vài bước trước đây.
    3. Bảo đảm rằng đích cơ sở dữ liệu mặc định là UDB 8.0 của DB2 (cơ sơ dữ liệu này cần phải sẵn rồi).
    4. Thay đổi chiều dài mã định danh cực đại thành 18 (điều này bảo đảm rằng các mã định danh cho các ràng buộc của DB2 sẽ chỉ trong giới hạn chiều dài hợp lệ).
    5. Nhấn OK để thoát ra.

Biến đổi mô hình dữ liệu lôgíc

Bây giờ bạn sẵn sàng để biến đổi mô hình dữ liệu lôgíc thành một mô hình dữ liệu (vật lý). Từ "biến đổi" có thể làm bạn nghĩ rằng mô hình dữ liệu lôgíc sẽ biến đổi một cách nào đó. Nó không thay đổi, tuy nhiên một số siêu dữ liệu nào đó đã được tạo ra, chúng kết hợp các phần tử trong các mô hình vật lý và mô hình lôgíc. Mô hình dữ liệu (vật lý) được thật sự sinh ra từ các thông tin trong mô hình dữ liệu lôgíc.

  1. Bạn đảm bảo rằng mô hình dữ liệu DB2 được mở tại khung nhìn Model Explorer (không có lý do để nó không được mở ra ỏ đây nếu bạn đã theo đúng các bước từ phần trước của hướng dẫn này. Tuy nhiên nếu bạn đóng WebSphere Studio trong khi chờ đợi, bạn cần nhấn đúp chuột lên các mô hình dữ liệu lôgíc và vật lý từ khung nhìn Navigator).
  2. Bạn bảo đảm rằng mô hình dữ liệu (vật lý) duy nhất được mở là mô hình dữ liệu DB2. Đây là cách mà XDE xác định mô hình đích cho phép biến đổi.
  3. Nhấn chuột phải trên Logical Data Model tại cửa sổ Model Explorer.
  4. Chọn Transform > Transform to Table....
  5. Tại ô Available Packages, (DMTutorial) DB2 Data Model phải đã được chọn.
  6. Cơ sở dữ liệu đích cần phải được đặt là UDB 8.0 DB2, có màu xám và không sẵn sàng.
  7. Kiểm tra xem mục Generalization đã được đặt mặc định là Separate Table (một bảng riêng) chưa (tôi sẽ giải thích một chút về việc này có nghĩa là gì ngay sau đây).
  8. Kiểm tra xem mục Prefix đã được để trống không.
  9. Hãy chắc chắn rằng mục Create Indexes for Foreign Keys đã được chọn. Cửa sổ mô hình dự liệu biến đổi trông như hình ở dưới:
  10. Nhấn OK để ghi lưu mô hình dữ liệu.

Kết quả của phép biến đổi thành bảng

Các kết quả của phép biến đổi thành các bảng chỉ hiển thị trong khung nhìn Model Explorer tại giai đoạn này, giống như hình ở dưới đây.

Lưu ý rằng ở giai đoạn này sơ đồ mô hình dữ liệu vẫn chỉ chứa cơ sở dữ liệu. Đặc biệt là nếu đây là lần đầu tiên bạn làm việc với bộ công cụ của XDE, thì bạn phải lưu ý rằng các mục có thể tồn tại trong các mô hình của XDE nhưng không tồn tại trên các sơ đồ. Thực vậy, bạn có thể xóa các hình trong sơ đồ nhưng chúng vẫn còn lại trong mô hình. Để đưa các bảng mới được tạo ra vào sơ đồ mô hình dữ liệu, cần:

  1. Chọn sơ đồ mô hình dữ liệu DB2.
  2. Nhấn lần lượt vào mỗi bảng tại khung nhìn Model Explorer (biểu tượng hình lưới màu tím) và kéo chúng vào bề mặt sơ đồ. Sắp xếp các bảng làm sao cho nó tiện lợi cho bạn.
  3. Lưu ý rằng bằng cách kéo các bảng lên bề mặt sơ đồ, bạn sẽ tự động nhận được các mối quan hệ giữa các bảng mà không cần thao tác gì thêm.
  4. Không kéo miền “ProductType” lên bề mặt sơ đồ: Nó được xử lý theo cách khác. (Nếu bạn đã làm điều này, thì chỉ cần xóa nó khỏi sơ đồ).

Sơ đồ mô hình dữ liệu

Có nhiều đặc tính thú vị cần lưu ý đối với các sơ đồ mô hình dữ liệu được biến đổi từ mô hình lôgíc, là kết quả cuối cùng của các thao tác được thực hiện ở phần trước, như chỉ ra dưới đây:

Trước tiên, bản mẫu cho các hộp của lớp UML đã thay đổi: bạn có <<table>> thay cho <<entity>> ở bên trên của các hộp. Điều này cho thấy đã có một sự chuyển dịch thích hợp về từ vựng từ mô hình lôgíc sang mô hình vật lý.

Mỗi thuộc tính trong các bảng có một số chữ để miêu tả ở bên trái của nó.

  • PK— màu đỏ - biểu thị là khóa chính.
  • FK-- màu đỏ -- biểu thị là khóa ngoài.
  • P ở trên F rồi ở trên K -- màu đỏ-- biểu thị một thuộc tính vừa là khóa chính vừa là khóa ngoài.
  • N -- màu đen-- biểu thị null là một giá trị được phép cho thuộc tính.
  • NN—màu đen-- biểu thị không chấp nhận giá trị null (non-nullable).

Các khóa chính xuất hiện bởi vì hoặc bạn đã chỉ định chúng là các khóa ứng viên trong mô hình lôgíc hoặc, như trường hợp của Nhà cung cấp, vì bạn đã cho phép tạo ra khóa thay thế (bạn lưu ý tên được tự động phát sinh cho trường khóa chính, Supplier_ID, chúng hơi khác với các khóa chính được đặt tên trực tiếp).

Hầu hết các khóa ngoài (hoặc là các khóa vừa chính vừa ngoài) xuất hiện do các quan hệ kết hợp mà bạn đã thiết lập và trước đó đã thiết đặt tùy chọn ưu tiên của Bộ tạo mô hình dữ liệu để di trú một cách tự động các khóa qua các mối quan hệ. Vì thế, ví dụ như nếu bạn nhìn vào bảng Chi tiết đơn hàng, bạn thấy bảng này này có một thuộc tính khóa ngoài là Product Id. Rõ ràng bạn chưa bao giờ thêm mục này như một thuộc tính vào mô hình lôgíc; thay vào đó, nó được suy luận ra để trở thành thực thi vật lý thích hợp cho mối quan hệ giữa Chi tiết đơn hàng và Sản phẩm.

Tất cả các kiểu dữ liệu đã thay đổi từ các đối ứng lôgíc thành các kiểu gần gũi với DB2 (ví dụ kiểu TIMESTAMP thay cho kiểu lôgíc Date). Phép ánh xạ tương ứng này được ghi chép tại mục trợ giúp XDE Rational tại phần "Vài lời về các kiểu dữ liệu". Bộ tạo mô hình dữ liệu đã suy luận rằng tất cả những việc ấy là cần thiết để tạo ra một mô hình dữ liệu hoàn toàn thích hợp với các yêu cầu của một hệ quản trị cơ sở dữ liệu, thậm chí tới mức thích hợp với đặc thù của DB2.

Sự biến đổi của các bảng kê và tổng quát hóa

Khi thiết lập bảng kê OrderStatus trong mô hình dữ liệu lôgíc, bạn đã chỉ rõ thuộc tính IsSeparateTable là True. Điều này bây giờ được chuyển vào phép biến đổi. Thuộc tính OrderStatus thực sự là một bảng riêng biệt, được ràng buộc với bảng Đơn hàng bằng một khóa kiểu Interger. Nó có thuộc tính tên là Enumeration (Bảng kê - để liệt kê các trực kiện) và thuộc tính Description (Mô tả - thông thường là lời văn giải thích dài hơn về ý nghĩa của một trực kiện, ngắn hơn).

Tuy nhiên, thuộc tính ProductType được thiết lập có tính chất IsSeparateTable là False. Vì vậy nó đã được biến đổi thành một miền trong mô hình vật lý, không thấy trên sơ đồ, nhưng nhìn thấy được tại khung nhìn Model Explorer. Vẫn còn có ba thuộc tính của bảng (Order Type trong Order, Product Type trong Product và Supplier Type trong Supplier), đều tham chiếu ProductType như là kiểu dữ liệu của chúng. Việc này được thực thi bằng các ràng buộc của cơ sở dữ liệu khi bạn tạo ra cơ sở dữ liệu UDB DB2.

Có lẽ bạn nhớ lại rằng trong cửa sổ Transform to Table (Biến đổi thành Bảng), bạn chọn "Các bảng riêng biệt" là cách để thực hiện các mối quan hệ tổng quát hóa. Bây giờ bạn có thể thấy kết quả của lựa chọn này. Mục Hàng may mặc và Hàng Thực phẩm đã được thực hiện như các bảng riêng biệt. Bạn có thể mong đợi rằng nếu một hàng trên bảng Sản phẩm mô tả một mặt hàng may mặc, thì phải có một hàng thích ứng trên bảng Hàng may mặc. Sự tương ứng này đạt được bởi vì phép biến đổi đã cho Product Id vừa là khóa chính của bảng Hàng may mặc, vừa là khóa ngoài – nó trỏ trở lại vào Product Id tương ứng trong ProductTable. Các điều nói trên cũng đúng đối với mục Hàng Thực phẩm.

Một vài điều chỉnh

Việc chuyển đổi String thành VARCHAR(255) như một kết quả của phép biến đổi là một khởi đầu tốt, nhưng có vẻ đây là một giới hạn quá rộng đối với nhiều trường. Bạn có thể điều chỉnh tính chất TypeExpression của bất kỳ thuộc tính nào mà bạn muốn sửa đổi kiểu của nó.

  1. Tại khung nhìn Model Explorer, bạn mở rộng bảng Đơn hàng.
  2. Chọn thuộc tính Order Description.
  3. Tại khung nhìn Properties, bạn đổi TypeExpression thành CHAR(50).

Lặp lại sự thay đổi này cho bất kỳ hoặc tất cả thuộc tính VARCHAR(255).

Đưa thêm một mô hình Miền DB2

ProductType (là một miền-- một loại kiểu dữ liệu do người dùng định ra) vẫn chưa có mặt trên bất kỳ sơ đồ nào. Vì các miền có khuynh hướng tồn tại không đổi và sẽ được sử dụng lại qua nhiều mô hình vật lý, nên việc có sự bảo trì tập trung cho chúng là một ý tưởng đúng. Nơi tốt nhất để đặt chúng là trong một mô hình miền của DB2 riêng biệt. Ta hãy tạo ra mô hình này ngay bây giờ.

  1. Chọn khung nhìn Navigator và nhấn chuột phải lên DMTutorial.
  2. Chọn New > Model > File Type of Data > DB2 UDB > Template of DB2 Domain.

Di chuyển ProductType tới mô hình miền mới

Tại khung nhìn Model Explorer, bạn di chuyển miền ProductType từ mô hình dữ liệu chính đến mô hình vừa mới được tạo ra cho các miền.

  1. Nhấn chuột phải trên ProductType tại khung nhìn Model Explorer và chọn tùy chọn cut.
  2. Nhấn chuột phải trên thư mục DB2 Domain tại mô hình Miền DB2.
  3. Chọn tùy chọn để dán.

Kết quả cuối cùng được nhìn như hình sau:

Tiếp theo, bạn tiến hành một số thay đổi cho các thuộc tính ProductType.

  1. Nhấn chuột phải trên ProductType và chọn Data Modeler > Open Specification....
  2. Trên phiếu General, bạn đổi Datatype thành CHAR và chiều dài thành 1.
  3. Bạn không chọn ô Generate on Server.
  4. Bạn chọn các mặc định tại các trường khác.

    Ghi chú: Việc chọn ô Generate on Server dẫn tới việc tạo ra câu lệnh “CREATE DISTINCT TYPE DDL” cho ProductType khi chuyển tiếp thiết kế tới cơ sở dữ liệu DB2. Bằng cách không chọn ô này, các giá trị hợp lệ cho ProductType được thực hiện theo cách đơn giản hơn. Đối với các chuyên gia về DB2: Sau này bạn hãy kiểm tra các tệp tin DDL được tạo ra bởi quy trình chuyển tiếp thiết kế để tự xem chúng được thực hiện như thế nào.

  5. Trên phiếu Check Constraint, bạn đổi biểu thức ProductType IN ('G','F','B') thành @ProductType IN ('G','F','B').
  6. Tìm miền ProductType tại khung nhìn Model Explorer. Có một số ràng buộc giả được gán cho ProductType, đó là hệ quả của quá trình biến đổi thành bảng. Bạn xóa chúng khỏi mô hình.

Liên kết mô hình dữ liệu DB2 và mô hình miền DB2

Để bảo đảm rằng mô hình vật lý chính (mô hình dữ liệu DB2) có thể sử dụng miền ProductType trong mô hình Miền DB2:

  1. Từ khung nhìn Model Explorer, chọn và kéo mô hình dữ liệu DB2 (DMTutorial) (thư mục ở ngoài cùng) lên trên bề mặt của sơ đồ chính của miền DB2. Chọn và kéo thư mục DB2 Domain ở dưới thư mục ngoài cùng (DM Tutorial) DB2 Domain lên trên bề mặt cũng của sơ đồ này.
  2. Từ pa lét UML Class, nhấn mục Dependency.
  3. Nhấn lên DB2 Data Model (trên sơ đồ) và sau đó nhấn lên DB2 Domain (trên sơ đồ). Bạn đang quy định rằng mô hình dữ liệu DB2 phụ thuộc vào mô hình miền DB2 của các định nghĩa miền. Kết quả cuối cùng giống như sơ đồ ở dưới:

Nếu bạn chưa ghi lưu, hãy ghi lưu lại ngay cả hai mô hình: Mô hình dữ liệu DB2 và mô hình miền DB2.

Bảo đảm các bảng hiện hữu tham chiếu đến miền ProductType

Chỉ còn một điều nữa phải kiểm tra và bạn xong việc với các miền!

Có ba cột trong mô hình dữ liệu gốc mà sẽ phải tham chiếu miền ProductType: Order Type trên bảng Order, Product Type trên bảng Product, và Supplier Type trên bảng Supplier.

Hãy kiểm tra từng cột đó bằng cách nhấn chuột phải trên cột liên quan trong Model Explorer. Mở rộng bảng bằng cách nhấn chuột vào dấu "cộng". Chọn Data Modeler > Open Specification.... Chọn phiếu Type và bảo đảm chắc chắn rằng ProductType là miền được chọn.

Các vùng bảng trong Bộ tạo mô hình dữ liệu

Bạn hầu như đã sẵn sàng để chuyển tiếp thiết kế tới một cơ sở dữ liệu DB2 UDB thực. Tuy nhiên, bạn sẽ chỉ định các bảng vào các vùng bảng (tablespaces) trước khi bạn làm điều đó. Các vùng bảng quản lý việc cấp phát vật lý các dữ liệu bảng tới các đĩa cứng riêng biệt, việc này hầu như không cần thiết đối với một ví dụ quy mô nhỏ, nhưng có thể cần phải làm một điều gì đó trong môi trường áp dụng thực sự của hệ thống đặt hàng cho siêu thị.

  1. Phân các bảng vào cơ sở dữ liệu OrderDB. Đây là một yêu cầu để định nghĩa các vùng bảng. Làm việc này rất đơn giản: chỉ cần nhấn chuột phải lên mục OrderDB tại sơ đồ mô hình dữ liệu và chọn Data Modeler > Assign. Tại cửa sổ đầu ra (phiếu XDE Rational), bạn phải thấy giống như sau:
  2. Để kiểm chứng việc phân định trên, bạn mở rộng nút OrderDB trong khung nhìn Model Explorer. Các tên bảng được liệt kê kèm với các biểu tượng biểu thị các mối quan hệ là thực hiện của cơ sở dữ liệu:
  3. Tạo một vùng bảng bằng cách nhấn chuột phải lên cơ sở dữ liệu trong sơ đồ của bạn và chọn Add Data Modeler > Tablespace. Chấp nhận tất cả các mặc định trên cửa sổ thao tác, bao gồm cả tên: Tablespace1. Thêm vùng bảng thứ hai với tên là Tablespace2.
  4. Để thêm một bảng vào vùng bảng, bạn nhấn chuột phải trên bảng Hàng Thực phẩm (hoặc trên sơ đồ hay trên khung nhìn Model Explorer) và chọn Data Modeler > Open Specification.... Chọn phiếu Storage.
    • Đối với đặc tả của Tablespace, bạn chọn Tablespace1 (Regular) từ danh sách thả xuống.
    • Đối với đặc tả của Index Tablespace (chỉ mục vùng bảng), bạn chọn Tablespace1 (Regular) lần nữa.
  5. Lặp lại quá trình trên cho các bảng khác, chỉ với một ngoại lệ: đối với bảng Supplier thay bằng Tablespace2 (Regular) trong các đặc tả vùng bảng và chỉ mục vùng bảng.
  6. Để kiểm tra kết qủa của các thay đổi này tại khung nhìn Model Explorer, bạn mở rộng nút cơ sở dữ liệu OrderDB. Bạn sẽ thấy các vùng bảng bây giờ xuất hiện ở giữa nút OrderDB và các mối quan hệ “là thực hiện của” của nó.

Không gian bảng trong UDB DB2

Việc thiết lập vùng bảng trong Bộ tạo mô hình dữ liệu là chưa đủ. vùng bảng tương ứng (với cùng một tên) phải tồn tại trong UDB DB2.

Sau đây là hướng dẫn ngắn gọn để thiết đặt chúng.

  1. Mở trung tâm điều khiển DB2.
  2. Mở rộng nhánh phân cấp để hiển thị cơ sở dữ liệu đích của bạn.
  3. Nhấn chuột phải trên Table Spaces và chọn Create, như hình ở dưới:

    Thao tác này khởi chạy thủ thuật tạo không gian bảng.
  4. Trên cửa sổ đầu tiên của thủ thuật bạn nhập tên: TABLESPACE1.
  5. Chuyển đến cửa sổ thứ năm của thủ thuật và tạo một thùng chứa (container) bằng cách nhấn nút Add, sau đó chọn một vị trí cho nó. Ví dụ, bạn chọn vị trí ở dưới nút cài đặt DB2 và thư mục cơ sở dữ liệu và đặt tên vị trí này làTABLESPACE1 (Cùng tên với tên của vùng bảng). Bạn xem kết quả ở hình dưới.
  6. Nhấn Finish.
  7. Lặp lại các bước trên để tạo TABLESPACE2.

Duyệt tính hợp lệ của mô hình

Bạn phải bảo đảm rằng tất cả các quy tắc đều phải được tuân thủ đối với cơ sở dữ liệu đích của bạn. Bộ tạo mô hình dữ liệu trợ giúp bạn làm điều này. Bạn nhấn chuột phải trên mô hình dữ liệu DB2 tại khung nhìn Model Explorer và chọn Validate.

Có thể bạn sẽ thấy một vài thông báo lỗi tại khung nhìn Tasks:

Bằng cách nhấn đúp chuột lần lượt vào các lỗi, bạn sẽ tới tận nguồn gốc của lỗi (trong cả hai trường hợp, đều là lỗi mã định danh vượt quá giới hạn 18 chữ cái) tại khung nhìn Model Explorer. Trường hợp thứ nhất, có một định danh tên cột là Product Description. Nhấn chuột phải lên nó và đổi tên định danh thành Product Desc. Trường hợp thứ hai, có một định danh của ràng buộc khóa ngoài là FK__Child Order Lines. Đổi tên định danh này thành FK_ChildLines. Nhấn chuột phải trên mô hình dữ liệu DB2 và chọn Validate. Các lỗi sẽ không còn nữa.

Chuyển tiếp thiết kế

Cuối cùng bạn đã sẵn sàng để sinh ra cơ sở dữ liệu cho ví dụ siêu thị. Thao tác này được gọi là chuyển tiếp thiết kế trong Bộ tạo mô hình dữ liệu và nó là quá trình một bước (one-step). Trước tiên bạn có thể tạo ra một kịch bản lệnh DDL, rồi sau đó áp dụng nó bằng cách sử dụng Trung tâm điều khiển của DB2 và tiện ích quản lý kịch bản lệnh. Để thuận tiện hơn, bạn kết nối tới cơ sở dữ liệu và chạy trực tiếp kịch bản lệnh DDL từ XDE Rational. Đây là điều mà bạn sẽ làm.

Ở đây có vấn đề về lặp lại: khi bạn chuyển tiếp thiết kế, cần giả thiết rằng đích đến là "cánh đồng xanh" (rỗng). Bạn không có kịch bản lệnh để áp dụng các thay đổi, mà đúng hơn là một kịch bản lệnh sẽ tạo ra toàn bộ cơ sở dữ liệu với tất cả những đặc tính của nó. Nếu bạn đã được chuẩn bị để hủy cơ sở dữ liệu trước khi chạy chuyển tiếp thiết kế thì rất tốt. Nếu không, có một phương pháp đồng bộ hóa giúp ta tránh phải làm điều cần thiết này. Phương pháp ấy sẽ được bàn luận ngắn gọn tại phần cuối của hướng dẫn. .

  1. Nhấn chuột phải trên Data Model tại khung nhìn Model Explorer và chọn Data Modeler > Forward Engineer. Thao tác này sẽ bắt đầu thủ thuật chuyển tiếp thiết kế.
  2. Nhấn Next tại cửa sổ hội thoại đầu tiên (cửa sổ này chỉ đưa ra các giải thích về những việc mà thủ thuật sẽ làm).
  3. Nhấn chọn tất cả các tùy chọn trên cửa sổ hội thoại thứ hai trừ mục Fully qualified names và Quoted identifiers:
  4. Nhấn Next. Trên cửa sổ hội thoại thứ ba, bạn sử dụng nút Browse để chuyển tới một thư mục thích hợp và đặt tên tệp để cất giữ kịch bản lệnh DDL. Bạn có thể tham khảo tệp này sau để thấy các câu lệnh thực tế được áp dụng.
  5. Nhấn chọn hộp Execute tại cửa sổ hội thoại. Tại các trường sẵn có:
    • Bạn hãy kiểm tra xem đã thiết lập trình điều khiển là IBM DB2 APP DRIVER chưa.
    • Không thay đổi phần Location (vị trí – nó phải khớp với mục đăng ký được hiển thị trong mẹo nhỏ ở trên).
    • Nhập tên người sử dụng và mật khẩu để đăng nhập UDB DB2 (bạn hãy làm điều này ngay cả khi không có yêu cầu an ninh phải làm thế).
    • Sử dụng danh sách thả xuống để chọn nguồn dữ liệu (cơ sở dữ liệu). Ghi chú: Đối với hướng dẫn này, theo mặc định, cơ sở dữ liệu duy nhất nhìn thấy được là cơ sở dữ liệu mẫu hiện có có tên là DWCTRLDB. Nếu bạn có cơ sở dữ liệu khác mà bạn muốn sử dụng, bạn có thể làm cho nó hiện lên. Trong Windows, bạn thiết lập một nguồn dữ liệu ODBC được định nghĩa bởi hệ thống cho cơ sở dữ liệu của bạn.
    • Khuyến cáo : Nhấn lên nút Test Connection. Bạn phải nhận được thông báo phản hồi ngắn gọn sau “Connection Successful" (Kết nối thành công).

    Cửa sổ hội thoại hoàn tất nhìn như sau:

  6. Nhấn Next và thủ thuật chuyển tiếp thiết kế hoàn thành công việc của nó. Bạn sẽ thấy thông báo: " Bạn đã hoàn thành thủ thuật chuyển tiếp thiết kế" hiện lên tại cửa sổ hội thoại cuối cùng.
  7. Nhấn Finish và xem lại kết quả đầu ra tại khung nhìn Output.

Mẹo nhỏ quan trọng cho những người sử dụng Windows

Nếu bạn đang chạy hướng dẫn này trên nền Windows, điều quan trọng là bạn phải kiểm tra mục đăng ký, nơi ghi lại vị trí của trình điều khiển DB2 JDBC (db2java.zip) trước khi chuyển tiếp thiết kế. Bạn sẽ tìm thấy tài liệu tham khảo tại mục trợ giúp XDE: Kết nối tới hệ thống quản trị cơ sở dữ liệu—các kết nối cơ sở dữ liệu DB2.

Sau khi cài đặt XDE Rational, bạn sẽ tìm thấy một khóa đăng ký có tên: HKEY_LOCAL_MACHINE\SOFTWARE\Rational Software\XDE\AddIns\Data Modeler

Đối với hướng dẫn này, sau khi cài đặt, nó được thiết lập tới giá trị sau đây:

C:\Program Files\SQLLIB\java\db2java.zip

Giá trị của khóa này phải được biến đổi thành giá trị sau, là thư mục cài đặt mặc định cho phiên bản cá nhân UDB 8 của DB2:

C:\Program Files\IBM\SQLLIB\java\db2java.zip

Cơ sở dữ liệu tại UDB của DB2

Giả thiết rằng bạn đã hoàn thành quy trình chuyển tiếp thiết kế, bạn cần phải có một số bảng và chỉ mục trong cơ sở dữ liệu vật lý của mình để xem lại. Theo mặc định, chúng được gắn với một lược đồ, được đặt tên theo tên người sử dụng mà bạn đã dùng để kết nối tới cơ sở dữ liệu (trong trường hợp của tôi, đó là DB2ADMIN).

Sau đây là màn hình chụp nhanh của Trung tâm Điều khiển của DB2, cho thấy những bảng đã được tạo ra:

Nếu bạn muốn xem lại kịch bản lệnh DDL, thì bạn mở nó ra tại bộ soạn thảo văn bản. Sau đây là một mẫu ngắn:

CREATE TABLE Supplier (
        Supplier_ID INTEGER GENERATED ALWAYS AS IDENTITY,
        Supplier_Number INTEGER,
        Supplier_Type VARCHAR ( 255 ),
        Location VARCHAR ( 255 ),
        Active SMALLINT,
        Address VARCHAR ( 255 )
        )
        IN Tablespace2
        INDEX IN Tablespace2
;

CREATE TABLE Order_Detail (
        Order_Detail_Id INTEGER NOT NULL,
        Sequence INTEGER,
        Quantity REAL,
        Price DOUBLE,
        Product_Id INTEGER NOT NULL,
        Order_Id INTEGER NOT NULL
        )
        IN Tablespace1
        INDEX IN Tablespace1
;

CREATE INDEX Foo_Constraint26
        ON Food_Item (
                Product_Id
                )
        PCTFREE 0
;

Xin chúc mừng! Bạn đã thực hiện các yêu cầu về cơ sở dữ liệu siêu thị của mình từ mô hình dữ liệu lôgíc đến mô hình dữ liệu (vật lý) và đến một cơ sở dữ liệu DB2 UDB thực! Bạn có lẽ muốn thử cơ sở dữ liệu bằng cách sử dụng các tiện ích UDB DB2 để thêm một số dữ liệu nào đó và thử một số khóa duy nhất cũng như các ràng buộc khác.

Rõ ràng bạn đã làm được khá nhiều công việc bằng XDE Rational để có được kết quả này. Ngay thậm chí với một số lượng bảng nhỏ như vậy, đầu vào của Bộ tạo mô hình dữ liệu đơn giản hơn và nhanh hơn viết tệp DDL trần trụi để tạo ra cơ sở dữ liệu của bạn. Hãy xem xét vị thế mạnh mà bạn đang có. Bạn không chỉ có một cơ sở dữ liệu DB2 vật lý, mà còn có:

  • Một mô hình dữ liệu lôgíc, với các những sơ đồ đi kèm, để thảo luận kỹ hơn về các yêu cầu với người sử dụng.
  • Một mô hình vật lý liên kết với mô hình dữ liệu lôgíc, cũng có các sơ đồ đi kèm mà bạn có thể sử dụng làm cơ sở cho tất cả công tác bảo trì cơ sở dữ liệu tương lai của bạn.

Thực hiện rồi quay lại

Hành trình ngược lại

Cho đến phần này của hướng dẫn, bạn đã thực hiện các yêu cầu nghiệp vụ lôgíc dạng "cánh đồng xanh" (green field - tức là không cần phải mô hình hóa lại hay phá bỏ cấu trúc hiện thời) và thấy nó cho đến khi thực thi như một cơ sở dữ liệu. Rất có thể bạn đã gặp phải yêu cầu ngược lại trong dự án phát triển của mình, tức là bạn đã có một cơ sở dữ liệu và muốn làm một hoặc nhiều việc sau:

  • Hiển thị trực quan các bảng và các mối quan hệ
  • Bảo trì cơ sở dữ liệu của bạn thông qua một môi trường đồ họa, không chỉ bằng các kịch bản lệnh
  • Đưa thiết kế cơ sở dữ liệu hiện có của mình quay trở lại thành một mô hình lôgíc để thiết kế lại hay mở rộng nó

Bây giờ chúng ta sẽ xem sự hỗ trợ cho những việc này trong Bộ tạo mô hình dữ liệu XDE Rational, chính bằng cơ sở dữ liệu ví dụ mà bạn vừa tạo ra và bằng cách dịch nó ngược trở lại thành mô hình dữ liệu (vật lý) và từ đó thành mô hình dữ liệu lôgíc.

Tuy nhiên, tôi xin cảnh báo: Đây không phải là cái mà bạn có thể gọi là một ví dụ thế giới thực. Cơ sở dữ liệu ví dụ mà bạn đã tạo ra hầu như là một sự phản chiếu trực tiếp của mô hình lôgíc của chúng ta. Vì thế, nhiều khả năng là nó sẽ quay trở lại từ cơ sở dữ liệu vật lý thành dạng lôgíc mà ta không cần phải can thiệp nhiều.

Có thể bạn sẽ thấy các cơ sở dữ liệu kế thừa của mình không dễ để lôgíc hóa. Trước hết là do cơ sở dữ liệu vật lý thường được phi chuẩn hóa khá nhiều (bởi các lý do về hiệu năng), tuy thế mô hình lôgíc của bạn lại muốn được thể hiện chuẩn hóa. Hơn nữa, tên của các cột có thể cần phải sửa đổi nhiều. Một lần tôi làm việc với một cơ sở dữ liệu vật lý có tên cột tất cả đều dài sáu chữ cái, vì đây là một sự ràng buộc áp đặt bởi ngôn ngữ lập trình lựa chọn của chúng tôi vào thời điểm đó. Các mô hình lôgíc của chúng tôi cần các tên diễn tả để có chúng ý nghĩa đối với những người sử dụng cuối cùng (hay thậm chí cho các nhân viên kỹ thuật!). Trong hoàn cảnh đó Bộ tạo mô hình dữ liệu hẳn phải đem đến nhiều tiện ích, vì đối với các tên lôgíc nó cho phép chúng được đồng bộ hóa với các tên vật lý rất khác nhau.

Tạo một mô hình dữ liệu DB2 mới

Chúng ta hãy quan sát những bước thực tế có liên quan khi đưa cơ sở dữ liệu vật lý trong ví dụ thành một mô hình dữ liệu. Bạn sẽ tạo ra một mô hình mới cho mục đích này (Bạn sẽ không thử đồng bộ hóa ngược trở lại mô hình hiện hữu. Điều này hoàn toàn có thể làm được với Bộ tạo mô hình dữ liệu, như được trình bày ngắn gọn tại phần cuối của mục này, nhưng cần được bàn luận nhiều hơn nếu hướng dẫn này có đủ chỗ). Tuy nhiên mô hình mới mà bạn có thể tạo ra nằm bên trong cùng dự án tạo mô hình dữ liệu của XDE.

Một cách để tạo ra mô hình mới là nhấn chuột phải trên dự án tại khung nhìn Navigator và chọn New > Model.... Tại cửa sổ New XDE Model, bạn chọn để tạo ra một mô hình dữ liệu UDB DB2 - UDB DB2 là kiểu tệp và mô hình dữ liệu DB2 làm khuôn mẫu (template). Đặt tên mô hình là DB2 Data Model 2.

Khi bạn nhấn Finish trên cửa sổ, bạn sẽ nhìn thấy một sơ đồ chính mới (được để trống) dành cho mô hình mới sẽ được tạo ra. Ghi lưu mô hình lại theo thông báo tại khung nhìn Output và đóng sơ đồ lại.

Đảo ngược thiết kế thành mô hình dữ liệu DB2

Bây giờ bạn sẽ đưa cơ sở dữ liệu ví dụ bán lẻ vào trong mô hình dữ liệu mới được tạo ra.

  1. Nhấn chuột phải trên mô hình tại khung nhìn Model Explorer và chọn Data Modeler > Reverse Engineer.... Thủ thuật đảo ngược thiết kế hiện ra.
  2. Nhấn Next.
  3. Chọn mục đảo ngược thiết kế từ một cơ sở dữ liệu (không chọn tạo ra một kịch bản lệnh DDL).
  4. Trên cửa sổ hội thoại kế tiếp, bạn chấp nhận các mặc định khi chúng xuất hiện, nhưng bạn phải nhập đúng tên người sử dụng, mật khẩu và nguồn dữ liệu:
  5. Nhấn Next.
  6. Chọn lược đồ phù hợp, khớp với ví dụ Đơn hàng bán lẻ. (Đánh dấu chọn tất cả các lược đồ là điều đáng quan tâm, vì nó mang các bảng danh mục hệ thống DB2 vào mô hình của bạn, nhưng có lẽ sẽ nhiều hơn những gì bạn muốn tại giai đoạn này).
  7. Nhấn Next.
  8. Đánh dấu chọn tất cả các phần tử bổ sung (để nhập khẩu nhiều nhất có thể các chi tiết từ ví dụ của bạn).
  9. Nhấn Next. Bây giờ thủ thuật sẽ tạo ra mô hình của bạn.
  10. Nhấn Finish tại cửa sổ cuối cùng và kiểm tra khung nhìn Output xem có lỗi nào không.

Theo mặc định thì một sơ đồ mô hình hóa lưu trữ (Storage Modeling Diagram) mới được mở ra, nó hiển thị tất cả các vùng bảng trong cơ sở dữ liệu vật lý của bạn, không chỉ là các mục TABLESPACE1 và TABLESPACE2, nơi bạn đặt các bảng của Đơn hàng bán lẻ. Đóng sơ đồ này lại và chuyển sự chú ý tới khung nhìn Model Explorer.

Tại khung nhìn này bạn phải thấy một gói mới có tên trùng với tên lược đồ của bạn (DB2ADMIN). Mở rộng gói và bạn có thể nhìn thấy bảng ví dụ Đơn hàng bán lẻ. Bạn cũng sẽ thấy có một sơ đồ chính tại mức gói – bạn mở sơ đồ ra. Sơ đồ này rỗng. Bạn kéo từng bảng một lên trên sơ đồ, sắp xếp các hình theo vị trí mà bạn thấy tiện lợi. Kết quả cuối cùng như hình ở dưới:

Bạn hãy nhận xét xem các ràng buộc áp đặt các quan hệ khóa ngoài và khóa chính được dịch trở lại thành các quan hệ kết hợp với các số bội thích hợp như thế nào. Cho dù mối quan hệ không hiện ra (bởi vì các ràng buộc thích hợp bị thiếu trong cơ sở dữ liệu của bạn), thì kỹ thuật này vẫn có thể được dùng để chỉ ra nơi mà các ràng buộc phải được bổ sung.

Và nói chung-- nếu bạn đang thật sự bắt đầu chỉ với cơ sở dữ liệu Đơn hàng bán lẻ, ngoài ra chẳng có gì khác -- thì đây là cách tuyệt vời để có được một tài liệu dạng đồ họa với ít thao tác nhất.

Từ bảng thành lớp-- quay trở lại mô hình lôgíc

Bây giờ bạn đã thấy sinh ra một mô hình dữ liệu từ một cơ sở dữ liệu vật lý dễ dàng như thế nào rồi, bạn chỉ còn một bước cuối cùng là đưa mô hình dữ liệu thành một mô hình dữ liệu lôgíc.

  1. Bạn tạo một mô hình dữ liệu lôgíc mới trong dự án DMTutorial (tức là Logical Data Model 2).
  2. Một sơ đồ chính mới mở ra bên trong mô hình dữ liệu lôgíc mới; hãy để mở sơ đồ này (sơ đồ này và DB2 Data Model 2 phải là các mô hình duy nhất đang mở).
  3. Tại khung nhìn Model Explorer, bạn nhấn chuột phải trên gói mô hình dữ liệu (vật lý) (DB2 Data Model) và chọn Transform > Table to Class....
  4. Một cửa sổ mở cho thấy các gói đích sẵn có. Đây phải là một danh sách với một mục, cho thấy mô hình dữ liệu lôgíc mới của bạn. Chấp nhận các mặc định khác và nhấn OK.
  5. Kiểm tra mô hình lôgíc tại khung nhìn Model Explorer. Cần phải xuất hiện một số lớp thực thể mới tương ứng với các bảng được chuyển đổi. Kéo các thực thể mới lên trên các sơ đồ lôgic, sắp xếp các thực thể này sao cho thích hợp. Hình ở dưới là một ví dụ về các thực thể:

Và như vậy, với rất ít thao tác, bạn đã quay trở lại khung nhìn lôgic của cơ sở dữ liệu bán lẻ của mình.

Đánh giá toàn bộ hành trình khứ hồi

Điều mà bạn đã làm dưới dạng một "hành trình khứ hồi" không điển hình lắm, nhưng có tính truyền đạt kiến thức. Hành trình khứ hồi của bạn đã đưa bạn:

  • Theo chiều đi: (A) Mô hình dữ liệu lôgíc > (B) Mô hình dữ liệu > (C) Cơ sở dữ liệu DB2
  • Theo chiều về: (C) Chính cơ sở dữ liệu DB2 đó > (D) Mô hình dữ liệu mới > (E) Mô hình dữ liệu lôgíc mới

Phần truyền đạt kiến thức là so sánh mô hình dữ liệu lôgíc mà bạn bắt đầu tại (A) với mô hình dữ liệu lôgíc được sinh ra bởi quá trình ngược kết thúc tại (E). Có một số điểm khác nhau và đây là một số điểm đáng chú ý:

  • Các thực thể (hay các bảng kê) nào được chuyển trở lại thành các lớp thuần túy.
  • Các chữ thường và dấu khoảng trống nằm trong các tên thuộc tính và thực thể gốc ban đầu trở thành chữ hoa và dấu gạch chân (Các quy ước đặt tên của DB2 đã được mang ngược trở lại tầng lôgíc).
  • Các tổng quát hóa trở thành các quan hệ hợp thành.
  • Các khóa ứng viên biến mất. Mọi thực thể bây giờ chỉ định một khóa thay thế.

Đây là hệ quả của việc sử dụng sơ khai Bộ tạo mô hình dữ liệu. Nhiều khả năng là bạn cố gắng để giữ ba tầng đồng bộ với nhau -- mô hình dữ liệu lôgíc, mô hình dữ liệu và cơ sở dữ liệu DB2. Hơn nữa, trong khi hầu hết các thay đổi của bạn có thể theo luồng chuyển lên phía trước (từ mô hình dữ liệu lôgíc trở xuống), bạn có thể cũng muốn dàn xếp một số thay đổi "theo chiều ngược lại" (từ cơ sở dữ liệu trở lên). Và bạn sẽ muốn thực hiện điều này mà không ghi đè lên bất kỳ phần không thay đổi nào của các mô hình hay cơ sở dữ liệu của bạn.

Tin tốt lành là Bộ tạo mô hình dữ liệu có thể dàn xếp tất cả những điều này với các tiện ích như báo cáo ánh xạ lớp tới bảng và đồng bộ hóa tới cơ sở dữ liệu -- vì thế chúng ta sẽ kết thúc bằng cách xem lướt nhanh các tiện ích này.


Các tiện ích đồng bộ hóa

Giữ cho các mô hình và các cơ sở dữ liệu đồng bộ với nhau

Các tiện ích đồng bộ hóa trong Bộ tạo mô hình dữ liệu khá nhiều, và có thể cần phải có một hướng dẫn riêng. Điều gì cho thấy một số tiềm năng của các tiện ích này. Các chỉ dẫn không hoàn toàn có thể lĩnh hội được; mục này sẽ gợi cho bạn thèm và làm cho bạn ý thức được những gì đã có.

Các mối liên kết chế độ lôgíc với chế độ vật lý

Trước đây trong hướng dẫn này tại phần Biến đổi mô hình dữ liệu lôgíc, bạn đã sử dụng mô hình dữ liệu lôgíc và biến đổi nó thành một mô hình dữ liệu vật lý bằng cách sử dụng tiện ích "Biến đổi thành bảng". Có thể báo cáo về các mối liên kết giữa các thực thể lôgíc và các bảng vật lý bằng cách chọn tùy chọn Class to Table Report (Báo cáo phép biến đổi lớp thành bảng). Nhấn chuột phải trên mô hình dữ liệu lôgíc để chọn tùy chọn này. Hình ở dưới là ảnh chụp nhanh của một báo cáo:

Báo cáo này cung cấp cho bạn các chỉ dẫn đồ họa rõ ràng về các liên kết tại mức thực thể/bảng. Nếu bạn cần khám phá việc sự liên kết ở một mức thấp hơn – mức thuộc tính/ tên cột - thì bạn có thể làm được. Nếu bạn mở rộng khung nhìn của bạn trên một tên cột trong mô hình vật lý, bạn sẽ nhìn thấy một biểu tượng phụ thuộc mang tên thuộc tính lôgíc mà cột này bắt nguồn từ đó. Nếu bạn nhấn chuột phải trên phần phụ thuộc, và chọn mục Select Supplier, bạn sẽ được chuyển tới mô hình dữ liệu lôgíc với thuộc tính nguồn đã được chọn.

Để làm ví dụ bạn có thể thay đổi tên của thuộc tính nguồn, chạy lại tiện ích Transform to Table và việc đổi tên được chuyển tiếp sang mô hình dữ liệu vật lý.

Từ cơ sở dữ liệu tới mô hình vật lý

Giữa cơ sở dữ liệu và mô hình vật lý có một tùy chọn để so sánh và đồng bộ hóa (hay hợp nhất) các thay đổi. Trong mô hình dữ liệu được sinh đảo ngược (DB2 Data Model 2), tên cột Order Description (trên bảng Order) được thay đổi thành Order Desc.. Nhấn chuột phải trên cơ sở dữ liệu trong khung nhìn Model Explorer (DWCTRLDB) và chọn Data Modeler > Compare and Sync. Sau khi làm việc thông qua một vài hội thoại của thủ thuật, bạn nhìn thấy các thay đổi đã được thực hiện và bạn có một tùy chọn để lựa chọn các thay đổi và tiến hành một số thao tác đối với nó (trong trường hợp này là 'ignore' (bỏ qua) - được chỉ báo bằng vết dấu mầu vàng).

Xin chúc mừng! Hướng dẫn đã kết thúc! Bạn hãy yên tâm rằng khi theo hướng dẫn tới tận đây, bạn sẽ thấy thoải mái trên con đường giải phóng mọi tiềm năng của Bộ tạo mô hình dữ liệu trong thiết kế, thực thi và bảo trì cơ sở dữ liệu của chính mình.


Tóm tắt

Hướng dẫn này đã chỉ cho bạn thấy các chức năng căn bản để bắt đầu làm việc với Bộ tạo mô hình dữ liệu XDE Rational. Các chủ đề sau đã được đề cập đến:

  • Tại sao UML và XDE Rational lại là sự lựa chọn tuyệt vời để mô hình hóa dữ liệu.
  • Làm sao để thiết lập các tùy chọn ưu tiên của Bộ tạo mô hình dữ liệu nhằm đến đích thực thi là UDB DB2.
  • Làm sao để sử dụng bộ tạo mô hình dữ liệu với một ví dụ siêu thị "thế giới thực" để sinh ra một thiết kế cơ sở dữ liệu lôgic và từ đó nhận được một thiết kế vật lý và cuối cùng là một cơ sở dữ liệu DB2.
  • Làm sao để bắt đầu với một cơ sở dữ liệu UDB DB2 và sử dụng Bộ tạo mô hình dữ liệu với ví dụ siêu thị để đảo ngược thiết kế nó vào trong một mô hình dữ liệu vật lý, và từ đó thu được một mô hình dữ liệu lôgíc.
  • Lướt nhanh qua cách thức để giữ các tầng của bạn đồng bộ cùng nhau, mà không phải tạo ra cả một mô hình mới hay cơ sở dữ liệu mới mỗi khi có thay đổi.

Tài nguyên

Học tập

  • Tính sắc bén của Rational là tạp chí điện tử (e-zine) miễn phí về các bước phát triển mới nhất của bộ công cụ của Rational và các vấn đề phát triển liên quan.
  • Trang Rational trong developerWorks của IBM là một điểm xuất phát tuyệt vời để tìm tất cả các loại tài nguyên của Rational.
  • Tìm kiếm các tài nguyên kỹ thuật trên trang DB2 trong developerWorks.
  • Để tìm một cuốn sách tuyệt vời về tính khả dụng của UML dành cho thiết kế cơ sở dữ liệu hãy xem cuốn UML dành cho thiết kế cơ sở dữ liệu của các tác giả Eric J. Naiburg và Robert Ah. Maksimchuk của nhà xuất bản Addison-Wesley.
  • Bạn có thể được tìm thấy trên trang eclipse.org các tài nguyên và tải thông tin liên quan đến IDE Eclipse eclipse.org

Lấy sản phẩm và công nghệ

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Rational
ArticleID=972280
ArticleTitle=Mô hình hóa và thiết kế cơ sở dữ liệu của bạn
publish-date=06062009