데이터베이스
-
SQL - 뷰, 시퀀스, 인덱스, 사용자 관리DATABASE 2020. 7. 25. 22:57
🎯 SQL 오라클 객체의 뷰, 시퀀스, 인덱스와 사용자 관리를 알아본다. 뷰 (VIEW) 기존의 테이블에서 필요한 것만 뽑아서 하나의 가상 테이블을 다시 만드는 것. 뷰에서 참조하는 원본테이블을 기본테이블(base table)이라고 한다. 10번 부서의 데이터를 자주 사용한다면 매번 셀렉하기보다 그냥 따로 뷰를 만들어두면 사용하기 편하다. 보안을 위해 데이터베이스에서 선택적으로 데이터를 보여줄 수 있기 때문에 접근을 제한할 수 있다. 검색 쿼리를 단순하게 만들수 있다. 매번 만들기 복잡한 조인문을 뷰로 만들어놓으면 쉽게 사용할 수 있다. GRANT CREATE VIEW TO SCOTT; 먼저 SYS계정에서 스콧계정에 뷰를 만들 수 있는 권한을 부여해준다. CREATE VIEW EMP_VIEW AS SEL..
-
SQL - DDL 명령어, 테이블 생성 제약조건DATABASE 2020. 7. 24. 08:50
🎯 SQL DDL 명령어 CREATE, ALTER, DROP, RENAME, TRUNCATE 를 알아본다. DDL( Data Definition Language ) 데이터베이스의 구조를 생성, 수정, 삭제할 수 있는 언어 실행결과가 데이터베이스에 즉각 반영되며 데이터베이스 사전에 정보를 기록한다. 오라클 객체 오라클 데이터베이스가 가진 데이터 구조를 말한다. DDL 명령문 종류 CREATE 생성 / ALTER 변경 / DROP 삭제 / RENAME 이름변경 / TRUNCATE 절삭 테이블 생성 CREATE CREATE TABLE [스키마].테이블명 (컬럼명 데이터타입 [DEFAULT 값 | 제약조건]); CREATE TABLE scott.emp (empno NUMBER(4), ename VARCHAR2(..
-
SQL - DML, 트랜잭션 TCLDATABASE 2020. 7. 23. 08:31
🎯 SQL DML 명령어와 트랜잭션을 알아본다. DML(Data Manipulation Language) 데이터를 추가(INSERT), 수정(UPDATE), 삭제(DELETE), 병합(MERGE) 할 때 사용하는 데이터 조작어 INSERT 테이블에 데이터를 저장하기 위한 데이터 조작어 단일행 INSERT : 한번에 하나의 행을 테이블에 저장 다중행 INSERT : 서브쿼리를 이용해 한꺼번에 여러행 동시저장 단일행 INSERT 문 INSERT INTO DEPT(DEPTNO, DNAME, LOC) VALUES (90, '인사과', '서울'); -- 어떤 테이블에 넣을거다 (컬럼명) -- 데이터값은 (위 컬럼이랑 일대일 대응이 되어야함) 컬럼 3개 넣어주기로 했으면 밸류도 똑같이 3개를 넣어줘야 한다. 입력되..
-
SQL 조인, 서브쿼리 연습문제 풀어보기DATABASE 2020. 7. 22. 08:33
🎯 SQL Join과 서브쿼리를 활용해 다양한 예제를 풀어본다. JOIN 실습문제 SCOTT 계정의 연습용 테이블 사용 오라클 조인도 사용해보고 ANSI조인도 사용해보기 1. 부서 테이블과 사원테이블에서 사번, 사원명, 부서코드, 부서명을 검색하시오. ( 사원명 오름차순 정렬할 것 ) SELECT EMPNO, ENAME, DEPTNO, DNAME FROM EMP, DEPT ORDER BY ENAME; 2. 부서 테이블과 사원테이블에서 사번, 사원명 , 급여 , 부서명을 검색하시오. 단, 급여가 2000 이상인 사원에 대하여 급여기준으로 내림차순 정렬할 것. 3. 부서 테이블과 사원 테이블에서 사번, 사원명, 업무, 급여 , 부서명을 검색하시오. 단, 업무가 Manager이며 급여가 2500 이상인 사원에..
-
SQL - Join, 서브쿼리DATABASE 2020. 7. 21. 14:17
🎯 SQL의 Join과 서브쿼리를 알아본다. JOIN 검색하고자 하는 컬럼이 여러개의 테이블에 분산되어있는 경우 여러 테이블을 연결해서 필요한 데이터를 조회하는 방법 EMP테이블과 DEPT 테이블에는 DEPTNO 라는 공통컬럼이 존재한다. 여기서 EMP 테이블의 DEPTNO를 외래키라고 하고, DEPT 테이블의 DEPTNO를 기본키라고 한다. 외래키(Foreign Key)는 그 자체로 정보를 갖고있는 건 아니고, 다른 테이블에 찾아가서 참조할 값을 말한다. 참조 당하는 dept 테이블을 부모테이블/master테이블 이라하고 참조하는 emp 테이블을 자식테이블/slave 테이블 이라고 한다. 마스터 테이블의 기본키 PK(D.DEPTNO)가 자식 테이블의 참조키,외래키FK(E.DEPTNO)가 된다. join..
-
SQL - 그룹함수, GROUP BY절, HAVING절DATABASE 2020. 7. 20. 08:27
🎯 SQL 그룹함수와 GROUP BY절, HAVING절을 살펴본다. 다중 행 함수 검색되는 모든 행에 대해 함수가 적용되어 하나의 결과만을 리턴한다. 입력처리되는 자료의 개수와 무관하게 단 하나의 결과만 반환된다. 그룹함수 여러행 또는 테이블 전체에 대해 함수 적용, 하나의 결과 반환(그렇게 생겼음) 기본적으로 널null값은 제외하고 계산된다. SUM 함수 : SUM( DISTINCT | ALL | 컬럼명 ) 해당 컬럼값들의 총합 구하기 DISTINCT 키워드를 사용하면 중복값 제외하고 계산, ALL 은 중복 포함. 아무것도 안써주면 ALL 적용. ALL은 보통 생략한다. COUNT 함수 : COUNT( DISTINCT | ALL | 컬럼명 ) 행의 갯수 반환 COUNT(*) 하면 테이블의 전체 행의 개..
-
SQL - 단일 행 함수(문자/숫자/날짜/변환/조건)DATABASE 2020. 7. 19. 21:26
🎯 SQL의 단일행 함수인 문자함수, 숫자함수, 날짜함수, 변환함수, 조건함수를 알아본다. 단일 행 함수 입력처리되는 행의 개수와 출력 처리되는 행의 개수가 동일하다. 14명 자료 있다면 함수가 14명에 다 적용된 결과를 보여준다. 문자함수 INITCAP 함수 : INITCAP('ORACLE SQL') >> Oracle Sql 각 단어의 첫 문자를 대문자로, 나머지는 소문자로 변경 LOWER 함수 : LOWER('ORACLE SQL') >> oracle sql 모든 문자열을 소문자로 변경. UPPER 함수 : UPPER('Oracle Sql') >> ORACLE SQL 소문자를 대문자로 변경. CONCAT 함수 : CONCAT('Oracle', 'Sql') >> OracleSql 두개의 문자열을 합성. ..
-
SQL-SELECT문 살펴보기DATABASE 2020. 7. 18. 18:21
🎯 SQL SELECT 기본 문법을 살펴본다. 💡 SELECT 문 : 데이터베이스에 저장된 데이터를 검색할 때 사용하는 SQL문 - DQL(Data Query Language)라고 함. -- 쿼리(Query)란? 데이터베이스에 정보를 요청하는 것. 반환되는 데이터 종류에 따라서 3가지 기능을 가진다. 프로젝션 : 테이블에서 어떤 컬럼을 고를거냐 선택할 수 있다. 특정컬럼의 모든 자료 셀렉션: 행으로 뽑기. 모든 사원중 특정 사원만 뽑아 보기 Join기능:여러 테이블에 공통적으로 존재하는 컬럼 사용, 한꺼번에 서로 다른 테이블에 저장된 데이터를 가져오는 기능. 기본문법 SELECT [DISTINCT] { *, column [Alias], ...} FROM 테이블명; -- [ ] 생략가능. {} 여러 값중 ..