第3章 数据库操作SQL语言-单元测验-数据库原理及应用

下面哪种数据类型不是SQL语言的标准数据类型?

  • text
  • integer
  • char
  • Numeric

NUMERIC数据类型是一种精确数字数据类型,其精度在算术运算后保留到最小有效位,numeric是标准sql的数据类型,格式是numeric(m,n)。

numeric(a,b)函数有两个参数,前面一个为总的位数,后面一个参数是小数点后的位数,

例如numeric(5,2)是总位数为5,小数点后为2位的数,也就是说这个字段的整数位最大是3位。

在create table语句中,对于“身份证”属性列,应采用下面哪种数据类型?

  • String(18)
  • char(18)
  • varchar(18)
  • text(18)

在创建数据库表时,下面哪个不是关于主键的正确说法?

  • 主键取值必须唯一
  • 主键不允许空值
  • 主键可以是多种数据类型之一
  • 主键必须是单一属性

在创建数据库表时,使用下面哪个列约束实现值范围检查?

  • check
  • unique
  • default
  • null

修改数据库表结构,使用下面哪个SQL 语句。

  • modify table
  • change table
  • alter table
  • update table

对于数据库表添加记录数据,采用下面哪种SQL语句。

  • add data
  • append data
  • insert into
  • 以上都不是

采用哪种关键词,可消除SQL查询结果集指定列的重复数据?

  • unique
  • distinct
  • index
  • order by

在数据库中,使用更多索引可以加快数据库处理速度。x

索引可以加快查询速度,但不能加快处理速度

在create table数据库表创建时,可以同时创建该表的外键与参照完整性约束。v

在SQL语言的查询语句中使用SORT BY关键词实现结果集按指定列排序输出。x

order by

在多表关联查询中,如果最终结果数据都来自于单个表,则可以使用子查询进行处理。v

只有系统管理员才能运行SQL控制语句实现权限控制。x

SQL控制语句既可以对用户实现权限控制,也可以对角色实现权限控制。v

数据库对象拥有者可以收回赋予其他用户的访问权限。v

视图与基本表一样可以任意进行数据插入、数据修改和数据删除。x

视图可以实现多个数据库表的关联数据访问。v

可以基于一个视图进行另一个视图对象创建。v

下面哪个SQL数据类型适合“学号“属性列?

  • int
  • varchar(n)
  • char(n)
  • numeric

下面哪个SQL数据类型适合“金额“属性列?

  • int
  • numeric
  • real
  • money

下面哪项不是SQL语言的特性?

  • 对数据库进行操作
  • 实现控制逻辑编程
  • 数据库游标操作
  • 数据库事务操作

三、本章重点问题讨论

答案非标准答案,仅供参考

1.SQL是一种什么类型语言?它与C/Java语言有什么区别?
结构化查询语言(Structured Query Lanquaae)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统


2.SQL有哪些类型语句,每类语句可完成什么操作处理?
SQL语言分为五大类: DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。(Data Definition Language) DQL(数据查询语言) - Select 查询语句不存在提交问题。 DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。(Data Manipulation Language) DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。 DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。

3.SQL支持哪些数据类型?
支持的数据类型: 1.字符型数据: char\varchar\text这几种数据类型都是用来装字符串的 char 固定长度存储数据 varcahr 按变长存储数据 text 当你需要存储非常大量的字符串时使用 2.日期时间型数据 datetime、smalldatetime 都是用于存储日期和时间信息 3.整数型数据 用于存放整数 bigint、int、smallint、tinyint 4.精确小数型数据 用于存放小数 decimal、numeric 5.近似数值类型 用于存放近似数 float、real 6.货币型数据 用于存放货币数据 money、smallmoney 在输入货币型数据时要在其前加货币符号,若为负值,则在货币符号后加符号 7.位类型数据 bit

4.PostgreSQL数据库除支持SQL数据类型外,还支持哪些数据类型?
PostgreSQL还支持UUID、货币、枚举、地理、二进制、网络地址、位字符串,文本搜索,XML,JSON,数组,复合范围类型,以及对象识别和日志定位的一些内部类型

5.在PostgreSQL数据库中,如何自定义对象数据类型?
PostgreSQL不只是关系型的,它是对象关系型。这使得它拥有超越其他开源数据库的一些优点,比如MySQL,MariaDB和Firebird。
对象关系数据库的一个基本特征是支持用户定义的对象及其行为,包括数据类型、函数、运算符、域和索引。这使得PostgreSQL非常灵活和强大。在其他方面,可以创建、存储和检索复杂的数据结构。在下面的一些例子中你会看到嵌套的复合结构,而标准关系型数据库是不支持的

6.PostgreSQL数据库在哪些方面拓展了SQL功能?
数据模型、数据类型和结构 、数据处理和检索功能

7.在数据操纵SQL语句中,如何对级联表数据删除?
1.删除子表(引用外键的表)时父表(被引用的表)不受影响
2.删除父表时:
若不设置级联删除会出错
若设置级联删除不报错,同时将子表数据一并删除
 

--delete from StudentInfo    --可以直接删除子表中的数据
--where sId=3
 
--delete from ClassInfo        --不能直接删除父表中的数据
--where cId=2
 
--ALTER TABLE StudentInfo  DROP  CONSTRAINT FK_StudentInfo_ClassInfo    --删除外键约束(和下一步同时进行才有效)
 
--ALTER TABLE [dbo].[StudentInfo]  WITH CHECK ADD  CONSTRAINT [FK_StudentInfo_ClassInfo] FOREIGN KEY([cId])  --添加外键约束
--REFERENCES [dbo].[ClassInfo] ([cId]) ON DELETE CASCADE
 
delete from ClassInfo        --设置级联删除后,能直接删除父表中的数据,同时子表数据也被删除
where cId=2

8.在什么情况下,使用全外连接查询处理多表?
全外连接 = 左表全部记录 + 右表全部记录 + 相关联结果 = 左外连接 + 右外连接 - 相关联结果(即去重复)
全外连接返回左右表中所有的记录和左右表中连接字段相等的记录。


9.在SQL中,如何使用视图简化前端编程的复杂SQL查询?
视图用CREATE VIEW 语句来创建。CREATE VIEW只能用于创建不存在的视图。


10.在SQL中,如何控制视图数据只读查询?
 

--创建一个触发器就行了
create trigger tr_nochange on 视图
instead of insert,update,delete
as
/*--只读--*/
print '只读'

猜你喜欢

转载自blog.csdn.net/aiqq136/article/details/123850938