1. Trang chủ
  2. » Công Nghệ Thông Tin

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

65 455 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Mô hình hóa và thiết kế cơ sở dữ liệu của bạn với pptx
Tác giả David Bridgewater
Người hướng dẫn PTS. Nguyễn Văn A
Trường học Trường Đại Học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Cơ sở dữ liệu
Thể loại Hướng dẫn kỹ thuật
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 65
Dung lượng 402,22 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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ô

Trang 1

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ệ

Trang 2

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

Trang 3

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

Trang 4

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

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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

Id của Chi tiết đơn hàng Integer

Trình tự Integer

Trang 9

Số lượng Single

Giá Double

Nhà Cung cấp

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

Trang 11

• Đơ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

Trang 12

• 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

Trang 13

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

Trang 14

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ó

Trang 15

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

Trang 16

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

Trang 17

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)

Trang 18

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:

Để á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)

Trang 19

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

Trang 20

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

Trang 21

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

Trang 22

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

Trang 23

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

Trang 24

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

Trang 25

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:

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

Trang 26

4 Lặp lại các bước trên, đặt tên bảng kê thứ hai là OrderStatus

Về đầu trang

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à :

Trang 27

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

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

Trang 28

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

Về đầu trang

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

Trang 29

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

Về đầu trang

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

Trang 30

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:

Về đầu trang

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à IsNullable và OID 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)

Trang 31

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

Trang 32

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

Ngày đăng: 08/08/2014, 14:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w