본문 바로가기

공부/SQL 활용

(11)
7월 31일 - SQL 활용 10 : CSV 변환 CSV 변환 -> 외부에서 나오는 자료를 데이터베이스에 저장하는 법 CSV 변환작업 해보기 -> post.csv 파일 가져와서 zipcode테이블에 저장하기 1. 우편테이블 생성 - post.csv파일을 참조로 하여 테이블 작성한다. - zipcode는 정해져있는 고정수이고 데이터타입을 num으로 줘도 되지만, 후의 자료 관리 및 편집 시 char형으로 주는 것이 관리하기에 더 수월하기에 char형으로 데이터타입을 설정해준다. create table zipcode( zipcode char(7) not null --우편번호(A열) --데이터타입 char로 줘야 후에 자료 관리할 때 편함. ,sido varchar(30) not null --시, 도(B열) ,gugun varchar(50) --구, 군(C열..
7월29일 - SQL활용 9 : rownum ROWNUM 1. rownum : 행번호매기는 것 rowid : 행의 주소값 2. 테스트해보기 1) 줄번호 select rowid, rownum, hakno, uname from tb_student order by hakno; 2) 행번호 1~3사이 조회 select rownum, hakno, uname from tb_student where rownum>=1 and rownum 모조칼럼으로 쓰는 rownum을 실제칼럼으로 인식시킨 후, 다른 명령어와 병행해서 사용한다. (셀프 조인 후 사용) 문제) 학번별 수강신청 총학점을 구하고 총학점순으로 정렬 후 위에서부터 3건만 조회 (학번, 이름, 총학점) - 내 풀이 select rownum rnum, AA.hakno, AA.uname, AA.sumhak f..
7월30일 - SQL 활용 8 : 트랜잭션 트랜잭션 Transaction 1. 트랜잭션? - 동시에 다수의 작업을 독립적으로 안전하게 처리하기 위한 상호 작용 단위 - 일 처리 단위 - 분할할 수 없는 최소단위 - 목적 : 안전한 거래 보장 2. TCL 명령어 (Transaction Control Language) - commit : 거래 내역을 확정함 - rollback : 거래 내역을 취소함 - checkpoint : rollback할 위치를 지정함 3. 트랜잭션 특징 특성 내용 비고 원자성 (Atomicity) 트랜잭션 안에 정의된 연산은 모두 실행되거나 모두 실행되지 않아야 함. All or Nothing 일관성 (Consistency) 트랜잭션 실행 전과 후 동일하게 오류가 없어야 함. 무결성 고립성 (Isolation) 트랜잭션 실행 ..
7월29일 - SQL활용 7 : JOIN의 종류 JOIN의 종류 조인 유형 내용 내부조인 INNER JOIN 두 테이블에 공통으로 존재하는 칼럼을 이용하는 방식 (공통 컬럼 기반) 동등 조인 EQUI JOIN 공통 존재 칼럼의 값이 같은 경우를 추출 자연 조인 NATURAL JOIN 두 테이블의 모든 컬럼을 비교하여 같은 컬럼명을 가진 모든 컬럼 값이 같은 경우를 추출 교차 조인 CROSS JOIN 조인 조건이 없는 모든 데이터의 조합을 추출 외부 조인 OUTER JOIN 특정 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출 왼쪽 외부 조인 LEFT OUTER JOIN 왼쪽 테이블의 모든 데이터와 오른쪽 테이블의 동일 데이터를 추출 오른쪽 외부 조인 RIGHT OUTER JOIN 오른쪽 테이블의 모든 데이터와 왼쪽 테이블의 동일 데이터를 추..
7월26일 - SQL활용 6 : 학사관리프로그램 학사관리프로그램 1. 키워드 : 학생 교과목 수강신청 2. 기본 설계 과정 - 엑셀로 학사관리프로그램 테이블시나리오 작성 - 학생테이블 --- 수강 --- 과목테이블 1 n n 1 n m 두 테이블을 이어주는 교차테이블인 수강테이블을 만들어주어서 연결시켜줘야한다. 교차테이블이 없으면 테이블 설계가 복잡해진다. - 회원테이블 --- 예매 --- 영화테이블 - 회원테이블 --- 구매 --- 상품테이블 - 회원테이블 --- 구매 --- 도서테이블 3. 테이블 시나리오 - 과목테이블의 과목이름은 pk로 줄 수 없다. 과목도 세분화되어질 수도 있기 때문. 또한 한글로 표기되어있으면 문제소지가 있을 수 있음. 4. 모델링 하기 1:1관계 예) 직원과 부서, 학교와 학생, 시립 1) 학생테이블 - 테이블생성 crea..
7월25일 - SQL 활용 5 : JOIN JOIN 1. JOIN? - 두개이상의 테이블을 결합하여 데이터를 추출하는 기법 - 두테이블의 공통값을 이용하여 컬럼을 조합하는 수단 2. 테이블 조인 1) select T1.*, T2.* from T1 join T2 on T1.x=T2.x 2) select T1.*, T2.*, T3.* from T1 join T2 on T1.x=T2.x join T3 on T1.y=T3.y; 3) select T1.x, T2.y, T3.z, T4.* from T1 join T2 on T1.x=T2.x join T3 on T1.y=T3.y join T4 on T1.z=T4.z; 전날 만들었던, 부서테이블과 직원테이블에 조인을 접목해 실행시켜보려 한다. 문제) 아래의 조건과 같이 커미션을 구하시오 사원: 급여*0.03 /..
7월24일 - SQL활용 4 : View & Index VIEW & INDEX Index(색인) - 데이터를 빠르게 찾을 수 있는 수단 - 테이블에 대한 조회 속도를 높여 주는 자료구조 - PK칼럼은 자동으로 인덱스 생성된다 인덱스생성 create index 인덱스이름 인덱스삭제 drop index 인덱스이름 인덱스수정 alter index 인덱스이름 [인덱스 방식] - full scan 처음부터 끝까지 일일이 검사하는 방법. 전수조사 - index range scan 이름이 여러개인 경우 목차를 찾아서 페이지를 찾아감. 훨씬 빠름. 별도의 메모리가 있어야 함. - index unique scan 학번은 1개만 존재함. 유일한 값 인덱스 연습하기 1. c_emp 테이블 생성하기 drop table c_emp; create table c_emp( id numb..
7월22일 - SQL활용 3 : 함수 SQL 함수 1. 오라클 함수 1) ASCII 문자 변환 select chr(65) from dual; //A select chr(97) from dual; //a 2) || 결합연산자 A || B -> A와 B를 연결시킴 select ename || '의 직급은 ' || job || '입니다' from emp; 3) concat(칼럼명, '문자열') -> 칼럼에 해당하는 문자열을 붙임 select concat('로미오와 ','줄리엣') from dual; select concat(ename, '의 직급은 '), job from emp; select concat(concat(ename, '의 직급은 '), job) from emp; 4) sysdate -> 시스템의 현재 날짜/시간을 리턴하는 함수 sel..