본문 바로가기

DB

MySQL (2)

MySQL 데이터베이스 서버 생성, 스키마 생성

 

PERFROMMANCE

  • 데이터 베이스의 성능상의 영향을 보여줌

 

Index 설정

  • 데이터베이스 튜닝 : 데이터베이스의 성능을 향상시키고, SQL의 처리 시간을 줄이는 작업
  • index는 1개만 설정 가능 → 정렬기준이므로
  • PK에 AT걸려 있을 때 주로 사용
  • 저장 공간을 활용하여 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조
  • PK : index가 자동으로 생성됨
  • PK가 아닌 다른 column에 대해서 index를 만들어 주는 작업

 

뷰 : 가상의 테이블

 

Stored procedure

  • 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
  • 특정 로직의 쿼리를 함수로 만들어 놓은 것

 

데이터베이스 설계 단계

  1. 요구사항 수집 분석
    • 데이터베이스의 사용 용도 파악
    • 요구사항 명세서 작성
  2. 개념 스키마 설계
    • 요구사항 명세서를 바탕으로 entity, relationship으로 분리하여 와 E-R 다이어그램 작성
    • 각각의 entity가 가지는 속성 도출
      • entity : 데이터베이스에 표현되어야 하는 객체
      • relationship : entity를 연결하는 entity간의 관련성
  3. 논리 스키마 설계
    • 데이터를 어떻게 저장할 것인가
    • sql문을 이용하여 entity를 table로 만들고, 속성을 정의함
    • 테이블간의 관계는 FK로 정의
  4. 물리 스키마 설계
    • 실제로 어떻게 저장하고 보관하고 관리할 것인가
    • 데이터베이스 튜닝 : 데이터베이스의 처리 속도를 향상시키고 응답 시간을 최소화하는 작업

 

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;

'DB' 카테고리의 다른 글

REST API  (0) 2024.07.18
MySQL (1)  (0) 2024.07.18
데이터베이스(5)  (0) 2024.05.13
데이터베이스(4)  (0) 2024.05.13
데이터베이스(3)  (0) 2024.05.13