2010-09-21 8 views
5

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

Я хотел бы знать, какие лучшие практики?

Есть несколько вопросов, которые я имею в виду уже при создании списка:

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

Любые другие советы по этому вопросу будут полезны. Кстати, я использую SharePoint 2010.

+0

Причина заключается в том, что проще интеграции SharePoint с другими модулями, такими как работа поток. Однако, хотя это можно сделать с помощью BCS, я думаю, что это добавляет еще один шаг в это. –

ответ

6

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

+1

Итак, как вы рисуете линию, лучше ли использовать таблицу списка или базы данных? –

+0

@Nikkho Shandittha ** Производительность ** - один из аспектов, которые вы должны рассмотреть - сколько данных будет хранить ваш магазин приложений и сколько пользователей будет использовать его? SQL Server позволяет настраивать производительность различными способами; с SharePoint вы застряли в разработке своей базы данных, и все, что вы можете сделать, - это увеличение или уменьшение. –

+0

@Nikkho Shandittha Вам нужны ** отношения «многие ко многим» **? Вам нужно получить ** данные из нескольких списков, используя объединения **? –

0

Я тоже туда не поеду. Особенно не через BDC. Если вам нужно интегрироваться с реляционными данными, вы также можете сделать это непосредственно из вашего кода рабочего процесса .NET. Вы все еще можете использовать SharePoint для запуска рабочих процессов и ведения списков задач и т. Д.

Если ваши данные реляционные, поместите их в реляционную базу данных. Это хорошо.

0

Я полностью согласен с другими парнями. Реляционные данные лучше всего помещаются в базу данных, предназначенную для этого.

Поскольку вы используете SharePoint 2010, у вас есть немного лучшая поддержка обработки больших списков с помощью дросселирования и улучшенных полей поиска. Также BDC теперь называется BCS и поддерживает обновление и создание данных с помощью списков SharePoint. Теоретически это дает вам еще два варианта: a. Поместите данные в списки с помощью полей поиска и b. Поместите данные в базу данных и получите доступ к ней через BCS.

Подход a) наверняка прочен только до тех пор, пока ваши списки не содержат более нескольких тысяч записей и могут иметь некоторые проблемы из-за природы полей поиска. Для подхода b) я понятия не имею, как BCS занимается реляционными данными. Я использую его с простыми несвязанными данными из базы данных, и это работает нормально. Также для больших данных данных. Хотя оба подхода имеют свой недостаток, они по-прежнему имеют то преимущество, что вы получаете пользовательский интерфейс и обрезку безопасности «бесплатно». Я думаю, что это в значительной степени зависит от вашего сценария, что имеет смысл ...

0

Я согласен с тем, что списки SharePoint не заменяют реляционную базу данных. Если вы настроены на то, что у вас есть данные, находящиеся в SharePoint, подумайте об использовании служб доступа для создания диаграммы сущностей и публикации базы данных в SharePoint с помощью служб доступа.

Посмотрите на этом Channel 9 видео для получения более подробной информации о возможностях, с услугами доступа

http://channel9.msdn.com/Learn/Courses/Office2010/AccessUnit

0

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

Более подробная информация по этому вопросу здесь: http://msdn.microsoft.com/en-us/library/ee557243.aspx

Смежные вопросы