공부/Backend17 SQL 레벨업 - 6장 18강 기능적 관점으로 구분하는 결합의 종류 1. 크로스 결합 - 모든 결합의 모체 - 크로스 결합의 작동 SELECT *FROM Employees CROSS JOIN Departments; 2개의 테이블의 레코드에서 가능한 모든 조합을 구하는 연산 (사원 테이블 레코드) * (부서 테이블 레코드) 만큼의 레코드 결과 생성 - 크로스 결합이 실무에서 사용되지 않는 이유 1. 이러한 결과가 필요한 경우가 없다 2. 비용이 매우 많이 드는 연산이다 -결합 조건이 없으면 DBMS 는 어쩔 수 없이 두 개의 테이블에서 나올 수 있는 모든 조합을 만들어 버린다. 2. 내부 결합 - '데카르트 곱의 부분 집합' 이라는 의미 - 내부 결합의 작동 SELECT E.emp_id, E.emp_name, E.dept_id,.. 2023. 11. 12. SQL 레벨업 - 5장 14강 반복문 의존증 반복문 의존증 - 문제를 작게 나우어 레코드라는 단위에 이를 때까지 자르고 그러한 레코느에 반복문을 적용해서 문제를 해결하려는 태도 SQL 은 반복문이 없음. 내부적으로는 반복문 사용 하나의 레코드마다 작은 SQL을 사용해 접근함. 비즈니스 로직은 호스트 언어(절차형 언어)에서 반복 처리를 구현하는 것이 일반적임. 나머지는 c#이나 자바에서 구현하면 됨. 15강 반복계의 공포 1. 반복계의 단점 같은 기능을 구현한다고 가정하면, 반복계로 구현한 코드는 포장계로 구현한 코드에 성능적으로 이길 수가 없음. 처리하는 레코드 수가 적을 때는 반복계와 포장계에 큰 차이가 없음.하지만 처리하는 레코드 수가 많아지면 차이가 점점 벌어짐. 반복계의 처리기간= * - SQL 실행의 오버 헤드 SQL.. 2023. 10. 8. SQL 레벨업 - 4장 4장 집약과 자르기 12강 집약 집약함수(aggregate function) : 여러 개의 레코드를 한 개의 레코드로 집약하는 기능 ex) COUNT , SUM, AVG, MAX, MIN 1. 여러 개의 레코드를 한 개의 레코드로 집약 한 사람과 관련된 정보가 여러 개의 레코드에 분산되어 있는 테이블은, 한 사람의 정보에 접근할 때 'WHERE id = 'jim''과 같은 SELECT 구문을 사용할 때 당연히 3개의 레코드가 선택. 하지만 한 개의 레코드로 얻는 것이 편함 SELECT ID, DATA_1, DATA_2 FROM NonAggTbl WHERE ID = 'JIM' AND DATA_TYPE = 'A'; SELECT ID, DATA_3, DATA_4 FROM NonAggTbl WHERE ID = .. 2023. 9. 25. SQL 레벨업 - 3장 SQL의 조건 분기 8강 UNION을 사용한 쓸데없이 긴 표현 조건 분기 :where구만 조금씩 다른 여러 개의 SELECT 구문을 합쳐서, 복수의 조건에 일치하는 하나의 결과 집합을 얻고싶을 때 -> 여러 개의 SELECT 구문을 실행하는 실행 계획으로 해석되어 테이블에 접근 횟수가 많아져 I/O 비용이 늘어남 union 예제 - 2001년 이전과 2002년 이후를 구분해서 가격을 선택해야함 SELECT item, year,price_ex as price FROM ITEMS WHERE year = 2002; ->거의 같은 두 개의 쿼리를 두 번이나 실행하여 길고, 오래걸림 SELECT item,year, CASE WHEN year = 2002 THEN price_in END AS price FROM I.. 2023. 9. 19. SQL 레벨업 - 2주차 6강 select 구문 select : 검색을 위해 사용하는 SQL where 구 : 다양한 조건 지정이 가능 연산자 의미 = 와 같음 와 같지 않음 >= 이상 > 보다 큼 2023. 9. 16. 1주차-SQL 레벨업 1장 DBMS 아키텍처 버퍼매니저 : 특별한 용도로 사용하는 메모리 영역(버퍼) 관리 디스크 용량 매니저 : 데이터의 저장 위치와 방법을 관리하고 읽고 쓰기를 제어 트랜잭션 매니저와 락 매니저: 트랜잭션의 정합성을 유지하면서 실행시키고, 데이터에 락을 걸어 다른 요청을 대기 *트랜잭션: 데이터베이스에 접근하는 각각의 처리는 DBMS내부에의 단위 리커버리 매니저: 시스템 장애를 대비하여, 데이터를 정기적으로 백업, 문제 발생 시 복구하는 역할 수행 DBMS 와 기억장치 하드디스크 DBMS가 데이터를 저장하는 매체의 대부분이 하드디스크임 어떤 상황에서도 평균적인 수치를 가지는 매체 메모리 데이터베이스 내부 데이터를 모두 메모리에 올리는 것은 불가능 버퍼 성능 향상을 위해 데이터를 버퍼/캐시에 올림 자주 접근하는 .. 2023. 9. 9. 이전 1 2 3 다음