HJW's IT Blog

Database: 1주차 본문

Database

Database: 1주차

kiki1875 2023. 8. 29. 14:48

Chapter 1: DB & DB Users

# 기초 개념

        - Data: 기록될 수 있는 명시적 정보

        - Database: 서로 연관되어 있는 data 의 집합

        - Mini-World: DB 에 저장되어 있는 현실의 정보

        - Database Management System(DBMS): Database 를 관리하기 위한 sw 시스템

 

# Database 의 특성

        - 현실을 어느정도 반영한다 (Mini World)

        - 논리적으로 연과노딘 데이터의 집합

        - 특정 목적을 가져 설계된다

 

# DBMS

        - 사용자들이 DB를 생성 및 유지보수할 수 있도록 하는 프로그램들

        - Defining, Constructing, Manipulating, Sharing, Protecting, Maintaining

Simplified Database System Env.

# DB Approach vs. File-processing Approach (DB approach 장점)

        - Self - describing 

                > DB system은 다음을 포함한다

                        >> DB 그 자체

                        >> DB 구조와 제약에 대한 정의 (system catalog)

                > Catalog 는 DBMS 와 DB users 가 사용

                        >> 이는 DBMS sw 가 여러 다른 DB에서 작동할 수 있도록

                        >> Traditional File processing 에서는 data 정의가 appliction program에 포함되었음

                

        - Program, data, data abstraction 사이의 단열재 역할

                > Program-Data Independence

                        >> 데이터 저장 구조와 동작을 DBMS program 을 바꾸지 않고 바꿀 수 있다

                > Program-Operation Independence

                        >> 동작은 객체지향적, 객체연관적 DB에 정의

                                >>> Interface: 동작 이름 & Data types

                                >>> Implementation: Interface에 영향을 주지않고 변경 가능

                > Data Abstraction

                        >> Data Model 을 이용해 저장 세부사항을 숨긴다

                        >> Data Model 은 논리적 concept를 사용하는데, 이는 objects, objects 의 properties, objects 사이의 연관성등

        - Support multiple views of data

                > 각 사용자는 DB의 다른 view를 가질 수 있다. (각자가 필요한 정보만 제공)

                        >> subset of DB

                        >> DB 에서 뽑아온 가상의 data

                > Multiuser DBMS는 multiple view에 대한 정의가 필요

        - Data 의 공유 & multiuser transaction

                > 여러 사용자들이 동시에 DB access

                        >> Concurrency control

                                - 몇몇 사용자들이 같은 data를 동시에 update 하려한다면, update 가 올바르도록 control

                        >> Most important Characteristics

                > Transaction

                        >> DB access를 한개 이상 포함한 프로그램의 실행 (ex. reading / updating DB records)

                        >> DBMS 는 다음 transaction properties를 포함해야 한다

                                - isolation & atomicity

 

# Actors on the Scene

        > Database Administrator (DBA)

                >> 전체 리소스를 관리

                >> 다음 사항에 대한 책임자

                        >>> DB 접근 권한

                        >>> 사용에 대한 모니터링

                        >>> 필요한 SW 와 HW resources 

        > DB Designers

                >> 적절한 DB 구조를 설계

        > End Users

        > System Analysts and Application Programmers

 

# Workers Behind the Scene

        > DBMS system designers and implementers

                >> DBMS 모듈과 인터페이스를 sw 페키지로 design & implement

        > Tool Developers

                >> DB system design 과 성능 향상을 위한 도구를 설계 / 재작

        > Operators and Maintenance personnel

                >> 실제로 실행 및 유지보수에 대한 책임자

 

Chapter 2: DB System Concepts and Architecture

# Data Abstraction : 데이터 저장에 대한 세부사항을 숨기는것# Data Models, Schemas, Interfaces

        > Data Model = (S, O, C)

        > DB 의 구조화 제한사항을 설명하는 collection of concepts

        > Abstraction 에 필요한 방법 제시

        > Structure & Operations

                >> Structure: Data types, relationships, constraints

                >> Set of basic operations

 

# Categories of Data Models

        > 목적에 맞는 역할 및 컨셉으로 분류한다

                >> High Level or Conceptual data models

                        - Entity, Attributes, Relationship

                >> Representational Data Models

                        - Provide Concepts between CDM and PDM

                >> Low Level or Physical data models

                        - How data is stored in computer ( Record formats, access paths)

 

# Schemas, Instances and Database State

        > DB Schema

                >> DB 에 대한 설명 : system catalog 에 저장된 meta-data

        > Schema Diagram

        > Schema Construct

        > DB State or Snapshot

                >> 특정 시간에 DB 에 저장된 data 의 모습

        >      >> Current set of occurrences or instances in the DB

        

 

# DBMS Architecture and Data Independence

        > Three Characteristics

                >> Insulation of Programs and Data

                >> Support of multiple user views

                >> use of a catalog to store the database description

 

                >> Internal level has internal schema -> 물리적 저장 구조에 대한 설명

                >> Conceptual level has a conceptual schema 

                        - Community of users 가 사용하는 DB의 전체적인 구조에 대한 설명

                >> External or view level includes a number of external schemas

                        - 특정 그룹이 필요로 하는 DB의 특정 부분에 대한 설명

 

# Data Independence

        > 한 schema를 다른 schema를 변경하지 않고 바꿀 수 있는 capacity

        > Logical data independence

                >> Capacity to change the conceptual schema (external schema나 application program을 바꾸지 않고)

                >> View Definition 이나 Mapping 만 바꾸면 된다

 

        > Physical data independence

                >> Capacity to Change Internal Schema ( Conceptual Schema 나 external schema를 바꾸지 않고)

        > Data independence 는 한 단계의 schema 가 변경되어도 다른 단계의 schema 가 바뀌지 않는것

 

# Database Languages and Interfaces

        > DBMS는 적절한 언어와 interface 를 각 사용자에게 제공해야 한다

                >> DDL (Data Definition Language)

                        - DBA 와 DB designers 가 사용

                        - Storage Definition Language (SDL) 과 View Definition Languate (VDL)

                           

                >> DML (Data Manipulation Language)

                        - DB 를 변경 (retrieval, insertion, deletion and modification of data)

                        - 어떤 data를 어떻게 가져올 지에 대한 정의 

                        - Data Sublanguage: General Purpose PL 에 내장된 DML commands

                        - Query Language: High Level DMS used in stand-alone interactive manner

                        - SQL: Comprehensive integrated language, Combination of DDL, VDL, DML

 

                >> Query Languages

 

# DBMS Component Modules

        > Disk 에 대한 접근은 OS 가

        > DBMS 들은 각자의 buffer management module을 가지고 있다

        > Stored data manager 가 DBMS information 에 대한 접근 제어

        > DDL Compiler

                >> DDL 에 저장된 schema definition에 대한 동작, schema 에 대한 설명을 DBMS catalog 에 저장

        > Runtime Database Processor

                >> 런타임에 DB 제어

        > Query Compiler

                >> High level query들을 제어

                >> DB access code 를 생성하여 query 를 처리

                >> Runtime processor 를 호출하여 query 처리

        > Precompiler

                >> DML 명령들을 application program 에서 추출하여 DML compiler 에게 보냄

                >> 프로그램의 나머지 부분은 host compiler 에게

                

 

'Database' 카테고리의 다른 글

PostgreSQL 격리 수준 제대로 이해하기: MVCC·VACUUM·SSI  (2) 2025.08.24
[Database Studio] 2주 수업 정리  (0) 2024.05.26
Complex Query 2  (0) 2023.09.22
DB: Chapter 7(Complex Queries)  (0) 2023.09.16
DataBase: 3주  (0) 2023.09.09