Как найти зависимости от внешнего ключа в SQL Server?

Подсказки есть в каждом ответе, но, опять же, «с нуля», для новичков:

данные аутентификации в шаблонах (почти) по умолчанию - с небольшим фокусом:

в views.py:

from django.template import RequestContext
...
def index(request):
    return render_to_response('index.html', 
                              {'var': 'value'},
                              context_instance=RequestContext(request))

в index.html:

...
Hi, {{ user.username }}
var: {{ value }}
... 

Отсюда: https://docs.djangoproject.com/en/1.4/topics / auth / # authentication-data-in-templates

Эта переменная контекста шаблона недоступна, если RequestContext не используется.

163
задан Even Mien 29 May 2009 в 12:44
поделиться

4 ответа

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

SELECT
    FK_Table = FK.TABLE_NAME,
    FK_Column = CU.COLUMN_NAME,
    PK_Table = PK.TABLE_NAME,
    PK_Column = PT.COLUMN_NAME,
    Constraint_Name = C.CONSTRAINT_NAME
FROM
    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK
    ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK
    ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU
    ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
INNER JOIN (
            SELECT
                i1.TABLE_NAME,
                i2.COLUMN_NAME
            FROM
                INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1
            INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2
                ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME
            WHERE
                i1.CONSTRAINT_TYPE = 'PRIMARY KEY'
           ) PT
    ON PT.TABLE_NAME = PK.TABLE_NAME

Вы также можете просматривать отношения графически в среде SQL Server Management Studio в диаграммах базы данных.

285
ответ дан 23 November 2019 в 21:16
поделиться

попробуйте: sp_help [table_name]

вы получите всю информацию о таблице, включая все внешние ключи

99
ответ дан 23 November 2019 в 21:16
поделиться

Мне очень нравится использовать средство отслеживания зависимостей SQL от Red Gate Software . Вы можете поместить в базу данных любой объект (ы), например таблицы, хранимые процедуры и т. Д., И тогда он будет автоматически рисовать линии отношений между всеми другими объектами, которые зависят от выбранных вами элементов.

Дает очень хорошую графическое представление зависимостей в вашей схеме.

6
ответ дан 23 November 2019 в 21:16
поделиться

Я думаю, что этот скрипт дешевле:

SELECT f.name AS ForeignKey, OBJECT_NAME(f.parent_object_id) AS TableName,
    COL_NAME(fc.parent_object_id, fc.parent_column_id) AS ColumnName,
    OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
    COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
28
ответ дан 23 November 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: