master数据库:用来记录sql serve系统的所有系统级信息的数据库
记录了sql系统中所有的系统信息,登录账号,系统配置和设置,
服务器中数据库名称,相关信息,数据库文件位置,sqlserve初始化信息。
model数据库:在sql serve实例上创建所有数据库的模板。
更改数据库的恢复模式需要Alter权限
简单模式下,数据库自动把不活动的日志删掉
视图的优点:
为用户集中需要的数据,简化了数据的用户操作;
对用户隐藏了数据库设计的复杂性
简化了用户权限的管理
现有学生表(学号,住址,姓名,性别,专业,联系方式,系部编号),要求创建一个只含有所有女生的视图v_学生_女。
(首先视图只操作它可以查询出来的数据,对于它查询不出的数据,即使基表有,也不可以通过视图来操作)
没有后面的wuth check option也可以
视图和表的区别:
视图能够在一个或者多个表上查看数据,
视图可以只显示用户感兴趣的数据
视图时虚拟的表
是从数据库中一个或者多个表中导出来的表
已知有一视图:同学表视图
(学号,姓名,性别,年龄,民族,身份证号,宿舍号,宿舍电话),
请编写SQL语句从视图中
查询姓张的女同学的姓名、性别、宿舍电话。
select 姓名,性别,宿舍电话
from 同学视图
where 姓名 like‘张%’ and 性别=’女’
数据逻辑独立:
当数据库重新构造时
如果增加新的关系
或对原有的关系增加新的字段等
用户和用户程序不会受到影响
left(字符串,length)
lenth是返回长度,
比如:
left(‘ghtyuiokjl’,3)就是返回
ght
事务是由对数据库的若干操作组成的一个( )
,这些操作要么都执行,要么都不做。
逻辑工作单元
什么是右外连接?
包含右边表的全部行,以及左边表中全部满足条件的行。
查询语句中SELECt指定了要查询的列,FROM 指定了这些数据的来源(表或视图),WHERe 指定了要查询查询哪些记录。
identity:
每次插入记录时,自动地创建主键字段的值。
第一行是1,下一行自动加一变成2
第三行自动变成3
表示数据表中某一列为标识列或自动编号列
启动一个显式事务的语句为( ),BEGIN TRANSACTION
提交事务的语句为( )COMMIT TRANSACTION
,回滚事务的语句为( )。ROLLBACK TRANSACTION
实体完整性将一特定的每一个数据行都定义为唯一实体
属性:
属性是实体所具有的某一特性,
包括属性的的型和属性的值
一个实体用若干个属性来描述
域完整性:
是指列有效性
对视图vhy中编号为“101”的会员的姓名修改为“马春霞”;
则可以通过以下语句实现:
( updata ) vxszf ( set )姓名='马春霞' ( where )编号='101'
事务:
由对数据库的若干操作组成的一个逻辑工作单元。
这些操作要不都执行,要不都不执行
是一个不可分割的整体
排他锁:
排他锁与所有锁模式互斥,
以确保不会同时对一资源进行多重更新
用于数据修改操作
当排他锁锁定数据时,其他并发事务并不可以读取或修改该数据。
where后面不能有聚合函数
就是where 后面不能有avg()之类的函数
使用INSERT插入记录时,
经常会用到DEFAULT和NULL,
请分析这两个关键字的异同?
不同点:
bull关键字,为允许为空的列提供空值
default关键字,为指定的列提供一个默认值
相同点:
如果列上没有定义默认值
或其他可以自动获取数据的类型
这两个关键字都可以为某个列提供空值
系数据库中空值(NULL)相当于( 没有输入 )。
事务管理的必要性:
事务管理主要是为了保证一批相关数据库中的数据操作
能够全部被完成,从而保证数据的完整性。
对表stu_score增加一列tol_score,数据类型为int,
怎么用T-SQL语句实现?
alert table stu_score add column tol_score int
updata是修改记录,对行操作
alert是修改表的结构,添加字段,对列操作
每个数据库至少有一个事务日志文件,建议拓展名为.ldf
从”选课”表中查询所有参与选课的学生学号(要求没有重复记录)。
SELECt DISTINCT 学号 FROM 选课
SQLServer中的存储过程有哪些主要的优点?
提供了安全机制
改进了执行性能
减少网络流量与代码的重用性
嵌套查询:
将一个查询语句嵌套再另一个查询语句中的查询



