**数据库基础概念:
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

数据库复习知识

  • 数据库基本概念
  • 一、第一章概念知识复习
  • 二、数据库创建,数据库及数据库对象

数据库基本概念

一、第一章概念知识复习

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 期末知识点复习相关推荐

  1. 软件工程导论 期末知识点复习总结

    title: 软件工程导论 期末知识点 复习 categories: 计算机专业课 tags: "软件工程" 软件工程知识点总结,仅仅为了期末考试.带*不重要了解一下即可,黑体重点 ...

  2. c井语言和SQL第一章上机1,第一章 SQL Server 数据库基础复习内容(上机)

    上机课程总目标 在本学期中,将模拟开发一套学员信息管理系统,用来管理学员的个人基本资料,老师资料,学生成绩,课程信息等教学相关内容,以实现学校的信息自动化,提高工作效率. 该系统包括学生档案管理.学生 ...

  3. 天津理工大学计算机操作系统期末知识点复习

    天理计算机中加专业期末操作系统复习 文章目录 天理计算机中加专业期末操作系统复习 第一章(操作系统导论) 第二章(进程管理) 第三章(处理机调度) 第四章(存储器系统) 第五章(设备管理) 学弟学妹们 ...

  4. SQL Server数据库知识点五

    SQL Server Intersect(交集): SQL Server INTERSECT 组合了两个或多个查询的结果集,并返回两个查询输出的不同行. 与 UNION 运算符类似,上述语法中的查询必 ...

  5. 【SQL server 期末复习】

    数据库期末试卷 -.关系数据库分析题(本题共10分) 某运输公司数据库中有一个车队的关系模式: R(司机编号,汽车牌照,行驶公里,车队名称,车队主管) 此处每个汽车牌照对应一辆汽车."行驶公 ...

  6. sql server 2017数据库复习:第六章-数据库设计(需求分析、概念结构设计(ER图)、逻辑结构设计)+练习题

    数据库设计的基本过程及每阶段的主要任务 说明:数据流图用于实现需求分析! ER图设计 局部ER图->全局ER图->全局ER图优化 在ER图合并的时候,会出现以下3种冲突: 1.属性冲突:属 ...

  7. 需求工程期末知识点复习

    需求工程第一章 软件的模拟特性 P6 软件的模拟特性来源于其知识载体的特性:软件在运行中表现出来的特性.行为应该和应用的现实情况保持一致,即软件"模拟"了现实. "模拟性 ...

  8. SQL Server 练习题及答案1

    SQL Server 期末考试题目及答案 一.单选题 1. Microsoft公司的SQL Server2000数据库管理系统一般只能运行于( ). A. Windows平台 B. UNIX平台 C. ...

  9. sql创建计算机用户,2015年计算机四级数据库复习要点:SQL Server 登录账户

    2015年计算机四级数据库复习要点:SQL Server 登录账户 系统内置的登录账户 1. BUILTIN\Administrators:是一个Windows组账户,表示所有的Windows Adm ...

最新文章

  1. 1-6-RHEL7用户管理和如何恢复root密码
  2. js中执行到一个if就停止的代码_Node.JS实战64:ES6新特性:Let和Const。
  3. c语言股票软件开发,一种使用Objcctivc语言开发的股票软件系统的制作方法
  4. AngularJS jQuery 共存法则
  5. 苹果推出网页版Apple Music 浏览器上听音乐 这波操作有点迟?
  6. 微信小程序开发学习笔记001--认识微信小程序,第一个微信小程序
  7. OpenGL基础14:摄像机
  8. mysql 监听 udp_通用TCP、UDP服务监控脚本
  9. 一篇文章学会Yaml的语法超详细(建议收藏)
  10. 定位CPU飙升问题点
  11. moss2007安装部署历程 .
  12. spring boot控制AD域 报错解决
  13. es6转es5 的6种方式
  14. Error: `fsevents` unavailable (this watcher can only be used on Darwin)
  15. 在大理,有没有见到段誉?
  16. 基于单片机的多功能电子医药盒设计
  17. java 求一组数据的各自所占百分比
  18. c语言书面作业,华软C语言书面作业14
  19. DirectX12 - Pipeline(管线)
  20. html退款申请源码,退款.html

热门文章

  1. 随时来一杯鲜榨果汁,夏日解暑好装备,大宇榨汁机上手
  2. mysql sql 去除重复行_SQL查询语句去除重复行
  3. 区块链发展的三大代表BTC ETH FIL 哪个潜力更大??从这7个方面来对比
  4. surface book 设备无法启动时重装系统的步骤
  5. Flask+Html 上传图片文件(附完整代码和项目工程)
  6. Windows-如何查看域用户的最终密码更改日期等详细信息
  7. git常见命令和更新、发布
  8. 网页自适应pc端和移动端
  9. 上行参考信号DMRS for PUSCH
  10. win10 怎样设置扩展屏幕不显示任务栏