1.数据库的访问
方法一.DBMS(数据库管理系统)----指Mysql Sql Sever ORACLE等等
方法二.利用程序访问(ASP,JSP,VC++,PHP,PowerBuilder),程序调用))ODBC接口访问数据库
2.数据库(DB)
在计算机中有组织的与企业机构有关的数据集合
3.数据库管理系统(DBMS
数据库+一组以访问,更新查询的工具
DBMS特性:
数据访问的高效可扩展性
缩短应用开发时间
数据独立性(物理独立性/逻辑独立性)(当底层发生变化,上层不需要变化,减少工作量)
数据完整性和安全性(把数据存在系统中会帮助保护数据)
并发访问和鲁棒性(支持多用户访问的请求)(当系统宕机会提供系统保护机制)
历史:
文件管理(file processing system)–50
网状,层次(network,hierarchical)----但结构复杂,计算机能力不足使用困难–60
关系模型(relational database system)
RDBMS出现—70-至今
RDBMS走向市场-80
RDBMS技术成熟-90
面向对象的数据库系统(Object -oriented database system)(OODBMS)
对象关系数据库系统(ORDBMS)
数据仓库(Data Warehousing),联机分析
4文件处理系统VS数据库管理系统
每一个系统比如windows 之类的都会有一个文件处理系统
每一个文件执行都要一个程序
数据会冗余和不一致(多种文件格式,信息重复存储)
数据值键共享,检索困难
完整性:
原子性:不可切分,指操作要么发生要么都不发生,比如转账,而文件中不可以,加入一个执行了转账,然后系统宕机了
并发访问:数据库系统可以操作,而文件不可以
安全性:数据库可以具体到各层级的操作
5开源数据库系统:
MySQL:是网站上小型系统最流行的开源数据库
数据抽象:(将数据表示出来才可以)
不同的用法需要不同的层次的表示
物理层:描述数据是怎样存储的
逻辑层:描述数据库存储什么数据以及数据之间存在什么样的关系
如,type instructor = record
ID:char(5)
name:char(20)
dept_name:char(20)
salary:numeric(8,2):
end:
视图层:应用程序能够隐藏数据类型的详细信息,视图可以出于安全的目的隐藏数据信息(例如,员工的薪水)
6实例和模式
-
类似于编程语言中的类型(type)实列=变量,模式=类型
-
模式:数据库的总体设计
类似于编程中的类型的信息
物理模式:在物理层描述的数据库路的设计
逻辑模式:在逻辑层描述的数据库的设计 -
实例:特定存储在数据库中的数据
类似于程序中变量的值
三层都有自己的模式,每层模式都有映射,一般的用户看到的时在Above the water的部分
7逻辑独立性和物理独立性
-
以上的三层模式两级映射使得修改三层中的任何一层的结构定义而不影响更高层的结构定义,很好的保证了物理独立性和逻辑独立性
-
物理数据独立性:修改物理层但不会对逻辑层造成影响
:应用程序依赖于逻辑结构
:应用程序独立于数据的结构和存储
:换磁盘,堆内存做什么,但上层不发生改变,这是 DBMS的重要的好处 -
逻辑数据独立性:数据逻辑结构的改变不影响应用程序
:逻辑数据独立性一般难以实现,因为应用程序和逻辑结构依赖非常严重
8数据模型
-
数据模型是一个概念工具的集合,和 编程中数据类型对数据的要求一样
数据的结构:
数据关系:
数据约束:
数据语义 -
数据抽象的不同层次需要不同的模型来描述
数据库的设计步骤
-
需求分析:
—需要做什么样的数据库,应用程序和业务 -
概念结构的数据库设计
—使用E-R模型或类似的高层次模型构建 -
逻辑结构的数据库设计
—将概念设计转变成DBMS所认可的数据模型 -
结构优化
—去除结构的冗余,检查异常的结构和关系标准化 -
物理数据库的设计
—索引,集群和数据库调优 -
创建初始化数据并且测试
—放入初始数据,测试
—识别不同用户及他们的角色![数据库设计的显示一览](https://img-blog.csdnimg.cn/20200523101149775.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNDYyNjQy,size_16,color_FFFFFF,t_70)
实体——联系模型
实体(对象)
例如,客户,账户,银行
实体由属性描述
联系:是几个实体之间的关联
例如,客户和银行之间的联系就是存取款
我们还可以在视图层来展示一些信息(视图层的信息可以来自不同的表)