[DB]4. DBS(Database System)<미완성>

kai·2025년 4월 9일

DataBase(완료)

목록 보기
7/10

용어정리

Schema: 데이터베이스 구조를 정의한 청사진, 설계도
Instance: 특정 시점의 실제 데이터 상태
if Schema is tool, Instance is real value in Schema.

Query: 데이터베이스에 어떤 작업을 요청하기 위한 명령문이다.

[예시]: 전공이 CS인 학생의 이름을 보여달라고 질문하는 것
SELECT name FROM Student WHERE major = 'CS';

Level : 어떻게 데이터가 관리되는지 관점. 주로 ANSI/SPARC 구조로 정의
Model : 어떻게 데이터가 조직되고 표현되는지 관점. 데이터베이스 디자인 프로세스에서 사용됨.
Metadata : 데이터에 대한 정보.
e.g. 사진-(metadata)크기: 3MB, 해상도: 1920x1080, 포맷: JPEG
End-users : 소프트웨어나 데이터베이스 결과를 최종적으로 이용하는 사용자.

<참고>DBS(Database System)와 DBMS(Database Management System)의 차이

DBMS: 데이터베이스를 관리하는 소프트웨어 시스템(DBS에 포함됨)
DBS: 데이터베이스에 데이터를 저장하고,관리하고, 조직에 필요한 정보를 생성하는 시스템.


DBS의 구성요소

  1. 사용자
  2. DB 언어
  3. DBML
  4. DB

3-Level DB Architecture<미완성/model+schema>

1. External Level(View)

: 서로 다른 사용자가 같은 데이터베이스의 다른 모습을 본다.
추상화: (상)각각의 사용자에게 필요한 데이터(subschema)만 제공(각각 view가 다름)

External Schema

사용자가 데이터베이스를 어떻게 인식하는지 정의하는 개념적 계층

  • 개인화 view
  • 접근 제어
  • 데이터 독립성

2. Conceptual level(Logical)

: 전반적인 조직 구성을 제공한다. Entity +relationship+constraint(물리적 저장소 세부사항은 고려하지 않음)으로 구성 되어있다.
하나의 데이터베이스는 하나의 Conceptual schema를 가짐!!
추상화: (중) 논리적 데이터 표현과 숨겨진 물리적인 디테일도 보여줌

3. Internal level(physical)

: 어떻게 데이터가 실제로 물리적 저장소 장치에 저장되었는지 정의한다.
인덱싱 + 파일구조 + 최적화기술
추상화: (하) 물리적 저장소를 다루기 때문

Independence: Slogical & physical은 서로 영향을 주지 않는다.

3-level 아키텍쳐의 장점

  1. 안전성 : 사용자는 오직 관련된 데이터에만 접근가능
  2. 데이터 무결성 : 다양한 view에서 일관성을 관리하여 무결성을 향상시킨다.
  3. DB 확장성 : 전체 시스템에 영향을 주지 않고 변경을 허락해서 DB확장성을 개선한다.

단계별 Schema

External Schema

:

  • Personalized view
  • Access control
  • data dependency

Conceptual Schema

: 물리적 저장소의 변화가 논리적 구조에 영향을 주지 않도록 막는 역할.

  • Unified Structure: conceptual Schema는 오직 1개만 존재한다.
  • DBMS independence
  • independence

Internal Schema

: 데이터 저장소 관점에서 DB를 보여줌.(파일구조,저장소 조직,접근방식등)

  • Storage Structure
  • Access Method
  • Performance Optimization

Level vs Schema vs Model

Level : 서로다른 데이터 관리 관점(Different perspective of data management/abstraction)
Schema : 구조 디자인(Structural Design)
Model : 전반적인 표현과 데이터 조직(overall representation and organization of data)


Data Directory

데이터의 물리적인 저장소에 대한 메타데이터(Index,Catalog)를 저장하는 시스템 데이터베이스.
DBMS가 실제데이터에 효율적이게 접근하고 위치하게 도와준다.
다음과 같은 Metadata가 포함된다.

  • Table structures
  • Index Locations
  • Storage paths
  • Access control information

User Database

최종 사용자(end-users)에 의해 사용되는 실제데이터를 담고있는 데이터베이스.

Database Users

사용이나 관리목적으로 데이터베이스에 접근하는 모든 사람.
사용 목적에 따라 구분해보면

  • DBA(Database Administrator) : DB관리 유지

  • End User : 데이터 검색,변형,분석

    • Casual User: 주로 Query나 report를 실행
    • Naive User: 어플리케이션을 통해 사전정의된 쿼리 사용
    • Power User:복잡한 쿼리를 수행하는 분석가,데이터 과학자
  • Application Programmer: SQL언어를 사용하여, 데이터베이스와 소통하며 소프트웨어를 작성하는 사람.


Database Language

DDL(Data Definition Language)

데이터구조와 스키마를 정의,변형,삭제하는 언어

  • CREATE: 새로운 데이터베이스 객체 생성(Table,Index,View등)
  • ALTER: 기존 데이터베이스 구조변형
  • DROP: 데이터베이스 객체 삭제

DML(Data Manipulation Language)

데이터의 삽입,삭제,변형,찾기를 요청하는 언어

  • INSERT: Table에 새로운 기록추가
  • UPDATE: 기존기록 변형
  • DELETE: 기록삭제
  • SELECT: table에서 데이터 추출

1) Procedural DML

  • 무슨데이터가 필요하고,어떻게 찾아야할지 특정함.
  • 사용자가 데이터에 엑세스하기 위한 단계별 프로세스를 정의해야함.
  • host language사용(C,Python,Enbedded SQL in Java)

2) Nonprocedural DML

  • 무슨데이터가 필요한지 특정하지만, 어떻게 찾을지는 생각안함.
  • DBMS가 최적의 Query실행방식을 결정함.
  • SQL사용

DCL(Data Control Language)

데이터베이스 보안과 관리를 위한 내부 규칙을 정의하는데 사용.
접근제어,보안,일관성을 가능하게 함.

  1. Integrity
  2. Securtiy
  3. Recovery
  4. Concurrency Control


profile
한 대학생의 코딩일기. 임베디드와 인공지능에 관심이 많습니다.

0개의 댓글