본문 바로가기

DB

(11)
220905_ORACLE_국비_사용자(USER) 사용자 데이터베이스에 접속해 데이터를 관리하는 계정을 user(사용자)라고 표현 데이터베이스 관리자 - 사용자가 데이터베이스의 객체에 대한 특정 권한을 가질 수 있도록 함 - 다수의 사용자가 데이터베이스에 저장된 정보를 공유, 보안이 이루어질 수 있도록 함 - 접근하기 위해 사용자의 이름, 암호를 입력해 로그인이 이루어질 수 있도록 함 - 사용자 마다 서로 다른 권한을 부여함으로써 보안을 설정함 Schema(스키마) : 데이터베이스 구조와 제약조건에 관한 전반적인 명세를 기술한것 객체의 특성을 나타내는 속성과 속성들의 집합으로 이루어진 객체사이에 존재하는 관계에 대한 정의와 이를 유지하기 위해 해야할 제약조건들을 기술한 것 권한 - 사용자가 특정한 테이블에 접근 할 수 있도록 하거나 해당 테이블에 sel..
220902_ORACLE_국비_UNIQUE/PRIMARY KEY/무결성(도메인, 참조)/SEQUENCE 2-1. UNIQUE 제약조건 특정 컬럼에 대해 자료가 중복되지 않게 하는것(지정된 컬럼에는 유일한 값만 저장) UNIQUE는 해당 테이블에 있어서 존재하는 값이 유일해야함 NULL값에 대해서는 UNIQUE제약이 적용되지 않음(NULL값은 데이터로 인식하지 않음) 형식 : create table table_name( 컬럼명 자료형 constraint unique 제약조건명 unique 컬럼명 3. PRIMARY KEY 제약조건 UNIQUE제약조건 + NOT NULL제약조건 컬럼명과 자료형을 기술한 다음 PRIMARY KEY기술 1개의 테이블에 있는 데이터들을 식별하기 위한 기준으로 인식되는 제약조건 1개의 테이블에 1개만 생성가능 4. 무결성 데이터베이스에 저장된 값들이 정확하고 일관성있는 데이터임을 나..
220901_ORACLE_국비_DELETE/MERGE/DCL/TRANSACTION/무결성 제약 조건 3. DELETE 레코드 삭제 형식 : delete from table_name where 조건절; where절이 없으면 모든 레코드가 삭제됨 / commit되지 않음 확인) 4. MERGE 테이블 합병 구조가 같은 두 테이블을 하나의 테이블로 합치는 기능 기존테이블에 자료가 존재하는 경우 : 새로운 값으로 update(갱신) 자료가 존재하지 않는 경우 : 새로운 행으로 insert(추가) 형식 merge into(변경할 테이블명) using(값을 가져올 테이블명) on (조인 조건) when matched then update set 컬럼1 = 값1, 컬럼2 = 값2 when not matched then insert(컬럼1, 컬럼2..) values(값1, 값2) → 값을 변경할 테이블 선언 → 어디..
220831_ORACLE_국비_RENAME/DML/INSERT/UPDATE 5. RENAME 테이블명 변경 형식 : rename table_name to new_table_name 테이블 생성) 테이블명 변경) 테이블명 변경 확인) DML(Data Mainpulation Language) 테이블내의 데이터를 조작하는 언어 테이블의 내용을 추가(insert), 수정(update), 삭제(delete) 자동 commit되지 않음 1. INSERT 테이블에 새로운 행 추가(새로운 데이터 입력) 할때 사용 테이블의 모든 컬럼에 입력하는 경우 : 컬럼목록 기술 불필요, 생략되면 VALUES절의 기본 컬럼 순서대로 입력 형식 - insert into table_name(컬럼명) values(컬럼값); - insert into table_name values(값); 테이블 생성) 새로운 행..
220830_ORACLE_국비_ROWNUM/DDL/CREATE/ALTER/DROP exists : 중복이 없다는 가정하에 조건을 충족하는 값을 찾았을때 바로 검색을 중지하는 함수 3. 다중컬럼 SUB Query 4. ROWNUM SUB Query에서 반환되는 각행 1부터 시작하는 순차값 할당 rownum과 order by함께 사용할때 주의사항 : order by절을 먼저 수행하고 rownum이 수행되게 해야함 그렇지 않으면 순번이 랜덤으로 정렬됨 DDL(Data Definition Language) 데이터 정의어, 테이블 구조생성, 변경 및 삭제 DDL을 사용하면 자동 COMMIT 종류 의미 CREATE 데이터베이스 객체 생성 DROP 데이터베이스 객체 삭제 RENAME 데이터베이스의 이름 변경 ALTER 기존 데이터베이스 객체 다시 정의 TRUNCATE 테이블 최초 생성 상태로 만들..
220829_ORACLE_국비_JOIN/SUB Query Self Join : 자기 자신과 조인하는 경우에 사용 (같은 컬럼명이 아니어도 사용가능) Outer Join : 2개 이상의 테이블을 조인 할 때 어느 한쪽 테이블에는 해당하는 데이터가 존재하지 않는데 다른쪽의 테이블에는 존재하는 경우 그 데이터는 출력되지 않는 문제를 해결하기 위해 사용 모든 데이터를 다 가지고 올때 full scan을 하기 때문에 DB에 부담이 될 수 있음 사용법 : 없는 쪽에 (+)표시 SUB Query 서브쿼리는 하나의 select문장의 절 안에 포함된 또 하나의 select 문 서브쿼리는 비교 연산자의 오른쪽에 기술하며 괄호안에 삽입 메인 쿼리가 실행되기 전에 1번만 실행 방법1) 방법2_Join) 방법3_SUB Query) 1. 단일행 SUB Query 서브쿼리를 수행한 결과..
220826_ORACLE_국비_그룹함수/GROUP BY/HAVING/JOIN 그룹함수 select문에 그룹함수를 사용하는 경우는 단순 컬럼 사용불가 구분 의미 SUM 그룹의 누적 합계 반환 AVG 그룹의 평균 반환 COUNT 그룹의 총 갯수 반환 MAX 그룹의 최대값 반환 MIN 그릅의 최소값 반환 STDDEV 그룹의 표준편차 반환 VARIANCE 그룹의 분산 반환 그룹함수를 사용했을땐 단일 컬럼은 사용불가 COUNT(*) : 조회된 전체행 갯수 반환 COUNT(컬럼명) : NULL값은 count되지 않음(연산o) COUNT(DISTINCT 컬럼명) : 컬럼 값의 중복을 배제하고, 컬럼값의 갯수 반환 그룹함수는 같이 사용가능 GROUP BY 절 특정 컬럼을 기준으로 그룹화하여 테이블에 존재하는 행을 그룹별로 구분하기 위해 사용 형식 : SELECT 컬럼명, 그룹함수 FROM 테이..
220825_ORACLE_국비_날짜함수/형 변환 함수/NVL/DECODE/CASE 3. DATE 함수 ADD_MONTHS(기준일자, 숫자) : 기준 날짜에서 연산 값에 따라 년과 월만 변경됨 NEXT_DAY(기준일자, 찾을 요일) : 해당날짜부터 시작하여 명시된 요일을 만나면, 해당되는 날짜 반환 LAST_DAY (기준날짜) : 해당달의 마지막 날짜 반환 형 변환 함수 숫자, 문자, 날짜의 데이터형을 다른 데이터형을 변환 구분 의미 TO_CHAR 날짜형 or 숫자형 →문자형 TO_NUMBER 문자형 → 숫자형 TO_DATE 문자형 → 날짜형 날짜형 → 문자형 TO_CHAR(날짜데이터, '출력형식') - 날짜 FORMAT 형식 YYYY YY - 년도표시 4자리 - 년도표시 2자리 MM 월을 숫자로 표시 MON 월을 알파벳으로 표현 DAY 요일 표현 DY 요일을 약어로 표현 - 시간 FO..