Week 2 - Introduction

2023. 10. 20. 13:55CS Life/Database

1. DBMS 정의

Database Management System 특징

  • system software for creating and managing databases
  • Create, Retrieve, Update, Manage 기능 제공
  • User Database 에 대한 Create, Maintain, Provide Access 기능을 제공하는 Software Pasted image 20231014195204.png
  • 성능 모니터링/튜닝, 백업 및 복구 기능을 제공
  • Contain Information about a particular enterprise
  • Can be very Large
  • Touch all aspects of out lives → 너무 간듯

DBMS가 관리하는 3가지

  • Data
  • Database Engine - access lock modify 가능
  • Schema - DB의 Logical structure 정의 Q: 스키마의 정의?

DBMS 예시

Pasted image 20231014200247.png

2. DBMS 정의

발생하는 문제 → 단어 알아두기

  1. Data redundancy and inconsistency (데이터 중복 및 불일치)
  2. Difficulty in accessing data (불편한 접근성)
    새로운 일을 할 때마다 새로 프로그램을 구성해야함
  3. Data Isolation (데이터 통합의 어려움) → Multiple files and formats
  4. Integrity Problems (무결성 문제)
    → 명시적으로 알 수 있어야 하는 무결성 제약 조건이 명시되어 있지 않음
    → 기존 제약 조건의 수정,삭제 및 새로운 제약조건의 추가가 어려움
  5. Atomicity of Updates (원자성)
    → 업데이트 과정에서 실패하면 데이터베이스가 일관되지 않은 상태로 존재
    예시: 한 계정에서 다른 계정으로 자금 이체가 완료되거나 전혀 발생하지 않아야 함
  6. Concurrent access by multiple users (동시 접근이 어려움)
    • Uncontrolled concurrent accesses can lead to inconsistencies
    • 예: 두 사람이 동시에 잔액(예: 100)을 읽고 돈을 인출하여 업데이트(예: 각각 50)함§ 보안 문제§ 사용자 액세스 권한 제공이 어려움

Example

Pasted image 20231014201305.png

View of Data

  • DBMS - Collection of interrelated data & set of programs that allow users to access and modify these data
  • DBMS 의 주 목적 : Provide Users with an abstract view of the data
    • Data models
      • 데이터 설명, 데이터 관계, data semantics, Consistency Constraints 를 위한Conceptual Tools 모음
      • Relational Model Week 3 - Introduction to Relation Model Pasted image 20231014203950.pngPasted image 20231014204400.png
      • Entity-Relationship Data Model (mainly for DB Design)Pasted image 20231014204122.png
        • data elements 와 relationship 을 정의하기 위해 사용
      • Objective-based Data Models (Object-oriented & Object-Relational)
      • Semi-structrued data Models (XML)
      • Network Model, Hierrachical Model
    • Data Abstraction
      • 여러 단계의 데이터 추상화를 통해 데이터베이스에서 데이터를 표현하는 데이터 구조의 복잡성을 사용자로부터 숨김

Levels of Abstraction

Pasted image 20231014204757.png

  • Physical Level : Record (ex:Instructor) 가 어떻게 저장되는지 설명
  • Logical Level : data 가 DB 에 어떻게 저장되는지 설명 + 데이터 간 관계 Pasted image 20231014204629.png
  • View Level : data type 의 details 를 숨기는 application program

Instances and Schemas

  • Logical Schema
    • DB 의 Overall Logical Structure
    • 예 : 데이터베이스는 은행의 고객과 계좌의 집합과 이들 간의 관계에 대한 정보로 구성
      → 변수의 타입 정보
  • Physical Schema
    • DB 의 Overall Physical Structure
  • Instance
    • 특정 시점의 데이터베이스의 실제 내용 → 변수의 값이라고 생각

Summary For Language

  • DDL (Data Definition Language)
    • ALTER
    • CREATE
    • DROP
    • RENAME
    • TRUNCATE
  • DML (Data Manipulation Language)
    • DELETE
    • INSERT
    • UPDATE
    • SELECT
  • DCL (Data Control Language)
    • GRANT
    • REVOKE
  • TCL (Transition Control Language)
    • COMMIT
    • ROLLBACK
    • SAVEPOINT

“이 글은 Obsidian 에서 작성되어 업로드 되었습니다”

'CS Life > Database' 카테고리의 다른 글

Week 5 - Introduction to SQL (1)  (0) 2023.10.24
[프로그래머스] SELECT 문제풀이  (0) 2023.10.23
Week 7 - Intermediate SQL  (1) 2023.10.21
Week 6 - Introduction to SQL (2)  (0) 2023.10.21
Week 3 - Introduction to Relation Model  (0) 2023.10.20