(完整版)专升本数据库练习题及答案

合集下载

辽宁省专升本数据库练习题

辽宁省专升本数据库练习题

辽宁省专升本数据库练习题### 辽宁省专升本数据库练习题#### 一、选择题(每题2分,共10分)1. 在关系数据库中,关系模式的规范化程度越高,其优点是()。

A. 存储空间减少B. 数据冗余度减少C. 数据独立性降低D. 数据操作复杂度增加2. SQL语言中,用于查询数据的命令是()。

A. SELECTB. INSERTC. UPDATED. DELETE3. 下列哪个选项不是数据库设计阶段的任务?()A. 需求分析B. 概念性设计C. 物理设计D. 数据库维护4. 在数据库中,实体间的一对多关系可以用()来实现。

A. 一对一关系B. 多对多关系C. 一对多关系D. 多对一关系5. 数据库管理系统(DBMS)的主要功能不包括()。

A. 数据定义B. 数据操纵C. 数据控制D. 数据加密#### 二、填空题(每题2分,共10分)1. 在数据库中,数据的物理结构独立于逻辑结构,这是数据库的______特性。

2. 一个关系中的所有属性都是不可分割的基本数据项,这是数据库的______性。

3. 数据库中的视图是一个______的虚表,它是由查询结果构成的。

4. 数据库的完整性约束包括实体完整性、参照完整性和______完整性。

5. 数据库恢复操作主要依赖于______和日志文件。

#### 三、简答题(每题5分,共20分)1. 简述数据库管理系统(DBMS)的主要功能。

2. 描述数据库三级模式结构及其优点。

3. 什么是事务?事务的ACID特性是什么?4. 什么是数据库的并发控制?并发控制的主要策略有哪些?#### 四、综合题(每题15分,共30分)1. 给定一个学生选课数据库,包含学生表(Student)、课程表(Course)和选课表(Enrollment)。

学生表包含学号(S#)、姓名(Sname)和性别(Ssex);课程表包含课程号(C#)、课程名(Cname)和学分(Credits);选课表包含学号(S#)、课程号(C#)和成绩(Grade)。

数据库原理(专升本)

数据库原理(专升本)

数据库原理(专升本) 单选题1. 层次模型不能直接表示_____。

(A) 1:1关系(B) 1 :m关系(C) m :n关系(D) 1 :1和1 :m关系标准答案:C2. 在数据库系统中,系统故障造成_ ____。

(4分)(A) 硬盘数据丢失(B) 软盘数据丢失(C) 内存数据丢失(D) 磁盘丢失标准答案:C3. 关系r和s自然连接时,能够把r和s原该舍弃的元组放到结果关系中的操作是_____。

(4分)(A) 左外连接(B) 右外连接(C) 外部并(D) 外连接标准答案:D4. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是_____。

(4分)(A) DBS包括DB和DBMS(B) DDMS包括DB和DBS(C) DB包括DBS和DBMS(D) DBS就是DB,也就是DBMS标准答案:A5. 要求关系的元组在主属性上不能为空值,这是_____约束。

(4分)(A) 实体完整性(B) 参照完整性(C) 用户自定义(D) 用户操作标准答案:A6. 在下面列出的数据模型中,___ __是概念数据模型。

(4分)(A) 实体、联系模型(B) 层次模型(C) 网状模型(D) 关系模型标准答案:A7. 在关系模式R(A,B,C)中,F= {(A,B) →C,B→C},则R最高可达到_____。

(4分)(A) BCNF(B) 3NF(C) 2NF(D) 1NF标准答案:D8. 数据库的三级模式体系结构的划分,有利于保持数据库的_____。

(4(A) 数据独立性(B) 数据安全性(C) 结构规范化(D) 操作可行性标准答案:A填空题9. 在ER图中,矩形框表示___(1)___ ,菱形框表示___(2)___ 。

(4分)(1).标准答案:实体类型(2).标准答案:联系类型10. 在需求分析中,___(3)___是各类数据描述的集合,它包括数据项、数据结构、数据流、数据存储和数据加工过程等描述。

专升本计算机综合数据库选择题练习(含答案)

专升本计算机综合数据库选择题练习(含答案)

《数据库系统》选择题练习数据库概述下列有关数据库的描述正确的是()。

A.数据库是一个DBF文件 B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件数据独立性是指()。

A.数据依赖于程序B.程序依赖于数据C.数据不依赖于程序D.程序不依赖于数据以下关于DBA职责的叙述中,不正确的是()。

A.DBA是数据库系统的超级用户,负责控制和经管各个用户的访问权限B.DBA要负责监控数据库的运行C.DBA要负责前端应用程序的开发D.DBA要负责当数据库系统发生故障时进行恢复DBMS是指()。

A.数据库B.数据库系统C.数据库经管系统D.数据处理系统数据冗余度低、数据共享以及较高数据独立性等特征的系统是()。

A.文件系统B.数据库系统C.操作系统D.高级程序仅次于用户和数据库之间的一层数据经管软件是()。

A.数据库系统B.数据库C.经管信息系统D.数据库经管系统数据库系统中,逻辑数据和物理数据可以相互转换,执行该功能的是()A.操作系统B.信息经管系统C.数据库经管系统D.文件系统数据库中对全部数据的整体逻辑结构的描述,作为数据库的()。

A.存储模式B.子模式C.外模式D.模式用户看到的那部分数据的局部逻辑结构的描述是()。

A.存储模式B.子模式C.概念模式D模式文件系统和数据库系统的最大区别是()。

A.数据共享B.数据独立C.数据冗余D.数据结构化关于信息和数据,下面的论述中正确是的()。

A.信息与数据,只有区别,没有联系B.信息是数据的载体C.同一信息用同一数据表示形式D.数据处理本质上就是信息处理描述事物性质的最小数据单位是()。

A.记录B.文件C.数据项D.数据库若干记录的集合称为()。

A.数据B.数据库C.数据项D.文件数据库系统中的软件是指()。

A.数据库经管系统B.应用程序C.数据库D.数据库经管员在数据库系统的组织结构中,把概念数据库与物理数据联系起来的映射是()。

A.外模式/模式B.内模式/外模式C.模式/内模式D.模式/外模式1975年SPARC公布了数据库规范报告,提出了数据库的()结构组织。

专升本《数据库系统原理》

专升本《数据库系统原理》

[试题分类]:专升本《数据库系统原理》_08033050[题型]:单选[分数]:21.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。

若要把“张二的化学成绩80分”插入S中,则可用()命令。

A.INSERTINTOSV ALUES(’张二’,’化学’,80)B.ADDINTOSV ALUES(’张二’,’化学’,80)C.ADDINTOSV ALUES(’张二’,’化学’,’80’)D.INSERTINTOSV ALUES(’张二’,’化学’,’80’)答案:A2.事务的隔离性是指()A.事务一旦提交,对数据库的改变是永久的B.事务中包括的所有操作要么都做,要么都不做C.一个事务内部的操作及使用的数据对并发的其他事务是无关的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态答案:C3.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是()A.两个都是UPDATEB.一个是SELECT,另一个是UPDATEC.两个都是SELECTD.其中有一个是DELETE答案:C4.已知在一个工厂中有多个车间,每一个车间有多名职工,工厂的产品要经过多个车间的多道工序加工。

具体来说,一个产品要经过多个工人加工,一位工人要加工多个产品。

工厂与车间之间属于一对多联系,车间与工人之间属于一对多联系,工人与产品之间属于()联系。

A.未知B.一对一C.多对多D.一对多答案:C5.()是存储在计算机内的有结构的数据集合。

A.数据库系统B.数据库C.网络系统D.操作系统答案:B6.若关系模式R∈3NF,则下面最正确的说法是()A.所有的非主属性都不部分依赖于码B.某个主属性不传递依赖于码C.所有的非主属性都不传递依赖于码D.某个非主属性不部分依赖于码答案:C7.表达用户使用观点的数据库局部逻辑结构的在三级模式结构中是()A.概念模式B.外模式C.模式D.内模式答案:B8.在关系数据库系统中,为了简化用户的查询操作,而又不增加数据的存储空间,常用的方法是创建()A.模式B.视图C.另一个表D.索引答案:B9.若要在基本表S中增加一列CN(课程名),可用()。

专升本《数据库系统原理》_试卷_答案

专升本《数据库系统原理》_试卷_答案

专升本《数据库系统原理》一、 (共53题,共150分)1.数据库管理系统DBMS中用来定义模式、内模式和外模式的语言是().(2分)A。

DML B.C C。

DDL D。

Basic。

标准答案:C2。

保证数据库系统正常工作的的核心软件是( )。

(2分) A.编译系统 B.数据库C。

操作系统 D。

数据库管理系统。

标准答案:D3. 数据库(DB。

、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是()(2分)A。

DBS包括DB和DBMS B。

DBMS包括DB和DBSC。

DB包括DBS和DBMS D.DBS就是DB,也就是DBMS。

标准答案:A4. 事务的原子性是指()(2分)A。

事务中包括的所有操作要么都做,要么都不做B。

事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态标准答案:A5。

系统能把数据库从被破坏、不正确的状态,恢复到最近一个正确的状态,DBMS的这种能力称为( ) (2分)A。

完整性控制B。

安全性控制 C。

可恢复性D。

并发控制。

标准答案:C6。

有两个实体集,并且它们之间存在着一个M:N联系,那么按照E-R模型转换成关系数据库的规则,这个E-R结构转换成表的个数为()。

(2分)A。

1 B。

2 C。

3 D。

4。

标准答案:C7.把E—R图转换为关系模型的过程,属于数据库设计的()(2分)A.概念设计B.逻辑设计 C.需求分析 D。

物理设计标准答案:B8。

若用如下的SQL语句创建一个student表:可以插入到student表中的记录是( )。

(2分)A。

(‘1031',‘曾华’,男,23)B。

(‘1031',‘曾华’,NULL,NULL) C。

(NULL,‘曾华',‘男',‘23’)C。

(‘1031’,NULL,‘男’,23)。

标准答案:B9. SQL语言中,删除一个视图的命令是().(2分)A。

数据库系统概论专升本模拟试题(含参考答案)

数据库系统概论专升本模拟试题(含参考答案)

数据库系统概论模拟试题(含参考答案)一、单选题(共80题,每题1分,共80分)1、SQL语言是()语言。

A、网络数据库B、关系数据库C、非数据库D、层次数据库正确答案:B2、在WHERE语句的条件表达式中,与零个或多个字符进行匹配的通配符是()。

A、_B、*C、%D、?正确答案:C3、当两个关系没有公共属性时,其自然连接表现为( )。

A、笛卡尔积B、等值连接C、结果为空D、出错正确答案:A4、已知关系R(A,B,C)、S(D,E,A)其中R的主码是A,S的主码是E,S中的A与R中的A相对应。

S中的A被称为( )。

A、外码B、主码C、内码D、候选码正确答案:A5、设关系R和S的结构相同且各有100个元组,则R和S的并操作结果的元组数为( )。

A、200B、小于等于100C、100D、小于等于200正确答案:D6、下列()是对触发器的描述。

A、SQL语句的预编译集合B、当用户修改数据时,一种特殊形式的存储过程被自动执行C、它根据一或多列的值,提供对数据库表的行的快速访问D、定义了一个有相关列和行的集合正确答案:B7、有关三个世界中数据的描述术语,“实体”是()。

A、对现实世界数据信息的描述B、对计算机世界数据信息的描述C、对三个世界间相互联系的描述D、对信息世界数据信息的描述正确答案:D8、现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对—种书借多本,则该关系模式的码是()。

A、书号+读者号B、书号+读者号+借期C、读者号D、书号正确答案:B9、数据库系统实现整体数据的结构化,主要表现在以下几个方面,除了()A、数据的最小存取单位是数据项。

B、数据可以变长。

C、数据的结构用数据模型描述,无需程序定义和解释。

D、数据库和应用程序一一对应。

正确答案:D10、数据库系统并发控制的主要方法是采用()机制。

A、不加任何控制B、改为串行C、封锁D、拒绝正确答案:C11、数据库概念设计是面向企业或组织中的数据需求的。

数据库专升本试题及答案

数据库专升本试题及答案

数据库专升本试题及答案一、单项选择题(每题2分,共20分)1. 数据库管理系统(DBMS)的主要功能不包括以下哪一项?A. 数据定义B. 数据操纵C. 数据维护D. 数据备份答案:D2. 关系型数据库管理系统中,关系是指什么?A. 数据表B. 数据库C. 数据库文件D. 数据库服务器答案:A3. 在SQL中,用于创建新表的语句是?A. CREATE TABLEB. CREATE DATABASEC. CREATE INDEXD. CREATE VIEW答案:A4. 数据库设计中,实体与实体之间的关系通常分为几种?A. 1种B. 2种C. 3种D. 4种答案:C5. 以下哪个选项不是数据库的完整性约束?A. 实体完整性B. 参照完整性C. 数据完整性D. 用户定义完整性答案:C6. 在关系型数据库中,一个表的主键可以包含多个字段吗?A. 是B. 否答案:A7. 数据库中的视图是什么?A. 存储在数据库中的物理数据B. 基于SQL查询的虚拟表C. 数据库中的索引D. 数据库中的存储过程答案:B8. 在数据库中,事务的ACID属性指的是什么?A. 原子性、一致性、隔离性、持久性B. 原子性、一致性、隔离性、可扩展性C. 原子性、一致性、独立性、持久性D. 原子性、一致性、隔离性、可用性答案:A9. 数据库的规范化是为了解决什么问题?A. 数据冗余B. 数据备份C. 数据安全D. 数据存储答案:A10. 在数据库中,索引的作用是什么?A. 提高查询速度B. 降低存储空间C. 提高数据安全性D. 增加数据完整性答案:A二、多项选择题(每题3分,共15分)1. 数据库管理系统(DBMS)的组成部分包括以下哪些?A. 数据定义语言(DDL)B. 数据操纵语言(DML)C. 数据控制语言(DCL)D. 数据查询语言(DQL)答案:ABC2. 在关系型数据库中,以下哪些操作可以修改表结构?A. ADD COLUMNB. DROP COLUMNC. RENAME COLUMND. ALTER COLUMN答案:ABCD3. 数据库的并发控制机制包括哪些?A. 锁定机制B. 事务日志C. 乐观并发控制D. 悲观并发控制答案:ABCD4. 数据库的存储结构包括以下哪些?A. 物理存储结构B. 逻辑存储结构C. 索引结构D. 数据库文件答案:ACD5. 数据库的恢复技术包括以下哪些?A. 事务日志B. 数据备份C. 镜像D. 快照答案:ABC三、简答题(每题5分,共20分)1. 请简述数据库管理系统(DBMS)的主要功能。

数据库系统专升本考试(习题卷5)

数据库系统专升本考试(习题卷5)

数据库系统专升本考试(习题卷5)说明:答案和解析在试卷最后第1部分:单项选择题,共74题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]实体完整性约束中关系的主属性不能是()A)空值NULLB)RELLC)ALTERD)SQL2.[单选题]对于运算符“”,若其中有一个空值或者都是非空值但却不相等时,则为()A)TRUEB)FALSEC)NULLD)UNKNOWN3.[单选题]数据库中,数据的物理独立性是指( )A)用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的B)数据库与数据库管理系统的相互独立C)用户程序与DBMS的相互独立D)应用程序与数据库中数据的逻辑结构相互独立4.[单选题]下列关于存储函数的调用说法中错误的是()A)成功创建存储函数后才能调用B)和调用系统内置函数的方法一样C)使用关键字SELECT对其进行调用D)其语法格式是: CALL sp_name([func_parameter[.…]])5.[单选题]在MySQL中,用于实现交叉连接的关键字是A)CROSS JOINB)INNER JOINC)JOIND)LEFT JOIN6.[单选题]下列统计函数中不能忽略空值(NULL)的是( )。

A)SUMB)AVGC)MAXD)COUNT7.[单选题]将收集的数据进行适当的构造,这称为()A)数据存储B)数据组织C)数据构造D)以上答案都不对8.[单选题]每个部门有多名职工,每名职工在一个部门任职,实体集部门与职工之间的联系是()A)一对一B)一对多C)多对一D)多对多9.[单选题]若不控制并发问操作,将带来( )问题。

A)不一致B)死锁C)安全性D)死机10.[单选题]下列SQL语句中,修改表结构的是( )。

A)ALTERB)CREATEC)UPDATED)INSERT11.[单选题]数据库物理设计阶段是根据数据库逻辑设计的结果设计合适的数据库物理结构。

下列关于数据库物理设计的说法,错误的是( )A)物理设计时需要合理安排不同的存储介质,索引文件一般存储在高速磁盘中,日志文件可以考虑存储在磁带中。

专升本数据库系统原理测试题库与答案

专升本数据库系统原理测试题库与答案

专升本数据库系统原理测试题库与答案1、候选键约束可以在CREATE TABLE或ALTER TABLE语句中使用关键字【】来实现。

A、REFERENCESB、FOREIGN KEYC、PRIMARY KEYD、UNIQUE答案:D2、关系数据库是以【】的形式组织数据。

A、二维表格B、结构C、元组D、分量答案:A3、关于候选键与主键,下列说法正确的是A、一个表中只能创建一个主键和一个候选键B、一个表中只能创建一个主键,但可以定义若干个候选键C、一个表中可以创建若干个主键和候选键D、一个表中可以创建若干个主键,但只能定义一个候选键答案:B4、最简单有效的保障封锁其调度是可串行性的方法是A、1级封锁B、2级封锁C、3级封锁D、两段封锁法答案:D5、属于数据库实现与操作阶段的是A、逻辑设计B、概念设计C、物理设计D、数据库的修改与调整答案:D6、数据库设计的重要目标包括A、研究构造数据库B、数据库结构设计C、数据库行为设计D、良好的数据库性能答案:D7、聚类的目的是A、使对象之间的距离尽可能小B、使对象之间的距离尽可能大C、使属于同一类别的对象之间的距离尽可能大,而不同类别的对象间的距离尽可能小D、使属于同一类别的对象之间的距离尽可能小,而不同类别的对象间的距离尽可能大答案:D8、下列属于关联分析算法的是A、AprioriB、GMMC、RedisD、HBase答案:A9、数据集市的基本思想是【】的数据仓库的开发方法。

A、自上而下B、自下而上C、自左向右D、自右向左答案:B10、下列关于MySQL的说法中,错误的是A、MySQL是一个RDBMSB、MySQL具有客户/服务器体系结构C、MySQL 由美国MySQL AB公司开发D、许多中、小型网站为了降低网站总体拥有成本而选择MySQL作为网站数据库答案:C11、产生数据不一致的主要原因是并发操作破坏了事务的A、隔离性B、一致性C、原子性D、持续性12、主键约束可以在CREATE TABLE或ALTER TABLE语句中使用关键字【】来实现。

数据库练习题(含答案)

数据库练习题(含答案)

数据库练习题(含答案)一、单选题(共80题,每题1分,共80分)1、同一个数据模型的任意两个元组值()A、不能全同B、可全同C、必须全同D、以上都不是正确答案:A2、在创建主/子窗体之前,要确定主窗体与子窗体之间的数据源之间存在着的关系。

A、多对一B、多对多C、一对一D、一对多正确答案:D3、Access不能对数据类型进行排序和索引。

( )A、文本B、数字C、备注D、自动编号正确答案:D4、任何一个满足2NF但不满足3NF的关系模式都存在( )A、非主属性对候选码的传递依赖B、主属性对候选码的部分依赖C、非主属性对候选码的部分依赖D、主属性对候选码的传递依赖正确答案:A5、以下哪一条属于关系数据库的规范化理论要解决的问题?( )A、如何构造合适的应用程序界面B、如何构造合适的数据库逻辑结构C、如何控制不同用户的数据操作权限D、如何构造合适的数据库物理结构正确答案:B6、在数据管理技术发展的三个阶段中,数据独立性最好的是( )。

A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、三个阶段相同正确答案:C答案解析:数据库系统管理阶段的独立性最高,是因为采用了数据库管理系统来管理数据,将应用程序和数据分开存储。

7、在设计表时,若输人掩码属性设置为“LL”,则能接收的输人是( )A、abBdB、aBC、AB+CD、ABa9正确答案:B答案解析:在输入掩码的格式符号中,“L”表示在该位置必须输入一个字母。

B送选项中少了一个字母,C选项中不能接受“+”,D 选项中不能接受“9”8、在下列SQL语句中,修改表结构的语句是( )。

A、ALTERB、CREATEC、UPDATED、INSERT正确答案:A9、空数据库是指()A、没有基本表的数据库B、没有任何数据库对象的数据库C、数据库中数据表记录为空的数据库D、没有窗体和报表的数据库正确答案:B答案解析:Access由六大对象组成,因此空数据库必须是没有任何对象的数据库。

专升本《数据库系统原理》-试卷-答案

专升本《数据库系统原理》-试卷-答案

专升本《数据库系统原理》一、(共52题,共151分)1. 在数据库系统中,当数据库的内模式发生改变时,应用程序可以不变。

这是由数据库中数据的()保证的。

(2分)A.物理数据独立性B.逻辑数据独立性C.位置数据独立性D.存储数据独立性标准答案:A2. 在下面列出的数据模型中,哪一个是概念数据模型()(2分)A.关系模型B.层次模型C.网状模型D.实体-联系模型标准答案:D3. 下面列出的条目中,哪些是数据库技术的主要特点()Ⅰ.数据共享度高Ⅱ.数据的冗余小Ⅲ.较高的数据独立性Ⅳ.程序的标准化(2分)A.Ⅰ、Ⅱ和ⅢB.Ⅰ和ⅡC.Ⅰ、Ⅱ和ⅣD.都是标准答案:A4. 在三级模式之间引入两级映像,其主要功能之一是()(2分)A.使数据与程序具有较高的独立性B.使系统具有较高的通道能力C.保持数据与程序的一致性D.提高存储空间的利用率标准答案:A5. 由于关系模式设计不当所引起的插入异常指的是()(2分)A.两个事务并发地对同一关系进行插入而造成数据库不一致B.由于码值的一部分为空而不能将有用的信息作为一个元组插入到关系中C.未经授权的用户对关系进行了插入D.插入操作因为违反参照完整性约束条件而遭到拒绝标准答案:B6. 下面有关模式分解的叙述中,不正确的是()(2分)A.若一个模式分解保持函数依赖,则该分解一定具有无损连接性B.若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNFC.若要求分解既具有无损连接性,又保持函数依赖,则模式分解可以达到3NF,但不一定能达到BCNFD.若要求分解具有无损连接性,那么模式分解一定可以达到BCNF 标准答案:D7. 事务的一致性是指()。

(2分)A.事务中包括的所有操作要么都做,要么都不做B.事务一旦提交,对数据库的改变是永久的C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态标准答案:D8. SQL语言是()(2分)A.高级言语B.汇编语言C.结构化查询语言D.宿主语言标准答案:C9. 在SQL中,与“NOT IN”等价的操作符是()(2分)A.SOME C.= SOME D.= ALL标准答案:A10. 关于事务的故障与恢复,下列说法正确的是()(2分)A.事务日志用来记录事务执行的频度B.任何故障的恢复都由系统自动完成C.系统故障的恢复只需进行REDO操作D.对日志文件设置检查点是为了提高故障恢复效率标准答案:D11. 关系型数据库中,关于数据库表的外码叙述正确的是()。

数据库概论专升本试题答案

数据库概论专升本试题答案

数据库概论专升本试题答案一、选择题1. 数据库管理系统(DBMS)的主要功能是()。

A. 只能进行数据存储B. 仅支持数据检索C. 管理数据库中的数据D. 执行数据的加密操作答案:C2. 关系型数据库中,一个表的()是唯一的。

A. 行B. 列C. 主键D. 外键答案:C3. SQL语言中的SELECT语句用于()。

A. 创建表格B. 修改表格结构C. 删除数据D. 查询数据答案:D4. 在数据库设计中,规范化的主要目的是()。

A. 提高查询速度B. 增加数据安全性C. 减少数据冗余和提高数据完整性D. 扩大数据库存储容量答案:C5. 数据库事务具有四个基本特性,被称为ACID属性,其中不包括()。

A. 原子性B. 一致性C. 持久性D. 灵活性答案:D二、填空题1. 在关系型数据库中,两个表通过()来建立联系。

答案:关联关系2. 数据库中的视图是一个虚拟表,它的内容由()查询结果组成。

答案:SELECT3. 数据库的完整性约束包括主键约束、外键约束、()约束和检查约束。

答案:唯一性4. 在SQL中,用来创建新数据库的命令是()。

答案:CREATE DATABASE5. 触发器是一种特殊的存储过程,它会在()时自动执行。

答案:特定事件三、简答题1. 请简述数据库的三级模式结构及其作用。

答:数据库的三级模式结构包括内模式、概念模式和外模式。

内模式也称为物理模式,描述数据的物理存储和访问方法,对数据库的物理存储进行管理。

概念模式也称为逻辑模式,描述数据库中所有数据的逻辑结构和特征,是数据库的全局描述。

外模式也称为子模式,是数据库用户的视图,描述数据库用户与数据库之间的局部逻辑关系,是数据库用户的访问路径。

2. 什么是关系型数据库的规范化理论?答:关系型数据库的规范化理论是一套用于设计关系数据库的规则,旨在减少数据冗余和提高数据完整性。

规范化通过一系列的规范化形式来实现,包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等,每个更高级的范式都建立在前一个范式的基础上,并提供更严格的数据结构要求。

数据库系统专升本考试(习题卷6)

数据库系统专升本考试(习题卷6)

数据库系统专升本考试(习题卷6)说明:答案和解析在试卷最后第1部分:单项选择题,共74题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]下列关于HAVING子句与WHERE子句的差异中,说法错误的是()A)WHERE子句主要用于过滤数据行B)HAVING子句中的条件可以包含聚合函数,而WHERE子句中则不可以C)WHERE子句会在数据分组后进行过滤,HAVING子句则会在数据分组前进行过滤D)而HAVING子句主要用于过滤分组2.[单选题]设有学生表STUDENT(学号,姓名,性别,年龄),则向STUDENT表插入一条新记录的正确的SQL语句是()A)APPEND INTO STUDENT VALUES('d001'.'王明','女',18)B)APPEND STUDENT VALUES('d001'.'王明','女',18)C)INSERT .STUDENT、VALUES('d001','王明','女',18)D)INSERT INTO STUDENT VALUES('d001'.'王明','女',18)3.[单选题]在客户/服务器结构中,命令行客户端、图形化界面管理工具、应用程序等称为()A)“客户端”、“后台”或“表示层”B)“客户端”、“前台”或“表示层”C)“服务器”、“前台”或“表示层”D)“客户端”、“前台”或“数据层”4.[单选题]数据管理技术经历了若干阶段,其中人工管理阶段和文件系统阶段相比,文件系统的一个显著优势是( )A)数据可以长期保存B)数据共享性很强C)数据独立性很好D)数据整体结构化5.[单选题]下列不属于概念结构设计时常的数据抽象方法的是( )A)合并B)聚集C)概括D)分类6.[单选题]在数据库管理技术发展过程中,需要应用程序管理数据的是( )A)人工管理阶段B)人工管理阶段和文件系统阶段C)文件系统阶段和数据库系统阶段D)数据库系统阶段7.[单选题]设某数据库中有学生表(学号,姓名,专业),若要把“01、张璐、计算机”插入学生表中,则下列语句正确的是A)ADDINT0学生表VALUE('01','张璐','计算机')B)INSERTINT0学生表VALUE('01','张璐','计算机')C)ADDINT0学生表VALUES('01','张璐','计算机')D)INSERTINT0学生表VALUES('01','张璐','计算机')8.[单选题]将相关数据集中存放的物理存储技术是A)非聚集B)聚集C)授权D)回收9.[单选题]关系模型的程序员不需熟悉数据库的( )A)存取路径B)数据操作C)完整性约束条件D)数据定义10.[单选题]要实现报表按某字段分组统计输出,需要设置的是( )。

数据库系统专升本考试(习题卷9)

数据库系统专升本考试(习题卷9)

数据库系统专升本考试(习题卷9)第1部分:单项选择题,共74题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]在SQL的组成中,()规定了SQL语句在高级程序设计语言中使用的规范方法。

A)数据定义语言B)数据操纵语言C)数据控制语言D)嵌入式和动态SQL规则答案:D解析:SQL集数据查询、数据定义、数据操纵和数据控制四大功能于一体,其核心主要包含有以下几个部分:(1)数据定义语言(2)数据操纵语言(3)数据控制语言(4)嵌入式和动态SQL规则:规定了SQL语句在高级程序设计语言中使用的规范方法,以便适应较为复杂的应用。

(5)SQL调用和会话规则2.[单选题]下列哪种数据管理技术难以保存数据( )。

A)人工管理B)独享式文件管理C)共享式文件管理D)数据库系统管理答案:A解析:第1.1.2节 数据库技术发展阶段3.[单选题]数据库管理系统中用于定义和描述数据库逻辑结构的语言称为( )。

A)数据描述语言B)数据库子语言C)数据库操纵语言D)数据结构语言答案:A解析:第1.3节 系统结构4.[单选题]数据库三级模式体系结构主要的目标是确保数据库的( )。

A)数据独立性B)数据结构规范化C)存储模式D)最小冗余答案:A解析:第1.3节 系统结构5.[单选题]在数据库中,与“属性”同义的术语是()A)列B)行C)元组D)记录答案:A解析:6.[单选题]视图一经定义后,使用最多的一种操作是()A)插入B)查询C)删除D)修改答案:B解析:视图一经定义后,就可以如同查询数据库中的真实表一样,对视图进行数据查询检索,这也是对视图使用最多的一种操作。

7.[单选题]要求在页面页脚中显示“第X页,共Y页”,则页脚中的页码“控件来源”应设置为( )。

A)=“第”&[pages]&“页,共”&[page]&“页”B)=“共”&[pages]&“页,第”&[page]&“页”C)=“第”&[page]&“页,共”&[pages]&“页”D)=“共”&[page]&“页,第”&[pages]&“页””答案:C解析:8.[单选题]介于关系代数和关系演算之间的结构化查询语言是指()A)SQWB)SQLC)SSLD)QL答案:B解析:介于关系代数和关系演算之间的结构化查询语言SQL充分体现了关系数据语言的特点和优点,是关系数据库的标准语言。

数据库系统专升本考试(习题卷2)

数据库系统专升本考试(习题卷2)

数据库系统专升本考试(习题卷2)第1部分:单项选择题,共74题,每题只有一个正确答案,多选或少选均不得分。

1.[单选题]颁布SQL3的年份是A)1986年B)1987年C)1989年D)1999年答案:D解析:2.[单选题]数据库的基本特点是( )。

A)数据可以共享,数据冗余大,数据独立性高,统一管理和控制B)数据可以共享,数据冗余小,数据独立性高,统一管理和控制C)数据可以共享,数据冗余小,数据独立性低,统一管理和控制D)数据可以共享,数据冗余大,数据独立性低,统一管理和控制答案:B解析:3.[单选题]关系模式中,满足2NF的模式( )。

A)必定是1NFB)可能是1NFC)必定是3NFD)必定是BCNF答案:A解析:第4.2节 范式4.[单选题]有这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下: S(S#,SN, SEX, AGE, DEPT)C(C#,CN) SC(S#,C#, GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE.为成绩。

检索选修课程“C2”的学生中成绩最高的学生的学号。

正确的SELECT语句是( )。

A)SELECT S# FROM SC WHERE C#=’C2’AND GRADE>=ALL (SELECT GRADE FROM SC WHERE C#=’C2’)B)SELECT S# FORM SC WHERE C#=’C2’ AND GRADE>= (SELECT GRADE FORM SC WHERE C#=’CZ’)C)SELECT S# FORM SC WHERE C#=’C2’ AND GRADE IN (SELECT GRADE FORM SC WHERE C#=’CZ’)D)SELECT S# FORM SC WHERE C#=’C2’ AND GRADE IN (SELECT GRADE FORM SC WHERE C#=’C2’)答案:A解析:第3.3节 查询5.[单选题]在关系数据库的设计中,设计关系模式是( )阶段的任务。

(完整版)专升本数据库练习题及答案

(完整版)专升本数据库练习题及答案

一.关系代数运算1.选择σ(1)查询年龄小于20岁的学生σsage<20(student)(2)查询学号为201215122的学生σsno=201215122(student)2.投影(1)查询学生姓名,和所在系same,sdept(student)(2)查询选修了2号课程的学生学号sno(σcno=‘2’2(student))SQL语句学生-课程数据库学生表:学生(学号,姓名,性别,年龄,所在系)课程表:课程(课程号,课程名,先行课,学分)学生选课表:选课(学号,课程号,成绩)二.创建数据库SQL1.创建数据库Create database 数据库名On( name =逻辑文件名,Filename=’物理文件名’,Size=初始文件大小,Maxsize=最大文件大小,Filegrowth=文件自动增量)Log on( name =逻辑文件名,Filename=‘物理文件名’,Size=初始文件大小,Maxsize=最大文件大小,Filegrowth=文件自动增量)例创建‘教务管理数据库’Create database 教务管理数据库On( name =教务管理_dat,Filename=‘E:\SQL\教务管理_dat.mdf’,Size=2,Filegrowth=1 )Log on( name =教务管理.log,Filename=‘E:\SQL\教务管理_log.ldf’,Size=5M,Filegrowth=10% )1.查看数据库属性1)使用sp_helpdb查看数据库信息:sp_helpdb [数据库名](2)使用sp_databases 查看可使用的数据库信息:sp_databases(显示所有可以使用的数据库名称和大小)(3)使用sp_helpfile查看数据库文件信息sp_helpfile [文件名]1.设置数据库选项Alter database 数据库名Set 选项例设置教务管理数据库自动收缩Alter database 教务管理数据库Set auto_shrink on (自动收缩)1.修改数据库大小Alter database 数据库名Add file 增加数据文件Add log file 增加日志文件Remove file 删除文件Modify file 修改文件()例 1.修改教务管理数据库,增加数据文件jwgl_dat1Alter database 教务管理数据库Add file (Name=jwgl_dat1,Filename=‘E:\SQL\jwgl_dat1.ndf’,Size=2MB,Filegrowth=1MB )2.修改教务管理数据库Alter database 教务管理数据库Modify file (Name=jwgl_dat1,Size=5MB )2.删除教务管理数据库中次要数据文件jwgl_dat1Alter database 教务管理数据库Remove file jwgl_dat11.数据库更名1)更改数据库名Alter database 数据库名Modify name = 新数据库名例将数据库test更名为mytestAlter database testModify name = mytest1)更改数据库的逻辑文件名Alter database 数据库名Modify file(Name=逻辑文件名,Newname=新逻辑文件名)例将数据库逻辑文件test更名为mytestAlter database mytestModify file(Name = test,Newname = mytest )GoAlter database mytestModify file(Name = test_log,Newname = mytest_log )1)更改数据库的物理文件名Alter database 数据库名Modify file(Name=逻辑文件名,Filename =‘新路径\操作系统文件名’)例将数据库物理文件test更名为mytestAlter database mytestModify file(Name=mytest,Filename =‘E:\sql\mytest.mdf’)GOAlter database mytestModify file(Name=mytest_log,Filename =‘E:\sql\mytest_log.ldf’)1.删除数据库Drop database 数据库名例删除数据库名为test和数据库salesDrop database test,sales1.数据库分离Sp_detach_db 数据库名1.数据库附加Create database 数据库名On (Filename=‘主文件的物理文件名’)For attach三.基本表操作1.创建表Create table 表名()例创建一个学生表Create table 学生表(学号char(6)primary key,姓名char(20)unique,性别char(2),年龄smallint,所在系char(20))1.修改表Alter table 表名Add 列名数据类型()//增加列(alter column 列名数据类型()//对原有的基础上修改列)(drop column 列名//对原有的基础上删除列,可一次删除多列)例1. 添加一新列电子邮箱char型长度20Alter table 学生表Add 电子邮箱char(20)例2. 修改学生表列电子邮箱数据类型长度为22Alter table 学生表alter column 电子邮箱varchar(22)例3.删除学生表的电子邮箱列Alter table 学生表drop column 电子邮箱3.删除表Drop table 表名例删除学生表Drop table 学生表四.数据更新1.插入数据InsertInto 表名()Values 值()例1 插入一行数据到学生表的学生InsertInto 学生表(学号,姓名,性别,年龄,所在系)Values (‘201215126’,‘张成民’,‘男’,18,‘计算机系’)1.修改数据Update 表名Set 列名=表达式Where 条件1)修改某元祖的值例将学生201215121的年龄改为22Update 学生表Set 年龄=22Where 学号=‘201215121‘1)修改多个元祖的值例将所有学生年龄增加一岁Update 学生表Set 年龄=年龄+11)带子查询的修改语句例将计算机科学系全体学生成绩置零Update 选课表Set 成绩=0Where 学号in(select 学号From 学生表Where 所在系=‘计算机科学系’)1)修改表名Sp_rename 旧对象名,新对象名例课程表更名为课程信息表Sp_rename 课程表,课程信息表3.删除数据Deletefrom 表名Where 条件例将课程信息表中c程序设计课程信息删除DeleteFrom 课程信息表Where 课程名=‘c程序设计’五.使用约束1.非空约束(NOT NULL)例创建一个学生表使姓名,性别为非空约束学号为主键Create table 学生表(学号char(6)primary key,姓名char(20)NOT NULL,性别char(2)NOT NULL,年龄smallint,所在系char(20))1.唯一约束(UNIQUE)例创建一个学生表使姓名,性别为唯一约束学号为主键Create table 学生表(学号char(6)primary key,姓名char(20)UNIQUE,性别char(2)UNIQUE,年龄smallint,所在系char(20))1.Check约束(检查列值是否满足一个条件表达式)1.完整性约束命令子句Constraint 完整性约束条件名(包括非空主键唯一外键check约束等)约束条件例1创建一个学生表使性别只允许为‘男’或‘女’,年龄在20到30之间Create table 学生表(学号char(6)primary key,姓名char(20)UNIQUE,性别char(2)CHECK((性别=‘男’)or (性别=‘女’)),年龄smallint CHECK(年龄between 20 and 30),所在系char(20))2 利用T-SQL命令设置课程表中的考核方式只能取值‘考试’或‘考查’,学分的值为1-6之间Alter table 课程表with checkAdd constraint CK_课程表_1 check(考核方式in (‘考查’,‘考试’))Alter table 课程表with nocheckAdd constraint CK_课程表_2 check(学分between 1 and 6)1.主键约束(PRIMARY KEY)例创建一个学生表使姓名,性别为唯一约束学号为主键Create table 学生表(学号char(6)primary key,(在列定义后设置主键)姓名char(20)UNIQUE,性别char(2)UNIQUE,年龄smallint,所在系char(20))1.外键约束(FOREIGN KEY)Constraint 约束名FOREIGN KEY(列名)Reference 被引用表(列名)[on delete cascade(级联删除)|on update cascade(级联更新)]例创建选课表设置选课表的课程号为外键引用课程表课程号Create table 选课表(学号char(6)primary key,课程号char(11)Reference 课程表(课程号)on update cascade,成绩numeric(5,1))7.默认约束(DEFAULT)Constraint 约束名DEFAULT 常量表达式可在创建表中数据类型后直接加例修改课程表设置考核方式默认值为‘考试’Alter table 课程表Add constraint df_课程表_考核DEFAULT‘考试’)for 考核方式六.数据查询1.单表查询1)选择列查询例查询全体学生姓名学号Select 姓名,学号From 学生表1)查询全部列例查询全体学生姓名学号Select *From 学生表1)查询经过计算的值例查询全体学生姓名及出生年份Select 姓名,2017-年龄From 学生表1)消除取值重复的行(distinct)例查询选修了课程的学生学号结果取消重复行Select distinct 学号From 学生表1)查询满足条件的元祖(where子句)•比较大小(> = < 等)例查询选修了课程为‘计算机’的学生学号结果取消重复行Select distinct 学号From 学生表Where 课程=‘计算机’•确定查找范围(between and)例查询成绩为80-90的学生学号结果取消重复行Select distinct 学号From 选课表Where 成绩between 80 and 90•确定集合(in)例查询成绩为80,90,100的学生学号结果取消重复行Select distinct 学号From 选课表Where 成绩in(80,90,100)•字符匹配(like )%:任意长度的字符串_(下划线):任意单个字符例1查询所有姓刘的学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘刘%’2查询名字中第二个字是阳学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘_阳%’•空值查询(is null/not null)例查询成绩为空的中第二个字是阳学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘_阳%’•多重条件查询(and or in)例查询成绩为80以上的女同学的姓名学号结果取消重复行Select distinct 姓名,学号From 学生表,选课表Where 学生表.学号=选课表.学号And 成绩>=80 AND 性别=‘女’6)设置字段别名(as)表达式as 别名或字段别名= 表达式例查询学生姓名性别年龄Select 姓名as学生姓名,性别,datediff(year,出生日期,getdate())as年龄From 学生表或Select 学生姓名=姓名,性别,年龄=datediff(year,出生日期,getdate())From 学生表2.Order by子句(对查询结果默认升序(asc)降序(desc))例查询选修了3号课程的学生学号成绩结果按分数降序排列Select 成绩,学号From 选课表Where 课程号=‘3’Order by成绩desc2.聚集函数(count 统计个数,sum 求和,avg 求平均数,max 最大数,min 最小数)只能用于select,group by,having 子句中不能用于where条件句中例查询选修课程号为1的学生最高成绩Select max(成绩)From 选课表Where 课程号=‘1’2.Group by ...... having子句(功能为分组)例1.求各个课程号及相应的选课人数Select 课程号,count(学号)From 选课表Group by课程号2.查询选修了三门以上课程的学生学号Select 学号From 选课表Group by学号having count(*)> 3(having子句作用范围为Group by后)3.查询平均成绩大于等于90分的学生学号和平均成绩Select 学号avg(成绩)From 选课表Group by学号having avg(成绩)>=90七.多表查询1.表连接用where子句连接两个表Where 表一.列名(比较运算符>,=,<)表2.列名例查询每个学生及选修课程的情况(用到学生表,选课表)Select 学生表.*,选课表.*(如查询的属性在两个表不唯一则不用加表前缀)From 学生表,选课表where学生表.学号=选课表.学号1.多表连接例查询每个学生的学号,姓名,选修的课程名及成绩(用到学生表,课程表选课表)Select 学生表.学号,姓名,课程名,成绩(查询的属性在两个表不唯一则不用加表前缀)From 学生表,课程表,选课表where学生表.学号=选课表.学号and 课程表.课程号=选课表.课程号1.带in的子查询(嵌套查询)例查询与‘刘晨’在同一个系学习的学生的学号,姓名Select 学号,姓名,系名From 学生表Where系名in(Select 系名From 学生表Where姓名=‘刘晨’)1.带比较运算符的子查询(>,<,=,>=,<=,!=)例查询与‘刘晨’在同一个系学习的学生的学号,姓名Select 学号,姓名,系名From 学生表Where系名in(Select 系名From 学生表Where姓名=‘刘晨’)八.建立索引1.建立索引Create [unique(唯一)][clustered ( 聚集) ][nonclustered ( 非聚集)]Index 索引名On (表/视图)(列名[asc(升序)][desc(降序)])With [pad_index][fillfactor=填充因子][drop_existing]例在学生表上创建一个名为XS XM的非唯一性非聚簇索引索引关键字为姓名升序填充因子为50%Create nonclusteredIndex XS XMOn 学生表(姓名asc)With fillfactor=502.删除索引Drop index 表名.索引名九.视图1.定义视图1)建立视图Create view 视图名列名AsSelect(在视图后加上with check option子句以后对该视图进行增删改时则自动添加)例建立信息系学生的视图Create view 信息系学生AsSelect 学号,姓名,年龄From 学生表Where 系别=‘信息系’1)删除视图Drop view 视图名(如选择级联删除视图名后加cascade)例删除视图BT_S和视图IS_S1Drop view BT_SDrop view IS_S1(拒绝执行因为与另一个视图有连接所以后面加cascade)2.查询视图!同表查询唯一区别在于from中添加的为视图名!2.更新视图(指对视图进行增删改,由于对视图修改最后都归结于对表的修改所以修改视图数据=修改表数据)函数1、标量值create function函数名(@变量类型)returns返回值类型beginreturnend例:给专业名求男女比例CREATE FUNCTION某专业男女比例(@专业名varchar(20))RETURNS numeric(6,2)ASBEGINdeclare@man intdeclare@woman intselect@man=count(*)from学生表,专业表,班级表where学生表.学号=班级表.班号and班级表.专业=专业表.专业号and性别='男'and 专业名=@专业名select@woman=count(*)from学生表,专业表,班级表where学生表.学号=班级表.班号and班级表.专业=专业表.专业号and性别='女'and 专业名=@专业名return cast(@man as float)/cast(@woman as float)END执行select dbo.某专业男女比例('数据库')2、表值函数给班名和课程名求某班某课成绩单CREATE FUNCTION某班某课成绩单(@班名char(20),@课程名varchar(20))RETURNS TABLEASRETURN(select班名,学生表.学号,姓名,课程名,成绩from学生表,课程表,班级表,选课表where课程表.课程号=选课表.课程号and学生表.学号=选课表.学号and学生表.班号=班级表.班号and班名=@班名and课程名=@课程名)GO执行select*from dbo.某班某课成绩单('嵌入式班','java程序设计')3、CREATE FUNCTION某班平均函数(@班号char(5))RETURNS TABLEASRETURN(SELECt课程号,avg(成绩)平均成绩from选课表,学生表where学生表.学号=选课表.学号and班号=@班号group by课程号)GO调用select*from dbo.某班平均函数('1001')十.存储过程1.存储过程创建与执行(1)创建存储过程Create proc[edure] 存储过程名[ @参数数据类型[output(指明返回参数)] ]AsBeginSql语句[ ]End说明:存储过程可以带参数也可不带参数可以输入也可输出例1. 创建“学生名单”存储过程功能为输出所有学生名单Create procedure 学生名单AsBeginSelect 学号,姓名From 学生表End例2.创建“某班学生名单”存储过程其功能查看某个班级学生名单结果按学号排序Create procedure 某班学生名单@班名varchar (20)AsBeginSelect 学号,姓名From 学生表,班级表Where 学生表.班号= 班级表.班号and班名=@班名Order by 学号End例3.创建“查询学生”存储过程功能根据学号查询学生姓名年龄Create procedure 查询学生@学号char(11),@姓名nchar(5)output,@年龄int outputAsBeginSelect @姓名= 姓名,@年龄=datediff(year,出生日期,getdate())From 学生表Where 学号=@学号End(2)执行存储过程Execute 存储过程名@参数=[值]例1 查看学校学生名单Execute 学生名单例2 查看计算机应用071班学生名单Execute 某班学生名单@班级=‘计算机应用071班’例3 查看学号为“20070101101”的学生姓名年龄declare@姓名nchar(5)declare@年龄intexec查询学生'15999015',@姓名output,@年龄outputprint@姓名print@年龄查看存储过程(1)查看存储过程的定义Exec sp_helptext “”(2)查看存储过程的参数和数据类型信息Exec sp_help “ ”(3)查看存储过程的依赖关系Exec sp_depends “ ”2.修改存储过程Alter proc[edure] 存储过程名[ @参数数据类型[output(指明返回参数)] ]AsBeginSql语句[ ]End例修改“学生名单”存储过程结果按学号排序alter procedure 学生名单AsBeginSelect 学号,姓名From 学生表Order by 学号End2.删除存储过程Drop procedure 存储过程名例将存储过程“学生名单”删除Drop procedure 学生名单十一.触发器1.创建触发器Create trigger 触发器名On 表名/视图名{ for / after / instead of }{ [ insert ] [ update ] [ delete ] 指定表/视图执行哪条语句时激活触发器关键字} AsSql 语句例1.对学生表创建插入触发器当有新纪录插入表时更新班级表中相应班级人数Create trigger 增加学生On 学生表after insertAsBeginSet nocount onIf update(班级)BeginUpdate 班级表Set 学生人数=学生人数+1From insertedWhere 班级表.班号=inserted.班级EndEnd例2.对学生表创建删除触发器当删除一条纪录时减少班级表中相应班级人数Create trigger 删除学生On 学生表after deleteAsBeginSet nocount onBeginUpdate 班级表Set 学生人数=学生人数-1From deletedWhere 班级表.班号=deleted.班级EndEnd例3.对学生表创建更新触发器当一条纪录被更新时修改班级表中相应班级人数Create trigger 更新学生On 学生表after updateAsBeginSet nocount onIf update(班级)BeginUpdate 班级表Set 学生人数=学生人数-1From deletedWhere 班级表.班号=deleted.班级EndEnd1.查看触发器(1)查看触发器的定义Exec sp_helptext “”(2)查看触发器的参数和数据类型信息Exec sp_help “ ”(3)查看触发器的依赖关系Exec sp_depends “ ”1.修改触发器Alter trigger 触发器名On 表名/视图名{ for / after / instead of }{ [ insert ] [ update ] [ delete ] 指定表/视图执行哪条语句时激活触发器关键字}AsSql 语句4.删除触发器Drop trigger 触发器名例将触发器“更新学生”删除Drop trigger 更新学生。

数据库专升本练习及答案

数据库专升本练习及答案

数据库专升本练习(考试时间90分钟,总分100分)准考证号:_________________________姓名:__________________________一、单项选择题(共20题,每题2分,共计40分)()1、描述概念模型的常用方法是( )。

A、建立数据模型方法B、需求分析方法C、二维表方法D、实体-联系方法()2、在数据库系统中死锁属于( )。

A、系统故障B、程序故障C、事务故障D、介质故障()3、属于数据库实现与操作阶段的是A、逻辑设计B、概念设计C、物理设计D、数据库的修改与调整()4、下列选项中,数据库系统的组成部分不包括( )A、DBMSB、DBAC、DBD、DBS()5、数据库系统阶段,数据______。

A、具有物理独立性,没有逻辑独立性B、独立性差C、具有高度的物理独立性和一定程度的逻辑独立性D、具有物理独立性和逻辑独立性()6、下面那项不是数据库管理系统组成部分( )A、事务管理器B、查询处理器.C、存储管理器D、进程控制器.()7、数据库设计中的概念结构设计的主要工具是( )。

A、数据模型B、E—R模型C、新奥尔良模型D、概念模型()8、下列选项中,能够解除HR用户的锁定的语句是( )。

A、alter user hr unlockB、alter user hr account unlockC、alter table alter hr unlockD、alter table alter unlock hr()9、当以下代码中的【】位置分别为break,continue或return时,输出的值为( )。

DECLARE @n intSET @n=3WHILE @n>0 BEGIN SET @n=@n-1 IF @n=1 【】 ENDPRINT @nA、1,0,不输出B、1,1,_C、0,0,0D、0,1,2()10、某数据表中有5条记录,其中,“编号”为文本型字段,其值分别为129、97、75、131、118。

辽宁数据库专升本练习题

辽宁数据库专升本练习题

辽宁数据库专升本练习题### 辽宁数据库专升本练习题#### 1. 数据库基本概念题目:数据库管理系统(DBMS)的主要功能是什么?答案:数据库管理系统(DBMS)的主要功能包括数据定义、数据操纵、数据控制和事务管理。

数据定义功能允许用户定义数据库的结构,包括创建、修改和删除数据库对象。

数据操纵功能支持数据的查询、插入、更新和删除。

数据控制功能确保数据的安全性和完整性,包括权限管理和数据完整性约束。

事务管理功能确保数据库操作的原子性、一致性、隔离性和持久性。

#### 2. SQL语言基础题目:编写一个SQL查询,用于从员工表(Employee)中检索所有姓“张”的员工的姓名和部门编号。

答案:```sqlSELECT Name, DepartmentIDFROM EmployeeWHERE Name LIKE '张%';```#### 3. 数据库设计题目:描述数据库规范化的过程,并说明为什么要进行规范化。

答案:数据库规范化是一个将数据库结构转换为更有效形式的过程,以减少数据冗余和依赖。

规范化通常涉及将表分解成更小的表,并创建关系来连接它们。

规范化的目的是提高数据完整性、减少数据冗余、提高查询性能和简化数据库维护。

规范化的级别包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCNF。

#### 4. 索引与查询优化题目:解释什么是索引,以及索引如何提高数据库查询性能。

答案:索引是数据库表中一列或多列的值的集合,这些值被存储在一个单独的结构中,以便快速检索。

索引类似于书籍的目录,允许数据库管理系统(DBMS)快速定位数据,而无需扫描整个表。

通过使用索引,查询性能可以显著提高,因为索引允许DBMS更快地找到所需的数据行。

#### 5. 数据库安全性题目:描述数据库中的用户认证和授权机制。

答案:用户认证是验证用户身份的过程,通常涉及用户名和密码。

一旦用户被认证,授权机制就决定了该用户可以访问哪些数据库资源。

数据库基础专升本题库及答案

数据库基础专升本题库及答案

数据库基础专升本题库(总分100分,考试时长90分钟)一、单项选择题(每小题2 分,共 40分)1、进行数据库闪回时,必须确保数据库是处于()模式。

A、正常启动模式B、装载模式C、归档模式D、调试维护模式2、数据模型的三要素是()。

A、外模式.模式、内模式B、关系模型.层次模型、网状模型C、实体.联系、属性D、数据结构.数据操作、完整性约束3、下面哪个闩锁不是共享池相关的闩锁()A、LIBRARY CACHEB、ROW CACHE OBJECTSC、REDO ALLOCATIOND、SHARED POOL4、如果用文件概念来命题的话,投影相当于从整个文件中各记录中抽出所要的( )。

A、项目B、集合C、属性D、卷5、关系数据库中,实现实体之间的联系是通过表与表之间的()。

A、公共索引B、公共存储C、公共元组D、公共属性6、关系代数中的连接操作是由()操作组合而成。

A、选择和投影B、选择和笛卡尔积C、投影、选择、笛卡尔积D、投影和笛卡尔积7、在专用服务器(连接)环境下,使用 SQL*Plus 命令“connect babydog/wang38”与DOGS 数据库进行连接,()进程将被启动并直接与 Oracle 服务器进行交互。

A、用户进程(User Prosess)B、服务器进程(Server Prosess)C、分配进程(Dispatcher Prosess)D、共享服务器进程(Shared Server Prosess)8、数据库中,实体是指()。

A、客观存在的事物B、客观存在的属性C、客观存在的特性D、某一具体事件9、函数 mod(23,-5) 的结果是____。

A、3B、-3C、-2D、210、要显示概要文件 DOG_PROJECT 的资源限制信息,请问应该查询如下()数据字典。

A、DBA_USERSB、DBA_TABLESC、DBA_OBJECTSD、DBA_PROFILES11、在CUSTOMER中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句()。

数据库原理专升本试题

数据库原理专升本试题

数据库原理专升本试题1. 简答题1.1 数据库系统的特点是什么?数据库系统具有以下几个特点:- 数据共享性:多个用户可以共享数据库中的数据,实现数据的共享和协同操作。

- 数据独立性:数据库系统通过逻辑和物理独立性,使得用户和应用程序对数据的操作不受数据物理存储结构的影响。

- 数据的持久性:数据库中的数据可以永久保存,即使系统崩溃或断电也能够恢复。

- 数据的一致性:数据库中的数据必须满足一定的约束条件,保持数据的一致性和完整性。

- 数据的安全性:数据库系统提供了多层次的访问控制和权限管理,保护数据的安全性。

1.2 数据库管理系统(DBMS)的作用是什么?数据库管理系统是一种用于管理数据库的软件系统,其作用主要包括以下几个方面:- 数据定义:定义数据库中的数据结构、约束条件和安全性要求。

- 数据操作:实现数据库的插入、更新、删除和查询等操作,以满足用户对数据的需求。

- 数据控制:对用户进行身份验证和授权,并通过访问控制机制来确保数据的安全性和完整性。

- 数据共享:提供并发控制机制,使得多个用户可以同时访问和共享数据库中的数据。

- 数据的恢复和备份:提供数据的备份和恢复机制,以防止数据丢失和灾难发生时能够及时恢复数据。

2. 多选题2.1 哪些操作符可以用于连接查询?A. INNER JOINB. LEFT JOINC. RIGHT JOIND. UNION答案:A、B、C2.2 数据库中的事务具有以下特性:A. 原子性B. 一致性C. 隔离性D. 持久性答案:A、B、C、D3. 判断题3.1 数据库的三级模式包括外模式、模式和内模式。

答案:正确3.2 主键是用来标识关系中的一个特定记录的唯一标识符。

答案:正确4. 解答题4.1 请简要说明数据库的三级模式,并解释它们之间的关系。

数据库的三级模式包括外模式、模式和内模式。

- 外模式是用户所看到的数据库的局部逻辑视图,它是针对特定用户或应用程序的数据视图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.关系代数运算1.选择σ(1)查询年龄小于20岁的学生σsage<20(student)(2)查询学号为201215122的学生σsno=201215122(student)2.投影(1)查询学生姓名,和所在系same,sdept(student)(2)查询选修了2号课程的学生学号sno(σcno=‘2’2(student))SQL语句学生-课程数据库学生表:学生(学号,姓名,性别,年龄,所在系)课程表:课程(课程号,课程名,先行课,学分)学生选课表:选课(学号,课程号,成绩)二.创建数据库SQL1.创建数据库Create database 数据库名On( name =逻辑文件名,Filename=’物理文件名’,Size=初始文件大小,Maxsize=最大文件大小,Filegrowth=文件自动增量)Log on( name =逻辑文件名,Filename=‘物理文件名’,Size=初始文件大小,Maxsize=最大文件大小,Filegrowth=文件自动增量)例创建‘教务管理数据库’Create database 教务管理数据库On( name =教务管理_dat,Filename=‘E:\SQL\教务管理_dat.mdf’,Size=2,Filegrowth=1 )Log on( name =教务管理.log,Filename=‘E:\SQL\教务管理_log.ldf’,Size=5M,Filegrowth=10% )1.查看数据库属性1)使用sp_helpdb查看数据库信息:sp_helpdb [数据库名](2)使用sp_databases 查看可使用的数据库信息:sp_databases(显示所有可以使用的数据库名称和大小)(3)使用sp_helpfile查看数据库文件信息sp_helpfile [文件名]1.设置数据库选项Alter database 数据库名Set 选项例设置教务管理数据库自动收缩Alter database 教务管理数据库Set auto_shrink on (自动收缩)1.修改数据库大小Alter database 数据库名Add file 增加数据文件Add log file 增加日志文件Remove file 删除文件Modify file 修改文件()例 1.修改教务管理数据库,增加数据文件jwgl_dat1Alter database 教务管理数据库Add file (Name=jwgl_dat1,Filename=‘E:\SQL\jwgl_dat1.ndf’,Size=2MB,Filegrowth=1MB )2.修改教务管理数据库Alter database 教务管理数据库Modify file (Name=jwgl_dat1,Size=5MB )2.删除教务管理数据库中次要数据文件jwgl_dat1Alter database 教务管理数据库Remove file jwgl_dat11.数据库更名1)更改数据库名Alter database 数据库名Modify name = 新数据库名例将数据库test更名为mytestAlter database testModify name = mytest1)更改数据库的逻辑文件名Alter database 数据库名Modify file(Name=逻辑文件名,Newname=新逻辑文件名)例将数据库逻辑文件test更名为mytestAlter database mytestModify file(Name = test,Newname = mytest )GoAlter database mytestModify file(Name = test_log,Newname = mytest_log )1)更改数据库的物理文件名Alter database 数据库名Modify file(Name=逻辑文件名,Filename =‘新路径\操作系统文件名’)例将数据库物理文件test更名为mytestAlter database mytestModify file(Name=mytest,Filename =‘E:\sql\mytest.mdf’)GOAlter database mytestModify file(Name=mytest_log,Filename =‘E:\sql\mytest_log.ldf’)1.删除数据库Drop database 数据库名例删除数据库名为test和数据库salesDrop database test,sales1.数据库分离Sp_detach_db 数据库名1.数据库附加Create database 数据库名On (Filename=‘主文件的物理文件名’)For attach三.基本表操作1.创建表Create table 表名()例创建一个学生表Create table 学生表(学号char(6)primary key,姓名char(20)unique,性别char(2),年龄smallint,所在系char(20))1.修改表Alter table 表名Add 列名数据类型()//增加列(alter column 列名数据类型()//对原有的基础上修改列)(drop column 列名//对原有的基础上删除列,可一次删除多列)例1. 添加一新列电子邮箱char型长度20Alter table 学生表Add 电子邮箱char(20)例2. 修改学生表列电子邮箱数据类型长度为22Alter table 学生表alter column 电子邮箱varchar(22)例3.删除学生表的电子邮箱列Alter table 学生表drop column 电子邮箱3.删除表Drop table 表名例删除学生表Drop table 学生表四.数据更新1.插入数据InsertInto 表名()Values 值()例1 插入一行数据到学生表的学生InsertInto 学生表(学号,姓名,性别,年龄,所在系)Values (‘201215126’,‘张成民’,‘男’,18,‘计算机系’)1.修改数据Update 表名Set 列名=表达式Where 条件1)修改某元祖的值例将学生201215121的年龄改为22Update 学生表Set 年龄=22Where 学号=‘201215121‘1)修改多个元祖的值例将所有学生年龄增加一岁Update 学生表Set 年龄=年龄+11)带子查询的修改语句例将计算机科学系全体学生成绩置零Update 选课表Set 成绩=0Where 学号in(select 学号From 学生表Where 所在系=‘计算机科学系’)1)修改表名Sp_rename 旧对象名,新对象名例课程表更名为课程信息表Sp_rename 课程表,课程信息表3.删除数据Deletefrom 表名Where 条件例将课程信息表中c程序设计课程信息删除DeleteFrom 课程信息表Where 课程名=‘c程序设计’五.使用约束1.非空约束(NOT NULL)例创建一个学生表使姓名,性别为非空约束学号为主键Create table 学生表(学号char(6)primary key,姓名char(20)NOT NULL,性别char(2)NOT NULL,年龄smallint,所在系char(20))1.唯一约束(UNIQUE)例创建一个学生表使姓名,性别为唯一约束学号为主键Create table 学生表(学号char(6)primary key,姓名char(20)UNIQUE,性别char(2)UNIQUE,年龄smallint,所在系char(20))1.Check约束(检查列值是否满足一个条件表达式)1.完整性约束命令子句Constraint 完整性约束条件名(包括非空主键唯一外键check约束等)约束条件例1创建一个学生表使性别只允许为‘男’或‘女’,年龄在20到30之间Create table 学生表(学号char(6)primary key,姓名char(20)UNIQUE,性别char(2)CHECK((性别=‘男’)or (性别=‘女’)),年龄smallint CHECK(年龄between 20 and 30),所在系char(20))2 利用T-SQL命令设置课程表中的考核方式只能取值‘考试’或‘考查’,学分的值为1-6之间Alter table 课程表with checkAdd constraint CK_课程表_1 check(考核方式in (‘考查’,‘考试’))Alter table 课程表with nocheckAdd constraint CK_课程表_2 check(学分between 1 and 6)1.主键约束(PRIMARY KEY)例创建一个学生表使姓名,性别为唯一约束学号为主键Create table 学生表(学号char(6)primary key,(在列定义后设置主键)姓名char(20)UNIQUE,性别char(2)UNIQUE,年龄smallint,所在系char(20))1.外键约束(FOREIGN KEY)Constraint 约束名FOREIGN KEY(列名)Reference 被引用表(列名)[on delete cascade(级联删除)|on update cascade(级联更新)]例创建选课表设置选课表的课程号为外键引用课程表课程号Create table 选课表(学号char(6)primary key,课程号char(11)Reference 课程表(课程号)on update cascade,成绩numeric(5,1))7.默认约束(DEFAULT)Constraint 约束名DEFAULT 常量表达式可在创建表中数据类型后直接加例修改课程表设置考核方式默认值为‘考试’Alter table 课程表Add constraint df_课程表_考核DEFAULT‘考试’)for 考核方式六.数据查询1.单表查询1)选择列查询例查询全体学生姓名学号Select 姓名,学号From 学生表1)查询全部列例查询全体学生姓名学号Select *From 学生表1)查询经过计算的值例查询全体学生姓名及出生年份Select 姓名,2017-年龄From 学生表1)消除取值重复的行(distinct)例查询选修了课程的学生学号结果取消重复行Select distinct 学号From 学生表1)查询满足条件的元祖(where子句)•比较大小(> = < 等)例查询选修了课程为‘计算机’的学生学号结果取消重复行Select distinct 学号From 学生表Where 课程=‘计算机’•确定查找范围(between and)例查询成绩为80-90的学生学号结果取消重复行Select distinct 学号From 选课表Where 成绩between 80 and 90•确定集合(in)例查询成绩为80,90,100的学生学号结果取消重复行Select distinct 学号From 选课表Where 成绩in(80,90,100)•字符匹配(like )%:任意长度的字符串_(下划线):任意单个字符例1查询所有姓刘的学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘刘%’2查询名字中第二个字是阳学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘_阳%’•空值查询(is null/not null)例查询成绩为空的中第二个字是阳学生姓名学号结果取消重复行Select distinct 姓名,学号From 学生表Where 姓名like‘_阳%’•多重条件查询(and or in)例查询成绩为80以上的女同学的姓名学号结果取消重复行Select distinct 姓名,学号From 学生表,选课表Where 学生表.学号=选课表.学号And 成绩>=80 AND 性别=‘女’6)设置字段别名(as)表达式as 别名或字段别名= 表达式例查询学生姓名性别年龄Select 姓名as学生姓名,性别,datediff(year,出生日期,getdate())as年龄From 学生表或Select 学生姓名=姓名,性别,年龄=datediff(year,出生日期,getdate())From 学生表2.Order by子句(对查询结果默认升序(asc)降序(desc))例查询选修了3号课程的学生学号成绩结果按分数降序排列Select 成绩,学号From 选课表Where 课程号=‘3’Order by成绩desc2.聚集函数(count 统计个数,sum 求和,avg 求平均数,max 最大数,min 最小数)只能用于select,group by,having 子句中不能用于where条件句中例查询选修课程号为1的学生最高成绩Select max(成绩)From 选课表Where 课程号=‘1’2.Group by ...... having子句(功能为分组)例1.求各个课程号及相应的选课人数Select 课程号,count(学号)From 选课表Group by课程号2.查询选修了三门以上课程的学生学号Select 学号From 选课表Group by学号having count(*)> 3(having子句作用范围为Group by后)3.查询平均成绩大于等于90分的学生学号和平均成绩Select 学号avg(成绩)From 选课表Group by学号having avg(成绩)>=90七.多表查询1.表连接用where子句连接两个表Where 表一.列名(比较运算符>,=,<)表2.列名例查询每个学生及选修课程的情况(用到学生表,选课表)Select 学生表.*,选课表.*(如查询的属性在两个表不唯一则不用加表前缀)From 学生表,选课表where学生表.学号=选课表.学号1.多表连接例查询每个学生的学号,姓名,选修的课程名及成绩(用到学生表,课程表选课表)Select 学生表.学号,姓名,课程名,成绩(查询的属性在两个表不唯一则不用加表前缀)From 学生表,课程表,选课表where学生表.学号=选课表.学号and 课程表.课程号=选课表.课程号1.带in的子查询(嵌套查询)例查询与‘刘晨’在同一个系学习的学生的学号,姓名Select 学号,姓名,系名From 学生表Where系名in(Select 系名From 学生表Where姓名=‘刘晨’)1.带比较运算符的子查询(>,<,=,>=,<=,!=)例查询与‘刘晨’在同一个系学习的学生的学号,姓名Select 学号,姓名,系名From 学生表Where系名in(Select 系名From 学生表Where姓名=‘刘晨’)八.建立索引1.建立索引Create [unique(唯一)][clustered ( 聚集) ][nonclustered ( 非聚集)]Index 索引名On (表/视图)(列名[asc(升序)][desc(降序)])With [pad_index][fillfactor=填充因子][drop_existing]例在学生表上创建一个名为XS XM的非唯一性非聚簇索引索引关键字为姓名升序填充因子为50%Create nonclusteredIndex XS XMOn 学生表(姓名asc)With fillfactor=502.删除索引Drop index 表名.索引名九.视图1.定义视图1)建立视图Create view 视图名列名AsSelect(在视图后加上with check option子句以后对该视图进行增删改时则自动添加)例建立信息系学生的视图Create view 信息系学生AsSelect 学号,姓名,年龄From 学生表Where 系别=‘信息系’1)删除视图Drop view 视图名(如选择级联删除视图名后加cascade)例删除视图BT_S和视图IS_S1Drop view BT_SDrop view IS_S1(拒绝执行因为与另一个视图有连接所以后面加cascade)2.查询视图!同表查询唯一区别在于from中添加的为视图名!2.更新视图(指对视图进行增删改,由于对视图修改最后都归结于对表的修改所以修改视图数据=修改表数据)函数1、标量值create function函数名(@变量类型)returns返回值类型beginreturnend例:给专业名求男女比例CREATE FUNCTION某专业男女比例(@专业名varchar(20))RETURNS numeric(6,2)ASBEGINdeclare@man intdeclare@woman intselect@man=count(*)from学生表,专业表,班级表where学生表.学号=班级表.班号and班级表.专业=专业表.专业号and性别='男'and 专业名=@专业名select@woman=count(*)from学生表,专业表,班级表where学生表.学号=班级表.班号and班级表.专业=专业表.专业号and性别='女'and 专业名=@专业名return cast(@man as float)/cast(@woman as float)END执行select dbo.某专业男女比例('数据库')2、表值函数给班名和课程名求某班某课成绩单CREATE FUNCTION某班某课成绩单(@班名char(20),@课程名varchar(20))RETURNS TABLEASRETURN(select班名,学生表.学号,姓名,课程名,成绩from学生表,课程表,班级表,选课表where课程表.课程号=选课表.课程号and学生表.学号=选课表.学号and学生表.班号=班级表.班号and班名=@班名and课程名=@课程名)GO执行select*from dbo.某班某课成绩单('嵌入式班','java程序设计')3、CREATE FUNCTION某班平均函数(@班号char(5))RETURNS TABLEASRETURN(SELECt课程号,avg(成绩)平均成绩from选课表,学生表where学生表.学号=选课表.学号and班号=@班号group by课程号)GO调用select*from dbo.某班平均函数('1001')十.存储过程1.存储过程创建与执行(1)创建存储过程Create proc[edure] 存储过程名[ @参数数据类型[output(指明返回参数)] ]AsBeginSql语句[ ]End说明:存储过程可以带参数也可不带参数可以输入也可输出例1. 创建“学生名单”存储过程功能为输出所有学生名单Create procedure 学生名单AsBeginSelect 学号,姓名From 学生表End例2.创建“某班学生名单”存储过程其功能查看某个班级学生名单结果按学号排序Create procedure 某班学生名单@班名varchar (20)AsBeginSelect 学号,姓名From 学生表,班级表Where 学生表.班号= 班级表.班号and班名=@班名Order by 学号End例3.创建“查询学生”存储过程功能根据学号查询学生姓名年龄Create procedure 查询学生@学号char(11),@姓名nchar(5)output,@年龄int outputAsBeginSelect @姓名= 姓名,@年龄=datediff(year,出生日期,getdate())From 学生表Where 学号=@学号End(2)执行存储过程Execute 存储过程名@参数=[值]例1 查看学校学生名单Execute 学生名单例2 查看计算机应用071班学生名单Execute 某班学生名单@班级=‘计算机应用071班’例3 查看学号为“20070101101”的学生姓名年龄declare@姓名nchar(5)declare@年龄intexec查询学生'15999015',@姓名output,@年龄outputprint@姓名print@年龄查看存储过程(1)查看存储过程的定义Exec sp_helptext “”(2)查看存储过程的参数和数据类型信息Exec sp_help “ ”(3)查看存储过程的依赖关系Exec sp_depends “ ”2.修改存储过程Alter proc[edure] 存储过程名[ @参数数据类型[output(指明返回参数)] ]AsBeginSql语句[ ]End例修改“学生名单”存储过程结果按学号排序alter procedure 学生名单AsBeginSelect 学号,姓名From 学生表Order by 学号End2.删除存储过程Drop procedure 存储过程名例将存储过程“学生名单”删除Drop procedure 学生名单十一.触发器1.创建触发器Create trigger 触发器名On 表名/视图名{ for / after / instead of }{ [ insert ] [ update ] [ delete ] 指定表/视图执行哪条语句时激活触发器关键字} AsSql 语句例1.对学生表创建插入触发器当有新纪录插入表时更新班级表中相应班级人数Create trigger 增加学生On 学生表after insertAsBeginSet nocount onIf update(班级)BeginUpdate 班级表Set 学生人数=学生人数+1From insertedWhere 班级表.班号=inserted.班级EndEnd例2.对学生表创建删除触发器当删除一条纪录时减少班级表中相应班级人数Create trigger 删除学生On 学生表after deleteAsBeginSet nocount onBeginUpdate 班级表Set 学生人数=学生人数-1From deletedWhere 班级表.班号=deleted.班级EndEnd例3.对学生表创建更新触发器当一条纪录被更新时修改班级表中相应班级人数Create trigger 更新学生On 学生表after updateAsBeginSet nocount onIf update(班级)BeginUpdate 班级表Set 学生人数=学生人数-1From deletedWhere 班级表.班号=deleted.班级EndEnd1.查看触发器(1)查看触发器的定义Exec sp_helptext “”(2)查看触发器的参数和数据类型信息Exec sp_help “ ”(3)查看触发器的依赖关系Exec sp_depends “ ”1.修改触发器Alter trigger 触发器名On 表名/视图名{ for / after / instead of }{ [ insert ] [ update ] [ delete ] 指定表/视图执行哪条语句时激活触发器关键字}AsSql 语句4.删除触发器Drop trigger 触发器名例将触发器“更新学生”删除Drop trigger 更新学生。

相关文档
最新文档