ORACLE与数据库原理作业 习题三(答案全)

首先声明:这个是我尽力自己做的,不能保证百分之百正确,毕竟老师没发答案给我对

一、选择题

一、 选择题

  1. SQL Server 2017 数据库文件有三类, 其中主数据文件的后缀为(     C   )。
    

A. .ndf B. .ldf C. .mdf D. .idf

  1. 从逻辑角度看,数据库对象不包括(   D     )。
    

A. 表 B. 数据库 C. 视图 D. 日志文件

  1.   下列(    D    )方法可以实现参考完整性。
    

A. rule B. foreign key C. not null D. default

  1. 实现列值的唯一性不能通过(    B    )。
    

A. 主键 B. UNIQUE C. identity 属性

  1. 实现列值的非空不能通过(   A )。
    

A. NOT NULL B. DEFAULT C. CHECK 约束

  1. 主键约束用来强制数据的( B)完整性。
    

D. CHECK 约束

D. 数据类型

A、域 B、实体 C、参照 D 、ABC 都可以

  1. 以下那种对象不是用来实现数据库完整性的(D )。 A、约束  B、存储过程  C、规则  D、默认值
    
  2. 在 SQL 中,建立表用的命令是( B)。
    

A 、CREATE SCHEMA
C 、CREATE VIEW

  1. NULL 是指( C) 。

B 、CREATE TABLE
D 、CREATE INDEX

A 、0 B、空字符串 C、空值 D、无意义

  1. 下列数据类型,在定义时需要指出数据长度的是( B )。
    A 、int B 、text C 、char D 、datetime

  2. 可以在创建表时用( B)来创建唯一索引。
    A、设置主键约束,设置唯一约束 B 、Create table ,Create index
    C、设置主键约束, Create index D、以上都可以

二、填空题

  1. 建立一个学生表 Student,它由学号 SNo、姓名 Sname 、性别 SSex、年龄 Sage 四个属性 组成,其中学号(字符型,长度位 8 个字符) 属性不能为空。
    

CREATE TABLE Student
(
SNo CHAR(8) NOT NULL UNIQUE_______,
SName CHAR(20),
SSex CHAR(2),
Sage INTEGER,

)
2. 建立一个学生表 Student,它由学号 SNo、姓名 SName、性别 SSsex、年龄 Sage 四个属 性组成,其中学号(字符型,长度为 8 个字符)属性不能为空。 Student 表建立完成后, 若要在表中增加年级 SGrade 项(设字段类型为字符型, 长度为 10),其 SQL 命令为:
ALTER TABLE Student ADD Scome CHAR(10)
3. 创建“班级”表,把“班级代码”设为非空且主键 :
班级 (班级代码 char(7) NOTNULL add primary key(班级代码
)
4. 在“学生”表中修改“家庭住址”字段的属性,使该字段的数据类型为 varchar(50) , 允许 空 : ALTER TABLE 学生 modify
_______ 家庭住址 varchar(50) null___
5. 在“学生”表中删除“备注”字段 :ALTER TABLE 学生 delete______ 备注
6. 索引的类型按索引顺序和物理存储顺序是否相同分为: 聚集索引__________和__非聚集索引________;按照 索引值是否唯一分为: 惟一索引______和____非惟一索引__

三、判断题

  1. 对UNIQUE 约束规定表中指定列不能有相同的两行, 而且不能有空值
  2. 对 数据的正确、有效和相容称之为数据的完整性
  3. 对 删除数据库使用 DROP DATABASE 指令
  4. 对 T-SQL 语言中用于修改表结构的命令是 MODIFY TABLE
  5. 错 删除数据表使用 DELETE 语句
  6. 错 在创建表的过程中, 如果一属性是 datetime 类型需要指定长度。
  7. 对 整型、货币型、逻辑型都是 T-SQL 的数据类型。

四、设计题

  1. 使用 SQL  Server  Management  Studio 创建名为 test01 的数据库,并设置数据库主文件名为 test01_data ,大小为 10MB;日志文件名为 test01_log,大小为 2MB。
    

CREACT DATABASE test01
ON(
NAME=’ test01_data’,
SIZE=10MB,)
LOG ON(NAME=’ test01_log’,
SIZE=2MB)
GO
2. 创建一个名称为 bookdb 的数据库, 该数据库的主文件逻辑名称为 bookdb_data,物理文件 名为 bookdb.mdf,初始大小为 3MB,最大尺寸为无限大, 增长速度为 15%;数据库的日志 文件逻辑名称为 bookdb,物理文件名为 bookdb.ldf,初始大小为 2MB,最大尺寸为 30MB, 增长速度为 2MB。要求数据库文件和日志文件的物理文件都存放在 E:\DATA 文件夹下。
CREACT DATABASE bookdb
ON
(
Name=’BOOKDB_data’,
FILENAME=’E:\DTAT\bookdb.mdf’,
SIZE=3MB,
)
LOG ON(
NAME=’bookdb’,
FILENAME=’E:\DATA\bookdb.ldf’,
SIZE=2MB,
MAXSIZE=30MB,
FILEGROWTH=2MB)
GO
3. 创建一个指定多个数据文件和日志文件的数据库。该数据库名称为 students,有一个 5MB 和 一个 10MB 的数据文件及两个 5MB 的事务日志文件。数据文件逻辑名称为 studentsl 和 students2,物理文件名为 studentsl. mdf 和 students2. ndf,主文件是 studentsl,由 PRIMARY 指定,两个数据文件的最大尺寸分别为无限大和 75MB,增长速度分别为 10%和 1MB。事 务日志文件的逻辑名为 sudentslogl 和 studentslog2 ,物理文件名为 studentslogl.ldf 和 studentslog2. ldf,最大尺寸均为 30MB,文件增长速度为 1MB。要求数据库文件和日志文 件的物理文件都存放在 E:\DATA 文件夹下。 将已存在的数据库 students 重命名为 student_BACK,并删除数据库 student_BACK。
ALTER DATABASE students
MODIFY_NAME=students_BACK
GO
DROP DATABASE students_BACK
GO
CREACT DATABASE students
ON(
NAME=’student1’,
FILENAME=’E:\DATA\student1.mdf
SIZE=5MB,
FILEGROWTH=10%)
ON(
NAME=’student2’,
FILENAME=’E:\DATA\student2.ndf
SIZE=10MB,
MAXSIZE=75MB,
FILEGROWTH=1MB)
LOG ON(
NAME=’studentslog1’,
FILENAME=’E:\DATA\students1.ldf’,
SIZE=5MB,
MAXSIZE=30MB,
FILEGROWTH=1MB)
LOG ON(
NAME=’studentslog2’,
FILENAME=’E:\DATA\students2.ldf’,
SIZE=5MB,
MAXSIZE=30MB,
FILEGROWTH=1MB)
GO

  1. 在第 2  题创建 bookdb  数据库中使用 Transact-SQL  语句创建表 book(book_id  nchar(6) , book_name nchar(30),price numeric(10,2))和表 author(author_name nchar(4),book_id nchar(6), 
    

address nchar(30))。设置 book 中的 book_ id 为主键, author 表中的 book_id 为外键,并设
置两个表的关系。
CREACT TABLE bookdb.dbo. book
(book_id nchar(6),
book_name nchar(30),
price numeric(10,2))
CREACT TABLE bookdb.dbo. author
(
author-name nchar(4),
book_id nchar(6),
address nchar(30))
ALTER TABLE book ADD PRIMARY KEY(book_id)
ALTER TABLE author ADD FOREIGN KEY(book_id)REFERENCES book(book_id)
5. 在 bookdb 数据库中利用 Transact-SQL 语句创建图书销售表 booksales(book_id nchar(6),
CREACT TABLE bookdb.dbo. booksales
(book_id nchar(6),
sellnum int,
selldate datetime)

  1. 在 bookdb 数据库中利用 Transact-SQL 语句为第 5 题创建的表 booksales  中的销售数量列 sellnum  创建外键 salebook,该外键引用第 4 题创建的 book 表的主键 book_id。
    

ALTER TABLE bookales ADD FOREIGN KEY(sellnum)REFERENCES(book_id)


如果这篇文章对你帮助很大,麻烦帮忙,点下友情链接: 鱼儿项目网(直接点这里),进去之后切换几个页面,停留几十秒。感激不尽。本站采集全网自媒体,网赚类,电商营销课程。里面有一些免费项目大家也可以看看

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m明月Java3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值