DB

· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 35일차 데이터 모델링 데이터 모델링이란 정보시스템 구축의 대상이 되는 업무 내용을 분석하여 이해하고 약속된 표기법에 의해 표현하는걸 의미한다. 그리고 이렇게 분석된 모델을 가지고 실제 데이터베이스를 생성하여 개발 및 데이터 관리에 사용된다. 특히 데이터를 추상화한 데이터 모델은 데이터베이스의 골격을 이해하고 그 이해를 바탕으로 SQL문장을 기능과 성능적인 측면에서 효율적으로 작성할 수 있기 때문에 데이터 모델링은 데이터베이스 설계의 핵심 과정이기도 하다. 데이터 모델링 순서 절차 1. 업무 파악 (요구사항 수집 및 분석) 업무 파악은 어떠한 업무를 시작하기 전에 해당하는 업무에 대해서 파악하는 단계이다. 2. 개념적 데이터 모델링 개념적 데이터 모델링은 내가 하고자 ..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 34일차 INDEX index (색인)는 예를 들어 설명하면 두꺼운 책 뒤에 나오는 '찾아보기' 와 같은 기능을 하는 것이다. '찾아보기' 의 특징은 정렬되어 있는 것인데 index에 저장된 데이터도 정렬되어 저장되어 있다는 것이 특징이다. index는 where 절이 있는 select 명령문의 속도를 향상 시키기 위하여 사용한다. INDEX 생성 1. where 절에서 자주 사용되어진 컬럼에 만들어야 한다. 2. 선택도 (Selectivity)가 높은 컬럼에 만들어야 한다. ※ 선택도란 - 선택도가 높을수록 고유하다는 뜻이다. 3. 카디널리티 (Cardinality)가 높은 컬럼에 만들어야 한다. ※ 카디널리티의 사전적인 뜻은 집합원의 갯수를 뜻하는 것으로서, 상대적..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 33일차 Oracle PL/SQL 예외처리 (Exception) 사용자에 의해 정의되는 예외로 사용자 정의 예외에는 Exception의 선언, 호출, 수행 세 파트를 작성해야 한다. - RAISE를 이용한 예외처리 DECLARE (선언부) 예외명 exception (사용자가 정의하는 예외절(Exception)임을 선언한다) BEGIN RAISE 예외명 ; exception when 예외명 [OR 예외명2] then 실행문A ; whne 예외명3 then 실행문B ; when oterts then 실행문C ; CURSOR (커서) PL/SQL에서 SELECT 되어져 나오는 행의 개수가 2개 이상인 경우에는 table 타입의 변수를 사용하여 나타낼 수 있고, 또는 CURS..
· DB/Oracle
Oracle System 테이블 정리 테이블명 설명 USER_OBJECTS 모든 오브젝트에 대한 정보를 확인할 수 있다. 유형, 작성시간, 오브젝트에 사용된 최종 DDL 명령, alter, grant 및 revoke 등 USER_USERS 사용자 정보. USER_TAB_PRIVS 테이블 권한정보 테이블의 접송 계정별 접근 권한을 알 수 있다. USER_SYS_PRIVS 시스템 권한정보 사용자에게 주어진 권한을 알 수 있다. USER_VIEWS 뷰 정보 VIEW 테이블의 스크립트의 길이와 내용을 알 수 있다. USER_TABLES 테이블 정보 테이블의 모든 정보를 알 수 있다. (TABLESPACE_NAME/ NUM_ROWS / BLOCKS 등) USER_TAB_COLUMNS 컬럼 정보 테이블의 열(COL..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 32일차 PL/SQL PL/SQL (Oracle's Procedural Language extension to SQL) 은 SQL의 확장된 개념으로 오라클에서 지원하는 프로그래밍 언어의 특성을 수용한 SQL의 확장한 절차적 언어이며, PL/SQL 블럭내에서 SQL의 DML(데이터 조작어) 문과 Query(검색어)문, 절차형 언어(IF, LOOP) 등을 사용하여 절차적 프로그래밍을 가능하게 한 강력한 트랜잭션 언어이다. 기본 PL/SQL Block 구조 영역 설명 옵션/필수 DECLARE (선언부) PL/SQL에서 사용하는 모든 변수나 상수를 선언하는 부분 -> 변수/상수/커서 등 을 선언 옵션 BEGIN (실행부) 절차적 형식으로 SQL문을 실행할수있도록 절차적 언어의..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 31일차 Foreign Key 옵션 ON DELETE CASCADE 참조되는 부모 테이블 행에 대한 DELETE를 허용하는 옵션이다 본래 자식테이블에 참조한 데이터가 남아있을 경우 부모테이블에서 삭제가 불가능하지만 on delete cascade 옵션을 주면 가능하다. 즉, 부모테이블의 값을 삭제시 자식테이블의 연결된 값을 같이 삭제시켜준다. (동작방식은 자식테이블에서 데이터를 먼저 삭제시킨뒤 그 다음에 부모테이블의 데이터를 삭제시킨다) ON DELETE SET NULL 부모 테이블의 값이 삭제되면 해당 참조하는 자식 테이블의 값들이 NULL로 설정되는 옵션이다. 부모테이블에서 값을 삭제시 자식테이블의 연결된 값을 NULL로 변환시켜준 뒤 그 다음에 부모테이블에서 값이..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 30일차 Merge (병합) 어떤 2개 이상의 테이블에 존재하는 데이터를 다른 테이블 한 곳으로 모으는 것을 말한다. merge into ( 병합될 테이블명1 (이하 A) ) using ( 병합할 테이블명2 (이하 B) ) on ( 비교조건 ) when matched then ( on 조건이 맞으면 update / delete ) update set ( 컬럼 조건들 ) when not matched then ( on 조건이 맞지 않으면 insert ) insert ( 컬럼명 ) values ( 밸류값 ) ; - (merge의 insert에는 into가 들어가지 않는다) ON 조건절이 일치하면 UPDATE, 불일치하면 INSERT를 하는 쿼리이다. USING 절에 비교할..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 29일차 SET Operator (SET 연산자, 집합연산자) 1. UNION UNION 은 테이블과 테이블을 합쳐서 보여주는 것으로써, 이것은 행과 행을 합친 결과를 보여주는 것이다. 이처럼 UNION은 집합의 합집합과 같은 의미이며 자동적으로 첫번째 컬럼을 기준으로 오름차순 정렬이된다. 특정 컬럼으로 나누어 볼떄 행의 결과물이 동일하게 나오는 것은 중복이 제거되기 때문에 select 문이나 혹은 연산할 때 유의해야 한다. 또한 컬럼명, 컬럼위치, 컬럼 수가 동일해야 한다. JOIN 과 UNION의 차이점 JOIN은 테이블과 테이블의 컬럼과 컬럼을 합치는 것을 말하고 UNION은 테이블과 테이블의 행과 행을 합치는 것은 말한다. 2. UNION ALL UNION AL..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 28일차 EQUI JOIN (등가 조인) 조인조건에 ' = ' 를 이용하는 조인을 보통 등가조인이라고 한다. 조인조건이 정확히 일치하는 경우에만 사용한다. 위의 예제는 서로 다른 테이블에서 department_id 값이 같은 행들끼리 연결지어 출력해준다. (+) - department_id 값이 NULL 값이 존재할 경우 NULL값은 등가조인절에서는 출력되지 않는다. 그래서 출력하고 싶은 경우에는 위와 같이 (+)를 사용한다.등가조인을 사용할 때 두 테이블의 연결되어진 값이 있을 경우 조인조건절에서 한쪽 테이블을 명시 해줘야한다. (양쪽으로 사용 불가하다) INNER JOIN OUTER JOIN 여기서 OUTER 조인은 LEFT에 RIGHT, FULL 이 들어갈 수 있..
· DB/Oracle
쌍용 강북 교육센터 국비학원 Day 27일차 Sub Query select 문속에 또 다른 select 문이 포함되어져 있을 때 포함되어진 select 문을 Sub Query(서브쿼리) 라고 부른다. from ... -> Main Query (메인쿼리 == 외부커리) where ... in (select ... from ... ) -> Sub Query (서브쿼리 == 내부쿼리) select ... , (select ... from ... ) -> Sub Query (서브쿼리 == 내부쿼리) from ... -> Main Query (메인쿼리 == 외부커리) Pairwise Sub Query 필요한 값이 두가지밖에 없기 때문에 이 두가지에 대해 where 절의 (department_id, salary) ..
developer_SIK
'DB' 카테고리의 글 목록