Я пытаюсь сгенерировать диаграмму ERD из наших существующих таблиц, а затем преобразовать ее в html-страницу, где пользователи могут видеть таблицы со связями и т. Д. Например, диаграмма связей сущностей с основными, внешними и показывающими линиями или отношения.
Цель работы с диаграммами базы данных - автоматизировать генерацию ERD. Сгенерируйте XML из запроса SQL, а затем сгенерируйте диаграмму взаимосвязи сущностей HTML из кода XML.
Это то, что я сделал, поскольку пытался сгенерировать XML из SQL-запроса. Теперь я хотел бы создать HTML ERD-диаграмму, используя XML и HTML. Пожалуйста, не могли бы вы подтвердить, если это возможно, и любая помощь будет полезна для меня.
SELECT
s.name AS '@Schema'
,t.name AS '@Name'
,t.object_id AS '@Id'
,(
SELECT c.name AS '@Name'
,c.column_id AS '@id'
,IIF(ic.object_id IS NOT NULL,1,0) as '@IsPrimaryKey'
,fkc.referenced_object_id as '@ColumnReferencesTableId'
,fkc.referenced_column_id as '@ColumnReferencesTableColumnId'
FROM sys.columns as c
LEFT OUTER JOIN sys.index_columns as ic
ON c.object_id = ic.object_id
AND c.column_id = ic.column_id
AND ic.index_id = 1
LEFT OUTER JOIN sys.foreign_key_columns as fkc
ON c.object_id = fkc.parent_object_id
AND c.column_id = fkc.parent_column_id
WHERE c.object_id = t.object_id
FOR XML PATH ('td'),TYPE
)
FROM sys.schemas as s
INNER JOIN sys.tables as t
ON s.schema_id = t.schema_id
FOR XML PATH('td'),ROOT('Tables')