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

  1. Data
  2. Relationships
  3. Data semantics 语义(类型 取值范围……)
  4. 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

  1. Insert
  2. Delete
  3. Update
  4. Select

(增、删、改、查)

数据库设计

设计过程

  1. 概念设计 ER Diagram
  2. 逻辑设计 Deciding on database schema
  3. 物理设计

数据库引擎

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");

}


posted @ 2020-09-01 12:04  说了再见以后  阅读(117)  评论(0)    收藏  举报