第一章 数据库引论
2016-06-15 15:31 小米加汉堡 阅读(164) 评论(0) 收藏 举报数据库访问
方法1:使用交互工具
Mysql Workbench
SQL Server 查询分析器
Oracle SQL*Plus,Work Sheet
方法2:使用开发工具设计界面、处理数据,调用ODBC等接口访问数据库,如ASP,JSP,VC++,PHP,PowerBuilder, Delphi
DBMS 数据库管理系统
特性:1、数据访问的高效和可扩展性
2、缩短应用开发时间
3、数据独立性(物理独立性和逻辑独立性)
4、数据的完整性和安全性
5、并发访问和鲁棒性(robustness恢复)
DBMS发展历程:文件系统->网状数据模型、层次数据模型->关系型数据库系统(RDBMS Relational database systems)
面向对象的数据库管理系统(OODBMS Object-oriented database systems)->对象关系数据库系统(ORDBMS Object-relational database systems)
面向应用数据库系统(Application-oriented database systems)-》
数据仓库(Data Warehousing)、联机分析处理(Online Analytical Processing)、数据挖掘(Data mining)
开源数据库:Mysql postgreSQL
数据抽象
物理层:描述数据是怎样存储的
逻辑层:描述数据库中存储什么数据,以及数据间存在什么关系
视图层:应用程序能够隐藏数据类型的详细信息,出于安全的目的隐藏数据信息。
数据抽象的三层结构:
实例和模式
类似于编程语言中的类型(type)和变量(variables)
实例->变量 模式->类型
实例(instance):特定时刻存储在数据库中的信息的集合
模式(Schema):数据库的总体设计
物理模式
逻辑模式
数据库系统的模式结构:
物理独立性和逻辑独立性:
物理独立性:修改物理结构而不需要改变逻辑结构的能力。
应用程序依赖于逻辑结构
应用程序独立于数据的结构和存储
逻辑独立性:数据逻辑结构的改变不影响应用程序
逻辑独立性一般很难实现,因为应用程序严重依赖于数据的逻辑结构。
数据模型
数据模型是一个概念工具的集合,用于描述数据结构,数据关系,数据约束,数据语义
数据库的设计过程
1、需求设计
需要什么样的数据、应用程序和业务
2、概念数据库设计
使用E-R模型
3、逻辑数据库设计
将概念设计转化为某个DBMS支持的数据模型
4、结构优化
关系标准化,检查冗余和异常关系结构
5、物理数据库设计
索引、集群和数据库调优
6、创建并初始化数据库&安全设计
实体 - 联系模型
E-R (Entity - Relationship)模型
E-R模型将数据库设计转化为关系模型的设计。
数据库语言
DDL(Data Definition Language) 数据库定义语言
DML(Data Manipulation Language)数据库操纵语言
DCL(Daya Control Language)数据库控制语言
数据定义语言(DDL)
指定一个数据库模式作为一组关系模式的定义
指定存储结构、访问方法和一致性约束
DDL语句经过编译,得到一组存储在特殊文件中的表,特殊文件即数字字典(Data dictionnary),其中包括元数据(metadata)
数据字典包括:①数据库模式
②数据存储结构
③访问方法和约束
④统计信息
⑤授权
数据操纵语言(DML)
从数据库中检索语言
插入/删除/更新语言
DML也称为查询语言
过程化DML
要求用户指定需要什么数据,以及如何获得这些数据(C、Pascal、Java...)
声明式DML
只要求用户需要什么数据,不指明如何获取数据(SQL,Prolog)
SQL(Structured Query Language 结构化查询语言)
SQL=DDL + DML + DCL
SQL是使用最广泛的语言,有三种用法:
①直接在交互环境中使用
SQL Server查询分析器
Oracle:SQL*Plus、Work Sheet
MySQL:命令行客户端
②在宿主语言中,通过ODBC(开放式数据库连接),JDBC使用
③在宿主语言中使用嵌入式SQL
事务管理
事务:数据库应用中完成单一逻辑功能的操作集合
事务的要求:atomicity(原子性)、Consistence(一致性)、Isolation(隔离性)、Durability(持久性)
事务管理组件:确保系统在出现故障或事务失败的情况下,数据库都能保持一致性。
并发控制管理器 :控制并发事务之间的交互
数据库体系结构
存储管理器
在底层数据存储与应用程序及查询之间,提供接口;
对数据库中的数据进行高效存储,检索与更新;
查询处理器
接收数据库语言输入,经过解析、优化、执行,输出相应结果给用户
包括:解析和翻译、优化、执行
浙公网安备 33010602011771号