3장. MySQL 전체 운영 실습
정보시스템을 구축하기 위해서 분석, 설계, 구현, 테스트, 유지보수 5가지 단계가 존재한다.
데이터베이스 모델링 : 현실세계에서 사용되는 데이터를 MySQL에 어떻게 옮겨 놓을 것인지를 결정하는 과정
(ex: 사람-> 주민등록번호,제품-> 이름,제품번호)
MySQL에서는 Schema와 Database는 똑같은 말이다.
Create table `my table`(id int);
숫자 1옆에 있는 `을 사용하면 띄워쓰기한 테이블이름을 가질수 있다.
3.3.1 인덱스
찾아보기와 같은 개념 , 이 인덱스를 잘 활용하지 못해서 시스템의 성능이 전체적으로 느린 경우가 아주 흔하게 있다.
create index idx_indexTBL_firstname on indexTBL(first_name);
3.3.2 뷰
가상의 테이블로 진짜로 없는데 진짜로 있는 것이 뷰이다.
3.3.3 스토어드 프로시저
mysql에서 제공해주는 프로그래밍 기능을 말한다. 한번 만들어 놓으면 호출만 하면 되기 때문에 실무에서 많이 사용한다.
DELIMITER // -> 구분자를 ; 가 아니라 //로 사용하겠다.
예시)
DELIMITER //
CREATE PROCEDURE myProc()
BEGIN
select * from membertbl where memberName = '당탕이';
select * from producttbl where productName = '냉장고';
END//
DELIMITER ;
사용법 :Call myproc();
3.3.4 트리거
테이블에 부착되어서 테이블에 INSERT 나 UPDATE 또는 DELETE 작업이 발생되면 실행되는 코드를 말한다.
EX) 당탕이의 행 데이터를 삭제하기 전에 그 내용을 다른 곳에 먼저 복사해놓으면된다. 그런데 이것을 배번 수작업으로 할 경우 에 지우기전에 다른 곳에 복사해 놓아야 한다는 것을 깜빡 잊는다면 믿을 수 없게 된다.
회원 테이블에 삭제 작업이 일어날 경우에 삭제되기 전에 미리 다른곳에 삭제될 데이터를 옮겨두는 것이다.
INSERT INTO deletedMemberTBL VALUES ( OLD.memberID, OLD.memberName, OLD.memberAddress,CURDATE());
OLD는 삭제되는 데이터
코드 :
INSERT INTO memberTbL VALUES ('Figure','연아','경기도 군포시...');
UPDATE memberTBL SET memberAddress = '서울 강남구...' where memberName ='연아';
select * from memberTBL;
delete from membertbl where memberName = '연아';
create table deletedMemberTBL (
memberID char(8),
memberName char(5),
memberAddress char(20),
deleteDate date );
Delimiter //
create trigger trig_deltedMemberTBL
AFTER DELETE
ON memberTBL
FOR EACH ROW
BEGIN
INSERT INTO deletedMemberTBL VALUES ( OLD.memberID, OLD.memberName, OLD.memberAddress,CURDATE());
END //
delimiter ;
delete from memberTBL where memberName = '당탕이';
select * from deletedmembertbl;
show tables;
3.4 데이터베이스 백업 및 관리
현재 데이터베이스를 다른 매체에 보관하는 것이다.
3.5 MySQL과 응용프로그램의 연결
다른 응용프로그램(PHP, C#, Java 등)과 주제는 다르지만 가능
앞에서 구축한 쇼핑몰 데이터베이스가 응용프로그램과 연계되어 사용하는 방법을 간단히 살펴보자.
visual studio – web 개발 툴 다운
mysql connector – 비쥬얼스튜디오와 mysql 연결다리 설정
설치후 제어판- 시스템보안- 관리도구- 데이터 원본(ODBC)64비트는 잘 끊킴 32비트로 – 시스텀 DSN 추가- mysql odbc unicode driver(mysql connector)
'2019백업' 카테고리의 다른 글
Chapter3_1정리(Day 7일차) (0) | 2018.05.23 |
---|---|
mysql고급문법 (0) | 2018.05.15 |
5장 SQL의 기본 (0) | 2018.05.14 |
데이터분석 4장 핵심 (0) | 2018.05.12 |
4장 데이터 모델링 (0) | 2018.05.11 |