오늘은 Database 강의가 진행되었다.
+DA#
학습 내용
1. Database 개요
2.
1. Database 개요
1-1. Data와 정보
1-1-1. Data란
💡 관찰의 결과로 나타난 정량적 혹은 정성적인 실제 값을 의미한다. 예) 에베레스트의 높이: 8848m
1-1-2. Information이란
💡 데이터를 기반으로 하여 의미를 부여한 것이다. 예) 에베레스트는 세계에서 가장 높은 산이다.
1-2. Database
1-2-1. Database란
💡 한 조직에 필요한 정보를 여러 응용 시스템에서 공유할 수 있도록 논리적으로 연관된 데이터를 모으고, 중복되는 데이터를 최소화하여 구조적으로 통합/저장해 놓은 것이다. 구조화된 데이터의 집합이므로 컴퓨터에서 쉽게 접근, 관리, 업데이트할 수 있다.
1-2-2. Database의 정의
- 운영 데이터(Operational Data): 조직의 목적을 위해 사용되는 데이터
- 공용 데이터(Shared Data): 공동으로 사용되는 데이터
- 통합 데이터(Integrated Data): 중복을 최소화하여 중복으로 인한 데이터 불일치 현상 제거
- 저장 데이터(Stored Data): 컴퓨터 저장 장치에 저장된 데이터
1-2-3. Database의 특징
- 실시간 접근성(Real Time Accessibility): 사용자가 데이터를 요청하면 실시간으로 결과를 서비스한다.
- 계속적인 변화(Continuous Change): 데이터 값은 시간에 따라 항상 바뀐다.
- 동시 공유(Concurrent Sharing): 데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시 공유된다.
- 내용에 따른 참조(Reference By Content): 데이터베이스에 저장 된 데이터는 데이터의 물리적 위치가 아니라 데이터 값에 따라 참조된다.
2. DBMS
2-1. DBMS 개요
2-1-1. DBMS(Database Management System) 란
💡 데이터베이스에서 데이터를 추출, 조작, 정의, 제어 등을 할 수 있게 해주는 데이터베이스 전용 관리 프로그램들을 말한다.
2-1-2. DBMS의 기능
주요 기능 내용
데이터 추출 (Retrieval) |
사용자가 조회하는 데이터 혹은 응용 프로그램의 데이터를 추출 |
데이터 조작 (Manipulation) |
데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터의 삽입, 수정, 삭제 작업을 지원 |
데이터 정의 (Definition) |
데이터의 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능을 수행 |
데이터 제어 (Control) |
데이터베이스 사용자를 생성하고 모니터링하며 접근을 제어 백업과 회복, 동시성 제어 등의 기능을 지원 |
2-1-3. DBMS의 사용 이점
주요 이점 내용
데이터 중복 최소화 | 중복된 데이터를 줄임으로써 삭제, 삽입, 수정 이상 현상을 최소화 할 수 있다. |
쿼리 언어 | DBMS는 SQL(Structured Query Language)과 같은 강력한 쿼리 언어를 제공하여, 복잡한 검색과 분석 작업을 손쉽게 수행할 수 있게 한다. |
데이터 무결성 | DBMS는 데이터의 무결성을 보장하기 위한 다양한 제약 조건과 규칙을 설정할 수 있다. 이는 데이터의 품질과 정확성을 보장한다. |
데이터 백업 및 복구 | DBMS는 데이터의 백업과 복구를 지원하여, 시스템 장애나 데이터 손상 시에도 데이터를 복원할 수 있다. |
표준화 | DBMS는 표준화 된 방법을 통해 데이터를 관리하므로, 데이터의 구조와 접근 방법이 일관적이다. 이로 인해 애플리케이션 개발 및 유지보수가 용이해 진다. |
2-1-4. DBMS의 종류와 특징
2-1-5. Database의 변천 과정
2-1-6. Database의 유형
- 계층형 데이터베이스와 네트워크형 데이터베이스
- 계층형 데이터베이스(Hierarchical Database)
- 장점:
- 계층적인 구조는 직관적이고 이해하기 쉽다.
- 부모-자식 관계에 의한 데이터 접근이 빠르다.
- 복잡한 많은 to many 관계를 표현하는 것이 어렵다.
- 유연성이 부족하며, 구조 변경이 어렵다.
- 💡 트리 구조를 가지며, 각 노드는 한 개 이상의 자식 노드를 가질 수 있지만 한 개의 부모 노드만 가질 수 있다. 데이터는 "부모-자식" 관계를 통해 연결되며, 이런 특성은 특히 조직 구조나 파일 시스템과 같이 자연스럽게 계층 구조를 가지는 데이터를 표현하는데 적합하다.
- 네트워크형 데이터베이스(Network Database)
- 장점:
- 복잡한 관계를 표현할 수 있다.
- 데이터 무결성을 유지하는데 효과적이다.
- 구조가 복잡하며, 이해하기 어렵다.
- 데이터를 검색하고 관리하는 데 높은 수준의 처리 능력이 필요허다. </aside>
- 💡 그래프 구조를 가진다. 각 노드는 여러 부모 노드를 가질 수 있으므로, 계층형보다 복잡한 관계를 표현할 수 있다. 데이터는 "주인-멤버" 관계를 통해 연결되며, 이런 특성은 특히 많은 M:N 관계를 가지는 데이터를 표현하는데 적합하다.
- 관계형 데이터베이스(RDBMS, Relational Database Management System)SQL(Structured Query Language)은 RDBMS에서 데이터를 조작하고 쿼리하는데 주로 사용되는 언어로 엄격한 데이터 무결성 규칙을 가지며, ACID(Atomicity, Consistency, Isolation, Durability) 트랜잭션 속성을 지원한다.
- 데이터 무결성을 유지하는데 효과적이다.
- 강력한 쿼리 언어(SQL)를 통해 복잡한 데이터 조작이 가능하다.
- 데이터의 정규화를 통해 중복성을 최소화한다.
- 복잡한 객체 관계를 표현하는데 한계가 있다.
- 스키마 변경이 어렵고 비용이 많이 든다.
- 장점:
- 💡 데이터를 테이블의 형태로 저장하며, 각 테이블은 행(레코드)과 열(필드)로 구성되어 있다. 테이블 간의 관계는 공통 필드를 통해 형성된다.
- 객체-관계형 데이터베이스(ORDBMS, Object-Relational Database Management System)RDBMS는 RDBMS의 테이블 구조와 SQL의 강력한 쿼리 기능을 유지하면서, 객체 지향 프로그래밍의 유연성과 복잡한 데이터 구조를 지원하는 것이 특징이다.
- 복잡한 데이터 타입과 객체 지향 프로그래밍을 지원한다.
- 관계형 데이터베이스의 강력한 쿼리 기능과 데이터 무결성을 유지한다.
- 구현이 복잡하며, 관리가 어렵다.
- 모든 상황에 적합한 솔루션은 아니므로 일반적인 업무용 애플리케이션에는 RDBMS가 더 적합할 수 있다.
- 장점:
- 💡 관계형 데이터베이스의 기능을 확장하여 객체 지향 데이터 모델을 지원한다. 이로 인해, ORDBMS는 복잡한 데이터 타입(예: 배열, 딕셔너리 등)과 메소드, 상속 등의 객체 지향 기능을 활용할 수 있다.
'SK Networks AI > 일일 회고록' 카테고리의 다른 글
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 10일차(25.02.20 목요일) (0) | 2025.02.20 |
---|---|
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 9일차(25.02.19 수요일) (0) | 2025.02.19 |
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 7일차(25.02.17 월요일) (0) | 2025.02.17 |
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 6일차(25.02.14 금요일) (2) | 2025.02.14 |
[SK네트웍스 Family AI 캠프 11기] 일일 회고 - 5일차(25.02.13 목요일) (0) | 2025.02.13 |