2010-07-21 7 views
5

Ok, vì vậy tôi bị lừa làm một số thiết kế cơ sở dữ liệu cho cơ sở dữ liệu Oracle nơi tôi làm việc. Vấn đề là, tôi không phải là một anh chàng DB :-). Tôi hiện đang sử dụng Rational Application Developer (RAD) để làm mô hình hóa lược đồ cơ sở dữ liệu của tôi. Điều tôi muốn làm là tạo ra một loạt các tài liệu Word, chứa thông tin từ lược đồ DB của tôi (chủ yếu là thông tin bảng/cột, ràng buộc và trình kích hoạt dưới dạng các bảng trong tài liệu Word). Tôi không thể tìm thấy bất kỳ cách nào để làm điều này với RAD, vì vậy tôi đã tự hỏi nếu có ai biết về một công cụ có thể lấy một tập lệnh SQL DDL (có chứa các lệnh CREATE cho lược đồ), và tạo ra Word báo cáo loại?Công cụ tạo từ điển dữ liệu từ tệp SQL

Bất kỳ con trỏ nào được đánh giá cao.

Thanks ...

+0

Bạn đang sử dụng thiết kế ER của mình? Nhiều (hầu hết?) Của các công cụ ERD ra sẽ tạo ra đầu ra này cho bạn. Tất nhiên, nếu bạn đang làm thiết kế của bạn với bút và giấy thì bạn sẽ không may mắn. –

+0

Bạn muốn thông tin nào trong các báo cáo này? Kiểu bố cục nào? – APC

+0

Tôi đang sử dụng Rational Application Developer để thiết kế ERD của mình. Nó có khả năng phát triển ERD và tạo DDL và mã Java, nhưng nó không có bất kỳ công cụ báo cáo nào. Lý tưởng nhất, tôi muốn có thể tạo báo cáo chứa thông tin cột cho mỗi bảng trong thiết kế cơ sở dữ liệu. – Steve

Trả lời

4

Nó có thể đơn giản nhất chỉ để chạy các lệnh trực tiếp chống lại bản thân các Oracle bảng từ điển dữ liệu thay vì cố gắng để phân tích các file SQL chứa tạo báo cáo.

Ví dụ, để có được tất cả các bảng trong schema X, bạn có thể làm:

SELECT table_name FROM all_tables WHERE owner = 'X' 

Để có được tất cả các cột cho bảng 'T', chủ sở hữu 'U', bạn có thể làm:

SELECT column_name FROM all_tab_columns WHERE table_name = 'T' AND owner = 'U' 

hoàn Ví dụ

Dưới đây là một ví dụ hoàn chỉnh mà sẽ cho phép bạn để có được tất cả các bảng và cột của họ quay lại tất cả các bảng thuộc sở hữu của 'chủ sở hữu'. Nó có thể được thực hiện với một câu lệnh SQL duy nhất:

SELECT t.table_name 
    , c.column_name 
    FROM all_tables t 
    , all_tab_columns c 
WHERE t.TABLE_NAME = c.TABLE_NAME 
    AND t.OWNER  = c.OWNER 
    AND t.OWNER  = 'owner' 
ORDER BY t.TABLE_NAME 
     , c.COLUMN_NAME 

Khi bắt đầu nhập dữ liệu vào tài liệu Word, bạn có thể sử dụng các phương tiện khác để lấy nó vào Word nếu cần thiết. Để đưa nó vào một tệp văn bản, bạn chỉ có thể chạy lệnh ở trên trong sql*plus và chỉ cuộn vào tệp văn bản (tức là phát hành lệnh spool file.txt trong sql*plus) trước khi chạy câu lệnh SQL. Sau đó, đầu ra của bạn sẽ được ghi vào một tập tin.

+0

Thật không may, tôi chưa có gì trong cơ sở dữ liệu. Tôi vẫn đang làm việc với công cụ thiết kế ER. – Steve

+0

@Steve - Bạn có biết rằng bạn có thể chạy phiên bản Oracle của riêng bạn hoàn toàn miễn phí không? Nó được gọi là Oracle Express Edition, và bạn có thể lấy nó ở đây: http://www.oracle.com/technology/products/database/xe/index.html Tôi khuyên bạn nên sử dụng nó, và thật tuyệt vời khi làm điều bạn đang làm bây giờ, bởi vì bạn không phải đợi DBA để tạo lược đồ của bạn, bạn có thể làm điều đó trên DB của hộp cát. Thêm vào đó, điều này cho phép bạn thực hiện tất cả các chỉnh sửa, vv cho thiết kế của bạn và làm cho nó giống như bạn muốn nó trước khi làm phiền của DBA. Nếu bạn làm điều đó, bạn sẽ có thể sử dụng giải pháp ở trên. – dcp

+0

@Steve, bạn có thể nhập DDL vào công cụ chị của Oracle SQL Developer - Oracle Data Modeler và nhận báo cáo mô hình quan hệ, mặc dù tôi không biết liệu các báo cáo đó có hữu ích hay không. –

1

Table reports trong số những người khác, có thể lấy từ Oracle SQL Developer. Tuy nhiên, một trong những nhu cầu truy cập vào giản đồ, để có được các thông tin có liên quan.

Nếu bạn đang lập mô hình cơ sở dữ liệu và do đó, không có quyền truy cập vào lược đồ làm việc, bạn có thể tải tệp DDL trong mô hình được duy trì bởi Oracle Data Modeler (bạn có thể muốn kiểm tra giấy phép này trước) có được báo cáo mô hình quan hệ (báo cáo phản ánh mô hình cơ sở dữ liệu vật lý trong hầu hết các phần).

+0

Tại thời điểm này, tôi vẫn đang ở chế độ thiết kế ER. Các quản trị viên đã không tạo ra cơ sở dữ liệu Oracle được nêu ra, vì vậy tôi không có một ví dụ để làm việc chống lại. – Steve

+0

Vâng, tôi đã nhận ra điều đó từ bình luận khác. Tôi đã chỉnh sửa câu trả lời của tôi để phản ánh như vậy - bạn có thể thử sử dụng Oracle Data Modeler. –

+0

+1: Tôi chỉ thấy đầu ra mong muốn từ Oracle Designer, bản thân mình, mặc dù tôi không thể nhớ nó là Word hay chỉ là một tệp văn bản. –