返回顶部

收藏

使SQL Server 2005 数据表方案的更改不影响视图

更多

你需要在 SQL Server 2005 数据库中创建一个连接客户表与订单表的视图。同时要确保底层数据表方案的更改不会影响到视图。 以可能的最小开销量达成此目标。

--购物车表
  create table Cart(
  BookID int,
  BookName nvarchar(30),
  Quantity int,
  Status int
  )
  --管理员表
  create table admin(
  adminname nvarchar(15) primary key,
  Pws varchar(15) not null)
  --图书表
  create table books(
  Idbook int primary key,
  Idcategory int not null references categories(Idcategory),
  Idsubcategory int not null references subcategories(Idsubcategory),
  Idsupplier int not null references suppliers(Idsupplier),
  bookname nvarchar(30) not null,
  Isbn varchar(13) not null,
  Details nvarchar(300) null,
  Orgcost money not null,
  Price money not null,
  discount int not null,
  imageurl nvarchar(50) null,
  Stock int not null,
  availstock int not null,
  Active bit not null,
  Hotdeal bit not null,
  Sakes int not null,
  Visits int not null
  )
  --图书类表
  create table categories(
  Idcategory int primary key,
  categoryname nvarchar(20) not null)
  --子类表
  create table subcategories(
  Idsubcategory int primary key,
  subcategoryname nvarchar(20) not null,
  Idcategory int references categories(Idcategory)
  )
  --出版商表
  create table suppliers(
  Idsupplier int primary key,
  suppliername nvarchar(30) not null
  )
  --顾客表
  create table customers(
  Idcustomer int primary key,
  username nvarchar(15) not null,
  password varchar(15) not null,
  realname nvarchar(15) not null,
  phone varchar(19) not null,
  email varchar(30) null,
  [add] nvarchar(30) not null,
  City nchar(10) not null,
  State nchar(10) not null,
  Zip char(6) not null
  )
  --订单表
  create table orders(
  Idorder int primary key,
  orderdate datetime not null default getdate(),
  Idcustomer int not null references customers(Idcustomer),
  Idbook int not null references books(Idbook),
  totalmoney money not null,
  totalbooks int not null,
  [add] nvarchar(30) not null,
  City nchar(10) not null,
  State nchar(10) not null,
  comment nvarchar(300) null,
  Idpayment int not null,
  Send bit not null
  )
  --stockmovements表
  create table stockmovements(
  Idbook int not null,
  Datemovement datetime not null,
  Quantity int not null
  )
GO
CREATE VIEW dbo.Customer_Order WITH SCHEMABINDING
AS
SELECT * FROM dbo.customers INNER JOIN dbo.orders ON dbo.orders.Idcustomer=dbo.customers.Idcustomer 
GO
--该片段来自于http://outofmemory.cn

标签:sql,数据库

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. H.E. 发表 2010-01-26 14:21:14 SQL语句查询优化测试
  2. dormy 发表 2013-11-21 02:34:49 JNDI连接数据库
  3. wwek 发表 2014-03-16 06:20:27 NoSQL反模式 – 文档数据库篇
  4. 谢权 发表 2016-02-01 17:23:17 SQL入门练习(三)
  5. 博主 发表 2016-12-02 17:36:11 数据库行列转换
  6. 图表大师 发表 2017-04-05 07:18:04 漫画赏析:Linux 版 SQL Server
  7. OuuYoung 发表 2014-09-18 11:32:10 列出数据库所有表名与列
  8. viviworld 发表 2015-06-05 00:38:00 更好的 SQL 模式的 10 条规则
  9. camnpr@163.com (佚名) 发表 2015-12-22 02:46:39 PHP如何执行SQL文件导入到mysql数据库
  10. 刘莉莉 发表 2016-03-19 14:45:05 SQL应用速查手册 : Chapter2 数据库操作实例
  11. 小码哥 发表 2017-07-06 05:33:49 SQL、NewSQL和NoSQL融合研究与实践
  12. shushenghong@gmail.c 发表 2014-09-15 12:32:14 php连接ms sql数据库的一些问题

发表评论