Belgelenmemiş büyük bir veritabanı nasıl ele alınır


10

Kısa bir süre önce belirli bir X şirketindeki tek IT Guy olarak işe aldım ve uygulamalarını düzeltmekle görevlendirildim ve bence, başlamak için en iyi yol veritabanını anlamaktır.

Mevcut veritabanı 186 tablo ile bir MySQL veritabanı (bazı tablolar tanrı için boş olduğunu unutmayın neden). Ve uygulama bir MS Access veritabanı arayüzü üzerinden veritabanı ile iletişim kuruyor. (Kendime geliştiricilerin bunu neden yaptığını soruyorum)

Soru şu: Belgesiz bu büyük veritabanını ele almaya nasıl başlayabilirim? Evet, belgelenmemiş çünkü uygulamanın geliştiricileri hayatımı kolaylaştırmak için bana bir ERD veya veri sözlüğü veya veritabanı hakkında herhangi bir bilgi vermek istemiyorlar. Oldukça büyük veritabanının her kuytu ve köşesini anlamak için bu tehlikeli çabayı nasıl ele almayı önerirsiniz?

İlgili Soru: Çirkin bir veritabanına nasıl dalış yapılır?


5
Boş masalardan başlayarak, geliştiriciler işbirliği yapmaya istekli olana kadar yavaşça bir masaya bırakın ...
René Nyffenegger

Yorum yapmadan önce düşünün. OP açıkça SADECE It adamı olduğunu belirtti . Peki bu geliştiriciler kimler? Dış müteahhitler, belki, kim bir şeyi inşa etmek için harcanan zamandan daha fazla bir şey için ödendi? Neden ek destek için zaman ayırmaya istekli olacaklar, hangi X şirketi muhtemelen başlamak için ödeme yapmak istemiyor? Yoksa belki de çok pahalı oldukları için işten çıkarılan eski çalışanlar mıydı? Neden olur onlar kendi sorunları ile X şirketi dışarı yardımına zamanlarının koymak? Ve masaları bırakarak kim zarar görecek?
Erwin Smout

6
@ErwinSmout Rene'nin yorumunun hafif yürekli bir jibe olarak yorumlanması gerektiğine inanıyorum. Ben böyle gördüm.
Mark Storey-Smith

Yanıtlar:


11

Bağlantılı yanıt, önce veritabanı aşağıdan yukarıya problemi ele alır. Sorumluluklarınız uygulamaları ve veritabanını kapsadığından, uygulamalardan başlayarak bu yukarıdan aşağıya saldırmaya meyilli olurum.

Kullanıcı tabanına danışarak dikkatinizi uygulamanın en sık kullanılan özelliklerini anlamaya odaklayın. Profil oluşturma / günlüğe kaydetme araçlarıyla bu özelliklerin veritabanı etkileşimlerini izleyin, böylece anahtar tabloları ve yordamları belirleyebilirsiniz.

Bu şekilde erken çabalarınız, nadiren veya hiç kullanılmayacak tabloları ve sorguları belgelemek için zaman kaybetmek yerine "önemli olan şeyler" ile sınırlandırılır. Odak ayrıca Pareto İlkesini hata düzeltme çabalarınıza dayandırmalıdır ( Microsoft yine de diyor ).


Harika cevap için teşekkürler. Dürüst olmak gerekirse bunu düşünmedim ne de sunucuda çalıştırılan sorguları günlüğe kaydedebilirsiniz biliyor muydunuz. Çok teşekkürler!
maru

1

Muhtemelen MySQL Workbench'i alıp veritabanından bir EER modeli oluşturmayı deneyeceğim. Bu, neyin neyle bağlantı kurduğunu ve geliştiricilerin ne düşündüğünü öğrenebileceğiniz anlamına gelir. Her şey, uygulamanın nasıl yapılandırıldığına da bağlıdır.


Bu rotaya gitmeye çalıştım, ancak yarı yolda oldukça sinir bozucu oldu çünkü 186 masa ve tezgah sadece tuvalin ortasındaki tüm masaları tokatladı. ve küçük ekranlı emlak işlerin küçülmesine yardım etmiyordu. Ama görünüşe göre, işleri zor yoldan yapmaktan kaçmak yok
maru

Bunu Workbench ile yapmaya çalışmayın, çünkü kusurlarla (hatalarla) doludur - bunları aşmak için yararlı bir şey başaracağınızdan daha fazla zaman harcarsınız. Bunun yerine, varolan bir veritabanını bu kısa makalede açıklandığı gibi bir modele tersine çevirmek için Microsoft Visio kullanmayı düşünün: link .
KXNV-89.1FM

Daha apropos bağlantısı: link - "Varolan bir veritabanını bir veritabanı modeline tersine mühendislik" (Microsoft Visio ile).
KXNV-89.1FM

1

DBLint veritabanı ile ilgili sorunların tanımlanması için yararlı buluyorum . Aşağıdaki güzel özelliklere sahiptir:

  1. Bulguları (sübjektif) önemlerine göre sıralar, bu nedenle küçük bir uyarı seli içinde boğulmazsınız.
  2. Önemli bulgular sıklıkla tartışılmaz ve eyleme geçirilebilir.
  3. Veritabanını tek bir sayı ile puanlar, böylece ilerlemenizi ölçebilir ve farklı veritabanlarının kalitesini karşılaştırabilirsiniz. Bunun oldukça motivasyonlu olduğunu düşünüyorum.
  4. DBLint'i yalnızca şema tabanlı denetimleri kullanacak şekilde yapılandırmak kolaydır. Bu nedenle, büyük veritabanlarında bile denemek hızlıdır. I-ebilmek tek şikayet DBLint çalıştırmak için Windows çalıştırmak zorunda olmasıdır.

MySQL veritabanındaki etkin noktaların hızlı bir şekilde tanımlanması için Neor Profile SQL , uygulama ve veritabanı arasında oturan bir avuç proxy'dir. Güzelliği hızlı kurulum olmasıdır.

Veritabanında tanımlanmamış gerçek ve yabancı anahtarların keşfedilmesi için, yine de veritabanında tanımlanmamıştır, Linkifier kullanabilirsiniz . ERD çizimi için, tahminler tabloların konumlandırılması için çok sayıda düzen algoritmasına sahip olan yEd'ye aktarılabilir . BPMN, ERD'ler için favorim.


0

My Sql veritabanına erişmek için bir oracle aracı (My SQl workbench) var, bu size veritabanının ERD'sini verebilecek bir arabirimdir.


evet, ben çalışma tezgahına aşinayım ama tersine mühendislik işlevi tüm tabloları tuvalin ortasına döküyor ... 186 masa sıralamak can sıkıcı. Bundan bir çıkış yolu biliyor musun?
maru
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.