здесь вы строите свой вектор data
без указания x, поэтому x равно x1 = 1... xn = length(data)
, просто укажите соответствующий x, и он будет работать
points(n_data, data[n_data],col=2)
points(p_data, data[p_data],col=3)
Это можно сделать, и есть по крайней мере 2 особенно доступных инструмента, которые могут сделать нормализацию для вас: GeneXus и DeKlarit. Они используют процесс под названием NormalizationBySynthesis
Я думаю, что это трудно реализовать.
Как, таблица
Id | Name | Surname | SSN
находится в 1 нФ, и
Id | Name | Surname | Mobile
не, но Вы не можете сказать это ни от дизайна, ни от данных, только от имени поля.
Я видел однажды база данных для ультрасонографии, которая на самом деле имела обоих GENDER
и LMP
(последняя менструация) в одной таблице.
Инструмент как Вы описывает, это пыталось проанализировать Ваши данные и метаданные и сообщить Вам о возможной ненормализованной структуре, будет давать неправильные предложения так часто, что это сделало бы Clippy, помощник Microsoft походят на помощь необходимого писателя.
Процесс нормализации включает отображающиеся требования к программному обеспечению к логической модели данных. Аналитический инструмент не может знать Ваши требования к данным немного лучше, чем Вы. Таким образом, это не может вывести из неправильного проектирования баз данных, какие части его являются неправильными.
Я понимаю, что Вы квалифицировали вопрос, и Вы ограничили ожидания возможности инструмента. Но Вы хотели бы, чтобы это было полезно для обычных, повседневных задач - но это не будет надежно даже для самых простых случаев.
Сравните со статическими инструментами анализа кода. Предположим, что Вы пишете приложение и поставляете его Вашему клиенту, и клиент говорит, "почему я не могу послать электронное письмо из этого приложения?" Как статический инструмент анализа кода сказал бы Вам об исключении желаемой функции? Это не может знать те требования.
Аналогично, как был бы аналитический инструмент нормализации базы данных знать, подходит ли это для UserAccount
таблица, чтобы иметь сингл MobilePhoneNumber
атрибут, или если это более соответствовало бы числам отдельного телефона в другую таблицу так отдельный пользователь, мог бы иметь несколько перечисленных телефонов?
Это не может быть сделано.
Нормализация определяется с точки зрения функциональных зависимостей который
Можно посмотреть на таблицу такой как
A | B
--+--
1 | 1
1 | 2
и выведите, что B не зависит от (потому что он имеет два отличных значения для единственного значения A), но Вы никогда не можете выводить, что зависимость действительно существует, например, май или не может зависеть от B.
Я тоже думал об этой проблеме. Теоретически это возможно, и на эту тему есть несколько исследовательских работ. раньше на www.dbtools.cs.cornell.edu был довольно крутой инструмент. Его разработал известный автор Рагху Рамакришнан. В настоящее время он работает в Yahoo Research. Для получения дополнительной информации вы можете обратиться к следующим статьям
Меня также очень интересует ответ на этот вопрос. Если кто-нибудь нашел инструмент, сообщите нам об этом!