Search
🕳️

데이터베이스 개념

태그
Database
1.
DDL: 데이터베이스를 정의하는 언어이다.
2.
DML: 데이터를 조작할 수 있도록 하는 언어이다.
3.
DCL: 데이터베이스를 제어할 수 있도록 하는 언어이다.
4.
DBA: 데이터베이스에 포함되는 개체, 속성, 관계, 구성요소를 관리하고 감시하는 역할을 말한다.
5.
Data Dictionary: 데이터베이스를 운영하기 위해 필요한 정보들의 집합이다. 대부분의 경우 일반 사용자들이 값을 변경하지 않는다. System Catalog라고도 한다.
6.
Table: 데이터들을 2차원 표로 나타낸 것이다.
7.
Row: 관계형 데이터베이스에서 튜플이라고 불리기도 하며, 테이블의 행이다.
8.
Column: 관계형 데이터베이스 테이블에서 각 열을 말한다. 속성을 표현한 값이다.
9.
Primary key: Table내에 저장된 데이터의 유일성을 보장하는 키이다.
10.
Foreign key: 다른 Table의 Primary key를 참조하여 데이터간의 참조 무결성을 보장한다.
11.
Optimizer: 실행계획을 세우고 문장을 실행하기 전에 가장 효과적인 계획을 선택한다.
12.
SGA: oracle 인스턴스에 대한 데이터와 제어 정보를 가지는 공유 메모리 영역의 집합이며, 데이터를 읽거나 변경하기 위해서 사용 되는 공용 메모리 영역이다.
12.1. Shared pool: 파싱, 토큰파싱, 풀파싱, 파스트리, 플랜, 인덱스를 처리하는 곳.
Shared Pool은 공유 SQL 영역과 Data Dictionary cache 구조를 갖고 있는 SGA의 일부분이다.
12.2. Database Buffer Cache: 디스크에서 읽은 데이터 블록의 복사본을 가지고 있다. 동시 접속된 사용자들은 Database Buffer Cache를 공유하여 Access한다.
12.3. Redo Log Buffer: 데이터베이스의 모든 변경된 정보를 갖고 있는 순환적 버퍼이다.
13.
기본 SQL문: Select, Update, delete, insert
14.
제약조건 종류: not null(null을 허용하지 않는다.), check(조건에 맞는 값만을 허용한다.), unique(중복된 값을 허용하지 않는다.), primary key, foreign key
15.
View: 뷰는 테이블과 유사하고 테이블처럼 사용하지만 테이블과는 달리 data를 저장하기 위한 물리적인 저장 공간을 필요로 하지 않는다.
16.
View 생성
create view v_emp (empno, ename, job, mgr) as select empno, ename, job, mgr from emp where job = 'MANAGER';
JavaScript
복사
17.
View 삭제
DROP VIEW v_emp;
JavaScript
복사
18.
Sequence: 자동적으로 순차적인 번호를 생성하고자 할 때 사용한다.
19.
Sequence 생성
Create sequence empno_seq increment by 1 -- 증가시킬 값 start with 1000 -- 시작 값 maxvalue 9999 -- 끝 값 nocycle -- 마지막 값 도달하면 순환할것인지 cache 10; -- 캐시 사용
JavaScript
복사
20.
Sequence 삭제
Drop sequence empno_seq;
JavaScript
복사
21.
Sequence dictionary: user_sequences
22.
Synonym: 객체 이름을 단순화 시켜주는 객체이다.
23.
Synonym 생성
Create synonym e for emp;
JavaScript
복사
24.
Trigger: 특정 event가 발생할 때 자동으로 임의의 처리를 하고자 할 때 사용한다.
25.
Trigger 종류: DML Trigger(DML event가 발생할 때 작동)
26.
Trigger 생성
create or replace trigger emp_aft_ins_row after insert on emp for each row begin insert into emp_Rating (emptno) values (:new.empno); end;
JavaScript
복사
27.
Procedure와 Function은 PL/SQL, Java, C등을 이용하여 작성된다. Procedure는 실행 결과를 리턴하지 않고 Function은 실행 결과를 리턴한다.
28.
Package는 관련된 Procedure와 Function들의 묶음이다.
29.
Package는 Header 부분과 body 부분으로 구성되어있다.
30.
Java Stored Procedure: oracle8i부터 사용할 수 있으며, 향상된 Application Performance를 제공하고 비즈니스 룰의 집중된 시행을 제공하는것이다.
31.
데이터베이스에 자바 class load
loadjava -user scott/tiger SayHello.class
JavaScript
복사
32.
Java Stored Proceduer 삭제
dropjava -user scott/tiger SayHello.class
JavaScript
복사
33.
Database를 처음 생성하면 SYS, SYSTEM, SCOTT 사용자 계정이 자동적으로 생성된다
34.
SYS는 가장 상위 레벨을 사용자이다.
35.
SYSTEM은 SYS 사용자로부터 DBA권한을 받은 사용자이다.
36.
System Privileges: 시스템 권한은 사용자로 하여금 특정한 데이터베이스 작업이나 시스템 레벨의 작업을 수행할 수 있게 해준다.
37.
원격 데이터베이스 액세스: Network으로 연결된 Database와의 통신을 하는것
38.
Network으로 연결된 Database를 액세스하기 위해 client는 tnsnames.ora, sqlnet.ora 파일이 있어야 하며 server에는 listener.ora 파일이 있어야한다.
39.
데이터베이스 링크는 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정을 정의하는 오라클 객체이다.
40.
Export Utility는 객체 정의등을 추출하여 Binary 형태의 dump 파일을 생성한다.
41.
Import Utilit는 Export에 의해 생성된 Dump 파일을 Database로 Import시킨다.
42.
Dictionary: 데이터 관리에 필요한 모든 정보가 들어있다.
43.
테이블스페이스 storage 구조: DB BLOCK → EXTENT → SEGMENT → TABLESPACE → DATABASE