1.1 DataBase Management System(DBMS)
DBMS contains information about a particular enterprise
ex) Banking : transactions
Airlines : reservations, schedules
Universities : registration, grades
Manufacturing : production, inventory, orders, supply chain etc..
1.2 Purpose of Database Systems
데이터 베이스를 사용하는 이유는 대부분 정보를 저장하기 위해서이다.
Data redundancy and inconsistency
Difficulty in accessing data
Data isolation - multiple files and formats
integrity problems
Atomicity of updates
Concurrent access by multiple users
Security problems
1.3 View of Data
- Physical level : describes how a record is stored.
- Logical level : describes data stored in database and the relationships among the data
- View level : application programs hide details of data types. can also hide information for security
![](https://t1.daumcdn.net/cfile/tistory/99FA3B3359CACAC93A)
- Architecture for a databse system
- Schema : the logical structure of the database
Analogous to type information of a variable in a program
-Physical Schema : database desigan at the physical level
-Logical Schema : database design at the logical level
- Instance : the actual content of the database at a particular point in time
Analogous to the value of a variable
- Physical Data Independence : Ability to modify the physical shema without changing the logical schema
- 하지만 대부분 심각하게 영향을 주지는 않는다.
- Relation model
- Entity-relationship data model
- Object-based data models
- Semistructured data model (XML) ETC..
1.4 Database Language
- Data Definition Language(DDL) : Specify the database schema
- Data Mnipulation Language(DML) : Express database queries and updates
보통 두개로 나누어진다. 하지만 두개가 완전히 분리되있는 것은 아니고 SQL 언어의 한 부분이다.
DDL
-Specification notation for defining the database schema
-DDL compiler generates a set of table templates stored in a data dictionary
-Data Dictionary contains metadata
Database schema
Integrity constraints
§Primary key (ID uniquely identifies instructors)
§Referential integrity(references constrint in SQL )
DML
-Accessing and manipulating the data organized by the appropriate data model
-DML은 Query Language이다
-Two classes of languages
§Procedural - user specifies what data is reuired and how to get those data
§Declarative(nonprocedural) - user specifies what data is required without specifying how to get those data
1.5 Relation Model
2장에서 다시 언급하겠다
*SQL : widely used non-procedural language
![](https://t1.daumcdn.net/cfile/tistory/998AAB3359CACFF90F)
보통 프로그램은 데이터베이스에 접근하기 위해 다음 것들 중하나를 이용한다
-Language extensions to allow embedded SQL
-Application program interface which allow SQL queries to be sent to a database
1.6 Database Design
Logical Design : Deciding on the database schema. Database design requires that we find a "good" collection of relation schemas
Physical Design : Deciding on the physical layout of the database
*The Entity-relationship Model
- Models an enterprise as a collection of entities and relationships
entity : a thing or object in the enterpries that is distinguishable from other objects
relationship : an association among several entities
![](https://t1.daumcdn.net/cfile/tistory/999F873359CAD16110)
*Object-relational Data Model
-Extend the relational data model by including object orientation and constructs to deal with added data types
1.7 Storage Management
-a program module that provies the interface between the low-level data stored in the database and the application programs and queries submitted to the system
1.8 Query Processing
- Parsing and translation
- Optimization
- Evaluation
이 이상은 이해가 안됬습니다.
1.9 Transaction Management
Transaction : a collection of operations that perfoms a single logical function in database application
1.10 Database Architecture
![](https://t1.daumcdn.net/cfile/tistory/9923A13359CAD39D16)
전체구상도
![](https://t1.daumcdn.net/cfile/tistory/9998A83359CAD39E07)
세부구상도