데이터베이스 study -

# 탐색방법
1)해싱탐색: key 값으로부터 레코드가 저장되어 있는 주소를 직접 계산하여,
   산출된 주소로 바로 접근하는 방법(= key address 변환방법)

2)이진검색(Binary): 이진검색은 전체 파일을 두개의 서브파일로 분리해 가면서,
   key record를 검색하는 방식.

3)피보나치 검색(Fibonacci): 피보나치 검색은 피보나치 수열에 따라 다음에 
   비교할 대상을 선정하여 검색하는 방식.

4)블록검색(Block Search): 파일을 구성하는 레코드들은 여러개의 Block으로 
   분할하여 Block 단위는 순서화시키고, Block 내의 자료는 순서와 관계없이
   저장시킨다.
   Index 부분을 두어, 각 Block 마다 최대 레코드 key값을 가지는 레코드번호를
   저장시킨다.

# SQL
1)DROP: schema, table, view의 제거에 사용.
2)CREATE: schema, Domain, Table, view, Index를 정의함.
3)ALTER: Table에 대한 정의를 변경하는데 사용함.

# 이상(Anomaly)의 개념 및 종류
정규화(Nomalization)를 거치지 않으면 데이터베이스 내에 데이터들이
불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상이 발생하는데
이를 Anomaly라 하며, 이상에는 삽입/삭제/갱신 이상이 있다.

# 관계 데이터 모델링 중 BCNF(Boyce-Codd Normal Form)
BCNF는 복합속성을 허용하며, 릴레이션의 모든 결정자가 후보키라는 개념에
기본을 두고 있다.
- 릴레이션 R에서 결정자가 모두 후보키인 관계형이다.
- 3NF에서 후보키가 많고 서로 중첩되는 경우에 적용하는, 
   강한 제 3정규형이라고도 한다.
- 모든 BCNF가 종속성을 보존하는 것은 아니다.

- BCNF의 제약조건: key가 아닌 모든 속성은 각 key에 대하여 완전 종속해야한다.
                            어떤 속성도 key가 아닌 속성에 대해서는 완전 종속할 수 없다.

# 릴레이션의 구성요소
1)릴레이션: Data들을 table의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와
   실제값들인 릴레이션 인스턴스로 구성된다.
2)인스턴스(Instance): 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어
   구체적인 데이터 값을 갖고 있는 것을 말한다.
3)튜플(Tuple): 릴레이션을 구성하는 각각의 행을 말한다. 
                    속성의 모임으로 구성된다.
                    파일구조에서 레코드와 같은 의미이다.
                    튜플의 수를 Cardinality 또는 기수, 대응수라고 한다.
4)속성(Attribute): 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
                        파일구조상의 데이터 항목 또는 데이터 필드에 해당된다.
                        속성은 개체의 특성을 기술한다.
                        속성의 수를 degree 또는 치수라고 한다.
5)도메인(Domain): 하나의 Attribute가 취할 수 있는 같은 타입의 원자값들의 집합이다.
                          실제 Attribute값이 나타날 때 그 값의 합볍여부를 시스템이 검사하는
                          데에도 이용된다.

# 스키마의 3계층
1)외부스키마(External Schema) = 서브스키마 = 사용자 view //각 개인의 관점
    - 데이터의 논리적 구조를 정의.
    - 하나의 데이터베이스 시스템에는 여러개의 외부 스키마가 존재가능하며, 
       하나의 외부스키마를 여러 개의 응용 p/g이나 사용자가 공용할 수도 있다.

2)개념스키마(Conceptual Schema) = 전체적인 view
    - 데이터베이스의 전체적인 논리구조.
    - 개체간의 관계자 제약조건을 나타내고
       데이터베이스의 접근 권한, 보안 및 무결성규칙에 관한 명세를 정의한다.
    - 단순히 스키마라고 하면 개념스키마를 의미.
    - 기관이나 조직체의 관점에서 데이터베이스를 정의한것.
    - 데이터베이스 관리자(DBA)에 의해서 구성된다.

3)내부스키마(Internal Schema)
    - 데이터베이스의 물리적구조이다. 
    - 데이터의 실제 저장방법을 기술한다.
    - 물리적인 저장장치와 밀접한 계층이다.
    - 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

# 무결성 vs 보안
무결성은 권한이 있는 사용자로부터 데이터베이스를 보호하는 것이고(정확한 데이터를 위한것),
보안은 권한이 없을 사용자로부터 데이터베이스를 보호하는 것이다(데이터의 안전을 위한것).

# 후위순회 (Postorder Traversal)
A / B * C * D + E    ->     AB/C*D*E+

# 데이터베이스 설계순서
1. 요구분석: 요구조건 명세서 작성.
2. 개념적 설계: 개념스키마, 스랜잭션 모델링, E-R모델
3. 논리적 설계: 목표 DBMS에 맞는 스키마 설계(종속적인), 트랜젝션 인터페이스 설계.
4. 물리적 설계: 목표 DBMS에 맞는 물리적 구조의 데이터로 변환.
5. 구현: 특정 DBMS의 DDL로 데이터베이스 생성, 트랜잭셩 작성.

# 릴레이션의 특징
- 한 릴레이션에 나타나는 속성 값은 더 이상 쪼갤 수 없는 원자 값만을 저장한다.
- 튜플은 서로 다른 값을 갖는다.
- 각 속성은 릴레이션 내에서 유일한 이름을 가진다.
- 하나의 릴레이션에서 튜플의 순서는 없다.

# 시스템 카탈로그(System Catalog)
1)의미
    - 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 DB.
    - 카탈로그에 저장된 정보르 메타 데이터라고 한다.
2)특성
    - 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하며 
       내용 검색이 가능.
    - Insert, Delete, Update 문으로 카탈로그를 갱신하는 것은 허용되지 않는다. 
    - 카탈로그는 DBMS가 스스로 생성하고, 유지한다.

# View
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 
   테이블로부터 유도된 이름을 가지는 가상테이블이다.
- view는 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다.
- 기본 테이블의 기본키를 포함한 속성집합으로 view를 구성해야만 삽입, 삭제, 갱신 연산이 가능.
- 하나의 view를 삭제하면 그 view를 기초로 정의된 다를 view도 자동으로 삭제된다.




덧글

댓글 입력 영역