数据库总结1

-----1
USE master
GO
create database mydb1
on primary
(
	name=mydb1_data,
 	filename='d:\data\mydb1_data.mdf',
	size=5MB,
	maxsize=20MB,
 	filegrowth=1MB
 )
 log on
 (
 	name=mydb1_log,
  	filename='d:\data\mydb1_log.ldf',
  	size=3MB,
  	filegrowth=1MB
  )
GO


----2

create table 厂家表(
厂家ID nchar(5) primary key,
厂家名称 nchar(20) not null
)
go
create table 生产表(
商品编号 nchar(5) primary key,
商品名称 nchar(20) not null,
生产日期 smalldatetime not null,
厂家ID nchar(5) not null,
所属类别 nchar(10) not null,
单价 money not null,
销售状态 nchar(10) default '旺季' check (销售状态='淡季' or 销售状态='旺季')
foreign key (厂家ID) references 厂家表 (厂家ID))
go


insert 厂家表  values ('11','甘肃水果商')
insert 厂家表  values ('12','新疆水果商')
insert 厂家表  values ('13','内蒙水果商')


insert 生产表 values('11','苹果','2015-01-01','11','22',5,default)
insert 生产表 values('12','香蕉','2015-01-02','12','22',6,default)
insert 生产表 values('13','柠檬','2015-01-03','13','22',7,default)



----3
Create index 商品名
On 生产表(商品名称)
go


----4

create view 平均价格
as
Select 所属类别,平均价格=avg(单价)
from 生产表
Group by 所属类别
go

----5

create procedure 最高价格
@所属类别 nchar(5),
@商品最高价格 money output
as
Select @商品最高价格=max(单价)
From 生产表 where 所属类别=@所属类别
Group by 所属类别
go

--执行
 declare @x money
 exec 最高价格 22,@x output
 select @x


-----6

create procedure p4
@厂家ID char(20)
as
select 商品编号,商品名称,单价 from 生产表 where 厂家ID=@厂家ID
go

--执行
exec p4 '11'
go




-----7

create function f1(@n int)
returns int
as 
begin
declare @i int
declare @s int
set @i=1
set @s=0
while @i<= @n
begin
set @s=@s+@i
set @i=@i+1
end
return @s
end
go
--执行
select dbo.f1(3)




某数据库项目是对商品进行管理的。每种商品都有生产厂家,有必要记录生产厂家的信息。对商品进行分类管理是一个好办法,可以按照类别进行汇总。主要通过商品编号,商品名称,生产日期,厂家ID,所属类别,单价,销售状态等属性来描述商品信息,其中销售状态只能取“旺季”或“淡季”两种值。

1  建立数据库,要求将数据库部署到D:\data文件夹下,该数据库有一个主文件和一个日志文件,主文件的初始大小为5MB,采用自动增长方式,每次增长1MB,最多增长到20MB;日志文件的初始大小为3MB,采用自动增长方式,每次增长1MB。(10分)

2  根据上面的需求建立表,注意相应完整性的实施,要求定义表级的命名约束。通过insert命令向各表中插入至少3条记录。(30分)

3  建立以商品名为索引关键字的升序索引。(10分)

4  建立视图,它能统计各类别商品的平均价格(以类别号和平均价格作为结果列)。(10分)

5  建立存储过程,通过类别号来获得该类别商品的最高价格。(10分)

6  建立存储过程,通过指定厂家ID来查询指定厂家生产的商品信息,包括商品编号,商品名称,单价信息。(10分)

7  编写函数计算1+2+3+…+N的和。(10分)


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值