IT 세상 해석하기

[데이터베이스] 2일차 정리 본문

카테고리 없음

[데이터베이스] 2일차 정리

ikohong 2019. 11. 23. 06:54
728x90
반응형

​​

스키마(Schema)의 정의

- 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술한 메타 데이터의 집합 (메타데이터 = 데이터에 대한 데이터, 즉 그 데이터 뒤에 함께 따라가는 정보)

- 데이터베이스를 구성하는데 데이터 개체(Entity)''속성(Attribute)''관계(Relationship)'. 및 데이터 조작시 데이터 값들이 갖는 제약 조건 등에 관해 전반적으로 정의한다.

- 스키마는 사용자의 관점에 따라 외부 스키마’‘개념 스키마’‘내부 스키마로 나뉜다.

 

스키마의 3계층

1.외부 스키마(External Schema) = 서브 스키마 = 사용자 뷰(View)

- 사용자나 응용 프로그래머가 각 개인의 입장에서 필요하는 데이터베이스의 논리적 구조를 정의한다.

- 전체 데이터베이스의 한 논리적 부분으로 볼 수 잇으므로 서브 스키마(Subschema)라고도 한다.

- 하나의 데이터베이스 시스템에는 여러 개의 외부 스키마가 존재할 수 있으며, 하나의 외부 스키마를 여러개의 응용 프로그램이나 사용자가 공용할 수 있다.

- 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있도록 허용한다.

- 일반 사용자는 질의어(SQL)를 사용하여 DB를 사용한다.

2. 개념 스키마(Conceptual Schema) = 전체적인 뷰(View)

- 데이터베이스의 전체적인 논리적 구조로서, 모든 응용프로그램이나 사용자들이 필요로 하는 데이터를 종합한 조직 전체의 데이터베이스로 하나만 존재한다.

- 개념 스키마는 개체 간의 관계와 제약조건을 나타내고 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 정의한다.

- 단순히 스키마(Schema)라고 하면 개념 스키마를 의미한다.

- 기관이나 조직체의 관점에서 데이터베이스를 정의한 것이다.

- 데이터베이스 관리자에 의해서 구성된다.

3. 내부 스키마(Internal Schema)

- 물리적 저장장치의 입장에서 본 데이터베이스 구조로, 물리적인 저장장치와 밀접한 계층이다.

- 실제로 데이터베이스에 저장될 레코드의 물리적인 구조를 정의하고, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다.

- 물리적인 저장장치와 밀접한 계층이다.

- 시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마이다.

 

데이터베이스 언어(Database Language)

​1. 데이터 정의 언어(DDL : Data Definition Language)

- DB 구조, 데이터 형식, 접근 방식 등 DB를 구축하거나 수정할 목적으로 사용하는 언어이다.

- 번역한 결과가 데이터 사전(Data-Dictionary)이라는 특별한 파일에 여러 개의 테이블로 저장된다.

- 데이터 정의 언어의 기능

-->외부 스키마 명세 정의<--

-->데이터베이스 정의 및 수정<--

-->논리적, 물리적 데이터 구조 정의<--

-->논리적 데이터 구조와 물리적 데이터 구조 간의 사상 정의<--

-->스키마에 사용되는 제약조건에 대한 명세 정의<--

-->데이터의 물리적 순서 규정<--

 

2. 데이터 조작 언어(DML : Data Manipultaion Language) = 서브 언어

- 사용자로 하여금 데이터를 처리할 수 있게 하는 도구로서 사용자(응용 프로그램)DBMS간의 인터페이스를 제공한다.

- 응용 프로그램을 통하여 사용자가 DB의 데이터를 실질적으로 조작할 수 있도록 하기 위해 C, COBOL 등의 호스트 언어에 DB 기능을 추가시켜 만든 언어이다.

- 대표적인 데이터조작(DML)에는 질의어가 있으며, 질의어는 터미널에서 주로 이용하는 비절차적(Non procedural)데이터 언어이다.

<<참고자료>>

- 절차적 조작 언어 : 사용자가 어떤 데이터가 필요하면 필요한 데이터를 어떻게 구하는지 절차에 맞게 구체적으로 명시

- 비절차적 조작 언어 : 사용자가 어떤 데이터가 필요한지만을 명시하고 어떻게 구하는지 명시하지 않는 언어

배우기 쉽고 사용하기 쉬우나 코드의 효율성 면에서 비효율적

3. 데이터 제어 언어(DCL : Data Control Language)

- 무결성, 보안 및 권한 제어, 회복 등을 하기 위한 언어이다.

- 데이터를 보호하고 데이터를 관리하는 목적으로 사용된다.

- 데이터 제어 언어의 기능

-->불법적인 사용자로부터 데이터를 보호하기 위한 데이터 보안(Security)<--

-->데이터의 정확성을 위한 무결성(Integrity)유지<--

-->시스템 장애에 대비한 데이터 회복과 병행수행 제어<--

 

DBA(DataBase Adminstrator)

- 데어터베이스 시스템의 모든 관리와 운영에 대한 책임을 지고 있는 사람이나 그룹을 의미한다.

- DBA의 역할

-->데이터베이스 구성 요소 결정<--

-->개념 스키마 및 내부 스키마 정의<--

-->데이터베이스의 저장 구조 및 접근 방법 정의<--

-->보안 및 데이터베이스의 접근 권한 부여 정책 수립<--

-->장애에 대비한 예비(Backup) 조치와 회복(Recovery)에 대한 전략 수립<--

-->무결성을 위한 제약조건의 지정<--

-->데이터 사전의 구성과 유지관리<--

-->사용자의 요구와 불평의 청취 및 해결<--

-->사용자에 대한 교육<--

-->변화 요구에 대한 적응과 성능 향상에 대한 감시<--

-->시스템 감시 및 성능 분석<--

-->데이터 사용 추세, 이용 형태 및 각종 통계 등을 종합, 분석<--

 

728x90
반응형
Comments