728x90
복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.
▶시스템 구성 요소
- 데이터베이스 시스템(DBS : Database System)
- 데이터베이스를 유지, 관리하고 필요한 시점에 데이터를 입력, 조작, 변경하여
- 목적을 달성하기 위해 이용하는 시스템
- 구성 요소
- 데이터베이스, DBMS, 데이터베이스 언어, 사용자, 데이터베이스 관리자, 하드웨어
- 응용프로그램은 X
▶스키마 (Schema)
- 데이터베이스 구조와 데이터 제약조건에 대한 논리적인 정의를 기술하는 것
- 개체, 속성, 관계에 대한 명세와 유지 조건을 포함한다.
- 외부 스키마
- 사용자나 응용프로그래머가 접근하는 데이터베이스의 논리적인 서브 스키마를 정의
- 개념 스키마
- 조직 전체의 총괄적인 입장에서 본 데이터베이스를 기술
- 내부 스키마
- 개념 스키마에 대한 내부 물리적인 저장구조를 기술
▶데이터베이스 언어
- 데이터 정의어(DDL : Data Definition Language)
- 데이터베이스 스키마를 컴퓨터가 이해할 수 있게끔 기술하는 데 사용 (구조를 만들어서 입력)
- 데이터 조작어(DML : Data Manipulation Language)
- 데이터 처리(검색, 삽입, 삭제, 변경)를 지원
- 절차적 데이터 조작어(procedural DML)
- 범용 프로그램 언어 속에 삽입(embedded)된 형태로 사용 (java, 베이직, ...)
- 비절차적 데이터 조작어(non-procedural DML)
- 일반 사용자가 대화식으로 사용(예, query language)
- 데이터 제어어(DCL : Data Control Language) - 너무 광범위하다.
- 데이터 제어(보안, 무결성, 회복, 병행수행)를 정의하고 기술하는 언어
- 이와 같이 정의어, 조작어, 제어어로 구별되지만
- 현실적으로는 이들이 별도 언어로 존재하지 않고 하나의 표준화 언어(예, SQL) 안에서 통합되어 사용된다.
▶사용자(Users)
- 일반 사용자 (end user)
- 비절차적 DML 언어(query lang.)를 통해서 데이터베이스를 접근
- query는 배워야 하는데, 쓰기가 어렵다. -> 프로그래머가 간단히 개발했다.
- 응용 프로그래머 (application programmer)
- 범용 프로그래밍 언어와 절차적 DML 언어를 사용해 DB를 접근하고 개발하는 사람 -> 일반 사용자를 위해서
- 데이터베이스 관리자 (DBA : database administrator) *역할이 중요하다
- DDL(정의어)과 DCL(제어어)을 통해 DB를 정의하고 제어하는 사람
▶데이터베이스 관리자(DBA)
- DBA(Database Administrator)
- 데이터베이스 시스템의 관리, 운영에 대한 모든 책임을 지고 있는 사람
- 논리적, 물리적 설계/보안/관리, 운영
- DBA의 업무
- DB 설계(개념 스키마)와 운영
- 행정적인 업무
- 시스템 성능 감시(monitoring) 및 각종 통계 정보 분석
▶DBMS 및 컴퓨터
- DBMS
- 아래 링크 참조
2022.10.12 - [컴퓨터공학/데이터베이스] - [데이터베이스] DBMS (Database Management System)
- 컴퓨터
- 데이터베이스 시스템을 운영/관리하기 위해서는 성능이 우수한 컴퓨터 사용이 요구된다.
- 실시간 처리/동시 사용 등
- 자세히는 하지 않는다.
728x90
'컴퓨터공학 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] B 트리 & B+ 트리 (0) | 2022.10.14 |
---|---|
[데이터베이스] 물리적 데이터 (0) | 2022.10.13 |
[데이터베이스] 데이터베이스 모델링 (*중요) (0) | 2022.10.13 |
[데이터베이스] DBMS (Database Management System) (0) | 2022.10.12 |
[데이터베이스] 데이터베이스의 정의 (0) | 2022.10.12 |