2024.03.09

 

  • Program = Data + Algotirhm
  • DBMS System Access 및 MS SQL Server를 이용한 실습

 

데이터베이스

  • 사용자의 실 세계를 사용자의 요구에 맞게 컴퓨터에 형상화한 서로 연관있는 데이터들의 모임(Group Collection)
  • Set은 중복이 없지만 Group Collection은 중복이 있을 수 있음

 

데이터베이스 시스템의 목적

1. 데이터 공유(Sharing)

2. 데이터 중복 제어

3. 데이터의 독립(Independence)

: 반대로 데이터가 종속된 경우, 예를 들어 특정 부서에서만 데이터에 접근 가능

4. Object와 Relationship의 표현

5. 데이터 무결성(Integrity) 유지 - Consistency

6. 효율적인 물리 데이터베이스 설계

7. 보안

: 허가 받지 않은 인원의 데이터 접근 방지, 구성원의 권한 관리

 

· Inconsistency(불일치): 데이터 중복의 가장 큰 문제

 

DB, DBMS & DBS

  • 데이터 형태: 정형, 반정형, 비정형
  • DBMS(DataBase Management System)
  • Oracle, MS SQL Server, MySQL, Maria DB
  • NoSQL DB: Mongo DB, PostgreSQL

 

데이터 모델

·데이터와 데이터 사이의 관계 그리고 무결성 제약을 기술하기 위한 개념적인 도구의 모임

1. 계층(Hierarchical) 데이터 모델

2. Network 데이터 모델

3. 관계(Relational) 데이터 모델

4. 객체지향(Object-oriented) 데이터 모델

5. ER(Entity-Relationship) 데이터 모델

 

ER 데이터 모델

  • E-R Diagram
  • Entity(개체)
  • Relationship(관계)
  • Attribute(속성)

계층 데이터 모델

  • 1:N 관계
  • Node와 Node를 Link(Pointer)로 연결
  • 데이터 중복 발생 시 포인터 이용

Network 데이터 모델

  • N:M 관계
  • Hierarchical에 비해서 속도 느림

관계 데이터 모델

  • Data와 Data를 Predefine
  • Table 형태
  • 서로 다른 Table들을 한 속성(ex ID, Number)로 연결
  • 수학을 기반에 두고 있어 Network, Hierarchical Model보다 우수한 Model로 평가 받았음
  • 초반에는 느림 → 속도 향상됨(왜 향상됨?)

데이터베이스 시스템

  • Metabata: 다른 Data들을 설명해주는 Data
  • DBMS: 쿼리와 응용프로그램 처리를 위한 소프트웨어, 저장되어 있는 데이터베이스 접근을 위한 소프트웨어
  • 응용프로그램 또는 쿼리
  • DBMS와 응용프로그램을 연결하는 Interface들
  • DBMS와 DB를 연결하는 File System(?)

관계 데이터베이스의 구조

  • ex 학생
  • 학번, 이름, 전공, 전화번호: Attribute
  • 스키마: 무결성 제약조건
  • Domain: 특정 영역이 가질 수 있는 값의 집합 → 유효성 검사
  • Degree: Attribute의 개수
  • Tuple: 각 한 줄(row, File System에서는 Record)
  • N Set of Tuples: 중복된 Data가 없음
  • Cardinality: Number of Tuples

데이터베이스 내부구조

  • B Tree 계열의 Indexing을 사용해서 빠름
  • Indexing: Data를 빠르게 찾기 위한 방안
  • Index Set(prefix) + Sequenc Set = B Tree

Metadata

  • DB의 일부분으로,자신의 구조에 대한 설명
  • 시스템 테이블, 색인 테이블(Index Table), Column 테이블 등

 

 

+ Recent posts