2022. 9. 6. 13:40
728x90
Basic Definitions
Data | 정보 |
Database | 정보의 집합 |
Mini-world | 정보가 나타내는 세계, 가지고 있는 정보로 알 수 있는 것들 |
Entity in Mini-world | Mini-world에서의 attributes ex) Mini-world = UNI Entity1: STUDENT Entity2: COURSE Entity3: SECTION Entity4: INSTRUCTORs |
Relationship | Entity-Relationships(ER): Entity간의 관계 UML class model |
Database Management System | 컴퓨터로 저장된 정보를 관리하는 소프트웨어 |
Database System | DBMS+DB |
Simplified Architecture for a DB system
View level, Implementation level, Physical level로 구성되어 있다.
Simple Example of DB, the Relational model
DBMS faacilitates
DBMS는 다양한 기능들을 제공해야 한다.
- Define a particular data types, structures, and constraints
- Construct initial database contents on secondary storage medium
- Manipulating database; Querying, Modification
- Processing and sharing by a set of concurrent users and programs, keeping all data valid and consistent
- Provide authority
Application programs and DBMS
Application이 DB에 접근하기 위해서 Query와 Transaction을 이용한다.
Queries | Transactions |
Data requests | Query의 집합으로, DB의 data에 접근하여 Queries를 수행하고 update된 내용을 DB에 반영한다. |
Main Characteristics of the DB approach
Catalog | Program-data independence |
Self-describing DB system의 경우, meta data를 함께 저장한다. 이렇게 함으로써 다른 DB application끼리도 작업할 수 있다. | Program과 Data가 분리되어 있기에, DBMS access program을 변경하지 않고도 data structure나 storage organizaition을 수정할수 있다. |
Data abstraction | Multiple view |
Data storage 세부사항을 숨기고 data model을 기반으로 conceptual view만 유저에게 제공한다. Data type을 제한할 수 있다. | User에게 허락된 data만 보여준다. |
Sharing of data and multi-user transaction processing | |
동시에 여러 user가 DB를 사용할 수 있다. 이 때, data의 일치성이 중요한 데, DBMS는 이를 transaction을 이용해서 관리한다. 대표적으로 OLTP(Online Transaction Processing)을 사용한다. 매초 transaction을 수행하는 방법이다. 예기치 않은 충돌이 일어날 수 있기에, 매 transaction이 완료될 때마다 상태를 저장해 recovery를 수행한다. |
Simple Example of Catalog
Database Users
Front-end | Back-end | ||
Database administrators | DBA, 관리자로서 권환관리, 모니터링, 에러 수정, 복구 등의 책임이있음 | System designers and implementors |
DBMS를 구현하는 사람 |
Database designers | DBD, DB를 참고하여 data structure, constraints, transactions 등을 정의함 | Tool developers | DB를 활용하기 위한 software를만드는 사람 |
End-users | DB를 이용하는 사람들 Casual: 가끔 필요시 DB에 접근함 Naive: View를 보고 활용함 |
Operators and maintenance personnel |
실제 동작과 DB HW/SW를 관리하는 사람들 |
Sophisticated | Software package를 이용해 저장된 DB를 이용하는 전문가들 | ||
Stand-alone | Personal DB를 유지하는 사람들 |
Advantages of Using the DB approach
- Data redundancy 관리
- Sharing of data among multiple users
- 권한이 없는 data 접근 제한
- Program object에 지속적인 data 유지 가능
- Efficient query processing(optimization 등) 가능
- Backup/Recovery 가능
- 여러 종류의 interface 제공 가능
- Data간의 complex relationship 관리 가능
- Standard 가능
- Data structure 변경 용이함
- Scale 관리 유용
History of DB technology
Early database applications | 1960s 중반, 네트워크 모델이 제안됨에 따라 계층적인 모델이 주로 사용되었다. 여전히 IBM's IMS system이 사용되기도 한다. |
Relational model-based systems | 1970년에 소개되어 1980s에 주로 사용되었다. |
Object-oriented and emerging applications | 1980s~1990s에 주로 사용되었으며, CAD와 같은 설계단에서 많이 사용되었다. Relational model은 object-oriented concept에 통합되어 object-relational DBMSs(ORDBMSs)으로 주로 사용되었다. Extended relational system은 사용성을 늘린 시스템으로 여러 data type을 사용할 수 있었다. |
Data on the Web and e-commerce applications | Web은 data를 HTML로 관리하고 있다. E-commerce의 발전으로 XML(eXtended Markup Language)가새로운 standard로 사용되었다. |
When not to use a DBMS
- 금액이 부족한 경우
- DB가 잘 정의되어 있는 경우
- DB에 여러 유저가 접근하지 않는 경우
- Embeded system의 storage가 작은 경우
- Real-time requirement가 필요한 경우
- Complexity of data가 잘 정리되어 있지 않은 경우
- Special operation이 필요한 경우
'대학교 > 데이터베이스개론' 카테고리의 다른 글
[CS/데이터베이스개론] 6. Indexing Structures for Files and Physical Database Design (0) | 2022.10.12 |
---|---|
[CS/데이터베이스개론] 5. Basic SQL (1) | 2022.09.30 |
[CS/데이터베이스개론] 4. The Relational Data Model & Relational Database Constraints (0) | 2022.09.25 |
[CS/데이터베이스개론] 3.Data Modeling Using the Entity-Relationship(ER) Model (0) | 2022.09.15 |
[CS/데이터베이스개론] 2. Database System Concepts and Architecture (0) | 2022.09.15 |