Дешифруйте [закрытую] схему базы данных

Как печатать символы Unicode в файл:

Сохранить это в файле: foo.py:

#!/usr/bin/python -tt
# -*- coding: utf-8 -*-
import codecs
import sys 
UTF8Writer = codecs.getwriter('utf8')
sys.stdout = UTF8Writer(sys.stdout)
print(u'e with obfuscation: é')

Запустить его и вывести канал в файл:

python foo.py > tmp.txt

Откройте tmp.txt и загляните внутрь, вы увидите следующее:

el@apollo:~$ cat tmp.txt 
e with obfuscation: é

Таким образом, вы сохранили unicode e с отметкой обфускации на нем в файл.

9
задан Jared 27 September 2008 в 01:07
поделиться

11 ответов

Попробуйте SchemaSpy. Я выполнил его против довольно сложной базы данных, и я был вполне доволен результатом с советом относительно оптимизации.

15
ответ дан 4 December 2019 в 10:06
поделиться

Что DBMS (Система управления базами данных) Вы используете? Многие современный DBMS как SQL-сервер и Доступ могут создать схему E-R для Вас.

Microsoft Visio является превосходным инструментом и может перепроектировать SQL от любого источника данных.

DDT (Инструмент Проектирования баз данных) может перепроектировать от необработанного SQL на окнах и очень легок (очень маленькая бесплатная загрузка).

MySQL Workbench является одним из более популярных инструментов MySQL и имеет свободно загружаемую версию.

SQLFairy может сделать то же для MySQL на Linux.

1
ответ дан 4 December 2019 в 10:06
поделиться

dbdesc не свободен, но я услышал очень хорошие вещи об этом. Это работает с несколькими из главных баз данных там.

Я был удачлив в этом, я еще не должен был дешифровать схемы базы данных других людей. У меня есть использование ряд шаблонов, которые идут с CodeSmith.

1
ответ дан 4 December 2019 в 10:06
поделиться

Во-первых, могу я говорить, что я чувствую Вашу боль!
Вот несколько моих подсказок:

  1. В целом инструмент только будет полезен, если разработчики правильно определили все первичные и внешние ключи, так знать, что инструмент не мог бы взять все важные отношения.
  2. Самая полезная вещь состоит в том, чтобы видеть, какие запросы выполняются клиентским кодом. Это скажет Вам не только, какие отношения существуют, но и какие таблицы и отношения наиболее часто используются - это - то, где Вы захотите сконцентрировать свое усилие.
1
ответ дан 4 December 2019 в 10:06
поделиться

Попробуйте DBVis - загружают по http://www.minq.se/products/dbvis/ - существует про (не нужная) версия и открытая версия, которая должна быть достаточной.

Все, что необходимо сделать, должно получить правильный JDBC - драйвер базы данных, инструмент показывает таблицы и ортогональные ссылки, hirarchical, в кругу ;-) и т.д. только путем нажатия одной единственной кнопки.Приятного отдыха!

2
ответ дан 4 December 2019 в 10:06
поделиться

Я использую mysql инструментальные средства (http://www.mysql.com/products/workbench/) для mysql баз данных. Можно присоединить инструментальные средства к базе данных, и это потянет диграмму ER для Вас.

0
ответ дан 4 December 2019 в 10:06
поделиться

Существует немного программного обеспечения с открытым исходным кодом там, но инструмент Профессионала Visio для инженерного анализа схем базы данных довольно хорош, потому что это отделяет процесс инженерного анализа и схематического изображения. Я использую это много, потому что это имеет тенденцию быть легко доступным на большинстве сайтов.

Одна хорошая функция Visio - то, что можно перепроектировать и затем создать собственные схемы из перепроектированной схемы. Выполнение этого является очень хорошим способом исследовать схему и понять это, поскольку Вы делаете эту работу как часть интерактивного создания справочного документа для схемы. Я использовал эту технику для инженерного анализа всего от Действия Основанные Ценные Системы к Страховке, Подписывающей Системы, обычно без большого количества справки от поставщика. Лужение о со схемами Visio является довольно расслабляющим.

Между этим и небольшим тестированием гипотезы об отношениях FK (Если FK физически не присутствует на таблице) можно понять довольно сложные схемы. Я нашел, что этот подход схематического изображения делает Visio лидером головы-и-плеч, потому что можно легко взаимодействовать с перепроектированной моделью довольно удобным способом. Можно заполнить пропавших без вести внешних ключей, создать схемы предметной области и добавить аннотации на схемы. Интерактивность этого процесса делает это хорошим средством обучения.

Это - несколько субъективное представление, но интерактивность работает очень хорошо процессом изучения для меня, и это - безусловно мой предпочтительный подход. Большинство сайтов не будет завидовать Вам приблизительно £300 для лицензии - если они не будут уже иметь ее в наличии. Единственный сайт я когда-либо работал, где они должны были вложить его, был то, потому что у них был Стандарт Visio вместо Pro. Я спросил приятно, и PHB вышел из него.

1
ответ дан 4 December 2019 в 10:06
поделиться

Используя pgsql/win32 я нашел, что самое легкое решение состояло в том, чтобы записать сценарий жемчуга, который использовал График:: Легкий от CPAN. Запросите базу данных для отношений внешнего ключа, сделайте ориентированного графа с таблицами как узлы и отношения FK как ссылки. Если это - Ваша установка, я могу отправить код.

0
ответ дан 4 December 2019 в 10:06
поделиться

Мне нравится пытаться видеть, имеют ли приложения, которые используют базу данных, способы зарегистрировать SQL, они используют (или сам бэкенд DB, но это имеет тенденцию быть менее послушным). Получение ощущения того, что запросы, выполненные на базе данных, помогают Вам сконцентрировать на важных таблицах.

Как с большинством вещей, правило 80/20 применяется здесь: 20% таблиц сделают 80% интересного материала. После того как Вы поняли их, схема редко необходима.

0
ответ дан 4 December 2019 в 10:06
поделиться

Посмотрите на внешний ключ первичного ключа relationshsips, которые были настроены как стартовое место.

Начиная с базы данных без существующих схем, могли не настроить отношения официально, я смотрю на структуры таблиц и имена и высказываю мои лучшие предположения относительно того, что могло бы быть связано с какой, затем вырыть в структуры, чтобы видеть, очевидны ли там (но не определены), внешние ключи. Я смотрю на сохраненный procs для понимания относительно того, как к таблицам присоединяются и на чем запрашиваются поля.

В то время как автоматизированные инструменты для выяснения базы данных могут быть элегантными, я нахожу, что, когда я действительно рою в детали базы данных сам, я заканчиваю с намного лучшим пониманием, чем я могу добраться из какого-либо изображения, созданного автоматически.

0
ответ дан 4 December 2019 в 10:06
поделиться

У меня есть некоторый довольно хороший опыт с Data Studio Воды для инженерного анализа схемы DB. Это очень многофункционально и поддерживает еще более экзотические базы данных как Informix или Sybase.

0
ответ дан 4 December 2019 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: