Редактирование БД MS SQL с 20 таблицами в 1 таблицу без потери данных - PullRequest
0 голосов
/ 05 апреля 2019

Здравствуйте, я не знаю, как внести изменения в мой MS SQL DB, чтобы интегрировать его для работы с новым программным обеспечением.

Дело связано с ограничениями программного обеспечения.

Наше старое программное обеспечениеЯ могу писать, читать и работать с БД MS SQL с несколькими таблицами, но новое программное обеспечение понимает только из одной таблицы или из одной таблицы представления.

Мой вопрос: как мне отредактировать мою таблицу БД MS SQL из 20 таблиц, чтобы сделать это?быть одной БД с одной таблицей со всеми данными из 20 таблиц и столбцов без потери данных?

И еще один последний вопрос о View Tables в MS SQL, что они доступны только для приложений и программного обеспечения?

Ответы [ 3 ]

1 голос
/ 05 апреля 2019

Почему не стоит помещать данные из всех ваших 20 таблиц в одну таблицу?
Я попытаюсь объяснить на примере, так как я не знаю вашу базу данных, я просто думаю о некоторых таблицах здесь

предположим, что у вас есть стол Clients

ClientID  Name  Street       City

    1     John  ChuchStreet  Denver
    2     Anna  FlowerStreet Boston

и стол Products

ProductID  Name     Price

   1       Mouse      10
   2       Keyboard   30
   3       Usb Cable  10

и таблица Orders

 OrderID  OrderNumber  CLientID  TotalAmount

    1        123          1         10
    2        345          1         20
    3        678          2         30

и, наконец, таблица OrderDetail

 OrderDetailID  OrderID  ProductID  Quantity

       1          1         1          1
       2          2         1          1
       3          2         3          1
       4          3         2          1

Теперь, чтобы положить это в одну таблицу, вы можете сделать это

  ID  ClientName  ClientStreet  ClientCity  OrderNumber  TotalAmount  ProductName  ProductPrice  ProductQuantity  

  1     John        ChurchStreet  Denver         123          10     Mouse           10             1
  1     John        ChurchStreet  Denver         345          20     Mouse           10             1
  2     John        ChurchStreet  Denver         345          20     Usb Cable       10             1
  3     Anna        FlowerStreet  Boston         678          30     Keyboard        30             1

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

Теперь предположим, что Джон переходит на другой адрес, теперь вам нужно найти John в каждой строке таблицы и настроить адрес

Теперь предположим, что название продукта меняется, вам снова нужно найти все строки и обновить

Это много работы, очень неэффективно, и в какой-то момент гарантированно пойдет не так

Теперь я использовал только 4 таблицы в этом примере. Можете ли вы представить, что произойдет, если вы объедините 20 таблиц в 1?

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

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

Объединение всех таблиц в одну большую таблицу просто невозможно поддерживать

0 голосов
/ 18 апреля 2019

Хорошо, но IDFLOW работает только с одной таблицей ...

И я спросил Джолли, и они сказали, использовать вашу БД для одной таблицы.

IDFLOW - это программное обеспечение для удостоверений личности.

Я думаю, что можно использовать одну БД с одной таблицей и всеми столбцами для информации о сотруднике.

Цель состоит в том, чтобы .. в IDFLOW вводить все данные для нового сотрудника, когда вы вводите данные из IDFLOWИнтерфейс они входят в БД MS SQL, и все поля из БД настроены в дизайне карты, и когда вы выбираете записи для одного сотрудника из интерфейса IDFLOW (из БД), вы можете распечатать ID CARD со всеми данными для сотрудника.

Вопрос в том, как перенести старые записи из старых БД в новые.

Это не большая база данных, это всего 6 ГБ от 2006 года. И мы используем ее только для печати удостоверений личности.

0 голосов
/ 17 апреля 2019

Привет, спасибо за ответы!

Я пытаюсь интегрировать старые MS SQL DB в новое программное обеспечение IDFLOW. Это программное обеспечение понять из MS SQL DB, но только из одной таблицы, но мой старый DB содержит 18 таблиц .... IDFLOW понимают из представлений, но работать с представлениями нехорошо, они подходят для дизайна карты в IDFLOW, но представления не подходят для записи новых данных в db из интерфейса IDFLOW, потому что в представлениях невозможно записать новые данные в дБ!

И теперь я начал думать о том, чтобы создать одну БД с одной таблицей со всеми столбцами, и успешно завершил ее! Теперь в моем сервере sql я с двумя db, старый db и новый db. Теперь я не знаю, как экспортировать данные из старой базы данных и импортировать ее в новую базу данных? Я говорю об экспорте столбца 2 из таблицы 1 из базы данных db1 и импорта в столбец 2 из таблицы 1 из базы данных db2 .... и тд и тп ........... колонка2 из таблицы2 из db1 и импорт ее в колонку3 из таблицы1 из db2 ............ и так и так .... столбец 5 из таблицы 18 из db1 и импортировать его в столбец 10 из таблицы table1 из db2.

Возможно ли это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...