Làm thế nào để giải quyết một cơ sở dữ liệu lớn không có giấy tờ


10

Gần đây tôi đã được thuê làm IT IT duy nhất trong một Công ty X nhất định và tôi được giao nhiệm vụ sửa các ứng dụng của họ, và theo tôi, cách tốt nhất để bắt đầu là tìm hiểu cơ sở dữ liệu.

Cơ sở dữ liệu hiện tại của họ là cơ sở dữ liệu MySQL với 186 bảng (lưu ý rằng một số bảng trống để thần biết tại sao). Và ứng dụng đang giao tiếp với cơ sở dữ liệu thông qua giao diện cơ sở dữ liệu MS Access. (Tôi tự hỏi tại sao các nhà phát triển cũng làm vậy)

Câu hỏi là, làm thế nào để tôi bắt đầu giải quyết cơ sở dữ liệu lớn không có giấy tờ này? Có, nó không có giấy tờ vì các nhà phát triển của ứng dụng không sẵn sàng cung cấp cho tôi ERD hoặc từ điển dữ liệu hoặc bất kỳ thông tin nào về cơ sở dữ liệu để giúp cuộc sống của tôi dễ dàng. Làm thế nào bạn có thể đề nghị tiếp nhận nỗ lực nguy hiểm này để hiểu mọi ngóc ngách của cơ sở dữ liệu khá lớn?

Câu hỏi liên quan: Làm thế nào để đi sâu vào một cơ sở dữ liệu xấu xí?


5
Bắt đầu với các bàn trống, từ từ bỏ hết bàn này đến bàn khác cho đến khi các nhà phát triển sẵn sàng hợp tác ...
René Nyffalanger 24/1/13

Hãy suy nghĩ trước khi bình luận. OP tuyên bố rõ ràng rằng anh ta là anh chàng DUY NHẤT . Vậy những nhà phát triển đó là ai? Có lẽ các nhà thầu bên ngoài, những người được trả tiền không chỉ là thời gian để xây dựng nó? Tại sao những người sẵn sàng dành thời gian của họ để được hỗ trợ thêm, công ty X có lẽ đã không sẵn sàng trả tiền để bắt đầu? Hay có lẽ họ là những nhân viên cũ đã nghỉ việc vì họ quá đắt? Tại sao họ lại dành thời gian để giúp đỡ công ty X với những vấn đề của nó? Và ai sẽ bị tổn thương khi đánh rơi bàn?
Erwin Smout

6
@ErwinSmout Tôi tin rằng nhận xét của Rene được dự định sẽ được hiểu là một nhóm người nhẹ dạ. Đó là cách tôi nhìn thấy nó.
Mark Storey-Smith

Câu trả lời:


11

Câu trả lời được liên kết đã giải quyết vấn đề từ dưới lên, cơ sở dữ liệu trước tiên. Vì trách nhiệm của bạn bao gồm các ứng dụng cơ sở dữ liệu, tôi có xu hướng tấn công từ trên xuống này bắt đầu từ (các) ứng dụng.

Tập trung sự chú ý của bạn vào việc hiểu các tính năng được sử dụng thường xuyên nhất của ứng dụng thông qua tham khảo ý kiến ​​với cơ sở người dùng. Theo dõi các tương tác cơ sở dữ liệu của các tính năng đó thông qua các công cụ lược tả / ghi nhật ký để bạn có thể xác định các bảng và quy trình chính.

Bằng cách này, những nỗ lực ban đầu của bạn bị ràng buộc vào "những thứ quan trọng", thay vì lãng phí thời gian để ghi lại các bảng và truy vấn có thể hiếm khi hoặc không bao giờ được sử dụng. Trọng tâm cũng sẽ đưa Nguyên tắc Pareto trần trụi vào những nỗ lực sửa lỗi của bạn ( dù sao thì Microsoft cũng nói vậy ).


Cảm ơn câu trả lời tuyệt vời. Tôi thực sự không nghĩ về điều đó và tôi cũng không biết rằng tôi có thể đăng nhập các truy vấn đang chạy trên máy chủ. Cảm ơn rất nhiều!
maru

1

Tôi có thể thử lấy MySQL Workbench và sau đó tạo mô hình EER từ cơ sở dữ liệu. Điều này có nghĩa là bạn có thể thấy những gì liên kết đến những gì và tìm hiểu những gì các nhà phát triển có thể nghĩ. Tất cả phụ thuộc vào ứng dụng cũng như cách nó được cấu trúc.


Tôi đã thử đi theo con đường đó, nhưng nó khá khó chịu giữa chừng vì có 186 bàn và bàn làm việc chỉ tát tất cả các bàn ở giữa tấm bạt. và bất động sản màn hình nhỏ đã không giúp mọi thứ trở nên nhỏ hơn. Nhưng từ vẻ bề ngoài của nó, không có lối thoát nào làm mọi thứ một cách khó khăn
maru

Đừng bận tâm cố gắng làm điều này với Workbench vì nó bị lỗi (lỗi) - bạn sẽ dành nhiều thời gian hơn để cố gắng khắc phục chúng hơn là bạn sẽ hoàn thành mọi thứ hữu ích. Thay vào đó, hãy xem xét sử dụng Microsoft Visio để thiết kế cơ sở dữ liệu hiện có thành một mô hình như được giải thích trong bài viết ngắn này: link .
KXNV-89.1FM

Liên kết apropos nhiều hơn: liên kết - "Kỹ sư đảo ngược cơ sở dữ liệu hiện có thành mô hình cơ sở dữ liệu" (với Microsoft Visio).
KXNV-89.1FM

1

Tôi thấy DBLint hữu ích cho việc xác định các vấn đề với cơ sở dữ liệu. Nó có các thuộc tính tốt đẹp sau:

  1. Nó xếp hạng các phát hiện theo tầm quan trọng (chủ quan) của chúng, vì vậy bạn không bị chìm trong một loạt các cảnh báo nhỏ.
  2. Những phát hiện quan trọng thường không thể chối cãi và có thể hành động.
  3. Nó chấm điểm cơ sở dữ liệu với một số duy nhất, vì vậy bạn có thể đo lường tiến trình của mình và so sánh chất lượng của các cơ sở dữ liệu khác nhau. Tôi thấy nó là khá động lực.
  4. Thật dễ dàng để cấu hình DBLint để chỉ sử dụng các kiểm tra dựa trên lược đồ. Vì vậy, thật nhanh chóng để thử nó ngay cả trên cơ sở dữ liệu lớn. Đơn khiếu nại duy nhất tôi có thể có là tôi phải chạy Windows để chạy DBLint.

Để xác định nhanh các điểm nóng trên cơ sở dữ liệu MySQL, Neor Profile SQL là một proxy nhỏ nằm giữa ứng dụng và cơ sở dữ liệu. Vẻ đẹp của nó là nhanh chóng để thiết lập.

Để khám phá các khóa chính và khóa ngoài thực tế trong cơ sở dữ liệu, tuy nhiên, không được xác định trong cơ sở dữ liệu, bạn có thể sử dụng Trình liên kết . Đối với âm mưu ERD, các ước tính có thể được xuất thành yEd , có rất nhiều thuật toán bố trí để định vị các bảng. BPMN là yêu thích của tôi cho ERD.


0

Có một công cụ oracle (bàn làm việc SQl của tôi) để truy cập cơ sở dữ liệu Sql của tôi, đó là một giao diện có thể cung cấp cho bạn ERD của cơ sở dữ liệu.


yup, tôi quen thuộc với bàn làm việc nhưng chức năng kỹ sư đảo ngược chỉ bỏ tất cả các bảng ở giữa khung vẽ ... 186 bảng rất khó để sắp xếp. biết một cách thoát khỏi đó?
maru
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.