MySQL 데이터베이스 서버 생성, 스키마 생성
PERFROMMANCE
- 데이터 베이스의 성능상의 영향을 보여줌
Index 설정
- 데이터베이스 튜닝 : 데이터베이스의 성능을 향상시키고, SQL의 처리 시간을 줄이는 작업
- index는 1개만 설정 가능 → 정렬기준이므로
- PK에 AT걸려 있을 때 주로 사용
- 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조
- PK : index가 자동으로 생성됨
- PK가 아닌 다른 column에 대해서 index를 만들어 주는 작업
뷰 : 가상의 테이블
Stored procedure
- 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
- 특정 로직의 쿼리를 함수로 만들어 놓은 것
데이터베이스 설계 단계
- 요구사항 수집 분석
- 데이터베이스의 사용 용도 파악
- 요구사항 명세서 작성
- 개념 스키마 설계
- 요구사항 명세서를 바탕으로 entity, relationship으로 분리하여 와 E-R 다이어그램 작성
- 각각의 entity가 가지는 속성 도출
- entity : 데이터베이스에 표현되어야 하는 객체
- relationship : entity를 연결하는 entity간의 관련성
- 논리 스키마 설계
- 데이터를 어떻게 저장할 것인가
- sql문을 이용하여 entity를 table로 만들고, 속성을 정의함
- 테이블간의 관계는 FK로 정의
- 물리 스키마 설계
- 실제로 어떻게 저장하고 보관하고 관리할 것인가
- 데이터베이스 튜닝 : 데이터베이스의 처리 속도를 향상시키고 응답 시간을 최소화하는 작업
Trigger
데이터 일관성을 유지하기 위해 INSERT, DELETE, UPDATE 같은 DML이 수행될 때, 데이터베이스에서 자동으로 동작하는 것 → 지울 때는 항상 키값으로 삭제
CREATE DEFINER=`root`@`localhost` TRIGGER `topic_backup_AFTER_DELETE` AFTER DELETE ON `topic_backup` FOR EACH ROW BEGIN
INSERT INTO removed
VALUES (OLD.id, OLD.title, now() );
END
DELETE FROM topic_backup WHERE title = 'C' ;
select * from removed;