Giới thiệu
Hướng dẫn này giới thiệu các công cụ Mô hình dữ liệu dành cho nhà phát triển SQL của Oracle có thể được sử dụng để thiết kế ngược một lược đồ cơ sở dữ liệu hiện có thành một mô hình quan hệ và lôgic. Hãy xem xét một quy trình phát triển cơ sở dữ liệu điển hình bắt đầu với các yêu cầu của người dùng doanh nghiệp được mô hình hóa dưới dạng Mô hình mối quan hệ thực thể bao gồm Thực thể, Thuộc tính, Định danh và Mối quan hệ. Mô hình E-R này sau đó được chuyển thành mô hình Quan hệ bao gồm Quan hệ, Thuộc tính, Khóa và Khóa ngoại. Mô hình quan hệ có thể được triển khai trong cơ sở dữ liệu quan hệ dưới dạng một tập hợp các Bảng, Cột và các ràng buộc bao gồm các ràng buộc duy nhất, khóa chính và khóa ngoài.
Chúng ta có thể gặp các tình huống trong đó chúng ta đã triển khai lược đồ cơ sở dữ liệu quan hệ nhưng thiếu mô hình quan hệ ban đầu hoặc mô hình quan hệ thực thể được sử dụng để thiết kế cơ sở dữ liệu. Trong những tình huống này, chúng tôi có thể tạo lại mô hình E-R bằng cách thiết kế ngược mô hình từ lược đồ cơ sở dữ liệu. Để thực hiện điều này, chúng ta cần thực hiện các bước sau:
- Kết nối giản đồ cơ sở dữ liệu và xác định tất cả các bảng hiện có, các cột của chúng và các ràng buộc khóa chính và khóa ngoại của chúng.
- Xây dựng Mô hình quan hệ tương ứng với tập hợp các bảng và ràng buộc hiện có.
- Suy ra mô hình E-R từ mô hình quan hệ.
Thuật ngữ Mô hình Dữ liệu
Oracle SQL Developer sử dụng các thuật ngữ hơi khác so với những gì thường được sử dụng trong các khóa học cơ sở dữ liệu học thuật. Mô hình vật lý (với các khóa, mối quan hệ khóa ngoại và chỉ mục) được trích xuất từ lược đồ cơ sở dữ liệu được Oracle SQL Developer gọi là “Mô hình quan hệ”. Tập hợp các thực thể có các đường quan hệ được Oracle SQL Developer gọi là “Mô hình lôgic”.
Điều kiện tiên quyết
Trước khi bắt đầu hướng dẫn này, hãy đảm bảo rằng bạn đang làm việc với Oracle SQL Developer phiên bản 4.x hoặc mới hơn. Thật không may, Oracle 12c vẫn có thể được vận chuyển với phiên bản 3.x của Nhà phát triển SQL thiếu các công cụ Mô hình hóa dữ liệu.
Nếu bạn cần tải xuống và cài đặt SQL Developer hoặc muốn một số mẹo về Bắt đầu với SQL Developer, vui lòng xem hướng dẫn.
Bạn cũng sẽ cần thông tin xác thực (tên máy chủ, cổng, tên dịch vụ, tên người dùng và mật khẩu) cho lược đồ mẫu ‘HR’ (hoặc khác) đi kèm với Oracle 11g và Oracle 12c.
Các bước sau được thực hiện bằng cách sử dụng SQL Developer 4.1 trên Windows 7 được kết nối với lược đồ mẫu ‘HR’ trong cơ sở dữ liệu Oracle 12c.
Thiết kế ngược mô hình quan hệ từ lược đồ cơ sở dữ liệu
- Chạy Oracle SQL Developer và tạo kết nối với lược đồ cơ sở dữ liệu mà bạn sẽ làm việc. Trong ví dụ này, chúng tôi đã tạo một kết nối với giản đồ ‘HR’, là cơ sở dữ liệu ví dụ về Nguồn nhân lực đi kèm với Oracle 11g và Oracle 12c.
- Kéo trình đơn Tệp xuống, chọn Trình mô hình dữ liệu, sau đó chọn trình đơn phụ Nhập. Nhấp vào lựa chọn Từ điển Dữ liệu từ menu bay ra như hình dưới đây. Thao tác này sẽ khởi chạy Trình hướng dẫn Nhập Từ điển Dữ liệu:
- Chọn kết nối bạn muốn làm việc. Bạn cũng có thể nhấp vào nút Thêm để thêm kết nối mới. Khi bạn đã đánh dấu kết nối của mình, hãy nhấp vào nút Tiếp theo> để tiếp tục.
- Bước tiếp theo là chọn Lược đồ để nhập. Đối với ví dụ này, chúng tôi đã chọn hộp cho giản đồ ‘HR’ như được hiển thị bên dưới. Lưu ý rằng lựa chọn “Nhập vào:” hiển thị Mô hình Quan hệ Mới và kiểu cơ sở dữ liệu là Oracle 12c. Nhấp vào nút Tiếp theo> để tiếp tục:
Tập hợp các bước tiếp theo trên bìa trang tiếp theo chọn các đối tượng cơ sở dữ liệu để nhập vào mô hình.
- Bước tiếp theo là chọn các đối tượng cơ sở dữ liệu để nhập. Đối với bài tập này, chúng tôi sẽ chọn tất cả các bảng để nhập. Lưu ý rằng có các đối tượng cơ sở dữ liệu khác như dạng xem, chuỗi, vai trò, thủ tục được lưu trữ, v.v. cũng có thể được nhập. Đối với bài tập này, chúng ta sẽ giữ nó đơn giản và chỉ cần nhìn vào các bảng. Sau khi chọn các bảng, hãy nhấp vào nút Tiếp theo> để tiếp tục.
- Bước cuối cùng cho trình hướng dẫn nhập là xem xét các đối tượng cơ sở dữ liệu sẽ được nhập. Nếu tất cả đều ổn, hãy nhấp vào nút Hoàn tất để bắt đầu nhập.
- Tại thời điểm này, tùy thuộc vào số lượng bảng bạn đang nhập, bạn có thể thấy thanh tiến trình như:
- Khi hoàn tất, một cửa sổ Nhật ký Tóm tắt sẽ xuất hiện:
Nếu có bất kỳ câu lệnh không thành công nào, hãy lưu nhật ký này để giúp hỗ trợ gỡ lỗi.
- Giả sử quá trình nhập hoàn tất mà không có lỗi, một mô hình Quan hệ mới sẽ xuất hiện trong cửa sổ. Bạn có thể muốn di chuyển xung quanh các bàn để sắp xếp đẹp mắt. Mô hình sử dụng ký hiệu “Vết chân chim” trong đó “vết chân chim” đại diện cho mặt “Nhiều” của mối quan hệ. Vì vậy, ví dụ, một "Khu vực" có Nhiều "Quốc gia". Một “Quốc gia” có nhiều “Vị trí”, v.v.
- Bạn có thể thay đổi mức độ chi tiết được hiển thị trong mô hình quan hệ bằng cách nhấp chuột phải vào canvas và chọn mục menu Xem chi tiết.
Xin nhắc lại, hầu hết các học viên thường gọi đây là “mô hình cơ sở dữ liệu vật lý” vì nó bao gồm các kiểu dữ liệu, khóa, khóa ngoại và chỉ mục được triển khai trong lược đồ cơ sở dữ liệu.
Các bước để lưu mô hình được trình bày ở trang tiếp theo.
- Tại thời điểm này, mô hình được đặt một tên tạm thời chẳng hạn như Untitled_1. Để xem mô hình này trong “Trình duyệt”, hãy kéo xuống menu Xem, chọn Trình mô hình dữ liệu và sau đó chọn Trình duyệt. Mở thiết kế Untitled_1, sau đó mở Mô hình quan hệ và cuối cùng là mô hình được đặt tên theo kết nối của bạn như hình dưới đây:
- Nhấp chuột phải vào thiết kế Untitled_1 và nhấp vào mục menu Lưu thiết kế. Điều hướng đến một thư mục phù hợp để lưu công việc của bạn và đặt tên tệp cho thiết kế. Nhấp vào nút Lưu khi đã sẵn sàng:
Tại thời điểm này, chúng ta có (cái mà Oracle gọi) là Mô hình quan hệ về cơ bản là một bản sao của lược đồ cơ sở dữ liệu quan hệ mà chúng ta vừa nhập. Trên thực tế, SQL Developer giữ cho hai điều này được đồng bộ hóa để nếu lược đồ cơ sở dữ liệu thay đổi, điều này sẽ được phản ánh trong Mô hình quan hệ và nếu các thay đổi được thực hiện đối với mô hình quan hệ, chúng có thể được đẩy vào (thực hiện trong) lược đồ cơ sở dữ liệu.
Mô hình này sẽ hiển thị tất cả các Bảng (Mối quan hệ), Khoá, Khoá ngoại, kiểm tra các ràng buộc và chỉ mục có thể hoặc có thể không thực thi tính duy nhất. Ví dụ:quan hệ EMPLOYEES bên dưới có Khóa chính EMPLOYEE_ID, ba khóa ngoại (JOB_ID, MANAGER_ID và DEPARTMENT_ID) và một ràng buộc duy nhất trên cột EMAIL:
Tập hợp các bước tiếp theo trên trang tiếp theo trình bày cách tiếp tục quy trình thiết kế ngược để tạo ra Mô hình lôgic.
Thiết kế ngược mô hình mối quan hệ thực thể
Tại thời điểm này, chúng tôi đã thiết kế ngược một lược đồ cơ sở dữ liệu sang một mô hình quan hệ, đây là một quá trình khá đơn giản. Bước cuối cùng là tiếp tục thiết kế ngược để tạo ra mô hình Mối quan hệ thực thể. Lưu ý rằng Oracle gọi đây là “mô hình logic”.
- Quay lại Trình duyệt Mô hình Dữ liệu, mở các thư mục cho Mô hình Quan hệ và Mô hình Lôgic như được hiển thị bên dưới:
- Nhấp chuột phải vào mô hình quan hệ (của chúng tôi có tên là sfscdb_pdb2_hr) và chọn Engineer to Logical Model từ menu bật lên như được hiển thị bên dưới:
- Kỹ sư xây dựng mô hình lôgic hộp thoại sẽ xuất hiện như bên dưới. Mỗi Bảng và Tài liệu tham khảo nên được kiểm tra. Mỗi bảng sẽ được ánh xạ tới một Thực thể và mỗi Tham chiếu khóa ngoại phải được ánh xạ tới mối quan hệ giữa các thực thể. Khi tất cả các phần tử thích hợp được chọn tạo thành cửa sổ bên trái, hãy nhấp vào nút Kỹ sư để tạo mô hình lôgic (ER).
- Mô hình Mối quan hệ Thực thể mới sẽ xuất hiện như hình dưới đây. Theo mặc định, ký hiệu “Crow’s Foot” hoặc Barker được sử dụng.
Chi tiết về các mối quan hệ (mà Oracle gọi một cách khó hiểu là “quan hệ”) có thể được xem bằng cách nhấp đúp vào đường quan hệ. Trong ví dụ dưới đây, mối quan hệ giữa các thực thể Nhân viên và Công việc là mở. Bằng cách chỉ định các cụm động từ cho các trường “Tên trên nguồn” và “Tên trên đích”, mỗi mối quan hệ có thể được chỉ định hoàn toàn ở mức độ chi tiết tuyệt vời.
Hình dưới đây cho thấy mối quan hệ hoàn toàn được xác định sẽ đọc:
One JOB may be a job performed by One or More EMPLOYEES One EMPLOYEE must be performing One and Only One JOB
Ký hiệu mặc định cho mô hình ER là ký hiệu Crow’s Foot hoặc Barker. Để thay đổi ký hiệu thành ký hiệu Bachman hoặc Kỹ thuật thông tin, hãy nhấp chuột phải vào bất kỳ đâu trên sơ đồ và đánh dấu mục menu Ký hiệu. Chọn bất kỳ ký hiệu nào có sẵn từ danh sách bật lên.
Bạn có thể thêm tiêu đề và các chi tiết khác vào mô hình ER bằng công cụ Ghi chú mới