본문 바로가기

Archived(CSE Programming)/Database(Oracle)

Chap 1. DBMS & Relational Model

1) Entity-Relation Diagram

https://woongsin94.tistory.com/186?category=730536

 

ER 다이어그램(ER Diagram)

1. 정의 ER diagram 이란 Entity-Relationship Model을 표현하는 것으로, 현실세계의 요구사항(Requirements)들로 부터 Database를 설계과정에서 활용된다. 즉, 개념을 모델링하는 것으로 개체(entity)와 속성(att..

woongsin94.tistory.com

2) Table 표현하기

3) View & Index

View : DB 사용자들에게 접근이 허용된 Data들을 보여주기 위해 테이블(들)로 부터 유도된 가상 테이블이다.

(실제 물리적으로 존재하는 것이 아닌 가상으로 존재하는 데이터이다)

// View create
CREATE VIEW 뷰이름
AS SELECT 컬럼1, 컬럼2
FROM 테이블이름;

// View delete
DROP VIEW 뷰이름 RESTRICT;
DROP VIEW 뷰이름 CASCADE;

Index : DB의 data에 빠르게 접근하기 위해 존재하는 장치(색인)

CREATE INDEX 인덱스이름 ON TABLE(컬럼명 ASC);
CREATE INDEX 인덱스이름 ON TABLE(컬럼명 DESC);

4) Foreign Key

 

외래키에 대한 공부는 언제나 중요하다!

테이블 구성시 외래키를 삽입할 때 처음부터 삽입하면 에러가 날 경우에는 테이블을 구성한 다음, 아래의 쿼리문으로 제약조건을 추가해줄 수 있다.

ALTER TABLE 테이블명 
ADD CONSTRAINT 제약조건명
FOREGIN KEY (참조할 속성)
REFENCES 테이블명(참조될 속성);

5) 스키마(Schema)

스키마(Schema) : 스키마란 DB의 전반적인 구조와 제약 조건 등을 종합한 메타데이터이다.

사용자의 관점에 따라 3가지의 스키마로 구분되는데 다음과 같다.

  • 개념스키마 : Table 자체에 대한 스키마, SQL 문을 통해 데이터 처리 가능(실제 DBA가 관리하는 데이터 스키마)
  • 내부스키마 : Index를 통한 스키마, SQL 문을 통해 데이터 처리 가능(물리적인 저장 장치를 위한 스키마)
  • 외부스키마 : View를 통한 스키마(사용자가 필요한 view를 통한 스키마)

6) DBMS와 file 차이점(ACID)

  • DBSQL을 지원한다
  • 스키마(구조화 정의)가 포함되어 있다(VIEW를 제공한다)
  • 여러 사용자의 동시 Access(File system도 가능하긴 함), Transaction 처리(우수)

7) Key attribute

  • Key attribute는 개체를 고유적으로 구분할 수 있는 속성을 뜻한다.
  • Multivated attribute는 속성값이 여러 개 존재할 수 있는 속성을 뜻한다(Ex. 부서의 위치가 1층과 4층 등 여러 곳에 존재할 수 있다면 Location 속성은 다중값 속성이 될 수 있다)
  • Partial key attribute는 약한 개체를 구분할 수 있는 속성을 뜻한다.
  • Composite attribute는 여러 속성들이 함께 구성하고 있는 속성을 뜻한다(Ex. FName과 Minit가 합쳐서 만들어진 Name 속성) 더 작은 단위로 쪼갤 수 있는 속성이다.
  • Derived attribute는 다른 속성으로부터 유도되어 가지게 된 속성을 뜻한다(Ex. 전체 직원 수 속성, 직원 월급 속성 으로 부터 유도된 전체 직원 총 월급 예산 속성)

8) 무결성 제약조건(Intergrity constraint)

INSERT DELETE UPDATE 연산들에 대한 제약조건이다.

실제 외래키로 이어진 데이터들에 대해 DELETE/ UPDATE 처리 시 어떻게  할지 옵션 지정

FOREIGN KEY(referencing_columns) REFERENCES referenced_table [(referenced_columns)]
[ON DELETE {CASCADE|SET NULL|SET DEFAULT|NO ACTION|RESTRICT}]
[ON UPDATE {CASCADE|SET NULL|SET DEFAULT|NO ACTION|RESTRICT}]

제약 조건은 수정이 불가능 -> 삭제 후 추가하기!

drop constraint, add constraint

9) 관계대수와 관계해석

https://woongsin94.tistory.com/178?category=730536

 

관계대수 & 관계해석

Relational Algebra(관계대수)란 관계형 DB에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 언어를 뜻한다. 관계대수에는 순수관계 연산자와 일반집합 연산자 두 가지를 들 수 있다. 먼저 순..

woongsin94.tistory.com

 

10) 함수종속성(Functional Dependency)

https://3months.tistory.com/193

 

데이터베이스 정규화 1NF, 2NF, 3NF, BCNF

데이터베이스 정규화 1NF, 2NF, 3NF, BCNF 데이터베이스 정규화란 데이터베이스의 설계를 재구성하는 테크닉입니다. 정규화를 통해 불필요한 데이터(redundancy)를 없앨 수 있고, 삽입/갱신/삭제 시 발생할 수 있..

3months.tistory.com

정규식(1NF, 2NF, 3NF, BCNF)

  • 1NF 도메인이 원자값 : 도메인 값이 값이 1개 즉, 원자값이어야 한다(보통 Tuple 분할로 해결)
  • 2NF 부분적 함수 종속 제거 : 다중 속성으로 구성된 기본 키 중에서 하나의 속성이 없어도 다른 속성을 결정지을 수 있는 경우 제거 (보통 테이블 분할로 해결)
  • 3NF 이행적 함수 종속 제거 : A -> B, B -> C 이면 A -> C 인 경우 제거(보통 테이블 분할로 해결)
  • BCNF 결정자가 후보키 : 다른 속성을 결정짓는 속성들은 무조건 후보키어야 한다, 최소성을 만족해야 한다(보통 테이블 분할로 해결)

Closure를 통해 Super key 찾기 -> 해당 키를 집합 {}에 추가한 뒤 종속성 특성에 따라 추적하여 모든 속성들이 집합에 포함될 수 있다면 Super key이다.

'Archived(CSE Programming) > Database(Oracle)' 카테고리의 다른 글

Chap 3. Table Index & B+tree  (0) 2019.10.22
Chap 2. ER diagram  (0) 2019.10.22
Chap 0. Oracle 기본 및 접속법  (0) 2019.10.22
B+ Tree의 삽입  (0) 2019.10.16
Oracle Table Index  (0) 2019.10.16