@ Ответ Стивена А. Лоу, безусловно, самый простой и наименее влиятельный для существующих приложений.
Только для усмешек и предположений, давайте предположим, что вы можете захотеть внести и другие изменения в схему (новые таблицы, столбцы).
Я бы внимательно посмотрел на таблицы, прежде чем что-либо комбинировать - убедитесь, что сущности / отношения, представленные в таблицах, являются четкими и нормализованными. Если publisher
и designer
на самом деле - это одно и то же, одна и та же сущность, тогда может быть желательна новая таблица, объединяющая их.
Итак, создайте новую таблицу с новым уникальным идентификатором. Есть несколько способов затем связать этот идентификатор с исходными таблицами. Для структурирования «истории» (откуда она взялась и старого идентификатора) потребуется пара столбцов, в идеале в отдельной таблице (потому что они действительно не «о» новой таблице, верно?), Но они могли бы быть включены в новое определение таблицы.
Что-то вроде
new table
column newId
.
.
.
column oldTableName
column oldId
или
new table
column newId
.
.
.
join table
column newId
column oldTableName
column oldId
Затем можно создать одно или несколько представлений, которые представляют старую структуру таблицы для существующих приложений.
create view oldTable id, [...] as
select oldId, newTable.col1, newTable.col2
where oldTableName = 'oldTable
Существуют и другие способы объединения идентификаторов, но двух описанных здесь, вероятно, достаточно.