데이터베이스 12

[데이터베이스] 12장 - stored procedure를 백엔드 실무에서 쓰기에 조심스러운 이유!

✅ 3-tier architecture 에서 stored procedure의 의미 : 오늘날의 IT회사들은 일반적으로 client-server architecture 의 한 종류인 three-tier architecture 모델로 서비스를 개발한다. 그럼, 비즈니스 로직이란 무엇일까? 당근마켓을 예로 들어보자. 이런 비즈니스 로직들을 통해 파생되는 데이터들이 있을 텐데, 그러한 데이터들이 데이터 티어에 저장된다. 10장에서 Stored Procedure 는 RDBMS에 저장되고 사용된다고 했는데, 주된 사용 목적은 비즈니스 로직 구현이라고 했다. 즉, stored procedure을 사용한다는 것은 data tier에 비즈니스 로직이 존재할 수 있다는 의미이다! 즉, 비즈니스 로직이 Logice 티어에도..

[데이터베이스] 11장 - stored procedure + 프로시저의 동작 방식과 특징, stored function과의 차이

✅ stored procedure 의 뜻과 예제 : 사용자가 정의한 프로시저 : RDBMS에 저장되고 사용되는 프로시저 : 구체적인 하나의 task(태스크)를 수행한다. stored procedure를 만들 때도, delimiter 라는 키워드를 사용한다. delimiter 는 구분자를 의미하는데, 기본적으로 SQL 에서 사용되는 delimiter는 (;)세미콜론이다. 하지만, stored program의 정의를 서버로 보내기 위해서는 delimiter를 일시적으로 재정의 해주어야만 한다. 이 때, 주의해야 할 점은 DELIMITER를 재정의하고 stored program을 정의한 후에 delimiter를 기존의 세미콜론(;)으로 바꿔주는 것이 좋다. (계속해서 DELIMITER를 사용자가 재정의한 것으..

[데이터베이스] 10장 - SQL 에서 stored function 이란? + 언제 사용하면 좋을지에 대해

✅ stored function 의 뜻과 예제 : 사용자가 정의한 함수 : DBMS에 저장되고 사용되는 함수 : SQL의 select, insert, update, delete statement에서 사용할 수 있다. stored function을 만들 때, delimiter 라는 키워드를 사용한다. delimiter 는 구분자를 의미하는데, 기본적으로 SQL 에서 사용되는 delimiter는 (;)세미콜론이다. 하지만, stored program의 정의를 서버로 보내기 위해서는 delimiter를 일시적으로 재정의 해주어야만 한다. 이 때, 주의해야 할 점은 DELIMITER를 재정의하고 stored program을 정의한 후에 delimiter를 기존의 세미콜론(;)으로 바꿔주는 것이 좋다. (계속해서..

[데이터베이스] 9장 - SQL 로 데이터 조회하기! Group by, Aggregation function, Order by

✅ Order by : 조회 결과를 특정 attribute 기준으로 정렬하여 가져오고 싶을 때 사용한다. : default 정렬 방식은 오름차순이다. : 오름차순 정렬은 ASC 로 표기하고, 내림차순 정렬은 DESC 로 표기한다. 바로 예를 살펴보자. statement 는 아래와 같다. - 임직원들의 정보를 연봉 순서대로 정렬해서 알고 싶다. 임직원의 정보를 "연봉" 순서대로 알고 싶으므로, salary 속성을 오름차순으로 정렬해주면 된다. SELECT * FROM EMPLOYEE ORDER BY salary; 기본 정렬 방식은 ASC 으로 오름차순을 따른다. 그럼, 내림차순으로 정렬하고 싶을 떄는 어떻게 해야 할까? DESC 키워드를 써주면 된다. SELECT * FROM EMPLOYEE ORDER B..

[데이터베이스] 8장 - SQL 로 데이터 조회하기! JOIN

✅ JOIN : SQL 에서 JOIN 이란 두 개 이상의 table 들에 있는 데이터를 한 번에 조회하는 것 입니다. : 여러 종류의 JOIN 이 존재합니다. ✅ Implicit JOIN vs Explicit JOIN 먼저, implicit join 과 explicit join 에 대해 알아봅시다. 아래와 같은 statement가 있을 때, 쿼리는 아래와 같습니다. id 가 1 인 임직원이 속한 부서 이름은? SELECT D.name FROM EMPLOYEE AS E, DEPARTMENT AS D WHERE E.id = 1 AND E.dept_id = D.id; SELECT 문에 대한 포스팅에서도 JOIN 이 동작하는 것을 다뤘는데요, 이렇게 WHERE 절에 join_condition이 같이 있는 것을 ..

반응형