当前位置:首页 > 万常选数据库实验参考答案
SELECT salerNo,orderNo,orderDate,orderSum FROM OrderMaster WHERE orderSum=( SELECT MAX(orderSum) FROM OrderMaster )
--实验三:数据定义操作 --3.1 创建OrderDB数据库和表 --略,参见OrderDB.sql
--3.2 在创建基本表时设置合理的主、外键约束。 --略,参见OrderDB.sql
--3.3 表结构的修改:
--3.3.1 修改客户表结构,要求客户名称和客户电话属性为NOT NULL。 ALTER TABLE Customer
ALTER COLUMN customerName varchar(40) NOT NULL
ALTER TABLE Customer
ALTER COLUMN telephone varchar(20) NOT NULL
--3.3.2 修改员工表结构,要求员工姓名和电话属性为NOT NULL。 ALTER TABLE Employee
ALTER COLUMN employeeName varchar(10) NOT NULL
ALTER TABLE Employee
ALTER COLUMN telephone varchar(20) NOT NULL
--3.3.3 修改订单主表结构,要求发票号码属性为NOT NULL。 ALTER TABLE OrderMaster
ALTER COLUMN invoiceNo varchar(10) NOT NULL
--3.4 创建基本表时,同时完成以下索引。
--3.4.1 在员工表中按所得薪水建立一个非聚集索引salaryIdx。 CREATE INDEX salaryIdx ON Employee(salary)
--3.4.2 在订单主表中,首先按订单金额的升序,然后按业务员编号的降序建立一个非聚集索引salenosumIdx。 CREATE INDEX salenosumIdx
ON OrderMaster(orderSum, salerNo DESC)
--3.5 创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、客
户地址、建立日期。
CREATE VIEW view_Customer_shanghai AS
SELECT customerNo,customerName,address--,createDate FROM Customer
WHERE address LIKE '上海%' WITH CHECK OPTION
--实验四:数据更新操作
--4.1 对表的基本操作有以下内容。 --4.1.1 分别给这五张表添加元组信息
,要求员工表、客户表、商品表各插入5个元组,订单主表8个元组,订单明细表20个元组。 --略,参见OrderDB.sql
--4.1.2 将作废订单(发票号码5197791779)由订单明细表中删除。 DELETE OrderDetail WHERE orderNo=( SELECT orderNo
FROM OrderMaster
WHERE invoiceNo='5197791779' )
--4.1.3 将上海的客户住址全都改为深圳。 UPDATE Customer
SET address='深圳' WHERE address='上海'
--4.1.4 将工作满2周年的员工薪水上调5%,工作满5周年的员工薪水上调8%。
UPDATE Employee SET salary=salary*1.05
WHERE DATEDIFF(YEAR,hireDate,GETDATE())>=2
--WHERE YEAR(GETDATE())-YEAR(hireDate)>2 OR YEAR(GETDATE())=2 AND MONTH(hireDate)<MONTH(GETDATE())
UPDATE Employee SET salary=salary*1.08
WHERE DATEDIFF(YEAR,hireDate,GETDATE())>=5
--4.1.5 将客户c20090001在2009年1月购买的所有商品单价打9折。
共分享92篇相关文档