Oracle에있는 데이터베이스를 리버스 엔지니어링하려고합니다. 외래 키에 해당하는 기본 키 및 참조 무결성 규칙을 찾을 수 있었지만 양식/카디널리티 규칙이 저장되는 위치를 찾을 수는 없습니다.Oracle의 관계에서 양식/카디널리티를 확인하는 방법
검색 할 테이블이나 샘플 쿼리와 관련하여 도움이 필요하시면 크게 감사드립니다.
Oracle에있는 데이터베이스를 리버스 엔지니어링하려고합니다. 외래 키에 해당하는 기본 키 및 참조 무결성 규칙을 찾을 수 있었지만 양식/카디널리티 규칙이 저장되는 위치를 찾을 수는 없습니다.Oracle의 관계에서 양식/카디널리티를 확인하는 방법
검색 할 테이블이나 샘플 쿼리와 관련하여 도움이 필요하시면 크게 감사드립니다.
난 당신이 nullable
되는 참조 열을 확인해야합니다 생각 :
SELECT column_name, nullable
FROM user_tab_cols
WHERE table_name = '<TABLE_NAME>'
고유 인덱스에 대한
참조 열을 :SELECT idx.index_name, col.column_name
FROM user_indexes idx
JOIN user_ind_columns col ON (col.index_name = idx.index_name)
WHERE idx.uniqueness = 'UNIQUE'
AND idx.table_name = '<TABLE_NAME>'
는 양상/기수 규칙에 의해 무엇을 의미합니까?
FK 관계는 항상 Oracle과 관련하여 1 : N입니다. 나는 같은 분야에서 반대 방향으로 두 개의 FK 관계를 가짐으로써 1 : 1을 집행 할 수 있다고 생각한다.
카디널리티에 관한 유일한 '규칙'은 고유 키이지만 다른 키는 이미 가지고 있다고 생각합니다. 되지 않은 경우,이 도움이 될 수 있습니다
http://www.eveandersson.com/writing/data-model-reverse-engineering#constraints
을 데이터베이스의 설정에 따라 당신은 또한 열에있는 값의 중요도에 대해을 추론을 찾을 수 있습니다 : 특히 값
select * from user_tab_col_statistics
'NUM_DISTINCT '어떤 가치가있을 수 있습니다.
당신은 데이터 사전에 자세한 정보를 찾고 있다면, 나는 우선
select * from dict
where lower(comments|| '@' || table_name) like '%whatareyoulookingfor%'
이 선택하는 것이 좋습니다