对关系“项目研发人员”,请回答以下问题:
(1)针对“项目研发人员”关系,用100字以内文字简要说明会产生什么问题。
(2)把“项目研发人员”分解为第三范式,分解后的关系名依次为:项目研发人员1,项目研发人员2,…
(3)列出修正后的各关系模式的主键。
第1题
时,需要用户指定此次委托维修的车辆的不同保险单所负担的总维修费用的比例。请对增加了“保险单”实体的图3-1进行修改,画出修改后的实体间联系和联系的类型。
第3题
户标记”属性值修改为0。请补充相关SQL语句。
ALTER TABLE 账户 (k) DEFAULT 0;
UPDATE 账户 (l) ;
第4题
若用SQL语句编写的转账业务事务程序如下:
START TRANSACTION;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
UPDATE Accounts
SET CurrentBalance=CurrentBalance-Amount
WHERE AccountID=A;
if error then ROLLBACK;
COMMIT;
UPDATE Accounts
SET CurrentBalance=CurrentBalance+Amount
WHERE AccountID=B;
if error then ROLLBACK;
COMMIT;
其中:Accounts为账户表,CurrentBalance为当前余额,Amount为新存入的金额。
该事务程序能否保证数据的一致性?如不能,请说明原因并改正。(100字以内)
第5题
栏目名称、回复数、点击率和发布时间。
CREATE VIEW 主题 view(主题编号,标题,用户账号,栏目名称,回复数,点击率,发布时间)As
SELECT主题.主题编号,标题,账号,名称,回复数,点击率,发布时间
FROM主题,用户,栏目,((k)
FROM回复主题
(l))As A
WHERE主题.用户编号=用户.用户编号AND主题.栏目编号=栏目.栏目编号AND
(m)
第7题
实现“当仓库中的任一原材料的数量小于其储备量时,向订购计划表中插入该原材料的订购记录,其订购数量为储备量的三倍”的功能。请将该程序的空缺部分补充完整。
CREATE TRIGGER ins_order_trigger AFTER (1) ON 原材料
REFERENCING NEW ROWAS nrow
FOR EACHROW
WHEN nrow.数量<arow.储备量
INSERT INTO 订购计划VALUES
((m),(n));
第8题
将下面的SQL语句补充完整,完成“查询存放原材料数量最多的仓库号”的功能。
SELECT仓库号
FROM (e)
(f);
第9题
工厂的仓库管理数据库的部分关系模式如下所示:
仓库(仓库号,面积,负责人,电话)
原材料(编号,名称,数量,储备量,仓库号)
要求一种原材料只能存放在同一仓库中。“仓库”和“原材料”的关系实例分别如表2-1和表2-2所示。
根据上述说明,用SQL定义“原材料”和“仓库”的关系模式如下,请在空缺处填入正确的内容。
CREATE TABLE 仓库(仓库号CHAR(4),
面积 INT,
负责人 CHAR(8),
电话 CHAR(8),
(a)); //主键定义
CREATE TABLE 原材料(编号 CHAR(4) (b), //主键定义
名称 CHAR(16),
数量 INT,
储备量 INT,
仓库号 (c),
(d)); //外键定义
第10题
阅读下列说明,回答问题1至问题3,将解答填入的对应栏内。
[说明]
某网上书店后台数据库的部分关系模式如下:
会员(会员编号,用户名,密码,姓名;地址,邮编,电话,消费额,积分)
图书(图书编号,类型名称,图书名称,作者,出版社,出版日期,ISBN,价格)
订单(订单编号,用户名,销售额,订购日期,出货日期)
订单明细(订单明细编号,订单编号,图书编号,数量)
下面是创建订单关系的SQL语句,订单编号唯一识别一个订单,用户名为订购图书的会员用户名,且不能为空。要求订购日期不能大于出货日期。请将空缺部分补充完整。
CREATE TABLE 订单(
订单编号 CHAR(6) (a)
用户名VARCHAR(40)NOT NULL (b),
销售额FLOAT,
订购日期DATE NOT NULL,
出货日期DATE (c));
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!