8-31 数据库笔记
数据库的必要性
How to manage data
商业领域主要对象:结构化的数据 Structured data
过去:文件存储数据 程序员管理
缺点:
- 数据冗余、不一致 redundancy inconsistency
- 访问困难 每次访问都需要重写一个程序
- 数据孤立 isolation 文件格式不同
- 完整性 加入新的约束时很难通过修改体现
- 并发访问异常 concurrent access by multiple users
- 原子性
- 安全问题
数据库解决了以上问题。
Database: an integrated collection of related data
不仅研究数据,也研究数据之间的关系、约束条件
Database Management System (DBMS)
内容:
- Collection of data
- Set of programs to access to data
- A convenient and efficient environment for using
模型 Data Models
数据抽象
Levels of abstraction
- 物理层 存储 数据结构 一般不可见 开发人员无需了解
- 逻辑层 关系
- 视图层 最高层次的抽象
三层模式:
逻辑模式 外模式 内模式
实例 Instance
特定时刻存储在数据库中的一个信息集合
physical data independence
数据模型
A collection of tools describing
- Data
- Relationships
- Data semantics 语义(类型 取值范围……)
- Dara constraints
关系数据库
基于关系模型,用一系列表来表达数据及之间关系
SQL: Structured Query Language
most widely used
SQL is usually embedded in some higher-level languages
应用访问数据库的方法
- Language extensions to allow embedded SQL 直接嵌入高级语言
- API allows SQL queries to be sent to a database (ODBC/JDBC ...) 接口
DDL: Data Definition Language
定义了表、完整性约束、断言等
create table department(
dept_name char (20),
building char(15),
budget numeric(12,2),
);
DML: Data Manipulation Language
Also known as query language
- Insert
- Delete
- Update
- Select
(增、删、改、查)
数据库设计
设计过程
- 概念设计 ER Diagram
- 逻辑设计 Deciding on database schema
- 物理设计
数据库引擎
Storage management
Query processing
步骤:
- Parsing and translations
- Optimization
- Evaluation
Transaction manager 事务管理
数据库架构
Architecture of a database system is greatly influenced by the underlying computer system.
数据库架构的发展史:
- Centralized
- Client-server
- Parallel
- Distributed
数据库の历史
Charles W-Bachman
Edgar F-Codd
James Gray
Michael Stonebraker
public static void main(String[]args){
System.out.println("Hello");
}

浙公网安备 33010602011771号