MySQL/MariaDB는 시스템 운영과 관리를 위한 여러 내부 스키마를 제공합니다. 각 스키마는 특별한 목적을 가지고 있으며, 데이터베이스 관리에 필수적인 정보를 제공합니다.
| 스키마명 | 주요 기능 | 활용 포인트 |
|---|---|---|
| information_schema | 데이터베이스 메타데이터 조회 | • 테이블/컬럼 구조 파악 • 인덱스 조회 • 제약조건 확인 |
| mysql | 시스템 운영 정보 관리 | • 사용자 계정 관리 • 권한 설정 • 서버 설정 |
| performance_schema | 성능 모니터링 데이터 | • 쿼리 성능 분석 • 리소스 사용량 확인 • 대기 시간 분석 |
| sys | 시스템 모니터링 뷰 | • 성능 데이터 조회 • 시스템 자원 모니터링 • 직관적 분석 |
DESC information_schema.table_constraints;
| 필드명 | 데이터 타입 | 설명 |
|---|---|---|
| CONSTRAINT_CATALOG | varchar(512) | 카탈로그 정보 |
| CONSTRAINT_SCHEMA | varchar(64) | 제약조건이 속한 스키마명 |
| CONSTRAINT_NAME | varchar(64) | 제약조건 이름 |
| TABLE_SCHEMA | varchar(64) | 테이블이 속한 스키마명 |
| TABLE_NAME | varchar(64) | 테이블명 |
| CONSTRAINT_TYPE | varchar(64) | 제약조건 유형 |
특정 데이터베이스의 모든 제약조건을 조회하는 쿼리:
SELECT constraint_name, table_schema, table_name, constraint_type
FROM information_schema.table_constraints
WHERE constraint_schema = 'sample';
실행 결과:
+-----------------+--------------+------------+-----------------+
| constraint_name | table_schema | table_name | constraint_type |
+-----------------+--------------+------------+-----------------+
| PRIMARY | sample | dept | PRIMARY KEY |
| PRIMARY | sample | emp | PRIMARY KEY |
| fk_emp_dept | sample | emp | FOREIGN KEY |
+-----------------+--------------+------------+-----------------+
제약조건 관리
데이터베이스 문서화
유지보수
information_schema의 table_constraints는 데이터베이스의 제약조건을 효과적으로 관리하고 모니터링하는 데 필수적인 도구입니다. 이를 통해 데이터베이스의 구조를 더 잘 이해하고, 무결성을 유지하는 데 도움을 받을 수 있습니다.