본문 바로가기

분류 전체보기

(313)
[ORACLE] 절차적, 비절차적 언어의 특징 및 대표적인 언어 절차적 언어 - 절차적 언어란, 개발자가 처리 절차(처리순서, 처리방법)를 처음부터 끝까지 정해주어야 하는 언어로, COBOL, JAVA, C가 대표적인 언어다. 비절차적 언어 - 비절차적 언어란, 개발자가 처리절차를 지정하지 않고 원하는 결과를 정의하여 요청하는 언어다. 예시 SELECT 이름, 입사일, 급여 FROM EMP WHERE 급여 >= 2000; 절차적인 언어로 위의 기능을 개발한다면, 어떻게(HOW) 처리할 것인지를 프로그래밍해야하지만, SQL로 개발할 땐 원하는 것이 무엇인지를 명기한다.
[ORACLE] DBMS 관점에서 본 커넥션과 세션의 차이 세션의 정의 - 세션은 사용자 상태정보를 가진 메모리 덩어리다. - 한 세션마다 1MB ~ 10MB 정도의 메모리를 할당한다. 세션의 SCOPE - 현재 세션 - 하지만, OBJECT는 공유한다. 세션의 LIFETIME - LOGIN ~ LOGOUT 세션의 필요성 - DBMS 서버가 각자의 사용자에게 서비스를 해주기 위해서 필요하다. 커넥션의 정의 - 클라이언트와 서버 사이의 연결 통로. 이 통로를 통해 Request, Response가 왔다갔다 한다. - 그러나, 세션이 종료되면 커넥션이 되어도 Request, Response가 불가능하다.
[ORACLE] SQL 특징 4가지 1. ANSI/ISO 표준 언어이다. - 공인된 기관의 표준화된 문법이 있다. 따라서 DBMS의 종류에 관계 없이 사용할 수 있다. 2. English-like - SQL 명령어의 구조와 의미가 영어 문맥과 유사하다. - SQL 명령어는 대소문자를 구분하지 않는다. 단, 데이터는 대소문자를 구분한다. ('manager', 'MANAGER') 3. 관계형 DBMS에 접근하는 유일한 언어다. - 관계형 DBMS에 접근하는 유일한 언어이기 때문에 DBMS 관련 업무를 수행하는 모든 사람들은 SQL을 통해서만 업무를 수행할 수 있다. 4. 비절차적인 언어다. - 개발자가 처리절차를 지정하지 않고, 원하는 결과(WHAT)를 정의하여 요청하는 언어다.
[ORACLE] SQL 명령어 분류표 및 의미 명령어 분류표 질문 QUERY에 SELECT만 따로 빼놓은 이유는? - 학자에 따라 5개의 카테고리, 4개의 카테고리로 분류하기도 한다. - QUERY는 조작이 아니라 단순히 조회만 하기 때문에, DML보다 QUERY라는 별도의 카테고리에 넣는 것이 맞다는 의견도 있다. 명령어의 대상 - QUERY: (데이터를 조회) QUERY - DML: (데이터를) INSERT(입력), UPDATE(수정), DELETE(삭제) - DDL: (OBJECT를) CREATE(생성), ALTER(변경), DROP(삭제) - TCL: (TRANSACTION을) COMMIT(저장), ROLLBACK(취소), SAVEPOINT(임시 저장점) - DCL: (권한을) GRANT(부여), REVOKE(취소)
[ERD] 자기참조관계 ERD EMP 테이블의 MGR, EMPNO의 참조관계는 어떻게 되는가? - 1:N 자기참조관계다. - 또한, BOSS는 MGR이 필요없기 때문에, Optionality 기입해야 함. - 자기참조관계는 점선(비식별관계)로 그려야하는가? 실선(식별관계)로 그린 예제가 있어서 헷갈린다. 자기참조관계 종류
[DB] Entity 정의, 종류, 특징 Entity란 관리하고자 하는 데이터들의 집합 Entity 특징 집식사영관으로 외우자. 집에서 식사하는 영관급 장교. / 집에서 식사하면 영광이다. 집합성 - 엔터티는 두 개 이상의 속성과 두 개 이상의 데이터 인스턴스를 갖는 데이터의 집합이어야 한다. 식별성 - 엔터티는 하나 이상의 속성으로 엔터티의 각 데이터 인스턴스를 유일하게 구분할 수 있어야 한다. - 레코드를 유일하게 구별할 수 있는 식별자를 가져야 한다. 식별자는 P.K 또는 U.K로 된다. (?) 사용성 - 업무에 반드시 사용되어야 한다. 영속성 - 엔터티는 업무의 활동 주기에 따라 영속적으로 존재해야 하는 데이터 집합이다. 관계성 - 다른 엔터티와 관계가 존재해야 한다. 관계가 없는 엔터티는 사용되지 않는 엔터티다.(단, 집계성 엔터티는 ..
[ORACLE] Data Dictionary(System catalog) RDMBS에 저장되는 데이터의 종류 1. System data: USER_TABLES, USER_CONSTRAINTS 등 2. User data: EMP, DEPT 등 Data Dictionary 정의 읽기전용으로 제공되는 테이블 및 뷰들의 집합으로, DB전반에 대한 정보를 제공함. 데이터 사전에 저장되는 내용 - 오라클의 사용자 정보 - 오라클 권한과 롤 정보 - 데이터베이스 스키마 객체(Table, View, Index, Sequence 등) 정보 - 무결성 제약조건에 관한 정보 - DB 구조 정보 - 오라클 DB 함수와 프로시저 및 트리거에 대한 정보 - 기타 일반적인 DB 정보 종류 포함 관계: DBA_ > ALL_ > USER_ USER_XXXX: 특정 사용자가 조회 가능한 데이터 사전 Owne..
[ORACLE] SELECT ~ FOR UPDATE 기능 및 용도 SELECT ~ FOR UPDATE 정의 선택된 행들에 대해 배타적인 LOCK을 설정하는 기능이다. SELECT FOR UPDATE 문을 통해 커서 결과 집합의 레코드를 잠글 수 있다. 이 문을 사용하기 위해 레코드를 변경할 필요는 없다. (일반적인 SELECT 문장은 SHARED LOCK이다. 즉, 다른 사람도 동시에 접근할 수 있다.) SELECT ~ FOR UPDATE 특징 - update, delete만 row level lock이 걸린다. (select, insert는 상관 없음?) - 오라클에서 lock은 table 단위 lock이 아니라, 처리할 데이터 row 레벨 lock. SELECT ~ FOR UPDATE 용도 - 은행의 예금 및 통장의 잔액 변경의 일관성을 유지하려고 할 때 - 영화 ..