数据定义约束-数据库习题

在设计表时的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的( )约束。
A. 主键
B. 外键
C. 非空
D. CHECK
正确答案: C

设置为不允许为空,就是限制该列必须输入数据

现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)、医疗(患者编号、医生编号、医生姓名,诊断日期,诊断结果)。其中,医疗关系中外键码是( )。
A. 患者编号
B. 患者姓名
C. 患者编号和患者姓名
D. 医生编号和患者编号
正确答案: A

“医疗”关系中的“患者编号”必须是“患者”关系中有的编号,需要用外键来制约

下面关于唯一性约束的叙述中,不正确的是( )。
A. 唯一性约束指定一列或多列的组合值具有唯一性,以防止在列中输入重复的值
B. 唯一性约束指定的列可以有null属性
C. 主键也强制执行唯一性,但主键不允许空值,故主键约束强度大于唯一性约束
D. 主键列可以设定唯一性约束
正确答案: D

定义主键时会自动在该列(一列或多列)创建唯一约束,不需要再另外创建。主键约束强度大于唯一性约束,主键不仅限制值唯一,还限制不允许为空。唯一约束只限制值唯一,允许有空值,但空值只能有一个。

下面不是表约束的是( )。
A. 主键约束
B. 外键约束
C. 检查约束
D. 聚集约束
正确答案: D

有聚集索引,没有聚集约束。聚集索引是指索引顺序与其实际存储顺序一致的索引,一个表上聚集索引只能有一个,非聚集索引可以多个。

要限制输入到列中数据的范围,应使用( )约束。
A. CHECK
B. PRIMARY KEY
C. FOREIGN KEY
D. UNIQUE
正确答案: A

CHECK检查约束,PRIMARY KEY主键约束,FOREIGN KEY外键约束,UNIQUE唯一约束

以下关于外键和相应的主键之间的关系的说法中,正确的是( )。
A. 外键列并不一定要与相应的主键列同名
B. 外键列并一定要与相应的主键列同名
C. 外键列一定要与相应的主键同名,并且唯一
D. 外键列一定要与相应的主键同名,但并不一定唯一
正确答案: A

外键列并不一定要与相应的主键列同名,与名称无关,与内容有关

在SQL Server中,表A中的字段B是标识列,属于自动增长数据类型,标识种子是2,标识增量是3,先插入三行数据,然后删除一行,再向表中插入一行数据时,该行数据标识列的值是( )。
A. 2
B. 5
C. 8
D. 11
正确答案: D

第一行B字段的值是2,第2行是5,第三行是8,第四行是11,每次增加3,删除的编号不会再使用。

主键是用来实施( )约束的。
A. 引用完整性约束
B. 实体完整性约束
C. 域完整性约束
D. 自定义完整性约束
正确答案: B

实体完整性通过主键约束实现,参照完整性通过外键约束实现,其他约束都是自定义完整性约束。

要创建一个员工信息表,其中员工的薪水、医疗保险和养老保险分别采用3个字段来存储,但该公司规定:任何一位员工的医疗保险和养老保险之和不能大于其薪水的1/3。这项规定可以在创建表是采用( )来实现。
A. 检查约束
B. 主键约束
C. 外键约束
D. 默认值约束
正确答案: A

定义涉及多个列的检查约束,需要定义为表级约束,不能定义为列级。

要将一个表示日期的数据列约束在一个规定的范围内,应当使用( )约束。
A. NOT NULL约束
B. 主键约束
C. 唯一值约束
D. CHECK约束
正确答案: D

NOT NULL约束限制该列值不允许为空,主键约束限制该列值不允许为空,并且唯一,唯一值约束只限制值唯一,允许有一个空值,一个表上可以有多个唯一值约束,但主键只能一个。CHECK约束才能够限制取值范围。

在关系数据库中,下面关于主键的描述那一句是正确的( )。
A. 主键会创建唯一的索引,但允许有空值
B. 只允许以第一个字段为主键
C. 允许多个主键
D. 主键列的各值不允许重复
正确答案: D

主键会限制该列值唯一,且不允许为空,主键列上会自动创建唯一索引。一个表只能有一个主键,但唯一索引可以多个。

在关系数据库中,下面关于主键与外键之间关系的描述,哪一句是正确的( )。
A. 一个表最多只能有一个主键约束,一个唯一性约束
B. 一个表最多只能有一个主键约束,一个外键约束
C. 在定义外键时,应该首先定义主键表的主键约束,然后定义外键约束
D. 在定义外键时,应该首先定义外键约束,然后定义主键表的主键约束
正确答案: C

一个表只能有一个主键,但可以有多个外键和多个唯一约束。外键是一个表的非主键列受另一个表的主键列制约,所以必须先定义主键表的主键,才能定义外键表的外键。

关于数据完整性,以下说法正确的是( )。
A. 引用完整性通过主键和外键之间的引用关系实现的
B. 引用完整性通过限制数据类型、检查约束等来实现的
C. 数据完整性是通过数据操纵者自身对数据的控制来实现的
D. 如果两个表中存储的信息相关联,那么修改一个表中的数据,而另一个表中数据没有进行修改,不影响数据的完整性
正确答案: A

引用完整性(参照完整性)是通过主键和外键之间的引用关系实现的,限制数据类型、检查约束等实现的是用户自定义完整性。

在SQL Server中,下列关于标识列的说法正确的是( )。
A. 使用T-SQL语句插入数据时,可以直接为标识列指定要插入的值
B. 设置标识列时,必须同时指定标识种子和标识增量
C. 如果设定标识列时未指定标识增量,可以在插入数据SQL语句中指定
D. 只能把主键设置为标识列
正确答案: B

设置标识列时,必须同时指定标识种子和标识增量,则该列的值就可以自动生成,不需要手工输入,任何数据类型为整型的列都可以设置为标识列。

现有两个表user表和deparment表,user表中有userid,username,salary,deptid,email字段,deparment表中有deptid,deptname字段,下面应该使用检查约束来实现的是( )。
A. 如果deparment表中不存在deptid为2 的记录,则不允许在user表中插入deptid为2 的数据行。
B. 如果user表中已经存在userid为10的记录,则不允许在user表中再次插入userid为10的数据行。
C. user表中的salary(薪水)值必须在1000以上。
D. 若user表中email列允许为空,则向user表中插入数据时,可以不输入email的值。
正确答案: C

A通过外键约束实现,B通过主键约束或唯一键约束实现,C通过检查约束实现,D通过非空约束实现。

在SQL Server数据库中,关于NULL值叙述正确的选项是( )。
A. NULL表示空格
B. NULL表示0
C. NULL表示空值
D. NULL表示既可以表示0,也可以表示空格
正确答案: C

NULL是空值,不知道的意思,既不是0,也不是空格,判断是否为空不能用等号或不等号,用is null和 is not null

创建表的 SQL语句是( )。
A. DELETE TABLE
B. CREATE TABLE
C. ADD TABLE
D. DROP TABLE
正确答案: B

CREATE TABLE创建表,DROP TABLE删除表,DELETE是用于删除数据的DML语句,不是DDL语句,ADD在修改表结构ALTER TABLE 语句中用于增加列或增加约束

关于主关键字叙述正确的是( )。
A. 一个表可以没有主关键字
B. 只能将一个字段定义为主关键字
C. 如果一个表只有一个记录,则主关键字字段可以为空值
D. 以上选项都正确
正确答案: A

表中可以不定义主键,但若定义主键,主键列就不允许为空值,也不允许重复。主键列可以是一列,也可以是多列。

使用CREATE TABLE 语句创建数据表时( )。
A. 必须在数据表名称前指定表所属的数据库
B. 必须指明数据表的所有者
C. 指定的所有者和表名称结合起来在数据库中必须唯一
D. 省略数据表名称时,则自动创建一个本地临时表
正确答案: C

【数据库名.模式表.表名】,这个名称不可以重复,不同数据库中,或者同一数据库不同模式中表名可以重复。建表时如果是创建在当前数据库,当前模式下,可以省略数据库名.模式名,直接写create table 表名,但表名不可以省略,如果在表明前面加#,则表示该表是临时表,一个#是本地临时表,两个#是全局临时表。

按照用途来分,表可以分为两大类( )。
A. 数据表和索引表
B. 系统表和数据表
C. 用户表和非用户表
D. 系统表和用户表
正确答案: D

表分为系统表和用户表。系统表是系统自动创建和更新,存放数据字典的表,我们只能查询,不可以去更新系统表。我们自己的数据都要存在自己创建的用户表中。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值