SsY
-
010. 무결성, 제약 조건(PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, CHECK) 추가/ 변경/ 삭제SsY/Class 2023. 4. 4. 18:56
2023.04.04 HR 계정 실습 무결성 - DBMS에서 데이터를 입력할 때, 잘못 입력하게 되면 데이터 하나만 문제가 되는 것이 아니라 관계 테이블 더 나아가 DB 자체의 신뢰를 잃어버리기 때문에 오라클에서 제약조건들을 통해서 데이터를 잘못 입력하지 못하게 도와주는 것 --■■■ 무결성(Integrity) ■■■-- /* 1. 무결성에는 개체 무결성(Entitiy Intergrity) 참조 무결성(Relational Integrity) 도메인 무결성(Domain Integrity) 이 있다. 2. 개체 무결성// 중복된 행을 못들어가게끔하는 제약조건 개체 무결성은 릴레이션에서 저장되는 튜플(tuple)의 유일성을 보장하기 위한 제약조건이다 3. 참조 무결성// DEPT부서번호 10~40인데, 70번인..
-
009. 정규화(Normalization), Primary Key, 관계SsY/Class 2023. 4. 3. 18:11
2023.4.3 (월) HR 계정 실습 데이터베이스 정규화 (Normalization) - 제 1 정규화 - 제 2 정규화 - 제 3 정규화 - 제 4 정규화 (BCNF) - 역정규화(비정규화) 더보기 (자바 수업 에서) 작은 하나의 큰 클래스보다 작개쪼개어 나눠서 구성된 여러개의 클래스가 강력하다고 했음 끊임없이 나누고 분리하는 작업 수행하게 되고, 정규화도 이 중에 하나! 특히나 관계형 데이터베이스에서 하나의 커다란 테이블보다 작게 나눠진 테이블들이 위력적이다. (DB에서) 정규화란 테이블을 나누는(분리하는) 것을 말한다. WHY? ex) EMP 테이블이나 DEPT 테이블을 따로 나눠두지 않으면 굳이 JOIN 해서 쓰지 않을 수도 있는데 왜 나누었을까? - 데이터가 합쳐져있는 테이블 안에서, 하나의 ..
-
008. UNION / UNION ALL, INTERSECT / MINUS, NATURAL JOIN, USINGSsY/Class 2023. 3. 31. 17:48
2023.3.31 (금) SCOTT 계정 실습 .UNION / UNION ALL 예제 풀이 --○ 지금까지 주문받은 모든 데이터를 활용하여 -- 제품별 총 주문량을 조회하는 쿼리문을 구성한다. /* ---------------------------- 제품코드 주문량 ---------------------------- .... XX ... XXX : ---------------------------- */ SELECT JECODE "제품코드",SUM(JUSU) "총주문량" FROM ( SELECT JECODE, JUSU FROM TBL_JUMUNBACKUP UNION ALL SELECT JECODE, JUSU FROM TBL_JUMUN ) T GROUP BY T.JECODE; --==>> /* 초코파이20..
-
007. SEQUENCE 와 ROW_NUMBER, JOIN(SQL 1992/1999 CODE), UNION / UNION ALLSsY/Class 2023. 3. 30. 17:52
2023.3.30 (목) SCOTT 계정 실습 어제 시퀀스/게시판 부터 이어서 - SEQUENCE 와 ROW_NUMBER() 데이터 입력 (게시물 작성) 더보기 SELECT USER FROM DUAL; --==>> SCOTT ------------------------------------------------------------------------------------------- CREATE SEQUENCE SEQ_BOARD START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCACHE; --> //기본 구문 외에 붙는것은 모두 옵션이라고 한다. // 테이블과는 별개다 --==>> Sequence SEQ_BOARD이(가) 생성되었습니다. ---------------------..
-
006. 그룹 함수, 분석 함수(ROLLUP / CUBE / GROUPING SETS), HAVING절, 서브상관쿼리, ROW_NUMBER() / SEQUENCE()SsY/Class 2023. 3. 29. 17:52
2023.3.29 (수) SCOTT 계정 실습 어제 이어 문제 풀이 -- 위에서 조회한 내용을 아래와 같이 조회될 수 있도록 쿼리문을 구성한다. /* 부서번호 급여합 ----------- --------- 10 8750 20 10875 30 9400 인턴 8000 모든부서 37025 */ 더보기 SELECT CASE DEPTNO WHEN NULL THEN '인턴' ELSE TO_CHAR(DEPTNO) END "부서번호" FROM TBL_EMP; --==>> /* 20 30 30 20 30 30 10 20 10 30 20 30 20 10 (null) (null) (null) (null) (null) */ SELECT CASE WHEN DEPTNO IS NULL THEN '인턴' ELSE TO_CHAR(DE..