오늘은 알아도 알아도 항상 까먹고 헷갈리는, 정규형을 잡고 가려한다.제1정규형, 제2정규형, 제3정규형 그게 뭔데? 하고 매번 암기 후에 날려보낸다.이번에는 글을 예시와 함께 작성하여, 그래도 조금이라도 오래 기억에 남게 저장해보려한다.제 1 정규형모든 필드가 원자값(더 이상 나눌 수 없는 값)을 가져야 한다.각 필드는 한 가지 값만 가져야 한다.반례학생 테이블:+-------+--------+----------------------+| 학생ID (PK) | 이름 | 전화번호 |+-------+--------+----------------------+| 1 | 홍길동 | 010-1234-5678, 010-9876-5432 || 2 | 이몽룡 | 010-2345-6789 |+-------+--------+..
데이터 관점 (Data, What)업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해서 모델링하는 방법프로세스 관점 (Process, How)업무가 실제 무엇을 하고 있고, 무엇을 해야하는 지를 모델링 하는 방법상관 관점 (Data - Process Interaction)업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링 정리하면, 업무와 데이터간 관계 또는 데이터간 관계 자체를 모델링 한 것이 데이터 관점, 실제 하는 일을 모델링 하는 게 프로세스, 그리고 업무 실제 실행 시 데이터 영향도 분석이 상관 관점이다. 내가 해당 내용을 이렇게 구질구질 적는 이유는 지난 2024년 5월 25일에 본 53회 SQLD 문제 1번에서 설명과 무엇이 맞는 관점인 지 ..
테이블의 칼럼 위치를 수정해야 하는 업무가 있었다. 하지만 다 날리고 다시 박아넣는 것 말고 다른 방법이 있지 않을까 하는 생각이 들었다. 칼럼을 날리고 다시 넣으면 백업될때 컬럼명과 사이즈만 복제되고 테이블의 PK, INDEX나 COMMENT 등은 백업되지 않지만 INVISIBLE-VISIBLE을 사용하면 쉽게 칼럼간 순서를 변경할 수 있다. 예를 들어 TB 테이블에서 A B C D E 순으로 되어있는 칼럼을 A B E C D로 변경하려 한다고 하자. -- 뒤로 옮길 컬럼을 순서대로 INVISIBLE 한다. ALTER TABLE TB MODIFY (C INVISIBLE); ALTER TABLE TB MODIFY (D INVISIBLE); -- 뒤로 옮길 컬럼을 순서대로 VISIBLE 한다. ALTER ..
내가 해야할 일은 USER_SOL 테이블에서 현재로부터 '335일' 지난 계정을 찾는 것이었다. 이를 테면, VARCHAR2(14)인 칼럼 DT_LAST가 있다고 하자. 특정 데이터의 DT_LAST의 값은 아래와 같다. 이 중 오늘로부터 335일 전의 데이터들만 추출하고 싶을 때, VARCHAR과 현재 날짜를 비교해야하는 것이다. SELECT * FROM USER_SOL WHERE 1=1 AND TO_DATE(TO_CHAR(SYSDATE, 'YYYYMMDD'), 'YYYYMMDD') - TO_DATE(SUBSTR(DT_LAST, 0, 8), 'YYYYMMDD') = 335 위와 같이 SYSDATE를 TO_CHAR을 이용해서 YYYYMMDD꼴로 변환..
1. 설치 링크 접속 https://dev.mysql.com/downloads/mysql/ 2. Go to Download Page 선택 3. Downlad 4. 오라클 로그인 후 다운로드 페이지 열림 5. 다운로드 한 Installer 실행 )) 6. 모두 Next하면 Install 할 항목 뜨고, Execute하면 설치실행 됨 7. 설치 완료 되면 Next  8. 보통 3306포트가 default 이지만 이미 사용중이어서 3307로 바꿈 9. 사용할 비밀번호 입력 ![Image](ht..