-
Database systemDatabase 2021. 3. 16. 23:04
Database system
: 데이터를 데이터베이스로 저장 관리하여 정보를 생성하는 컴퓨터 중심 시스템
3 level db
data languages
users
dbms
database administrator
database computer
데이터베이스 시스템 구성도
DB의 3단계 표현
DB에 대한 3단계 관점(View)
- 개인, 기관전체, 저장장치
외부 단계
개념 단계
내부 단계
스키마: DB의 구조(개체, 관계)와 제약조건(constraints)에 관한 명세
- 3-level DB 구조에 기반
- 외부 스키마(external schema)
- 개념 스키마(conceptual schema)
- 내부 스키마(external schema)
외부 스키마(external schema)
- 개개 사용자 관점에서 정의한 DB스키마
- 전체 DB의 한 논리적인 부분
- subschema
개념 스키마(conceptual schema)
- 범 기관적인 관점에서 정의한 DB스키마
- 모든 응용에 대한 전체적인 통합된 데이터 구조
- schema
내부 스키마(internal schema)
- 저장장치 관점에서 정의한 DB스키마
- 개념 스키마에 대한 저장구조(storage structure)를 정의
각각의 스키마는 매핑에 의해 독립성을 갖게 된다.
카탈로그(Catalog)
- 시스템 내의 모든 객체들에 대한 정의나 명세에 대한 정보를 수록
- 시스템DB, 메타 데이터베이스
- DB관리자(DBA)가 사용하는 도구
- 사용자와 시스템 모두 사용
- 데이터 사전(data dictionary)이라고도 함
데이터 디렉토리(data directory)
- DB에 저장된 데이터를 참조(reference)하는데 필요한 정보를 수록
- 시스템만 사용
데이터 언어(data language)
데이터베이스를 정의, 조작, 제어하기 위한 시스템과의 통신수단
데이터 정의어(DDL: Data Definition Language)
데이터베이스 구조를 정의하고 변경하는데 사용
ex) CREATE TABLE(StudentNumber INT, LastName CHAR(25), FirstName CHAR(25), EmailAddress CHAR(100));
데이터 정의의 내용
논리적 데이터 구조의 정의
-스키마, 외부 스키마 명세
물리적 데이터 구조의 정의
-내부 스키마 명세
-데이터 저장 정의어(data storage definition language)
논리적 데이터 구조와 물리적 데이터 구조 간의 사상을 정의
데이터 조작어(DML: Data Manipulation Language)
- 사용자(응용프로그램)와 DBMS 사이의 통신수단
- 데이터 처리 연산(operations)의 집합(데이터의 검색, 삽입, 삭제, 변경 연산)
절차적(procedural) DML
- 저급 데이터언어(low-level data language)
- what과 how를 명세
- 한번에 하나의 레코드만 처리
- 응용 프로그램 속에 삽입(embedded)되어 사용
- DML예비 컴파일러(precompiler)에 의해 처리
비절차적(non-procedural) DML
- 고급 데이터 언어(high-level data language)
- what만 명세하고 how는 시스템에 위임
- 한번에 여러 개의 레코드를 처리
- 질의어(Query Language)
- 독자적이고 대화식 : command 타입
- 프로그램의 추상적 표현
☞NOTE
데이터 부속어(DSL, Data SubLanguage)
- host program 속에 삽입되어 사용되는 DML
- 비절차적 또는 절차적 DML
데이터 언어의 완전성(completeness of data language)
- 사용자가 원하면 어떤 객체도 추출할 수 있고, 관계도 표현할 수 있는 능력
※비절차적 DML 예제(SQL)
질의: Sam의 EmailAddress를 검색하라
SELECT EmailAddress
FROM STUDENT
WHERE FirstName = 'Sam';▶Sam.Cooke@OutU.edu
데이터 제어어(DCL: Data Control Language)
공용 데이터베이스 관리를 위해 데이터 제어(Data Control)를 정의하고 기술
데이터 제어 내용
- 데이터 보안
- 데이터 무결성
- 데이터 회복
- 병행수행
DB관리 목적으로 DBA가 사용한다.
※DCL예제(SQL)
(DBA가) user1에게 STUDENT테이블에 대한 검색(select)권한을 부여하라
GRANT SELECT ON STUDENT TO user1;
데이터 언어(SQL)
DDL
- CREATE 생성
- ALTER 수정
- DROP 제거
DML
- SELECT 검색
- INSERT 삽입
- UPDATE 갱신
- DELETE 삭제
DCL
- 권한부여 GRANT, REVOKE
- 무결성 CHECK
- 회복 COMMIT, ROLLBACK
- 병행제어 LOCK, UNLOCK
사용자(Users)
: 데이터베이스를 이용하기 위해 접근하는 사람
일반 사용자(end user)
- 비절차적 DML(query language)을 통해서 데이터베이스를 접근
- menu, form, graphics
- 데이터의 insertion, deletion, update, retrieval
응용 프로그래머(application programmer)
- 응용 프로그램(host언어 + DML(DSL))을 통해서 DB를 접근
- host 언어 : PL/I, COBOL, PASCAL, C, Java
DB관리자(DBA)
- DDL와 DCL을 통해 DB를 정의하고 제어하는 사람
'Database' 카테고리의 다른 글
관계 데이터베이스 (0) 2021.03.23 DBMS(2) (0) 2021.03.23 데이터 독립성, DBMS의 발전과정 (0) 2021.03.15 DBMS (0) 2021.03.14 Database 정의,특성,구성요소,구조 (0) 2021.03.14