数据库的概念模型独立于
A.具体的机器和DBMS
B.E-R图
C.信息世界
D.现实世界
答案:A。概念模型用于信息世界的建模,与具体的DBMS无关,首先把现实世界抽象为信息世界,然后将信息世界转换成机器世界
Transact-SQL 提供下列聚合函数
APPROX_COUNT_DISTINCT
MIN
AVG
STDEV
CHECKSUM_AGG
STDEVP
COUNT
STRING_AGG
COUNT_BIG
SUM
GROUPING
VAR
GROUPING_ID
VARP
MAX
Transact-SQL语句创建主键
alter table table1 with notcheck add constraint [PK_table1] primary key nonclustered (column1) on primary;
E-R图的3个基本要素
实体型
属性
联系
数据库以及线程发生死锁的原理及必要条件,如何避免死锁
产生死锁的原因主要是:
(1) 因为系统资源不足。
(2) 进程运行推进的顺序不合适。
(3) 资源分配不当等。
产生死锁的四个必要条件:
(1)互斥条件:一个资源每次只能被一个进程使用。
(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不可剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
避免死锁:
死锁的预防是通过破坏产生条件来阻止死锁的产生,但这种方法破坏了系统的并行性和并发性。
死锁产生的前三个条件是死锁产生的必要条件,也就是说要产生死锁必须具备的条件,而不是存在这3个条件就一定产生死锁,那么只要在逻辑上回避了第四个条件就可以避免死锁。
避免死锁采用的是允许前三个条件存在,但通过合理的资源分配算法来确保永远不会形成环形等待的封闭进程链,从而避免死锁。该方法支持多个进程的并行执行,为了避免死锁,系统动态的确定是否分配一个资源给请求的进程。
预防死锁:具体的做法是破坏产生死锁的四个必要条件之一。
银行家算法:该算法需要检查申请者对各类资源的最大需求量,如果现存的各类资源可以满足当前它对各类资源的最大需求量时,就满足当前的申请。换言之,仅当申请者可以在一定时间内无条件归还它所申请的全部资源时,才能把资源分配给它。这样申请者就可以很快完成其计算,然后释放它占用的资源,从而保证了系统中的所有进程都能完成,所以可以避免死锁的发生。这种算法的主要问题是,要求每个进程必须先知道资源的最大需求量,而且在系统的运行过程中,考察每个进程对各类资源的申请需花费较多的时间。另外,这一算法本身也有些保守,因为它总是考虑最坏可能的情况。
在SQL中语法规范中,having子句的使用
A.having子句即可包含聚合函数作用的字段也可包括普通的标量字段
B.使用having的同时不能使用where子句
C.having子句必须于group by 子句同时使用,不能单独使用
D.使用having子句的作用是限定分组条件
E.Having子句和where子句是等同的
F.如果select语句中没有聚合函数的使用,就不能使用having子句
解析:where子句 = 指定行所对应的条件
having子句 = 指定组所对应的条件
D中是Group by才用来分组的,group by的作用是限定分组条件,而having则是对group by中分出来的组进行条件筛选。
所以用having就一定要和group by连用,且是先group by XXX 再having XXX,用group by不一有having(它只是一个筛选条件用的)
select语句完整语法
1)select目标表的列名或列表达式序列
2)from基本表名和(或)视图序列
3)[where 行条件表达式]
4)[group by 列名序列][having 组条件表达式]
5)[order by 列名[asc | desc]],则sql语句的执行顺序是:
写法顺序:select--from--where--group by--having--order by
执行顺序:from--where--group by--having--select--order by
文件系统与数据库系统的区别和联系
文件系统于数据库系统的区别是:
文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。
数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库系统提供数据安全性,完整性,并发控制和恢复力。
文件系统与数据库系统的联系是:
文件系统于数据库系统都是计算机系统中管理数据库的软件。
解析文件系统是操作系统的重要组成部分。而DBMS是独立于操作系统的软件。到时DBMS操作系统的基础上实现的。
数据库系统的组织和存储是通过操作系统中的文件系统来实现的。
下列哪种完整性中,将每一条记录定义为表中的惟一实体,即不能重复
A、域完整性 B、引用完整性 C、实体完整性 D、其他
关系的约束条件也称为关系的数据完整性规则,是对关系的一些限制和规定,包括实体完整性、参照完整性和用户定义完整性。
实体完整性:关系模型对应的是现实世界的数据实体,而关键字是实体惟一性的表现,没有关键字就没有实体,所有关键字不能是空值。这是实体存在的最基本的前提,所以,称之为实体完整性。
参照完整性:参照完整性规则也可称为引用完整性规则。这条规则是对关系外部关键字的规定,要求外部关键字的取值必须是客观存在的,即不允许在一个关系中引用另一个关系中不存在的元组。
用户定义完整性:由用户根据实际情况,对数据库中数据的内容所作的规定称为用户定义的完整性规则。通过这些限制数据库中接受符合完整性约束条件的数据值,不接受违反约束条件的数据,从而保证数据库的数据合理可靠。
E-R图
也称实体-联系图(Entity Relationship Diagram)
提供了表示实体类型、属性和联系的方法
用来描述现实世界的概念模型。
DBS,DB,DBMS,DBA区别
DBS (DataBase System)是数据库系统
DB(Database )是数据库
DBMS(DataBase Management System)是数据库管理系统
DBA(Database Administrator)是数据库管理员
数据库系统DBS和数据库管理系统DBMS数据库系统 (DataBase System),
是采用了数据库技术的计算机系统,是一个实际可运行的、按照数据库方法存储、维护和向应用系统提供数据支持的系统 ,
它是数据库、硬件和软件,以及数据库管理员(DBA)的集合体。
数据库管理系统(DataBase Management System),是指数据库系统中对数据进行管理的软件系统,它是数据库系统的核心组成部分。
可以通过DBMS对DB进行定义、查询、更新及各种控制。
码是唯一标识实体的属性集
数据库Oracle 9i
最大保护(Maximum protection ) 这种模式能够保证在primary Database发生故障保证数据不丢失。
在这种模式下,事务提交前,要保证Redo数据已经写入到Primary Database的Online Redologs,同时写入Standby Database的Standby Redologs,并确保至少在一个Standby Database中可用。如果Standby Database不可用,Primary Database将会shutdown。
最高可用性(Maximum availability) 这种模式在不影响Primary Database可用的前提下,提供最高级别的数据保护策略,这种模式也能够确保数据不丢失。
事务提交之前,要保证Redo数据已经写入到Primary Database的Online Redologs,同时写入Standby Database的Standby Redologs,确保至少在一个Standby Database中可用。
与最大保护模式不同的是,如果Standby Database出现故障导致不可用,Primary Database并不会被shutdown,而是自动转换为最高性能模式,等Standby Database恢复正常后,Primary Database又会自动切换到最高可用性模式。
最大性能(Maximum performance) 这是一种默认的保护模式。事务可以随时提交,当前Primary Database的Redo数据至少需要写入一个Standby Database,不过这种方式不会等待Standby Database是否写入的确认因此这种写入属于异步写入。
数据库系统的特点
数据结构化;数据的共享性高、冗余度低、易扩充;数据独立性高;数据由DBMS 统
一管理和控制。
-
数据结构化:数据库系统实现整体数据的结构化,这是数据库的主要特征之一。
-
数据的共享性高,冗余度低,易扩充。数据库系统从整体角度看待和描述数据,数
据不再面向某个应用而是面向整个系统,因此数据可以被多个用户,应用共享使用。数据共
享可以大大减少数据冗杂,节约存储空间。数据共享还能够避数据之间的不相容与不一致性。 -
数据独立性高。数据独立性包括物理独立性和逻辑独立性。
-
数据由DBMS 统一管理和控制。数据库的共享是并发的共享,即多个用户可以同时
存取数据库中的数据甚至可以同时存取数据库中一个数据
一个关系可以有多个主属性
关系数据库中的关键字是指能惟一标识元组的属性或属性集合
9i中的数据保护模式
MAXIMIZE PROTECTION
MAXIMIZE AVAILABILITY
MAXIMIZE PERFORMANCE
select语句完整语法
-
select 目标表的列名或列表达式序列
-
from 基本表名和(或)视图序列
-
[where 行条件表达式]
-
[group by 列名序列]
[having 组条件表达式]
- [order by 列名[asc | desc]]
2),3),4),1),5)