数据库总结(共13页).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据库总结(共13页).docx》由会员分享,可在线阅读,更多相关《数据库总结(共13页).docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1. 数据库特点:较小的冗余度。较高的数据独立性、易扩展性。可为各种用户共享数据库是数据集合2. DBMS功能:数据定义功能。数据组织、存储和管理(文件结构和存取方式) 。数据操纵功能(增删查改)3. 高级数据库系统: 分布式数据库系统, 面向对象数据库系统4. 数据模型的组成部分包括:数据结构,数据操作,数据约束条件。5. 数据更新:数据添加,数据修改,数据删除。6. 数据模型(网状、层次、关系模型):按计算机系统的观点建模,主要用于DBMS的实现,不包括E-R关系模型中由三种完整性约束:实体完整性,参照完整性,用户自定义完整性。7. 关系:(Relation)一个
2、关系通常是一张表。8. 分量:某一元组的一个属性值,为最小单位,不可分。9. 存储结构:在DB物理组织之中,表以文件形式储存10. 数据库系统结构:从DBMS角度:外模式(External Schema),模式(Schema),内模式(Internal Schema)。从最终用户角度:集中式结构。分布式结构 。客户/服务器结构。并行结构11.12. 模式/内模式映象是唯一的,同一个模式可以有任意多个外模式;三级模式与二级映像优点:(1)保证数据的独立性(2)简化用户接口(3)有利于数据共享(4)有利于数据保密13. 关系模型的组成:关系数据结构。关系操作集合。关系完整性约束 SQL Serve
3、r基于关系模型的数据库系统。14. 主 码:若一个关系有多个候选码,则选定其中的一个为主码15:数据类型:decimal(不包含小数点多少位,小数点后几位)nvarchar采用Unicode编码,无论是中文英文占一个字节有n表示Unicode编码,每个字符占一个字节,没有n表示非Unicode编码,英文或者数字占一个字节,中文占两个字节。有中文用nvarchar,没有中文用varchar.16:按照功能分类:DDL:(Database design language)数据定义语言,用于进行各种数据库对象的创建主要操作包括create,alter,dropDML:(Database manage
4、ment language)数据管理语言,用于对标的数据添加,修改,删除,查询,主键操作包括,insert,update,delete,selectDCL:(Database control language)数据控制语言,用于进行权限分配等1:创建数据库create database TaoHaoon primary(name=TaoHao,filename=E:Microsoft SQL ServerDATATH_data.mdf,size=10mb,maxsize=200mb,filegrowth=10mb)log on(name=TaoHao_log,filename=E:Micros
5、oft SQL ServerDATATH_log.ldf,size=5mb,filegrowth=10mb)相关子查询:not exists ;子查询需要父查询的结果才能执行不相关子查询:not in:执行顺序是子查询先执行,结果传给父查询子查询返回的值只有一个:利用(=,=,1-清空数据truncate table UserInfo-删除 drop table UserInfo-查询前n部分数据:top n * from 表示查看前n行select top 2 * from StaffInfoselect top 2 percent * from StaffInfo-distinct消除重复
6、行-模糊查询-%表示个或者多个字符-_下划线表示一个字符-表示你在某一范围字符-表示不在某一范围内的字符select * from StudentInfowhere sPhonr like 15-9%3.内连接:inner join,两表中完全匹配的数据-left join以左表属性顺序(CID属性顺序)为标准-right join 以右表属性顺序(Sid顺序)为标准-full join,左表中特有的数据4.聚合函数:-对比自己的成绩和平均分select StaffInfo.*,AVG(score)over() as 平均分from StaffInfowhere Name=bb-统计班同学男生
7、女生各人数select sGender,COUNT(*)from StudentInfowhere cId=2group by sGender-统计学生编号大于的号班级的性别的学生个数select sGender,COUNT(*)-指定了cId不能select cIdfrom StudentInfowhere sId1 and cId=3group by sGender分组查询:group by字句可以将查询结果按照属性列或属性列组合在行的方向上进行分组,每组在属性列或属性列组合上具有相同的值。若在分组后还要按照一定的条件进行筛选需要使用having字句。重点:子查询的SELECT语句中不能使
8、用 ORDER BY 子句,因为 ORDER BY 子句只能对最终查询结果排序。找出每个学生超过他自己选修课程平均成绩的课程号SELECT Sno,CnoFROM SC XWHERE Grade =(SELECT AVG(Grade) FROM SC y WHERE y.Sno=x.Sno);查询选修了全部课程的学生姓名由于没有全称量词,可将题目的意思转换成等价的用存在量词的形式:查询这样的学生,没有一门课程是他不选修的。SELECT SnameFROM StudentWHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS (SELECT
9、 * FROM SC WHERE Sno=Student.Sno AND Cno=Course.Cno);查询至少选修了学生选修的全部课程的学生号码SELECT DISTINCT SnoFROM SC SCXWHERE NOT EXISTS (SELECT * FROM SC SCY WHERE SCY.Sno= AND NOT EXISTS (SELECT * FROM SC SCZ WHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno);5.快速备份select * into test01 from ClassInfo向未有表备份:select列名into备份
10、表名from源表名说明:备份表可以不存在,会新建表,表的结构完全一致,但是不包含约。向已有表备份:insert into 备份表名 select 列名 from 源表名6.数据转换select CAST(89. as decimal(4,2)-decimal表示除了小数点一共位select CONVERT(decimal(4,1),89.999)-会四舍五入select CAST(1 as CHAR(1)+1-char类型-统计销售总价超过的商品名称和销售总价,并按照销售总价降序排序select * from MyOrdersselect pName,SUM(SaleNumber*SalePr
11、ice) 销售总价from MyOrdersgroup by pNamehaving SUM(SaleNumber*SalePrice)300order by 销售总价 desc7.函数:select 哈哈+LTRIM( 长安的 美食)-去掉左空格select 哈哈+RTRIM( 长安的 )-去掉右空格select 哈哈+RTRIM(LTRIM( 中国 )-select LEFT(麦田吃饭,1)-从左边开始截取几个select RIGHT(可口可乐,3)-从右边开始截取几个select SUBSTRING(初审过了哈哈哈,2,4)-从第二个开始截取四个8.开窗函数:over()将统计出来的数据
12、分不到原表的每一行中,结合聚合函数,排名函数的使用1:t-sql编程变量:l 声明:declare UserName nvarchar(50)l 赋值1:set UserName=N杨:修改l 赋值2:select UserName=N牛:修改l 输出:print UserNameselect UserNamel select UserName+N中,这时UserName仍然是杨,这句代码执行后显示杨中l 区别:赋值时,set比select更严谨些set一次只能为一个变量赋值,select一次可以为多个变量赋值。l 变量是有作用域的l 全局变量:*select变量declare name nv
13、archar(10)声明set name=陶浩赋值print name输出-选择语句declare id intset id=10if id5beginprint ok+convert(varchar(10),id)endelsebeginprint noend2:casel 在查询语句的select后面,可以进行选择判断的逻辑l 语法1:判等case 列名或表达式:判断与值1,2,3是否相等when 值1 then .返回then后面表达式的值when 值2 then .when 值3 then .else .end as 列别名l 语法2:判不等case when 条件1 then .判断
14、条件的真假when 条件2 then .when 条件3 then .else .end as 列别名3:overl 开窗函数:几个行作为一个区,就被称为一个窗,能够进行按行划区的函数就是开窗函数l 排名函数:rank() over(order by 列名 desc),比row_number()函数更适合用于排名l over与聚合函数一起使用,但不要和group by 一组使用,否则会报错l 没有分组的时候,就认为是将整个查询结果分成了一组l select *,sum(销售数量) from myOrders会报错l 改为:select *,sum(销售数量) over from myOrder
15、s则不会报错,并且在最后一列显示求和结果4:视图Viewl 视图:就是一个select语句,写起来比较复杂,多次被使用,则可以将这个select语句存放到一个视图中l 创建语法: create view 名称 as 查询语句l 好处:使用方便,安全(看不到表的名称、结构等信息)l 使用:主要用于查询,与查询表的语法一样l 查看视图的代码:exec sp_helptext 视图名称l 可以基于视图再创建视图l 建议:不要在视图中使用order by子句 集合的结果集被当作一个集合使用,所以是不应该有顺序的 如果加入了top n则可以使用,这样返回的又是一个n项的无序集合,虽然看上去是有顺序的去掉
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 总结 13
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内