분류 전체보기 11

제 56회 SQLD 개발자 합격 후기 및 2과목 기억나는 문제

1트만에 SQLD 개발자 자격증에 합격하였다.필자는 복수전공으로 컴퓨터공학과를 졸업하여 현업자로 근무 중이다. 입사 전까지만 해도 DB를 만질 생각이 전혀 없었다.SW개발자에 지원하여 입사하고 보니 Data Team에.. 들어가게 되어 의도치 않게 Oracle DB를 매일 다루고 있다.(입사 1년차도 되지 않았지만...) SQLD 시험 직후 데이터전문가포럼(네이버 카페)를 들락거리며 문제 복기 및 가채점을 했는데문제와 선택한 정답 모두 기억나지 않는 문제가 3-4개 있어 대략 55-65점을 예상했다.그리고 다행히 68점으로 합격하였다. sqld 노랭이 문제집 1회독 및 인터넷으로 기본 개념 요약 정리를 보았고 cbt를 풀어보며 준비했다.실 공부 시간은 거의 30시간도 안되는 것 같다...하지만 전공자 ..

카테고리 없음 2025.04.14

[ORACLE] NUMBER(,)타입 사이즈 줄이기 오류 ORA-01440 해결 방법

ORA-01440: column to be modified must be empty to decrease precision or scale기존에 정의된 데이터 타입 사이즈보다 작은 크기의 사이즈로 ALTER MODIFY(변경)하려고 할 때 발생한다.원래부터 작은 크기의 사이즈로의 수정은 불가하다. (데이터가 모두 NULL인 경우에는 가능할 것으로 예상됨) 원인 아래와 같이 기존에 NUMBER(17,5)로 즉, 총 17자리이되 정수 12자리 소수 5자리로 구성된 NUMBER 타입의 변수를 NUMBER(15,5)로 총 자리 수를 줄일 때 에러가 발생한 것을 볼 수 있다. 해결 방법1. 수정하려던 사이즈로 새 컬럼을 추가(add)2. temp 컬럼에 기존의 값 넣기(update)3. 기존 컬럼 삭제(..

Oracle 2025.04.14

제 56회 SQLD 개발자 1과목 복원 (2025년도)

제 56회, 2025년도 1차 sqld개발자 복원스키마 종류가 아닌 것은?응용내부외부개념 스키마답: 응용스키마 - 1번좋은 데이터 모델링으로 틀린 것은?업무에서 사용되는 모든 데이터를 포함해야 한다.??업무 규칙이 모델링에 포함되지 않아도 된다.답: 업무 규칙이 모델링에 포함되지 않아도 된다. - 4번발생시점에 따른 엔터티가 아닌 것은?관계중심행위기본답: 관계 - 1번ERD를 보고 틀린 것은?고객과 상품은 기본엔터티이다?주문상품은 고객과 상품 테이블의 관계로 생성된 것이다?답: 주문상품은 고객과 상품 테이블의 관계로 생성된 것이다 - 3번다른 속성에 의해 도출될 수 있는 속성은?설계 관계 기본 파생답: 파생 -아래의 ㄱ,ㄴ,ㄷ,ㄹ 중 옳은 것은?ㄱ.주소는 시 군 구 등으로 나눠지므로 복합ㄴ.나이는 단순ㄷ..

카테고리 없음 2025.03.10

Eclipse/sts 아이콘 크기 키우기 (eclipse.ini 수정 말고 다른 방법)

해상도 문제로 발생하는 eclipse 아이콘 크기가 작아지는 현상을 해결하기 위한 방법을 소개한다. 가장 많이 알려져 있는 방법은 eclipse.ini 파일 수정 방법인데, 필자는 이 방법을 사용해도 아이콘 크기가 커지지 않았다.따라서 ini 파일 수정 외에 다른 방법을 소개하고자 한다. 우선, eclipse.ini를 수정하여 아이콘 크기를 키우는 방법을 먼저 해보고 안된다면 2번을 따라해보기를 권장한다.  1. eclipse.ini 파일 수정 방법eclipse.ini 파일의 마지막 줄에 다음의 3줄을 추가한다.eclipse.ini 파일은 eclipse.exe와 동일한 위치에 있다.-Dswt.enable.autoScale=true-Dswt.autoScale=200-Dswt.autoScale.method=..

Tips 2025.02.20

[SQL] WHERE절에 집계함수? GROUP BY 없이 HAVING절?

결론부터 말하자면, WHERE 절에 집계함수는 사용 불가능하고, GROUP BY절이 없어도 HAVING절은 사용 가능하다.  총 학생 수가 240보다 작은 경우에만 총 학생 수를 조회하는 쿼리를 짜려고 한다. ( 학생 수 총계: 238 )테이블명: 학생반학생수130230328435530630730825 보통 쿼리의 조건을 WHERE절로 걸기 때문에 아래와 같이 WHERE절을 이용해 짜는 실수를 범할 수 있다.SELECT SUM(학생수)FROM 학생WHERE SUM(학생수)  그러나 WHERE절에서는 집계함수를 사용할 수 없다. 이 때, HAVING 절을 이용하면 된다.많은 사람들이 GROUP BY와 함께 사용하고 있는 HAVING절은, 사실 GROUP BY절이 없어도 단독으로 사용 가능하다.따라서 집계함..

Oracle 2025.01.15

[ORACLE] sys 계정으로 접속하기(터미널cmd, SQLDeveloper)

터미널과 SQL Developer에서 Local의 sys계정으로 접속하는 방법을 담았다.sys계정은 만드는 것이 아니라 원래 존재하는 것으로, 바로 접속하면 된다.Terminal(cmd)터미널에서 sql을 시작한다.sqlplus유저명과 비밀번호를 입력하라고 뜬다. 유저명에는 sys as sysdba, 비밀번호에는 오라클을 처음 설치할 때 지정한 관리자 비밀번호를 입력한다.여기서 sys as sysdba는 sysdba인 sys유저라는 의미이다.오라클이 처음 설치될 때 만들어지는 sys계정은, dba(db 관리자)권한까지 부여된 시스템 계정이므로, sysdba 권한을 가진 sys유저라는 의미이다. 이렇게 Terminal로 sys계정에 접속했다.앞으로, 이 sys계정을 통해 다른 db유저를 만들 수 있다. S..

Oracle 2025.01.03

[PL/SQL] DBMS_OUTPUT.PUT_LINE 출력하기

이 전 글에서 프로시저 실행(호출) 방법을 알아보았다.이번에는 프로시저 내에 작성되어 있는 DBMS_OUTPUT.PUT_LINE를 출력하는 방법에 대해 기록한다. DBMS_OUTPUT.PUT_LINE()을 출력하기 위해서는 SERVEROUTOUT을 켜고 DBMS 출력 창을 열어야 한다. ① SERVEROUTPUT 켜기 SET SERVEROUTPUT ON; 이 코드를 프로시저 실행을 위해 작성한 익명 블록의 위에 작성하여 실행하면 된다.한번만 실행해두면 한 세션(Session) 내에서는 계속 동작한다. ② DBMS 출력 창 열기이 DBMS 출력 창에 DBMS_OUTPUT.PUT_LINE()의 내용이 출력될 것이다. [보기] → [DBMS 출력] [+]를 누르고 [접속 선택] 창이 뜨면, 워크시트를 켜..

PLSQL 2024.12.23

[PL/SQL] 익명 블록을 이용한Package의 Procedure 실행 방법

외부에서 접근할 수 있는 패키지 내의 프로시저는, Spec에 선언된 프로시저뿐이다.Body에 선언된 프로시저라 하여도, Spec에 선언된 것이 아니라면 직접 호출할 수 없다. (주로 Spec에 선언된 프로시저의 내부에서 Body의 프로시저를 호출하는 형태인 듯하다.) SQL워크시트에서 패키지 내부에 있는 프로시저를 호출하기 위해 익명 블록(BEGIN,END)을 작성한다.BEGIN 패키지명.프로시저명(값1, 값2);END; 프로시저의 IN 매개변수는 그냥 값을 넣어주면 되는데, OUT 매개변수는 값으로 전달하면 “00식은 피할당자로 사용될 수 없습니다” 라는 오류를 띄운다. 이럴 때엔 DECLARE문에 OUT 매개변수와 동일한 타입의 변수를 선언하고, 빈 변수를 전달하여 실행시키면 된다. 만약, 값2가 들..

PLSQL 2024.12.18

[PL/SQL] 프로시저/트리거/함수 등에서 특정 내용 포함 위치 검색 쿼리

PROCEDURE/TRIGGER/FUNCTION 등에서 원하는 내용을 포함한  위치를 찾는 방법 필자는 아래와 같은 코드로 어떤 타입의 무슨 이름의 몇번째 라인에 특정 내용이 작성되어 있는지 확인한다. SELECT TYPE, NAME, LINE, TEXT FROM USER_SOURCE WHERE UPPER(TEXT) LIKE '%내용%';USER_SOURCE: 오라클에서 제공해주는 VIEW로 프로시저/트리거/함수 등의 소스 정보를 담고 있으며, 대소문자를 구분하여 검색한다.TYPE: 프로시저/함수/트리거 등의 타입NAME: 프로시저/함수/트리거의 이름LINE: 검색할 내용이 포함된 라인 위치TEXT: 검색할 내용이 포함된 텍스트대소문자를 구분하므로, UPPER(TEXT) 로 검색할 텍스트를 대문자로 모두..

PLSQL 2024.12.17

[AutoHotkey] macOS Command키 단축키를 Windows에서 사용하기

맥북의 Command키 위치인 Windows의 alt키를 이용하여 mac Cmd와 동일한 기능을 하도록 설정했다. 새로운 기능을 추가할 때마다 업데이트할 예정이다. AutoHotkey 프로그램을 이용하여 설정한다.AutoHotkey 프로그램의 설치 및 사용 방법 글을 참고하여 환경설정 및 과정 코드 적용 방법을 확인하며 진행하길 바란다. 필자가 맥 이용 시 자주 사용하는 Cmd 단축키만을 맵핑하였으므로 모든 Cmd키 관련 기능을 맵핑하지는 않았다.1. Command + ←/→Cmd와 좌우측 화살표 단축키Home/End키 기능alt + ←/→ 로 동작하게 한다.!Left::Send, {Home}!Right::Send, {End} 2. Command + Shift + ←/→Cmd, Shift와 좌/우측화살표..

Tips 2024.12.09