Sql server 期末知识点复习
**数据库基础概念:
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
数据库复习知识
- 数据库基本概念
- 一、第一章概念知识复习
- 二、数据库创建,数据库及数据库对象
数据库基本概念
一、第一章概念知识复习
1.数据库。数据库(DB)database 是存放数据的仓库,这些数据存在一定的关联,并按照一定的格式存放在计算机内。
2.数据库管理系统:简单的来说数据库管理系统(DBMS,软件 SQL server,My Sql),数据库系统管理人员通过对DBMS对数据库进行管理。
3.数据库系统:由数据库,数据库管理系统,应用程序,数据库管理成员组成*,即 DBS=DB+DBMS+应用程序+DBA
4.数据库系统的三层模式结构:外模式,模式,内模式
模式:也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述。
外模式:子模式/用户模式,一个数据库可以由多个外模式,数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述。
内模式:存储模式,一个数据库只有一个内模式,是数据物理结构和存储方式的描述。
域是一组具有相应数据类型的值的集合(我个人理解有点像我们之前学过的编程语言的数组一样)。
候选码某一属性的值能唯一标识一个元组,其子集不能。
主码在候选码中选定一个作为主码(只允许有一个主码)。
主属性候选码的属性叫做主属性,非主属性就是不是候选码的属性,也叫非码属性。
全码:关系模式中,所有属性都是候选码,都是主属性。
二、数据库创建,数据库及数据库对象
数据库是一个容器,里面包含了许多数据库对象。
表:表是存放数据及表示关系的主要形式,是最主要的数据库对象。
视图:视图由一个或多个视图和基本表生成的引用表(虚表)。视图所对应的数据不进行实际存储,是一个虚表,视图一经定义就可以像表一样被查询,修改,输出和更新。
视图的优点:
1.为用户集中数据,简化用的数据查询和处理,视图可将分散在多个表中的数据集中在一起。
2.屏蔽数据库的复杂性
3.简化用户权限的管理,只需要授予用户使用视图的权限。
4.便于数据共享
5.可以重新组织数据以便输出到其他应用程序中。
!!!!需注意的:
(1):只能在当前数据库中创建视图,视图的命名规则必须遵循标识符命名规则,不能与表同名。
(2).不能把规则,默认值,或触发器与视图相关联。
SQL功能 | 关键字 |
---|---|
数据查询 | select |
数据定义 | create,drop,alter |
数据操纵 | insert,update,delete |
数据控制 | create,remove |
创建模式
要求是在一个数据库名下创建,默认模式名是 dbo。
create schema 模式名 authorization 用户名—>模式下还可以定义
删除模式
drop schema 模式名 cascade|restrict
创建表:
create table 表名
(列名,数据类型,列级完整性约束,…)
修改表(添加新元素):
alter table 表名
add 新列名 数据类型 约束条件。
(add 添加的是表记完整性约束。)
drop 列名
alter column 列名 数据类型 ------>修改列属性
删除表:drop table 表名
建立索引:create unique|cluster index 索引名
unique:每一个索引值对应一个唯一的数据记录。
cluster:聚簇索引。
修改索引:alter index 旧索引名 rename to 新索引名
删除索引:drop index 索引名
创建约束(列级约束 and 表级约束)
下面根据课本上的三个表脚本创建的,sc,sno,cno。
1.列级约束创建
create table sc(
sno varchar(10) references s.test .student(sno),
constraint PK(约束名) primary key(sno)
)
2表级约束
create table sc(
sno varchar(10),
cno varchar(3),
grade int,
constraint PK_2 primary key(sno,cno),
constraint Fk_1 foreign key(sno) references s.test.student(sno),
constraint FK_2 foreign key(cno) references s.test.course(cno)
)
数据查询:
select <all|distinct> 目标列 from 表名 distinct去重。
select * from 表明,查询全部表的全部列信息
查询满足条件的元组:用到where 子句
select * from 表名 where 查询条件
例如:查询男生学生的姓名
字符匹配:like
查询姓孙的学生信息
查询姓王,且名字为2位的学生的信息:
这里单引号里面,如果数据库为ASCII编码则需要俩个_,GBK编码只需要一个_。
![在这里插入图片描述](https://img-blog.csdnimg.cn/5656793c1535476ba743e939129b1d35.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAU1FuYW5hbmFuYQ==,size_20,color_FFFFFF,t_70,g_se,x_16
查询备注为空的学生信息:
AND表并且,OR表或者,可以用来连接多个条件。
排序:ORDER BY:按照某列属性的值对数据进行排序,默认是升序(ASC),ASC升序,DESC为降序。
按照总学分进行降序排列:
order by 和where 和group by 之间可以联合使用,
select * from 表名 where 条件 group by 列名 order by 列名。
分组:group by
将查询到的结果按照一列或者多列的值分组,值相等为一组。
查询课程号及选课人数。
嵌套查询:在查询中不能增加order by 语句
exists:带有exists谓词的子查询不返回任何数据,只产生逻辑真值ture和逻辑假值false
–查询所有选修了课程号10开头的学生的姓名
集合查询:
集合操作主要包括并操作union,交叫做intersect,差操作except
**数据更新:数据更新包括数据的插入,修改,删除
数据的插入:数据的插入通常有俩种形式,一种是插入元组,另一种是插入子查询结果。
1.insert into 表名 [插入的属性] values <插入对应属性列数值>;不写属性列默认为全部属性。
2.insert into <表名>[属性列]子查询
**
例子:将xsb中年龄大于18的插入到students表中
insert into xsb(name,age) select name,age from xsb where age>18;
数据修改:
update 表名 set<列名>=<表达式值>[where <条件>]
修改一个元组的值:
将姓名为程明的出生日期改为2000年01,01
例子:修改多个元组的值:将所有学生的成绩加5分
通过子查询进行数据的修改:
将所有男生的成绩全部置0
数据删除
delete from <表名> where <条件>。
删除多个元组的值
delete from <表名>删除表中的所有数据,清空表带子查询的删除语句。
视图操作:
视图:
1.可以用来简化用户的操作
2.让用户以多种角度看待同一数据
3.对重构数据库提供了一些逻辑独立性
4.能够对机密数据提供安全保护
5.更清晰的表达查询
创建视图:
create view <视图名>[<列名>] as<子查询>[with check option]
子查询可以是任意的select语句。
with check option 表示对视图进行更新操作的行满足视图定义的谓语条件(子查询的条件表达式)。
删除视图:drop view<视图名>[cascade],查询视图student((和表的操作类似)
select * from student where age>18
视图的更新和表的更新类似,增加,修改,删除,语法也相同,注:并不是所有的视图都可以更新。
Sql server 期末知识点复习相关推荐
- 软件工程导论 期末知识点复习总结
title: 软件工程导论 期末知识点 复习 categories: 计算机专业课 tags: "软件工程" 软件工程知识点总结,仅仅为了期末考试.带*不重要了解一下即可,黑体重点 ...
- c井语言和SQL第一章上机1,第一章 SQL Server 数据库基础复习内容(上机)
上机课程总目标 在本学期中,将模拟开发一套学员信息管理系统,用来管理学员的个人基本资料,老师资料,学生成绩,课程信息等教学相关内容,以实现学校的信息自动化,提高工作效率. 该系统包括学生档案管理.学生 ...
- 天津理工大学计算机操作系统期末知识点复习
天理计算机中加专业期末操作系统复习 文章目录 天理计算机中加专业期末操作系统复习 第一章(操作系统导论) 第二章(进程管理) 第三章(处理机调度) 第四章(存储器系统) 第五章(设备管理) 学弟学妹们 ...
- SQL Server数据库知识点五
SQL Server Intersect(交集): SQL Server INTERSECT 组合了两个或多个查询的结果集,并返回两个查询输出的不同行. 与 UNION 运算符类似,上述语法中的查询必 ...
- 【SQL server 期末复习】
数据库期末试卷 -.关系数据库分析题(本题共10分) 某运输公司数据库中有一个车队的关系模式: R(司机编号,汽车牌照,行驶公里,车队名称,车队主管) 此处每个汽车牌照对应一辆汽车."行驶公 ...
- sql server 2017数据库复习:第六章-数据库设计(需求分析、概念结构设计(ER图)、逻辑结构设计)+练习题
数据库设计的基本过程及每阶段的主要任务 说明:数据流图用于实现需求分析! ER图设计 局部ER图->全局ER图->全局ER图优化 在ER图合并的时候,会出现以下3种冲突: 1.属性冲突:属 ...
- 需求工程期末知识点复习
需求工程第一章 软件的模拟特性 P6 软件的模拟特性来源于其知识载体的特性:软件在运行中表现出来的特性.行为应该和应用的现实情况保持一致,即软件"模拟"了现实. "模拟性 ...
- SQL Server 练习题及答案1
SQL Server 期末考试题目及答案 一.单选题 1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于( ). A. Windows平台 B. UNIX平台 C. ...
- sql创建计算机用户,2015年计算机四级数据库复习要点:SQL Server 登录账户
2015年计算机四级数据库复习要点:SQL Server 登录账户 系统内置的登录账户 1. BUILTIN\Administrators:是一个Windows组账户,表示所有的Windows Adm ...
最新文章
- 1-6-RHEL7用户管理和如何恢复root密码
- js中执行到一个if就停止的代码_Node.JS实战64:ES6新特性:Let和Const。
- c语言股票软件开发,一种使用Objcctivc语言开发的股票软件系统的制作方法
- AngularJS jQuery 共存法则
- 苹果推出网页版Apple Music 浏览器上听音乐 这波操作有点迟?
- 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序
- OpenGL基础14:摄像机
- mysql 监听 udp_通用TCP、UDP服务监控脚本
- 一篇文章学会Yaml的语法超详细(建议收藏)
- 定位CPU飙升问题点
- moss2007安装部署历程 .
- spring boot控制AD域 报错解决
- es6转es5 的6种方式
- Error: `fsevents` unavailable (this watcher can only be used on Darwin)
- 在大理,有没有见到段誉?
- 基于单片机的多功能电子医药盒设计
- java 求一组数据的各自所占百分比
- c语言书面作业,华软C语言书面作业14
- DirectX12 - Pipeline(管线)
- html退款申请源码,退款.html