kwaku Emma Ответов: 3

Как правильно делиться данными базы данных с другими разработчиками?


Я разработал базу данных MSSQL для использования приложением, разработанным на c#. Позже пришло требование, чтобы я предоставил некоторые данные другому приложению, разработанному другим разработчиком из другого отдела. Приложение этого разработчика основано на интернете. Он потребовал, чтобы я раскрыл данные с помощью представлений базы данных, что я неохотно делаю. Выставленные данные будут предназначены только для отображения в интернете. Данные могут быть отправлены обратно из веб-приложения в базу данных, для которой я намерен использовать представления и / или хранимые процедуры.
Мои вопросы таковы
1. Мои решения правильные? - А почему да или нет)
2. Это разоблачение видом и функциями, чтобы его привязали?
3. Ты предлагаешь мне разработать API для этого? (Необходимы рекомендации.)
4. Как проверить данные, полученные из веб-приложения?
Другие предложения приветствуются.

Что я уже пробовал:

Все еще думаю о том, как это сделать

3 Ответов

Рейтинг:
8

pt1401

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

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


F-ES Sitecore

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

Рейтинг:
1

Wendelius

Не совсем понимаю, почему вы не хотите использовать вид. В конце концов, представление изначально предназначено для обработки, например, вопросов безопасности. С помощью представления вы можете управлять тем, какие строки и столбцы может видеть или обновлять использующее приложение. Кроме того, пользователю представления не нужно иметь никакого доступа к исходным таблицам.

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


kwaku Emma

Спасибо тебе за это. Я думал, что это не правильно использовать представления.

Wendelius

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

Рейтинг:
0

RossMW

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

MS SQL может справиться со всеми потребностями безопасности, с которыми вы можете столкнуться с представлениями для защиты данных и т. д.

Следовательно, вам нужно ответить для себя, почему вы не хотите делать это из соображений безопасности или бизнеса. Техническое решение приходит вторично (или будет зависеть) от потребностей бизнеса.

Средства проверки многочисленны и разнообразны-от самой веб-программы до временного хранения данных в таблицах переходов для отдельного процесса проверки.

Опять же, это зависит от вашей собственной ситуации и потребностей.