본문 바로가기

반응형

자린고비 독학하기/자린고비 코딩하기

(81)
JAVA - equals과 ==의 차이 공통점 둘 다 결과에 대하여 boolean 값으로 반환한다. equals == 객체끼리 안에 든 내용에 대해 비교하는 메소드 Call by Value 주소값을 비교하는 연산자 Call by Reference
SQL - DCL DCL: Data Control Language 권한을 부여하고 삭제하는 명령 GRANT REVOKE 권한의 설정 (GRANT) 최소한의 권한을 주는 것이 원칙 시스템 권한 - 관리자 계정에 부여되며, 사용자나 객체 등을 생성/제거, DB에 접근할 수 있는 권한 객체 권한 - 객체에 대한 조작 권한 (소유자나 관리자 계정으로 부여 가능) 시스템 권한 데이터베이스를 관리하는 권한으로, 객체 수정, 삭제 등이 있다. GRANT 명령어로 해당 권한을 부여할 수 있다. 데이터베이스 사용자 생성 / 권한 부여 WITH GRANT OPTION: 부여받은 권한에 대해 다른 사용자에게 권한을 부여할 수 있는 권한까지 가지게 됨 객체 권한 객체 안의 데이터를 선택하고 변경하는 등의 DML 작업에 대해 부여할 수 있는 권..
SQL - 시퀀스 (SEQUENCE) 시퀀스 (SEQUENCE) 테이블 내의 유일한 숫자를 자동으로 생성하는 자동 번호 발생기 시퀀스를 기본키로 사용하면 사용자가 늘 유일한 값을 생성해야 한다는 부담이 줄어듦 순차적으로 증가하는 컬럼을 자동적으로 생성할 수 있다 주로 컬럼 값을 자동으로 증가시키는 용도로 사용함 시퀀스 생성 형식 CREATE SEQUENCE 시퀀스명 [START WITH n] [INCREMENT BY n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE} USER_SEQUENCES 시퀀스 객체를 저장하고 있는 데이터 딕셔너리 시퀀스에 대한 정보를 확인 가능 CREATE DROP
SQL - INDEX INDEX -인덱스 명령문 처리 속도를 향상시키기 위한 데이터베이스 객체 책 뒤쪽에 있는 인덱스 페이지를 떠올리면 연상이 쉬움 기본적으로 순서 없이 저장하는 레코드의 컬럼을 색인화하여 파일에 저장해 두기 때문에, 처리 속도가 빨라짐 USER_INDEXES, USER_IND_COLUNNS: 데이터 딕셔너리 뷰에서 생성된 모든 인덱스 확인 가능 인덱스 사용의 장단점 장점 단점 검색 속도가 빨라짐 시스템 부하를 줄여 시스템 전체 성능이 향상 인덱스 생성에 시간이 걸리며, 인덱스를 위한 추가 공간 필요 DML 사용이 잦을 경우는 오히려 성능 저하 인덱스 생성 / 제거 CREATE DROP CREATE 기본키나 유일키 제약 조건이 없는 컬럼에 대해서 생성 가능 기본키나 유일키는 자동 생성됨 인덱스가 없을 때 vs..
SQL - 뷰 (VIEW) 뷰 (VIEW) 논리적인 가상 테이블 뷰 안에는 실제 데이터가 없고, 쿼리만 실행해 준다. 쿼리문을 숨기기 때문에 약간의 보안 효과를 가질 수 있다. 권한이 없는 사람은 뷰를 생성할 수 없다. 뷰의 생성과 삭제 CREATE DROP 뷰의 종류 단순 뷰 복합 뷰 CREATE CREATE [OR REPLACE]: 뷰를 생성함 [만일 해당 이름의 뷰가 있으면 덮어씀] WITH 제약 조건으로 데이터 제한 가능 - 조건에 맞는 데이터만 입력 & 수정 가능 / 읽기만 가능 뷰를 생성할 수 있는 권한을 받아야만 함 USER_VIEWS 딕셔너리안에 생성된다. DROP 뷰를 삭제하는 명령어 USER_VIEWS 딕셔너리 안에 있는 뷰를 삭제하는 것이기 때문에, 실제 물리적 테이블의 데이터에는 영향을 주지 않는다. VIEW..
SQL - 트랜잭션 트랜잭션 여러 쿼리가 묶인 하나의 연산 단위 트랜잭션은 ROLLBACK 되거나 COMMIT 되는 두 가지 중 하나만 가질 수 있다. 트랜잭션의 특징 원자성 (Atomicity) - 반영 or 미반영 일관성 (Consistency) - 적용되는 결과가 일관적 독립성 (Isolation) - 트랜잭션이 상호의 연산 방해 불가능 영속성 (Durability) - 한번 수행된 것은 쭉 저장되어야 함 트랜잭션의 상태 ROLLBACK COMMIT SAVEPOINT ROLLBACK 이전 DML 수행에 대해서 취소하는 연산 COMMIT이 되기 전까지는 ROLLBACK을 통해 수행한 연산들을 취소할 수 있다. COMMIT 한 트랜잭션의 수행을 마치고, 결과를 영속적으로 저장하는 연산 한번 COMMIT 된 것은 ROLLB..
SQL - DML DML : 데이터 조작어 SELECT INSERT DELETE UPDATE MERGE SELECT 하나 또는 그 이상의 테이블에서 데이터를 추출하는 데이터 조작 명령어. SELECT (칼럼명, 칼럼명...) FROM (추출할 테이블) INSERT 테이블에 데이터를 입력하는 데이터 조작 명령어. 새로운 데이터를 입력할 수 있다. INSERT ALL 하나의 쿼리로 여러 테이블에 데이터를 입력할 수 있다. INSERT ALL WHEN 조건식A THEN INTO 테이블명A VALUES(컬럼명, 컬럼명, ...) WHEN 조건식B THEN INTO 테이블명B VALUES(컬럼명, 컬럼명, ...) SELECT 컬럼명, 컬럼명, ... FROM 테이블명; INSERT ALL INTO emp_hir VALUES(em..
SQL - DATA DICTIONARY VIEW 데이터 딕셔너리 (Data Dictionary : DD) 데이터에 대한 데이터, 메타 데이터 데이터 전반에 대한 정보와 구조 정보를 제공한다. 사용자가 데이터 딕셔너리의 내용을 직접 조정하거나 삭제할 수는 없다. 사용자가 내용을 직접적으로 알 수는 없다. DATA DICTIONARY VIEW USER_XXXX ALL_XXXX DBA_XXXX XXXX 中 TABLES USER_TABLES 해당 계정이 소유한 테이블을 조회 SELECT TABLE_NAME FROM USER_TABLES ORDER BY TABLE_NAME; ALL_TABLES 현재 해당 계정이 접근할 수 있는 전체 테이블을 조회 자신의 객체 뿐만 아니라 타 계정에서 접근할 수 있도록 해 둔 객체까지 조회 가능 SELECT OWNER, TABL..