资源描述:
《优化sqlserver总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、T110班《雏鸟》小组--雷石军APTECHACCP6.0优化MySchool数据库设计数据库设计章节总结Mr.Lei2013/5/21第29页,共30页T110班《雏鸟》小组--雷石军目录数据库的设计41.数据库设计41.1数据库设计的步骤4²收集信息4²标识实体4²标识实体需要存储的详细信息4²标识实体之间的关系4²绘制E-R图4²实体-关系模型41.2实体关系图5图例51.2.1关系数据库模式51.3绘制数据库模型图5图例51.4数据规范化61.4.1为什么要使用数据规范化61.4.2规范设计62.数据库的实现72
2、.1T-SQL语句回顾72.2使用SQL语句创建和删除数据库72.2.1创建数据库72.2.2删除数据库82.2.3删除表92.3使用SQL语句创建和删除约束92.3.1数据完整性92.3.2常用的约束类型102.3.3添加约束102.3.4删除约束112.4SQLServer文档113.SQL编程123.1变量123.1.1局部变量123.1.2全局变量123.2输出语句133.2.1Print语句和SELECT语句133.2.2数据类型转换133.3逻辑控制语句143.4逻辑运算符143.4.1基本逻辑运算符的注意事
3、项143.4.2常用的逻辑语句有:143.5批处理164.高级查询17第29页,共30页T110班《雏鸟》小组--雷石军4.1子查询174.1.1简单子查询174.1.2经验174.2In和notin子查询174.3Exists和notExists子查询184.3.1Exists子查询184.3.2NotExists子查询184.3.3子查询注意事项184.4嵌套在SELECT语句的SELECT子句中的子查询语句如下184.5嵌套在SELECT语句的FROM子句中的子查询语句如下184.6嵌套在父查询SELECT语句的子
4、查询可包括一下几类194.6.1在子查询select子句中不能出现text,ntext或image数据类型的列194.6.2只出现在子查询中而没有出现在父查询中的表不能包含在输出列中195.我的租房网195.1知识梳理195.2综合练习19第29页,共30页T110班《雏鸟》小组--雷石军数据库的设计1.数据库设计数据库设计就是将数据库中的数据实体以及这些数据实体之间关系,进行规划和结构化的过程良好的数据库:效率高,便于进一步扩展,使得应用程序的开发变得容易1.1数据库设计的步骤²收集信息²标识实体²标识实体需要存储的详
5、细信息²标识实体之间的关系²绘制E-R图²实体-关系模型实体对应我们表中的一行数据属性可以理解为实体的特征联系两个或者多个实体之间的关联关系映射基数有1对1,一对多,多对一,多对多几种关系第29页,共30页T110班《雏鸟》小组--雷石军1.1实体关系图图例(1)矩形表示实体集,(2)椭圆表示属性(3)菱形表示联系集(4)直线用来连接属性和实体集,也用来连接实体集和联系集1.1.1关系数据库模式一个关系描述为属性名的集合称为关系模式,1.2绘制数据库模型图图例l新建数据库模型图l添加实体l添加数据列及相应的属性l添加实体
6、之间的映射关系第29页,共30页T110班《雏鸟》小组--雷石军1.1数据规范化1.1.1为什么要使用数据规范化(1)设计问题(2)信息重复(3)跟新异常(4)插入异常(5)删除异常(丢失有用的信息)1.1.2规范设计1.1.2.1第一范式确保每列的原子性1.1.2.2第二范式在第一范式的基础上更近一层,如果一个关系满足第一范式,并且除了主键以外的其他列都依赖于该主键,则满足第二范式1.1.2.3第三范式如果一个关系满足第二范式,并且除了主键以外的其他列都只依赖于主键列,列和列之间不存在相互依赖的关系,则满足第三范式1.
7、1.2.4实体-规范化和性能的关系在实际的数据库设计中,既要考虑三大范式,避免数据的冗余和各种数据操作异常,又要考虑数据访问性能,有时为了减少表间连接,提高数据库的访问性能,允许适当的数据冗余列第29页,共30页T110班《雏鸟》小组--雷石军数据库的实现1.数据库的实现1.1T-SQL语句回顾Ø添加数据Insertinto表名(列名列表)values(值列表)例子:InsertintoStudent(StudentNo,StudentName)values(‘S1001’,’雷石军’)Ø修改数据Update表名set列
8、1=值1,列2=值2,….WHERE(条件)例子:UpdateStudentsetStudentName=’易显双’whereStudentName=’雷石军’Ø查询数据Select列名列表from表名WHERE(条件)orderby列名例子:Select*fromStudentwhereStudentNo=’S10