2010-11-21 35 views
7

Tôi đang làm một dự án trong trường đại học và nó bao gồm một cơ sở dữ liệu MySQL. Tôi có một thiết kế cho cơ sở dữ liệu về danh sách các bảng và các trường tương ứng của chúng.Làm thế nào để trình bày một thiết kế cơ sở dữ liệu?

Tôi nên trình bày thiết kế này ở dạng nào? Chỉ cần danh sách các bảng và nội dung? Trong một ERD? Làm thế nào để bạn trình bày thiết kế của bạn?

Để làm rõ - bất cứ điều gì bạn trả lời, tôi không mong đợi chỉ đặc điểm kỹ thuật của cách bạn thể hiện thiết kế của bạn, mà còn có công cụ để bạn sử dụng tạo ra các sơ đồ/danh sách/bảng, vv

+1

Cá nhân, tôi thấy ERD dễ đọc và dễ hiểu nhất. Visio là một công cụ tuyệt vời cho việc này. – Oded

Trả lời

4

ERD là cách duy nhất để thực hiện. Như họ nói, một bức tranh trị giá một ngàn chữ.

Nhưng đừng cố gắng đặt toàn bộ cơ sở dữ liệu lên một sơ đồ. Nó sẽ, trong tất cả, nhưng các trường hợp tầm thường nhất, được áp đảo đối tượng của bạn để cố gắng tiêu hóa toàn bộ thiết kế cơ sở dữ liệu trong một đi. Thay vào đó, phá vỡ các sơ đồ vào các lĩnh vực chủ đề mô tả chỉ các bảng có liên quan nhất trong mỗi sơ đồ. Ví dụ: hệ thống điểm bán hàng có thể có sơ đồ riêng biệt cho Khoảng không quảng cáo, Bán hàng, Kế toán, Quản lý khách hàng, Bảo mật, Kiểm tra và Báo cáo. Một số bảng sẽ hiển thị trong nhiều hơn một lĩnh vực chủ đề - điều này được mong đợi.

Theo như công cụ, không có gì đánh bại ErWin, nhưng nó thực sự đắt tiền và chỉ có sẵn cho Windows. Visio có mặt khắp mọi nơi trong môi trường công ty, nhưng chỉ có sẵn trên Windows và cũng không hề rẻ. Mac cung cấp một số công cụ lập biểu đồ thực sự tốt đẹp; hầu hết trong số họ không phải là miễn phí.

Dia là một công cụ lập biểu đồ khá, miễn phí và đa nền tảng. Đó là một chút kỳ quặc, mặc dù; và tôi đã không có nhiều thành công làm cho các sơ đồ trông đẹp như tôi muốn họ nhìn.

Đối với MySQL, tôi đã chơi với fabFORCE dbDesigner và nó không phải là xấu, nhưng tôi đã tìm thấy hỗ trợ của nó cho nhiều lĩnh vực chủ đề là một chút thiếu thời gian - có lẽ họ đã cải thiện nó kể từ đó. Nhưng nó hoàn toàn miễn phí và hoạt động trên Windows và Linux.

Đối với bản trình bày thực tế, tôi tạo hình ảnh từ các công cụ lập sơ đồ này và kéo chúng vào phần mềm thuyết trình (PowerPoint, KeyNote hoặc OpenOffice Impress). Các bản trình bày này có thể được xuất sang PDF và phân phối cho đối tượng; họ sẽ không cần bất kỳ thứ gì ngoài trình xem PDF để xem lại thông tin sau này.

+0

fabFORCE dbDesigner đã thực hiện thủ thuật. Cảm ơn! –

3

Hãy xem xét điều này từ bạn quan điểm của giáo sư. Nếu tôi là anh ấy/cô ấy:

Tôi sẽ yêu cầu ERD. Không có nó, tôi không thể thấy một trong những vấn đề cơ bản nhất của một thiết kế cơ sở dữ liệu, các bảng có liên quan như thế nào.

Tôi cũng mong đợi một số trường hợp sử dụng cơ bản/yêu cầu. Bạn đang cố gắng giải quyết vấn đề gì với thiết kế cơ sở dữ liệu này?

Tôi muốn xem các chỉ mục nào được đặt ra, đặc biệt là trên các cột khóa ngoài. Tôi muốn xem số hàng dự kiến ​​trong tất cả các bảng để xác định xem các chỉ mục có được yêu cầu hay không.

Tôi muốn xem các loại dữ liệu cột để xác định xem chúng có đáp ứng các yêu cầu hay không. Tôi sẽ muốn xem những cột nào chấp nhận giá trị NULL, vì điều đó thường có thể gây ra vấn đề nếu bạn không cẩn thận.

Nếu tôi đang sử dụng SQL Server, có lẽ tôi sẽ tạo một sơ đồ trong SSMS để hiển thị một ERD cơ bản. Visio cũng có thể được sử dụng. Tôi có thể sử dụng Visio để tạo các trường hợp sử dụng của tôi, hoặc có lẽ là Microsoft Word.

1

Đừng quên để thảo luận về khía cạnh thiết kế mà không thể được trang bị tốt trong ERD:

1) cách thừa kế/mối quan hệ kết hợp từ mô hình phân tích của bạn thực hiện trong thiết kế liên quan db của bạn (trình bày trên ERD) .

2) làm thế nào bạn hỗ trợ hệ thống phân cấp đối tượng của bạn trong việc thiết kế rdb (nếu bạn có bất kỳ)

3) bất kỳ mối quan hệ mà trong mô hình phân tích của bạn nhưng không được hỗ trợ trong việc thiết kế rdb.

4) Quy trình ETL, thay đổi theo dõi, hỗ trợ bảo mật và lưu trữ/lịch sử (nếu chúng được hỗ trợ ở cấp độ db).

0

mysql workbench sẽ làm cho bạn đồ họa đẹp để trình bày giữa nhiều tính năng phức tạp khác.

0

Tùy thuộc vào đối tượng. ERD chắc chắn không phải là câu trả lời duy nhất và có thể không phải là tốt nhất. Bạn nên chọn phương tiện mà khán giả của bạn sẽ hiểu.

Các vấn đề liên quan