본문 바로가기

DB8

데이터베이스 개론 & SQL - 마지막 trigger 데이터베이스에서 이벤트(insert, delete, update 가 발생했을 때 )가 발생했을 때 자동적으로 실행되는 프로시저 위의 트리거는 닉네임을 바꾸면 실행되는 트리거이다. 트리거의 정의는 아래와 같다. create trigger 트리거명 before / after on 테이블명 조건 begin // 트리거 내용 end before 와 after 로 해당 이벤트의 전이나 후에 실행해줄지 설정해줄 수 있다. 조건에 속하는 부분에는 for each row 가 예시에 적혀있는데 이는 모든 row에 적용한다는 의미이다. 이는 성능상 문제가 생길 여지가 있는데, 각각의 행에 적용하라는 의미는 트리거가 실행됐을 때 where 절에 조건이 들어가게 된다면, 그 조건에 맞는 행들에게 모두 트리거가 .. 2024. 2. 14.
데이터베이스 개론 & SQL - 8 stored procedure 자주 사용되는 쿼리문을 저장해두고 필요할 때마다 호출해서 사용하기 위해 제공하는 기능 중 하나이다. 여러 쿼리문을 한번에 처리할 때 주로 사용하게 되는 쿼리문들의 집합이라 생각하면 쉬운데, 이렇게 사용함으로써 쿼리문의 재사용도 가능하고 저장 프로시저를 실행하게 되면서 발생하는 최적화와 컴파일 단계가 캐싱되어 여러 번 재사용될 때 실행 속도도 빨라지게 되는 이점이 있어서 사용된다고 한다. 즉 일회용 쿼리가 아닌 이상 일반 쿼리를 반복해서 실행하는 것보단 저장 프로시저를 반복해서 실행하는 게 빠를 수 있다는 의미다. (이론상) 3 tier architecture 모델 클라이언트-서버 아키텍처의 한 종류로써 전 게시글에서도 한번 언급한 적이 있다. 크게 Presentation t.. 2024. 2. 13.
데이터베이스 개론 & SQL - 6 쉬운코드님의 데이터베이스 개론 & SQL 강의가 어느덧 중반부를 넘어갔다. 목소리가 또랑또랑 하셔서 그런가 귀에 쏙쏙 박히는 것 같다. 고급 강의는 따로 없어서 넘 아쉬웠다... 다른 강의도 내주세요. 유튜브를 따로 하시는 것 같아서 언능 구독했다. https://www.youtube.com/channel/UCReNwSTQ1RqDZDnG9Qz_gyg 쉬운코드 8년차 백엔드 개발자가 배워서 남주려고 만든 채널이에요 알기 쉽게 설명합니다 함께 성장했으면 좋겠어요 :) #컴공맛집 #백엔드전문채널 www.youtube.com 다만 근래는 영상이 없는 것 같아서 아쉽다. 시간 날 때 CS 관련 영상도 확인해볼 예정이다. order by 조회 결과를 특정 attribute 기준으로 정렬하여 조회할 때 사용 defa.. 2024. 2. 6.
데이터베이스 개론 & SQL - 5 SQL에서의 Null 의 의미 unknown: 알 수 없는 경우 unavailable: 이용할 수 없는 경우 not applicable: 해당 사항이 없음, 사용 불가 예를 들자면 birth_date 정보가 null 이면? 생일이 없을리는 없을테니, 생일 정보를 공개하지 않거나 아직 입력하지 않은 경우일 것이다. 그렇다면 birth_date가 null 인 A, B 가 있다면 둘은 생일이 같은 것인가? 당연히 알 수 없다. 같거나 다를 것이다. 그저 입력을 안했거나 생일을 공개하지 않았을 경우가 크다. 그럼 SQL 에서 null 을 비교연산자를 사용한다면? 정확한 결과가 도출되지 않을 것이다. select id from employee where bitrh_date = NULL; (X) select id .. 2024. 2. 5.