EIP (Engineer Information Processing)
History
1장. 데이터베이스
- 데이터베이스의 특성
- 실시간 접근성(Real-Time Accessibility) 리얼타임 엑세스보얼
- 계속적인 변화(Continuous Evolution) 컨티니워스 에볼루션
- 동시 공용(Concurrent Sharing) 컨커넌트 쉐어링
- 내용에 의한 참조(Content Reference) 컨텐트 레퍼런스
- 릴레이션 관련 용어
- 릴레이션 (relation)
- 같은 성격의 데이터들의 집합을 의미. 흔히 테이블이라고 말하는 용어와 같은 의미로 이론적인 용어. 릴레이션은 튜플과 에트리뷰트로 데이터를 정렬하여 관리한다.
- 튜플 (tuple)
- 릴레이션의 각 행을 의미. 흔히 일반적인 용어로 레코드(record)와 로우(row)와 같은 의미로 사용된다.
- 에트리뷰트(attribute) = 속성
- 릴레이션에서 이름을 가진 하나의 열을 말한다. 흔히 일반적인 용어로 칼럼(column)과 같은 의미로 사용된다.
- 디그리(degree)
- 에트리뷰트의 수를 말한다.
- 카디널러티(cardinality)
- 튜플들의 수를 말한다.
- 도메인(Domain)
- 하나의 애트리뷰트가 취할 수 있는 같은 타입의 모든 원자 값 들의 집합
- 릴레이션 (relation)
- 릴레이션 특징
- 한 릴레이션에 정의된 튜플들은 모두 다르다.
- 한 릴레이션에 정의된 튜플들은 순서에 무관하다.
- 튜플들은 시간에 따라 변한다.
- 릴레이션 스키마를 구성하는 에트리뷰트의 값은 동일해도 된다.
- 에트리뷰트는 더 이상 쪼갤 수 없는 원자값으로 구성된다.
- 릴레이션을 구성하는 튜플을 유일하게 식별하기 위한 속성들의 부분집합을 키(Key)로 설정한다.
- 릴레이션 구성
- 릴레이션 스키마(스킴=내표)/정적: 테이블의 항목 수준의 정의 (도서번호, 도서이름, 출판사)
- 릴에이션 인스턴스/동적: 릴레이션 스키마에 실제 저장된 데이터의 집합
- 시스템 카탈로그 란?
- 시스템 카탈로그는 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
- 시스템 카탈로그 내의 각 테이블은 사용자를 포함하여 DBMS에서 지원하는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.
- 데이터 정의어의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계 정보를 저장한다.
- 카탈로그들이 생성되면 자료사전에 저장되기 떄문에 좁은 의미로는 카탈로그를 자료 사전이라고도 한다.
- 카탈로그에 저장된 정보를 메타 데이터라고 한다.
- 카탈로그의 특징
- 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해볼 수 있다.
- INSERT, DELETE, UPDATE문으로 카탈로그를 갱신하는 것은 허용되지 않는다.
- 데이터베이스 시스템에 따라 상이한 구조를 갖는다.
- 카탈로그는 DBMS가 스스로 생성하고 유지한다.
- 카탈로그의 갱신 : 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동으로 갱신한다.
- 분산 시스템에서의 카탈로그 : 보통의 릴레이션, 인덱스, 사용자 등에 정보를 포함할 뿐 아니라 위치 투명성 및 중복 투명성을 제공하기 위해 필요한 모든 제어 정보를 가져야 한다.
- 데이터베이스 물리적 설계 시 고려할 사항
- 저장 레코드 양식 설계
- 접근 경로 설계
- 레코드 집중의 분석 및 설계
- 인덱스 구조
- 레코드 크기
- 파일에 존재하는 레코드 개수
- 파일에 대한 트랜잭션의 갱신과 참조 성향
- 시스템 운용 시 파일 크디의 변화 가능성
- 데이터 베이스 언어
- DDL (Data Definition Language)
- 데이터베이스를 구축하거나 수정하는데 사용되며 데이터베이스의 구조와 데이터의 형식, 접근방식을 정의하는 언어입니다. DDL은 번역된 결과가 Data Dictionary 라는 데이터 사전 파일에 저장이 됩니다. 명령어로는 CREATE, ALTER, DROP, RENAME, TRUNCATE 가 있습니다.
- DML (Data Manipulation Language) 메뉴펠레이트?
- 사용자 DBMS와 응용프로그램 간의 interface를 제공하며 사용자가 데이터를 직접 처리할 수 있게 하는 명령어로 데이터베이스의 Sub Language 역할을 합니다. 명령어로는 SELECT, INSERT, UPDATE, DELETE 가 있습니다.
- DCL (Data Control Language)
- 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어입니다. 주된 명령어로는 COMMIT, ROLLBACK, GRANT, REVOKE 가 있습니다.
- DDL (Data Definition Language)
- 스키마(Schema) 란?
- 스키마는 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.
- 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.
- 스키마는 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠진다.
- 스키마의 특징
- 스키마는 데이터 사전(Data Dictionary)에 저장되며, 다른 이름으로 메타데이터라고도 한다.
- 스키마는 현실 세계의 특정한 한 부분의 표현으로서 특정 데이터 모델을 이용해서 만들어진다.
- 스키마는 시간에 따라 불변인 특성을 갖는다.
- 스키마는 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다.
- 데이터 베이스 정의
- 통합된 데이터(Integrated Data): 자료의 중복을 배제한 데이터의 모임이다.
- 저장된 데이터(Stored Data): 컴퓨터가 접근할 수 있는 저장 매체에 저장된 자료이다.
- 운영 데이터(Operational Data): 조직의 고유한 업무를 수행하는 데 존재 가치가 확실하고 없어서는 안 될 반드시 필요한 자료이다.
- 공용 데이터(Shared Data): 여러 응용 시스템들이 공동으로 소유하고 유지하는 자료이다.
- 트리의 차수: 차수가 많은 노드의 차수를 의미 (C=4)
- 노드의 차수: 한 지점에서 나온 가지의 수 (B=1, C=4)
- 터미널 노드의 수: 터미널 노드란 자식이 없는 노드의 수 (E,F,G,H,I,D)
- 전위 순회(preorder) -> (root, left, right)
- 중위 순회(Inorder) -> (left, root, right)
- 후위 순회(postorder) -> (left, right, root)
- 데이터 모델의 구성 요소
- 구조(Structure)스트럭처: 논리적으로 표현된 개체들 간의 관계를 표시함
- 연산(Operation)아퍼레이션: 데이터베이스에 저장된 실제 데이터를 처리하는 방법을 표시함
- 제약조건(Constraint)컨스트레인트: 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 표시함
- 데이터 모델의 구성 요소
- Structure (구조): 논리적으로 표현된 개체들 간의 관계를 표시함
- Operation (연산): 데이터베이스에 저장된 실제 데이터를 처리하는 방법을 표시
- Constraint (제약조건): 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건을 표시함
- 관계대수 / 관계해석 비교
- 트랜잭션의 특성 / 정의
- 키 종류
- 데이터베이스 논리적 설계시 고려사항
- 해싱 테이블
- 객체-관계 모델
- 정규화 개념 / 목적
- 자료구조 분류
'IT 이야기 > DB' 카테고리의 다른 글
MYSQL replication & mysql 이중화 (master,slave) (0) | 2015.10.17 |
---|