SQL Server 实验二 数据库对象的创建和管理 全注释版

表操作
(1)简单创建订单数据库orderDB
(2)为订单数据库创建5张表,分别如下:(要求在创建的过程中,分别为每张表合理建立主键、外键约束)

员工表Employee
员工号 employeeNo Char(8)
员工姓名 employeeName Varchar(10)
性别 Sex Char(1)
所属部门 Department Varchar(30)
职务 Headship Varchar(6)
雇佣日期 Hiredate Datetime
出生日期 Birthday Datetime
薪水 Salary Numeric(8,2)
住址 Address Varchar(50)
电话 Telephone Varchar(20)

客户表customer
客户号 CustomerNo Char(9)
客户名称 customerName Varchar(40)
客户住址 Address Varchar(40)
客户电话 Telephone Varchar(20)
邮政编码 Zip Char(6)
建立日期 Createdate datetime

商品信息表product
商品编号 ProductNo Char(9)
商品名称 ProductName Varchar(40)
商品类别 ProductClass Varchar(20)
商品定价 ProductPrice Numeric(8,2)
建立日期 Createdate datetime

订单主表orderMaster
订单编号 OrderNo Char(12)
客户号 customerNo Char(9)
业务员编号 SaleNo Char(8)
订单金额 Ordersum Numeric(8,2)
订货日期 Orderdate Datetime
出货日期 Shipdate Datetime
发票号码 InvoiceNo Char(10)

订单明细表orderDetail
订单编号 OrderNo Char(12)
商品编号 ProductNo Char(9)
销售数量 Qty Int
成交单价 Price Numeric(8,2)
(3)表结构的修改
 修改客户表结构,要求客户名称和客户电话属性为not null
 修改员工表结构,要求员工姓名和电话属性为not null
 修改订单表结构,要求发票号码属性为not null
3.索引操作
在已创建的基本表的基础上,完成以下索引
(1)在员工表中按所得薪水建立一个非聚集索引salaryIdx
(2)在订单主表中,首先按订金金额的升序,然后按业务员编号的降序建立一个非聚集索引salenosumIdx。
4.视图操作
创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、客户住址、建立日期。
5.利用企业管理器(Enterprise Manager)完成以上1~4中的操作。

create database OrderDA/创建订单数据库/
use OrderDA/调用该数据库/
create table Employee/创建员工表/
(
EmployeeNo Char(8)primary key,
/员工号,设置员工号为主键/
EmployeeName Varchar(10),/员工名/
Sex Char(1),/员工性别/
Birthday Datetime,/员工生日/
Address Varchar(50),/员工住址/
Telephone Varchar(20),/员工电话/
Hiredate Datetime,/员工雇佣日期/
Department Varchar(30),/员工所属部门/
Headship Varchar(6),/员工职位/
Salary Numeric(8,2)/员工薪水/

)

create table Customer/创建客户表/
(
CustomerNo Char(9)primary key,/客户编号,设置他为主键/
CustomerName Varchar(40),/客户姓名/
Telephone Varchar(20),/客户电话/
Address Varchar(40),/客户住址/
Zip Char(6)/客户邮编/

)
create table Product/创建产品表/
(
ProductNo Char(9)primary key,/产品编号,设置为主键/
ProductName Varchar(40),/产品名称/
ProductClass Varchar(20),/产品类别/
ProductPrice Numeric(8,2)/产品价格/

)

create table OrderMaster/创建订单主表/
(
OrderNo Char(12)primary key,/订单编号,设置为主键/
CustomerNo Char(9),/客户号/
SaleNo Char(8),/业务员编号/
Orderdate Datetime,/订货日期/
Ordersum Numeric(8,2),/订单金额/
InvoiceNo Char(10),/发票编号/
foreign key(CustomerNo)references customer(CustomerNo)/设置客户号为外键/

)

create table OrderDetail/创建订单细节表/
(
OrderNo Char(12),/订单编号/
ProductNo Char(9),/产品号/
Qty Int,/销售数量/
OrderPrice Numeric(8,2)/成交单价/

)

alter table customer/设置客户姓名不为空/
alter column customername Varchar(40) not null

alter table customer/设置客户电话不为空/
alter column telephone Varchar(20) not null

alter table employee/设置员工姓名不为空/
alter column employeename varchar(10) not null

alter table employee/设置员工电话不为空/
alter column telephone varchar(20) not null

alter table ordermaster/设置订单发票号码不为空/
alter column InvoiceNo Char(10) not null

–在员工表中创建一个按薪水排序的非聚集索引
create nonclustered index salaryIdx on employee(salary)
–在订单主表中先按订单金额升序在按业务员编号降序建立非聚集索引
create nonclustered index salenosumIdx on ordermaster(Ordersum ASC,SaleNo DESC)

create view view_customer /创建视图表/
as
select CustomerNo,CustomerName,Address from Customer/视图表包含客户编号姓名和住址/
where address =‘上海’/视图表只选上海住址/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

剑起疾风刃落浮云

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

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

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

打赏作者

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

抵扣说明:

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

余额充值