SQL 7

[커널아카데미] 백엔드 12기 7주차 - 나만의 방식으로 정리, 이해못해도 정리

Intro이번 주는 SQL과 튜닝, 모델링의 연속으로 실습, 정리만 반복했다. 그래서 자바 복습에는 소홀히 했다. 그래도 실시간 진도를 따라가서 수업 듣는 것이 이해가 잘 되었다. 이번 주 공부하면서 느낀 것과 정리한 내용들이다. # 사용 상황을 잘 아는 것이 중요SQL을 배우면서 느낀 점은 사용 상황을 명확히 아는 것이다. 무엇을 잘 사용한다라는 것은 상황에 맞게 자원을 효율적으로 사용할 수 있는 방법을 택하는 것이다. 강사님이 언제 뭘 써야하는지 정리해주신걸 암기하니 문제 풀이할 때나 궁금증이 생길 때 응용이 잘 된다. 예를 들면 '인덱스 사용할 수 없는 상황', 'Outer Join은 '담당 직원이 배정되지 않은 고객', 고객이 배정 안된 노는 직원' 볼때, 없는 걸 결과에 볼때 씀' 과 같다. ..

회고 2025.05.11

[Database] Ch11.DDL 데이터 정의어

DDL저장 구조에 대한 명령어DB 구조 명령어DROP테이블 삭제자동 commit 되어 롤백 불가.인덱스까지 삭제됨표현 drop table 테이블명 [cascade constraints] ;cascade constraints 옵션삭제하고자 하는 테이블(A)을 참조하는 다른 테이블(B)의 제약조건을 삭제함A의 PK가 B의 FK로 존재cascade 옵션 있을 때, 자식 테이블에 데이터 삽입 시 부모 테이블의 PK 컬럼이 가진 데이터가 아니어도 삽입 가능A (부모) 테이블이 삭제 되었기 때문.데이터 유무와 무관하게, FK 제약조건 자체가 DROP을 막는다. 제약조건이 있을 때, 자식 테이블에 데이터가 없어도 부모 테이블 삭제 불가.제약조건이 메타 데이터로 존재함.ALTER - 4테이블에 컬럼 추가표현 alter..

Database 2025.05.11

[Database] Ch09. Transaction Control

트랜잭션 TransactionSQL을 여러개 묶어 놓은 것함께 수행되어야 하는 논리적인 업무의 작업 단위ex. 계좌 이체 ( 출금 sql, 입금 sql 로 구성)특징all or nothing트랜잭션 내의 모든 sql문이 성공해야 commit이 되고 그렇지 않으면 트랜잭션의 맨처음 sql 문으로 이동트랜잭션에 많은 sql문이 있는 경우 (작업 단위가 큰 경우) saverpoint를 두고, savepoint 까지만 rollboack(취소)할 수 있음.라이프 사이클 과정트랜잭션 시작DDL, DCL 문이 실행되면 begin transaction 없이도 암묵적으로 트랜잭션 시작트랜잭션 종료 commit, rollbackcommit, rollback 호출해야 트랜잭션이 종료. 리소스 해제됨.DDL, DML 차이 :..

Database 2025.05.06

[Database] Ch2.테이블 생성 및 데이터 조작(DML) Ch3.데이터검색 Ch4. Stored Function

데이터 타입VARCHAR 가변 문자열 cf.VARCHAR2 는 안씀CHAR 고정 문자열. 1~ 2자리NUMBER 부동 소수점 38자리까지 NUMBER(p,s)전체 자리수 (점 미포함) p 자리실수부 개수 s정수부 최대 자릿수 = p – s전체 7자리, 정수는 7 - 2 = 5자리까지만 가능. 2는 소수자리 개수. 정수만 7자리 전체 쓸 수 없음.ex. NUMBER(7,2)음수 저장 가능DATE 날짜.시간 : 연속적, 정수DB 저장 시 정수형태로 저장됨. 사람이 읽을 떄만 쪼개서 사용함.LONG 큰 TextRAW LONGRAW 큰 Binary SQL 명령어 종류Data Retrieve 데이터 검색 조회SELECT ReadDML은 Write만 가능한 것Data Manipulation Language DDL ..

Database 2025.05.04

[Database] Ch06.JOIN - 문제 풀이

현재 SELF JOIN까지 풀었습니다. 틀린 답이 있을 수도 있습니다.tabase[Database] Ch05.SubGroup으로 데이터 분류 - 문제 풀이6.4 EQUIJOIN 예 - 예제 91. 직원(S_EMP) 테이블과 부서(S_DEPT)테이블을 JOIN하여, 사원의 이름과 부서, 부서명을 나타내시오.select e.name, e.dept_id, d.namefrom s_emp e, s_dept d where e.dept_id = d.id; 6.5 칼럼과 테이블의 ALIAS사용 - 예제 101. 서울 지역에 근무하는 사원에 대해 각 사원의 이름과 근무하는 부서명을 나타내시오. select distinct e.name, d.name from s_dept d, s_region r, s_emp ewhere..

Database 2025.04.30

[Database] Ch05.SubGroup으로 데이터 분류 - 문제 풀이

Intro직접 풀어봤으며, oracle sql developer 의 질의 결과와 직접 스프레드 시트에 값을 샘플링하여 비교했습니다. SQL 정석 문제입니다. 5.2 Group By절 - 예제 51. 각 부서(dept_id)별 평균 급여를 계산해서 보여주시오. select dept_id, avg(salary)from s_empgroup by dept_id;--order by dept_id;2. 각 부서(dept_id)별로 직책이 사원인 직원들의 평균 급여를 계산해서 보여주시오. select dept_id as "부서", avg(salary) as "평균 급여"from s_empwhere title = '사원'group by dept_id; 5.3 select 절에서의 group함수의 잘못된 사용1. 각 지..

Database 2025.04.30

[커널아카데미] 백엔드 12기 6주차 - SQL과 객체지향 엮어보기, SQL은 상상력이 필요함, 간절함이란?

Intro 1주일 중 기억에 남는 회고의 일부를 가져왔다. 0428 월 - 안다고 착각하지 말기자바 모듈 테스트에서 객체지향 개념까지는 제대로 알고있겠지 했지만, 1시간이 촉박했고 제대로 쓰지 못한 것이 있었다. 반복해야겠다 또 생각들었던 하루였다. 연산자 우선순위 ,규칙있는 반복문(1~9,/ 1~3) ,별찍기, 실수형 비교, 반올림( + 0.5 ) , 배열 퀴즈 패턴 풀기생성자 조건 - 모든클래스에 1개 이상의 생성자가 있어야함. ( 매개변수 타입 또는 개수는 오버로딩), 반환 타입 없음. (반환타입에 영향이 없음.) → 오버라이딩 조건이랑 헷갈림객체 지향 특징 3가지 - 기존 프로그래밍언어에 규칙 추가 / 코드 재사용 높음 / 변경 유리. 0429 화 - SQL 과 객체지향 엮어보기 == 감동오늘은..

회고 2025.04.29