快速学习数据库不得不知的八个方面

时间:2022-01-17 03:30:00

今天数据库第六章讲了自己认为初学者快速对数据库有个整体的认识

不得不知的8个方面.

涉及的内容之多,之广,不是4节课能完全掌握的.但是我感觉通过这8个方面对数据库的了解.已经建立对数据库一个整体上的认识.

1.从什么是数据库,DBMS,到数据库系统的组成,以及数据库系统必须有的特点.

2.数据库的应用框架.特别的是了解了COM在三层C/S中的作用

3.数据库的整体设计

4.关系模型以及表的规范化.

5.连接数据库的方式.ODBC,OLE DB,ADO等等

下面是对这八个方面简单的总结,以后有机会分类总结.

1.为什么会有数据库?
是一种历史发展的必然.


二.什么是数据库? 
数据库可以认为是多用户同时共享,并且与应用程序独立的相关联信息的集合
1:信息的关联性,是不是逻辑上的整体.
与文件的不同:
1.文件内部信息不相关联
2.文件与文件之间信息不相关联

相反数据库的信息
关系表内部之间有关联
关系表与关系表之间也有关联,形成了一个逻辑整体

2:数据的独立性:
文件:
数据面向具体的应用程序,数据的冗余度高.数据和应用程序间
是不独立的.
数据库:
是一种高度共享的数据集合,数据是逻辑上的整体,不面向
具体的应用程序.当然这种独立性是由数据库的两级独立性来
实现的.(三级模式,两级独立性,实现了数据库的数据与应用
程序的独立,这种独立性,是DBMS实现的)

三:什么是数据库管理系统?
如何高效率的组织数据库,如何高效率的执行查询,
使应用程序能够最快的速度
找到数据,以及数据的独立性等等都是
数据库管理系统应该做的事情?类似于图书管理员的工作.
四:什么是数据库系统?包括哪些:用户,应用程序,DBMS,DB,DBA.
数据库系统有哪些特点?
数据独立性(三级模式,两级独立性)
数据的并发性(
1.事务(ACID)
2.事务并发的问题(丢失更新,读脏数据,不可重复读,幻想读) ,
3.以及如何控制(1.加锁的方式
         2.控制隔离程度 
             1.未提交读
             2.提交读
             3.可重复读
             4.串行读
))
数据的安全性(三级安全限制1.服务器2.数据库3.关系表)
数据的完整性(数据的正确性:实体完整性,引用完整性,域完整性,用户自定义完

整性)

五:数据库的应用架构(体系结构)
1.单机版DBMS
2.集中式DBMS
3.C/SDBMS
4.三层C/S DBMS (客户端 中间层(业务逻辑层) 服务器端)
一般中间层我们都是用COM来做,那COM又是用来做什么的呢?
一个软件可以通过中间结构为另外一个软件进行服务.
后来介绍了COM的由来,从clipboard-->DDE-->OLE-->OLE2 (com)
                                       -->ACTIVEX (com).
一个实例:一般ACTIVEX控件可以看成实现了COM的软件包,
我们可以浏览器就可以从Web服务器上下载此控件,
并且不需要了解COM对象是用什么语言写的.也不需要知道
它是以什么形式存在的,在浏览器看无任何区别.
5. NCA B/S
数据库是为什么能够应用到今天的网络,是因为NCA(网络计算机体系结构).
NCA==HTTP,HTML+Corba 2.0(类似于COM)的对象技术的结合.也是今天分布式计算机

的基础.
六:整个的数据库设计过程:
现实世界-->信息世界的建模(ER模型)-->数据库世界
(关系模型)-->规范化-->形成我们的数据表
七:关系模型
关系表的组成
1.元组,属性,键,属性值
2.关系表有几种范式
  关系表需要规范化,不规范化的危害,
  1.数据冗余
  2.更新异常
  3.插入异常
  4.删除异常
如何规范化?
就是数据库表遵循范式,

八:客户端连接数据库的方式:
一.ODBC,OLEDB,DAO,ADO.
重点讲了ODBC,
1.为什么会有ODBC?
ODBC,用统一连接方式连接不同的数据库,
解决不同数据库的需要不同的接口的问题.

ODBC的组成:ODBC管理器,ODBC驱动管理器,ODBC驱动,数据源
从直观上看我们是通过ODBC数据源名以及ODBC API(C)函数
使用数据库的信息.
如果你想使用Mysql的数据库,必须要有Mysql的ODBC驱动,然后
通过ODBC数据源名以及ODBC API函数来使用Mysql数据库.

2.为什么会有RDO,DAO,ADO?
但是我们程序员连ODBC API函数都懒得记了,想是不是
可以有这样一种使用数据的方式?
像使用对象一样是用数据库呢,这个时候就出现了RDO,DAO,ADO.

3.为什么我们今天用的最多的就是ADO?
RDO支持通过 ODBC 远程连接数据库
DAO支持通过JET本地使用数据库,通过ODBC使用远程数据库
ADO不但支持本地连接,ODBC远程连接,还支持更强大的OLE DB连接方式
那你说我们用个呢?

OLEDB到底有多强大呢?
大家知道我们ODBC提供了应用程序访问主流的关系型数据库
的共有接口.但OLE DB,除了可以访问关系型数据库以外
还可以访问邮件数据,Web上的文本或图形,目录服务等等.
它提供了同样的方式访问几乎所有的数据的方法.
所以现在微软逐步希望用OLE DB代替ODBC.

但我们应用程序是不是直接通过OLE DB提供的接口访问数据库呢?
其实也不是,我们经常用前面所说过的ADO,ADO支持OLE DB的方式访问
数据库.