SQL13 2022_11_28 SQL TRIGGER /* trigger 는 테이블에 부적한 형태로써 insert, update, delete작업이 수행될 때 특정 코드가 작동되도록 하는 구문입니다. 트리거는 실행할 때 범위를 지정하고 F5버튼으로 부분실행해야 한다. 그렇지 않으면 하나의 구문으로 인식되어 정상동작하지 않습니ㅏㄷ. */ CREATE TABLE tbl_test ( id NUMBER (10), text VARCHAR2(20) ); set SERVEROUTPUT on; /* CREATE OR REPLACE TRIGGER trg_test AFTER UPDATE OR DELETE --삭제, 수정 이후에 동작 ON tbl_test --부착할 테이블 FOR EACH ROW --각행에 적용 DECLARE BEGIN DBMS_OUTPUT.PUT_LINE('.. SQL 2022. 11. 28. 2022_11_25 PLSQL --2022_11_25 --PLSQL(프로그래밍SQL) /* 오라클에서 제공되는 프로그래밍 기능이다. 일반적인 프로그래밍과는 차이가 있지만, 오라클 내부에서 아주 적절한 방식을 적용해준다 쿼리문의 집합으로 어떠한 동작을 일괄처리하기 위한 용도로 사용됨 절차형 SQL(PLSQL)은 코드부분만 선택하여 F5로 컴파일하야 실행함 */ --출력을 허용함 SET SERVEROUTPUT ON; ----------------------------------------------- DECLARE vi_num NUMBER; -- 변수선언 BEGIN vi_num := 100; --대입 DBMS_OUTPUT.PUT_LINE(vi_num); --출력 END; -------------------------------------.. SQL 2022. 11. 25. 2022_11_21 SQL정리 2022_11_21 entity = 테이블 relation = 키 attribute = 컬럼 cardinality 관계대응수 optionality 엔티티와 엔티티의 필수,옵션을 표기 1대1관계에서 테이블이 나뉜다면 부테이블에 foreign key를 넣는다 ------------------------------------------------------- 정규화(NORMALIZATION) 정제되지 않은 데이터를 관계형 데이터베이스 어울리게 만들어주는 방법 정규화는 1정규화 ~ 5정규화 까지 있지만 실무에서는 대체로 1~3 정규화까지의 과정을 거친다 테이블정규화 - 일반적으로 1 2 3까지만 함 제 1정규화 (First Nomal Form) - 도메인이 원자값 (한칸엔 하나의 값만 들어감) 제 2정규화 (S.. SQL 2022. 11. 21. 2022_11_18 sql정리 https://www.erdcloud.com/d/4fPsd5JZjC4sYBjgt 온라인상으로 논리적 데이터 모델링을 할 수 있는 erdcloud링크 https://app.diagrams.net/ 개념저 데이터 모델링을 할 수 있는 링크(그리기가능) 2022_11_18 sql 사용자 생성에서의 role은 관련 권한(privileges)의 집합이다. --롤을 생성하는법 CREATE ROLE role_name; --CONNECT RESOURCE DBA --CONNECT - 접속권한 --RESOURCE - 테이블생성, 시퀀스생성, 뷰생성 --DBA - 전체관리자 CREATE USER 유저명 IDENTIFIED BY 비밀번호; GRANT CONNECT, RESOURCE TO 유저명; ----------------.. SQL 2022. 11. 18. 2022_11_17 sql정리 2022_11_17 Index index = 원하는 컬럼을 빠르게 찾을 수 있게 만들어진 데이터 구조 인덱스는 primary key 혹은 unique 제한규칙에 의해 자동적으로 생성되기도 함 인덱스는 고유인덱스와 비고유인덱스로 나뉨 UNIQUE INDEX = 고유인덱스는 중복이 안되는 컬럼에 고유인덱스를 정의함 BITMAP INDEX = 중복이 되는 값을 소지한 컬럼은 비고유인덱스로 정의 -------------------------------------------------------------------------------- --INDEX --INDEX는 PRIMARY KEY, NIQUE 제약 조건에서 자동으로 샛어되고, 조회르 빠르게 해주는 HINT역할을 합니다. --INDEX종류로는 고유, 비고.. SQL 2022. 11. 17. 2022_11_16 SQL 정리 --제약조건 --테이블의 컬럼에 대한 조건 ( 원치않는 데이터가 입력, 수정, 삭제가 되는것을 방지) 제약조건 유형 : NOT NULL UNIQUE KEY -- (유일한 값) NULL 가능 / 중복 X PRIMARY KEY --NOT NULL / 중복X FOREIGN KEY --NULL 가능 / 중복 가능 (PK에 지정된값만 가능) CHECK -- 지정된 값일때만 데이터를 입력하게 해줌 일반적으로 테이블 생성할때 제약조건을 열레벨에서 설정하는걸 자주씀 -------------------------------------------------------- ------------ 테이블 생성과 제약조건 --primary key(테이블 고유키, 중복x, null허용 x) --unique (중복x) --not n.. SQL 2022. 11. 16. 2022_11_15 SQL 정리 DML문 (DATA MANIPULATION LANGUAGE) INSERT / UPDATE / DELETE / MERGE 삽입 수정 삭제 병합 DESC 테이블명 ; -> 태이블 이름 널값 유형 으로 표기해줌 INSERT 구문에서 컬럼을 생략할땐 ->정확하게 순서와 타입에 맞게 모든 열들에 대한 입력정보를 포함해야한다 UPDATE 절은 WHERE에 특정행을 명시해줘야함 안그러면 전부다 수정해버림 MERGE구문 - 매칭되는 data가 있으면 update 매칭되는 data가 없으면 Insert를 수행함 데이터 갱신할때 사용함 사용법 : Merge Into 테이블명 Using (select한 결과) ON (타겟 테이블과 기존테이블의 조인에 대한 조건) WHEN MATCHED THEN (매치되는 데이터가 있을때 뭘.. SQL 2022. 11. 15. 2022_11_14 SQL 정리 2022_1114 -----------인라인 뷰 (InlineVIew) FROM아래에 select가 다시 들어감 rownum은 orderby를 하기전에 번호가 매겨지기 때문에 인라인 뷰로 순서를 결정하고 번호를 붙힘 테이블이 들어갈수 있는 위치는 인라인뷰가 들어갈 수 있다. --------------------------------------------------------------------------------------------------------------------------- --인라인 뷰 (INLINE VIEW) SELECT * FROM (SELECT * FROM EMPLOYEES); SELECT rownum, first_name, job_id, salary FROM employees .. SQL 2022. 11. 14. 2022_11_11 SQL정리 2022_11_11 JOIN 추가 -------------------------------------------------------------------------------- --오라클 조인( 오라클만 사용하는 문법) --INNER JOIN SELECT * FROM employees e, departments d --JOIN테이블 WHERE e.department_id = d.department_id; --JOIN키 -- LEFT OUTER JOIN SELECT * FROM employees e, departments d --JOIN테이블 WHERE e.department_id = d.department_id(+); --JOIN키 -- RIGHT OUTER JOIN SELECT * FROM emplo.. SQL 2022. 11. 11. 2022_11_10 SQL 정리 04_그룹함수 AVG() --평균 SUM() --합계 MIN() --최솟값 MAX() --최댓값 COUNT() --행의수 COUNT(*) --NULL을 포함한 행의 갯수 COUNT(컬럼) --NULL값을 제외한 행의 갯수 --그룹함수는 일반 컬럼과 동시에 출력이 불가능함 --------------------------------------GROUP BY GROUP BY 절은 where절 다음 order절 사이에 쓰임 그룹별로 그룹함수를 사용하고싶을때 사용함 ex ) 특정 집단별로 (avg/sum/min/max/count)를 사용하고싶을떄 GROUP BY 는 2개 이상도 가능함 Ex) GROUP BY department_id, job_id; --부서별 급여 평균 SELECT department_id, TR.. SQL 2022. 11. 10. 2022_11_09 _정리 2022_11_09 SQL SELECT REPLACE('1','2','3') --> 1에서 2를 3으로 바꿈 ===LTRIM RTRIM TRIM SELECT LTRIM(' javascript_java') FROM dual; --좌측에 있는 공백제거 SELECT LTRIM('javascript_java', 'java') FROM dual; --좌측에 있는 java 제거 SELECT RTRIM('javascript_java ') FROM dual; --우측에 있는 공백 제거 SELECT RTRIM('javascript_java', 'java') FROM dual; --우측에 있는 java제거 SELECT TRIM(' javascript_java ') FROM dual; --양쪽 공백 제거 ====REPLAC.. SQL 2022. 11. 9. 2022_11_08 1108 sql sql 파일 저장은 C:\Users\user\Desktop\course\sql로 통일 DML (Data Manipulation Language ) 데이터 조회&입력&수정&삭제 4가지가 있음 Select(조회)를 제일 자주사용함 DDL(Data Definition Language) Create/ Alter/ Drop(생성 / 변경 / 제거) 을 제일 자주씀 Rename/이름변경 / 과 Truncate(구조만 남기고 삭제) 도 있긴함 DCL ( Data Control Language) Database 에 접근하고 객체를 사용할 수 있도록 권한을 주거나 회수함 ===============SELECT(DML) SELECT : 하나 이상의 열을 나열합니다. - DISTINCT : 중복을 제거합니다.. SQL 2022. 11. 8. 이전 1 2 다음