스키마(Schema)
책
데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술하는 것
명세 : 자세히
기술 : 대상의 과정의 내용과 특징을 있는 그대로 서술
영문사이트
https://www.educative.io/blog/what-are-database-schemas-examples#what
데이터베이스에 데이터를 저장하는 것을 타나내는 추상적인 디자인
=>한마디로 데이터베이스의 디자인을 어떻게 할것인가? (설계도 느낌)
디자인이라 하니까 이해하기 편해졌다.
스키마의 종류
추상적인 디자인이라 하였는데 시점에 따라 3가지로 디자인이 나뉜다.
1.개념스키마(Conceptual Schema)= 데이터베이스 관리자의 시점
데이터베이스 관리자의 시점이라는건 부분부분적인 데이터가 아닌
전체 데이터베이스 를 목적으로하는 시점이며 (정말 개발하는데 있어서 저장되는 모든 데이터)
데이터베이스 : 데이터의 모음
각 개체 간의 관계와 제약조건을 디자인한다. (접근권한, 보안 및 무결성 규칙)
개체 : 실제로 저장된 값(인스턴스)
2.외부스키마(External Schema) = 서브 스키마 = 사용자 뷰
개념스키마가 전체적인 데이터를 의미한다.
그럼 사용자는 그 전체적인 데이터를 다 알아야할까?
사용자는 필요한 데이터만 접근하면 된다.
즉, 사용자에게 필요한 데이터를 목적으로하는 구성을 디자인한다.
이게 좀 이해하기 애매했었는데 내 생각에는 DB가 응용프로그램 하나에만 쓰이는게 아니라 여러 프로그램에 쓰이기 때문에
각 프로그램마다 필요한 데이터구성이 있을텐데 이 하나하나의 디자인을 외부스키마라고 하는거 같다.
3.내부스키마(Internal Schema) = 저장 스키마
저장장치의 시점으로 보는 디자인이다.
말 그대로 전체 데이터베이스가 저장 장치에 실제로 저장되는 방법을 디자인
(레코드의 구조, 필드 크기, 표현방법...)
데이터베이스 언어(Database Language)
DBMS를 통해 사용 가능하며 기능과 목적에 의해 3가지로 나뉜다. 아잇싯팔 또 세가지네
1. 데이터 정의 언어(DDL : Data Definition Language)
DB를 구축하거나 수정할 목적으로 사용하는 언어
수정할 목적 : DB구조, 데이터 형식, 접근 방식, 외부 스키마 정의, 데이터의 물리적 순서 등
데이터베이스 관리자가 사용한다.
종류 | 역할 |
CREATE | DB, 테이블등을 생성 |
ALTER | 테이블을 수정 |
DROP | DB, 테이블을 삭제 |
TRUNCATE | 테이블 초기화 |
2. 데이터 조작 언어(DML : Data Manipulation Language)
사용자로 하여금 데이터를 처리할 수 있게 하는 언어,
사용자와 DBMS간의 인터페이스를 제공한다.
사용자가 사용한다는걸 옆집 개도 알수있다.
종류 | 역할 |
SELECT | 데이터를 조회 |
INSERT | 데이터를 삽입 |
UPDATE | 데이터를 수정 |
DELETE | 데이터를 삭제 |
3.데이터 제어 언어(DCL : Data Control Language)
데이터를 보호하고 데이터를 관리하는 목적으로 사용
데이터를 관리 : 보안, 무결성, 데이터 회복....
종류 | 역할 |
GRANT | 특정 DB사용자에게 특정 작업에 대한 수행권 부여 |
REVOKE | 특정 DB사용자에게 특정 작업에 대한 수행권 박탈 |
COMMIT | 데이터 처리의 작업 결과를 저장 반영, 하나의 복구 기점이 된다. |
ROLLBACK | 마지막 commit시점의 상태로 복원 |
'컴퓨터 공학 > 데이터 베이스' 카테고리의 다른 글
DataBase Management System (0) | 2022.01.27 |
---|---|
자료&정보, 데이터 베이스 정의, 데이터 베이스 특징 (0) | 2021.09.13 |