
Database기초 8일차 <제약 조건, 시퀀스, DCL>
2022. 9. 23. 17:48
Study/DataBase
■제약조건 => 제약을 주는 조건 => 조건이라는 걸 주어서 데이터에 무결성을 보장 => 조건에 맞는 데이터만 저장하게 함 => 제약조건은 컬럼에 설치 => 하나의 컬럼에 여러개의 제약조건 설치 not null -> 반드시 값이 있어야 한다. unique -> 중복을 허용하지 않음, null 허용 primary key -> not null+unique, 테이블을 대표하는 컬럼에 설치, 가장 이상적인 테이블은 한개의 컬럼에 한개의 PK가 설치, 검색 속도 성능 향상 foreign key -> 대른 테이블의 컬럼의 데이터를 참조 -> 테이블과 테이블간의 관계 설정, 참조할 컬럼과 참조한 컬럼의 데이터 타입과 길이가 반드시 같아야 함, 또한 참조할 컬럼은 반드시 pk, uk설치가 되어 있어야함 check ->..

Database기초 7일차 <데이터조작 DML>
2022. 9. 22. 17:47
Study/DataBase
DML언어 -> DB운영 => 삽입(insert), 수정(update), 삭제(delete) 트랜잭션 ->DB에서 일어나는 작업들의 모음(집합), DB작업을 처리하는 기준 => 일괄처리 성능보장과 무결성보장을 위해 트랜잭션을 사용 작업을 시작을 해서 종료가 되기 전까지의 작업들 commit -> 트랜잭션에서 수행한 작업들을 한번에 DB에 영구히 저장 rollback -> 비정상적인 트랜잭션이 수행이 되었을때, 트랜잭션이 이전 시점으로 취소 insert delete : 행단위 작업 update : 열단위 작업 ■ insert : 행이 추가가 되면 맨 마지막에 저장이 된다. insert into table_name ->모든 컬럼에 값을 삽입 하겠다 values( 삽입을 할 값을 명시하는절 ) insert i..

Database기초 6일차 <서브쿼리>
2022. 9. 21. 17:51
Study/DataBase
■ 서브쿼리 예제) Abel 이라는 사원이 받는 급여보다 더 많이 받는 사원의 이름과 급여를 출력하시오 select salary from employees where last_name = 'Abel' --> 11000 select last_name, salary from employees where salary >11000 / 두 문장을 합치면 select last_name, salary from employees where salary > ( select salary from employees where last_name = 'Abel') / 으로 실행된다 쿼리안에 쿼리가 들어가는 것 ==> 서브쿼리 ** 특정값을 모를때 사용한다 ** 조인을 대체하기도 한다. ** 꽃중의 꽃으로 현업에서 자주 사용한다..

Database기초 6일차 <서브쿼리>
2022. 9. 20. 15:20
Study/DataBase
■ 서브쿼리 예제) Abel 이라는 사원이 받는 급여보다 더 많이 받는 사원의 이름과 급여를 출력하시오 select salary from employees where last_name = 'Abel' --> 11000 select last_name, salary from employees where salary >11000 / 두 문장을 합치면 select last_name, salary from employees where salary > ( select salary from employees where last_name = 'Abel') / 으로 실행된다 쿼리안에 쿼리가 들어가는 것 ==> 서브쿼리 ** 특정값을 모를때 사용한다 ** 조인을 대체하기도 한다. ** 꽃중의 꽃으로 현업에서 자주 사용한다..

Database기초 5일차 <Group by, Having>
2022. 9. 19. 17:48
Study/DataBase
■함수 - 단일 - 그룹 : 집계 - windows함수 : 행과 행 사이 - AVG : 평균 - COUNT : 출력이 되는 행의 갯수 - MAX : 최댓값 - MIN : 최솟값 - SUM : 합계 - STDDEV : 표준편차 - VARIANCE : 배열 SUM, AVG -> (산술연산)숫자 데이터에 사용하는 함수, 문자와날짜는 사용안됨. MIN, MAX -> 모든 데이터 타입에 사용 가능하다.(아스킬코드를 가지고 최대 최소를 구하기 때문) COUNT -> 출력되는 테이블의 행의 수 (" * " 를 포함)(모든데이터 사용가능 하다) DISTINCT 가 SELECT 앞에 나올 수 있지만 COUNT 함수 에는 ALL(DEFAULT값) 과 DISTINCT 를 사용할 수 있다. 함수가 사용하는 세부 옵션이다 SE..

Database기초 4일차 <예제 및 JOIN>
2022. 9. 17. 17:49
Study/DataBase
더보기 예제7) 정답 더보기 예제8) 정답 더보기 예제9) 정답 더보기 예제10) 정답 더보기 예제11) 정답 더보기 예제12) 정답) 더보기 예제13) 정답) 더보기 예제14) 정답) 더보기 ■ JOIN 2개 이상의 테이블에서 컬럼들을 가져오는 작업 조인 -> 여러개의 테이블에서 데이터를 검색 -> 시스템 내부에서는 조인을 수행할 테이블들을 하나의 테이블인 것 처럼 가상으로 조합 - 여러개의 테이블의 행들을 하나의 행으로 조합 -> 하나의 행으로 조합할 때, 무결성이 보장된 행으로 조합 -> 무결성이 보장된 행으로 조합을 위해 조건을 둠 (did = did) -> 조인조건 -> 조인이 발생하면 반드시 n(조인을 수행할 테이블의 개수)-1개 만큼의 조인조건을 where에 명시 1. n-1 -> 조인조건을..

DATABASE기초 3일차
2022. 9. 16. 17:47
Study/DataBase
- 행을 제한하는 조건절(조건문/조건식) 규칙) 1. 조건문을 작성하자 => (where column 연산자 값) 2. 값 명시할때 문자/날짜일 경우 반드시 ' ' 붙여야한다. 3. 값을 명시할때 반드시 테이블에 저장된 데이터 형식 그대로(아스킬코드) 사용해야한다.(연산자'='때문에) - from절 다음 위치 - 순서 : from절 -> where절 -> select list절 예제) 90번 부서에 근무하는 사원의 이름과 급여를 출력 select last_name, salary from employees where department_id = 90 ●연산자 ex) where hire_date = '01-JAN-95' where salary>=6000 where last_name='Smith' select..