当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 数据库系统概论学习笔记

ASP.NET
AspNetPager与Socut.Data使用方法
asp.net UpdaeProgress的简单用法
asp.net ajaxControlToolkit ValidatorCalloutExtender的简单用法
asp.net 简易生成注册码(数字+大小写字母)
asp.net中利用ashx实现图片防盗链代码
ASP.NET程序中常用代码汇总
ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
ASP.NET Ajax级联DropDownList实现代码
ASP.NET 2.0写无限级下拉菜单
asp.net Web Services上传和下载文件(完整代码)
asp.net DataGrid控件中弹出详细信息窗口
Asp.NET 多层登陆实现代码
利用Asp.Net回调机制实现进度条
ASP.NET Ref和Out关键字区别分析
Javascript调用Webservice的多种方法
.Net下的签名与混淆图文分析
.Net Compact Framework开发小技巧 推荐
.Net连接Oracle数据库的实现代码
js获取.aspx页面里面的服务器控件和.ascx中的服务器控件值
asp.net下 jquery jason 高效传输数据

ASP.NET 中的 数据库系统概论学习笔记


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 80 ::
收藏到网摘: n/a

这段时间非常的忙,但是我终于决定写一些东西来记录这个火热的时期。。。

做开发也有好几年了,数据库相关的系统也设计了几个,经验值不断上升,但是总觉得有一些东西似乎掌握不到其中精髓,入不到更高的层次,于是决定重看《数据库系统概论》和《数据结构》,想从中吸取理论的力量,让我的数据库理解更进一层,学习的过程中,我会将一些心得记录下来,与时空的朋友们共勉!
我的学习环境是:windowsXP,SQL Server2000开发版 with SP3A,VisualStudio2003(C#和ASP.NET With C#)。
基于我现在的水平,学习数据库系统从三个方面入手:
1、学习表的设计规范和表间关系的设计
2、SQL语言的深入学习,包括视图、存储过程的学习
3、数据库系统本身的操作
下面正式开始:
众所周知,数据库系统当前的主流模型是关系型和面向对象模型,层次型和网状模型都处于逐步淘汰的地位,关系型数据库的基本构成是一个个的二维表(Table),二维表中包含“型(Type)”和“值(value)”,“型”也就是我们通常意义上说的列属性,也叫字段,而“值”,就是我们的行(也叫记录)的内容了。表和表之间的相关性,就是我们通常所说的“关系”。
数据库系统在体系结构上采用三级模式结构(外模式Schema、模式External Schema和内模式Internal Schema)
外模式是数据库用户的数据视图,它是用户看到的数据形式,可以理解为SQL语言执行的结果,也就是从各数据表中提取出我们想要的数据。
模式是数据库中全体数据的逻辑结构和特征的描述,可以理解为各个表的设计以及表之间关系设计,它与应用程序设计需求直接关联,它是数据存储的架构,设计的好坏直接影响到应用程序的执行效率。
内模式是数据在数据库系统内部的存储方式,比如我们的数据到底是用顺序存储,还是链表存储,按B树结构存储还是按Hash方法存储,存储是否加密等等,这个模式我们不用理会,它是数据库系统设计师要关心的内容。

所以,我们要关心的是模式和外模式,对应于我上面所说的第1点和第2点。
关系数据库系统是支持关系数据模型的数据库系统,关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系数据结构就是一张张的二维表,关系操作通常包括:
选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)
增加(Insert)、删除(Delete)、修改(Update)
关系的三个完整性约束包括:实体完整性、参照完整性和用户定义的完整性。
接下来是SQL查询语言了,SQL语言把复杂的数据操作过程全部都隐藏起来了,我们只需要关心做什么,设计相应的SQL语句,怎么做就由系统给我们做得好好的。
SQL语言分为四类:数据查询、数据操纵、数据定义、数据控制,其中数据查询就是我们最熟悉的select了,它的Group by语句我最喜欢,一下子就将要的数据统计出来了。下面是一个select中嵌套select的例子:
select sname,sage from student where sage<(select min(sage) from student where sdep=''计算机系'') and sdept<>''计算机系''
本SQL的功能是查询:其它系中比计算机系中所有学生年龄都小的学生姓名和年龄

SQL语言的学习和精通是我们学好数据库的重点之一,它和数据表架构的设计互相作用,有什么样的数据表,才会有什么样的SQL语句,这两者的学习是互相促进的,最需要经验积累。基于它的复杂性,这里不深入探索。
有了SQL语言,不得不说的是视图,视图其实和select语句是紧密关联的,它其实相当于一个虚表,执行视图以后看到的是对应的后台表的SQL结果。
这里顺便提一下,SQL Server2000中提供了完整的SQL支持和视图支持,执行SQL语句和视图可以在企业管理器中操作,也可以在查询分析器中操作,更可以在自己的程序中通过对应的接口操作。 (2004年10月14日首发,10月22日更新,持续更新中...)