哪位专家帮忙解答一下,加急!!!!!!

ljshcbf 2008-06-16 04:15:34
数据库market中有三个表 customers, Goods, orders, 阅读下面创建三个表的语句,
并回答问题


*************创建客户信息表customers************* */
CREATE TABLE customers
( customerID int IDENTITY(1,1) PRIMARY KEY ,
Name char(8) NOT NULL,
Address varchar(100) NULL,
City varchar(20) NULL,
Tel varchar(20) NULL UNIQUE,
Company varchar(50) NULL,
Birthday datetime NULL,
Type tinyint DEFAULT 1
)
/* **********创建货品信息表Goods*********** */
CREATE TABLE Goods
( goodsname varchar(20) CONSTRAINT PK_GOODS PRIMARY KEY ,
Description varchar(100),
storage int ,
supplier varchar(50),
status tinyint default(0),
price money )

/* ***************创建订单信息表Orders****************** */

CREATE TABLE Orders
( OrderID int IDENTITY(1,1) PRIMARY KEY,
Goodsname varchar(20) NOT NULL
references Goods(GoodsName) ON DELETE CASCADE,
CustomerID int NOT NULL foreign key(CustomerID)
references Customers(customerID),
Quantity int NOT NULL CHECK(Quantity>0),
OrderSum money NOT NULL,
OrderDate datetime Default(getdate())
)

1. 指出上面3个表中有哪写约束类型,约束名(如果是系统自动取名,请明确指出)
2. customers 表有2 行数据 :
customerID Name Address City Tel Company Birthday Type
1 aaa xueyuanroad beijing 82321111 tcl 1989-12-12 2
2 bbb haiding beijing 82322222 legend 1990-01-12 1

goods表也有2 行数据:
goodsname Description storage supplier status price
hub for network 100 tcl 1 125
TV for play 200 tcl 1 1200
orders 表有2行数据
OrderID Goodsname CustomerID Quantity OrderSum OrderDate
1 hub 1 10 1250 2005-01-06
3 TV 1 5 7500 2005-01-06
请指出下面的insert 语句有2个错误
insert into orders
values
(hub, 3, 10, 1250, '2005-01-06' )
3. 如果 customers, goods, orders 表中的数据与上题相同, 请写出下面的select 语句的结果

use market
go
SELECT orderID, name as customer_name, quantity,ordersum
FROM orders ,customers
WHERE orders.customerID=customers.customerID



4. 如果 customers, goods, orders 表中的数据与上题2相同,写出下面的存储过程结果
use market
go
CREATE PROC proc1
@cname varchar(20)
AS

SELECT Name,OrderID,GoodsName,Quantity,Orderdate,Ordersum
FROM Customers join Orders
ON Customers.CustomerID= Orders. CustomerID
Where Name LIKE @Cname
执行
exec proc1 @cname=’aaa’
5. 如果 customers, goods, orders 表中的数据与上题2相同,写出下面select 语句结果

SELECT * FROM Orders
...全文
71 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouyang156 2008-06-17
  • 打赏
  • 举报
回复
第四个问题的答案有点疑惑
ivan_ren 2008-06-17
  • 打赏
  • 举报
回复
1 .PRIMARY KEY,foreign key,CHECK,cascading referential integrity constraints,not null
2 a.customerid=3在customers 表不存在,违反外健约束。
b.goodsname是varchar,故hub->'hub'才是不会出错。
3.orderID customer_name quantity ordersum
1 aaa 10 1250
4.没有任何数据
5.
OrderID Goodsname CustomerID Quantity OrderSum OrderDate
1 hub 1 10 1250 2005-01-06
3 TV 1 5 7500 2005-01-06
昵称被占用了 2008-06-17
  • 打赏
  • 举报
回复
其他的与1楼相同
昵称被占用了 2008-06-17
  • 打赏
  • 举报
回复
4
搂主输入题目不规范,exec proc1 @cname=’aaa’ 中间的单引号是全角的,所以会出错
如果是搂主马虎把单引号输入错误造成的,结果应该是

Name,OrderID,GoodsName,Quantity,Orderdate,Ordersum
aaa 1 hub 10 2005-01-06 1250
aaa 3 TV 5 2005-01-06 7500
pt1314917 2008-06-17
  • 打赏
  • 举报
回复

--1. 指出上面3个表中有哪写约束类型,约束名(如果是系统自动取名,请明确指出)
Orders表的Goodsname与Goods表的GoodsName字段级联删除关系
Orders表的CustomerID与Customers表的customerID主外键关系
Orders表的Quantity必须大于0

--2.
--错误:1、hub带引号
--------2、orders表有6个字段,这里却只给定5个值,所以应该指定列名插入
--------3、customers表中不存在costomerid为3的数据,


--3. 如果 customers, goods, orders 表中的数据与上题相同, 请写出下面的select 语句的结果
--结果:orderid customer_name quantity ordersum
1 aaa 10 1250
3 aaa 5 7500

--4. 如果 customers, goods, orders 表中的数据与上题2相同,写出下面的存储过程结果
--结果:customer_name orderid goodsname quantity ordersum
aaa 1 hub 10 1250
aaa 3 tv 5 7500


5. 如果 customers, goods, orders 表中的数据与上题2相同,写出下面select 语句结果

SELECT * FROM Orders
--这个还是不写了吧?

昵称被占用了 2008-06-17
  • 打赏
  • 举报
回复
3
orderID customer_name quantity ordersum
1 aaa 10 1250
1 aaa 5 7500
lff642 2008-06-17
  • 打赏
  • 举报
回复
不是作业吧.楼主应该自己去测试一下.

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧