본문 바로가기

분류 전체보기

[MySQL_MariaDB] 트리거 * 트리거(방아쇠) > 트리거는 사전적 의미로 방아쇠를 뜻한다. 방아쇠를 당기면 총알이 나가듯 테이블에 무슨일이 발생하면 자동으로 실행된다. > 테이블에서 insert나 update 또는 delete 작업이 발생되면 실행되는 코드 > 누군가 고의 혹은 실수로 테이블을 삭제한다면 누가 지웠는지 추적하는 일이 쉽지 않다. 이럴 때 트리거를 걸어놓는다면 이러한 문제를 해결할 수 있다. > 만약에 회원 중 당탕이가 회원탈퇴를 했다. 그런데 나중에 회원 탈퇴한 사람이 누구누구인지 알 방법은 없을까? - 데이터를 삭제하기 전에 다른 곳에 저장하면된다. 깜빡 잊을 수도 있다. > 위와 같은 경우에 삭제되기 전에 미리 다른 곳에 저장해주는 기능이 있다면 실수가 없을 것이다. 이것이 트리거의 대표적인 사용용도다. > 다.. 더보기
[MySQL_MariaDB] 스토어드프로시저_변수_if_case_while_에러처리_동적쿼리 * 스토어드 프로시저 > SQL을 하나로 묶어 편리하게 사용하는 기능. SQL을 묶는 기능 외에도 프로그래밍 언어와 같은 기능을 담당할 수도 있다. > 쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용된다. > DB서버로 긴 쿼리의 텍스트 문장을 전송하는 것이 아닌, 프로시저의 이름 및 매개변수 등 몇 글자의 텍스트만 전송하면 되므로 네트워크의 부하를 줄일 수 있다.(결과적으로 MySQL의 성능향상). 다른 DBMS에서는 스토어드 프로시저가 처음 호출 시 1회만 컴파일되고 메모리에 적재되어 사용하나, MySQL 프로시저는 호출할 때마다 컴파일됨. > 사용자테이블에 접근하려면 당연히 userTBL에 접근해야하지만, 테이블 정보없이 프로시저를 보내면 보안에 강할 수 있다. 매번 회원 테이블 당.. 더보기
[MySQL_MariaDB] 뷰 정리 * 뷰 1) 가상테이블. 실체는 없으며, 진짜 테이블에 링크된 개념 * 뷰를 사용하는 이유 1) 보안 회원의 주소를 대량으로 변경해주는 작업이 필요하다고 가정해보자. 아르바이트생에게 회원의 다른 정보는 그대로 두고, 주소만 변경하는 일을 시키려한다. 그런데 이 아르바이트 생에게 회원테이블을 사용할 권한을 준다면 회원의 주소외에 주민번호, 전화번호 등 중요 정보를 열람하게 된다. > 이 때 테이블을 하나 더 생성하여 데이터를 다시 입력해도 되지만, 중복의 문제가 발생한다. > 이럴때 뷰를 사용한다. 아이디와 주소만 있는 뷰를 줘서 다른 정보를 보지 못하게 한다. 2) 복잡한 쿼리를 단순화 시켜 줄 수 있다. 뷰의 실체는 select문이다. 뷰에 접근하게 되면 뷰생성시에 입력한 select문이 작동한다. 복.. 더보기
[MySQL_MariaDB] 스키마_인덱스 정리 * 스키마 : 데이터베이스와 동일한 용어로 사용된다. 다른 DBMS에서는 스키마와 데이터베이스가 동일한 용어는 아님. Full Table Scan > 인덱스를 사용하지 않고 테이블 전체를 검색했고 비용은 103개가 들었다. 500만 건이라면 과부하가 걸렸을 것이다. 1. 인덱스 이름 idx_indexTBL_firstname은 indexTBL 테이블의 first_name 열에 인덱스를 생성. 2. Non-Unique Key Lookup : 인덱스를 사용했다는 의미. 인덱스명은 하단에 명시됨. > 이렇게 인덱스를 생성하면 데이터의 양에 따라 몇 십 배 이상 빠를 수 있다. 삭제는 drop index idx_indexTBL_firstname > drop 개체종류 개체이름 신문기사 테이블(아래표)을 생성하고, .. 더보기
MariaDB_Windows설치 및 셋팅 라이선스 동의 > next 기본경로 확인 next Root 계정의 비밀번호 입력 1. Enable access from ~ 체크해제 : 다른 컴퓨터(remote marchines)에서 root 계정으로 접속을 허용하지 않는다. 2. Use UTF8 as default servers ~ : 데이터베이스의 기본 캐릭터셋을 UTF8로 지정한다. Next 1. Install as service : 서비스명을 설정하는 부분 MariaDB 2. Enable networking : 포트 사용값 Next 사용자 정보를 제조사로 전송할지 여부, 체크하지 않고 걍 넘어감 next 정보셋팅 완료 > Install finish Mariadb 접속 혹시라도 루트 패스워드가 안박혀 있다면 셋팅 데이터베이스 생성. 데이터베이스 조.. 더보기
098.WEB_JSP뷰와form태그_지역화메시지 지역화 메시지 더보기
097.WEB_모델의일생_이론 더보기
096.WEB_Validator_BindingResult_Errors_Locale Supports : 검증기가 검증할 수 있는 오브젝트 타입인지 확인해주는 메소드. 이 메소드를 통과한 경우에만 validate()가 호출된다. 1. Com.springsource.javax.activation : Spring java-mail 2. Com.springsource.javax.inject-1.0.0 : 프로토타입 프로퍼티 에디터를 위한 jar. @Inject, Provider인터페이스 지원 3. Com.springsource.javax.mail : Spring java-mail 4. Com.springsource.javax.servlet.jsp.jstl : JstlView 5. Com.springsource.javax.validation : 스프링 바인딩 밸리데이션 6. Com.springs.. 더보기