當前位置:首頁 » 數據倉庫 » 資料庫程序設計作業
擴展閱讀
存儲虛擬化架構 2022-06-27 01:07:26
小程序點餐前端 2022-06-27 01:05:42
cmdftp下載執行 2022-06-27 01:05:11

資料庫程序設計作業

發布時間: 2022-05-22 14:41:32

❶ ACCESS資料庫程序設計作業急求!!!!

你覺得有可能求到答案么,自己動腦做做,有問題再說吧

❷ 資料庫作業

SELECT
課程名稱,student.學號,student.姓名,成績
FROM
course,grade,student
WHERE
course.課程號
=
grade.課程號
and
grade.學號
=
student.學號
ORDER
BY
課程名稱,student.學號
SELECT
姓名
FROM
student
WHERE
年齡=(
SELECT年齡
FROM
student
WHERE姓名='劉晨')

❸ 資料庫程序設計1-5章實驗

姚津泓實驗作業網頁鏈接可以看看

--實驗一

create database test1

on

(name=test1,

filename='d:3116004357姚津泓 est1.mdf',

size=10,

maxsize=50,

filegrowth=5)

log on

(name=test1_log,

filename='d:3116004357姚津泓 est1.ldf',

size=5mb,

maxsize=25mb,

filegrowth=5mb)

create database test2

on

(name=test11,

filename='d:3116004357姚津泓 est11.mdf',

size=10,

maxsize=50,

filegrowth=5),

(name=test22,

filename='d:3116004357姚津泓 est22.ndf',

size=10,

maxsize=50,

filegrowth=5),

(name=test33,

filename='d:3116004357姚津泓 est33.ndf',

size=10,

maxsize=50,

filegrowth=5)

log on

(name=test11_log,

filename='d:3116004357姚津泓 est11.ldf',

size=5mb,

maxsize=25mb,

filegrowth=5mb),

(name=test22_log,

filename='d:3116004357姚津泓 est22.ldf',

size=5mb,

maxsize=25mb,

filegrowth=5mb)

create database test3

on

(name=dab1,

filename='d:3116004357姚津泓dab1.mdf',

size=10,

maxsize=50,

filegrowth=5),

filegroup fg11 --第一個文件組

(name=dab2,

filename='d:3116004357姚津泓dab2.ndf',

size=10,

maxsize=50,

filegrowth=5),

filegroup fg22 --第二個文件組

(name=dat1,

filename='d:3116004357姚津泓dat1.ndf',

size=10,

maxsize=50,

filegrowth=5),

(name=dat2,

filename='d:3116004357姚津泓dat2.ndf',

size=10,

maxsize=50,

filegrowth=5),

filegroup fg33--第三個文件組

(name=daz1,

filename='d:3116004357姚津泓daz1.ndf',

size=10,

maxsize=50,

filegrowth=5),

(name=daz2,

filename='d:3116004357姚津泓daz2.ndf',

size=10,

maxsize=50,

filegrowth=5)

alter database test1

add file

(name=te,

filename='d:3116004357姚津泓 e.ndf',

size=10,

maxsize=50,

filegrowth=5

)

alter database test2

modify file

(name=test11,

filename='d:3116004357姚津泓 est11.mdf',

maxsize=55

)

drop database test1

--實驗2--

create database 實驗

create schema yaojinhong

create table yaojinhong.倉庫

(

倉庫號char(6)primary key check (倉庫號like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'),

城市char(10) unique not null,

面積 int check(面積>=50)

)

create table yaojinhong.職工

(

職工號char(8)primary key check (職工號like'[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]'),

倉庫號char(6)constraint ck foreign key references yaojinhong.倉庫(倉庫號),

工資 money check (工資>=1000 and 工資<=10000)

)

create table yaojinhong.供應商

(

供應商號 char(4)primary key check (供應商號like'[S][0-9][0-9][0-9]'),

供應商名 char(16),

地址char(30),

)

create table yaojinhong.訂購單

(職工號 char(8) not null foreign key references yaojinhong.職工.(職工號),

供應商號 char(4) null constraint supply foreign key references yaojinhong.供應商(供應商號) on delete set null,

訂購單號 char(6) primary key check(訂購單號 like 'OR[0-9][0-9][0-9][0-9]'),

訂購日期 datetime default getdate(),

金額 money default null

)

create table yaojinhong.訂購單明細

(訂購單號 char(6) not null foreign key references yaojinhong.訂購單(訂購單號),

序號 char(2),

產品名稱 char(20),

單價 money default null check(單價>0),

數量 int not null check(數量>0),

primary key(訂購單號,序號)

)

alter table yaojinhong.訂購單

add 完成日期 datetime default null

alter table yaojinhong.訂購單明細

add check(數量 between 0 and 1000)

alter table yaojinhong.訂購單明細

alter column 數量 int not null alter table yaojinhong.供應商

alter column 供應商名 varchar(30)

實驗3

insert into yaojinhong.倉庫 values('QW0001','廣州',500)

insert into yaojinhong.倉庫 values('QW0002','上海',900)

insert into yaojinhong.倉庫 values('QW0003','北京',250)

insert into yaojinhong.倉庫 values('QW0004','紐約',1000)

insert into yaojinhong.倉庫 values('QW0005','深圳',650)

insert into yaojinhong.職工 values('ZG000001','QW0005',3000)

insert into yaojinhong.職工 values('ZG000002','QW0001',5600)

insert into yaojinhong.職工 values('ZG000003','QW0004',6600)

insert into yaojinhong.職工 values('ZG000004','QW0002',3800)

insert into yaojinhong.職工 values('ZG000005','QW0005',3900)

insert into yaojinhong.職工 values('ZG000006','QW0001',4600)

insert into yaojinhong.職工 values('ZG000007','QW0003',4000)

insert into yaojinhong.職工 values('ZG000008','QW0003',5000)

insert into yaojinhong.職工 values('ZG000009','QW0002',4800)

insert into yaojinhong.職工 values('ZG000010','QW0004',6000)

insert into yaojinhong.供應商 values('S001','華廣','深圳')

insert into yaojinhong.供應商 values('S002','廣工','廣州')

insert into yaojinhong.供應商 values('S003','美的','茂名')

insert into yaojinhong.供應商 values('S004','樂視','深圳')

insert into yaojinhong.供應商 values('S005','康佳','廣州')

insert into yaojinhong.訂購單 values('ZG000007','S005','OR0001','2015-1-6',5000,'2015-2-5')

insert into yaojinhong.訂購單 values('ZG000002','S001','OR0002','2015-2-3',10000,'2015-3-4')

insert into yaojinhong.訂購單 values('ZG000003','S004','OR0003','2015-2-17',3000,'2015-5-16')

insert into yaojinhong.訂購單 values('ZG000006','S002','OR0004','2015-2-16',9000,'2015-4-18')

insert into yaojinhong.訂購單 values('ZG000010','S005','OR0005','2015-3-20',8000,'2015-6-27')

insert into yaojinhong.訂購單 values('ZG000001','S001','OR0006','2015-3-22',7500,'2015-7-29')

insert into yaojinhong.訂購單 values('ZG000006','S003','OR0021','2015-2-15',4600,'2015-10-13')

insert into yaojinhong.訂購單 values('ZG000004','S002','OR0007','2015-2-23',8500,'2015-8-29')

insert into yaojinhong.訂購單 values('ZG000003','S005','OR0008','2015-1-5',3600,'2015-11-11')

insert into yaojinhong.訂購單 values('ZG000001','S004','OR0009','2015-1-31',7600,'2015-12-14')

insert into yaojinhong.訂購單 values('ZG000007','S001','OR0010','2015-3-25',12000,'2015-7-30')

insert into yaojinhong.訂購單 values('ZG000008','S002','OR0011','2015-2-26',4600,'2015-9-27')

insert into yaojinhong.訂購單 values('ZG000010','S002','OR0012','2015-1-28',3400,'2015-11-21')

insert into yaojinhong.訂購單 values('ZG000009','S004','OR0013','2015-3-19',2300,'2015-10-24')

insert into yaojinhong.訂購單 values('ZG000007','S005','OR0014','2015-2-23',9000,'2015-9-21')

insert into yaojinhong.訂購單 values('ZG000008','S003','OR0015','2015-2-27',6400,'2015-12-23')

insert into yaojinhong.訂購單 values('ZG000002','S001','OR0016','2015-1-30',7900,'2015-6-30')

insert into yaojinhong.訂購單 values('ZG000005','S004','OR0017','2015-1-27',20000,'2015-8-18')

insert into yaojinhong.訂購單 values('ZG000009','S004','OR0018','2015-3-5',13000,'2015-7-31')

insert into yaojinhong.訂購單 values('ZG000004','S002','OR0019','2015-3-14',7000,'2015-6-17')

insert into yaojinhong.訂購單 values('ZG000006','S005','OR0020','2015-2-21',4300,'2015-5-25')

insert into yaojinhong.訂購單明細 values('OR0020','01','沐浴露',32,240)

insert into yaojinhong.訂購單明細 values('OR0001','02','洗衣粉',30,125)

insert into yaojinhong.訂購單明細 values('OR0012','03','洗衣液',39,59)

insert into yaojinhong.訂購單明細 values('OR0014','04','香皂',14,99)

insert into yaojinhong.訂購單明細 values('OR0004','05','鹽',2,169)

insert into yaojinhong.訂購單明細 values('OR0005','06','醬油',14,65)

insert into yaojinhong.訂購單明細 values('OR0011','07','化妝品',26,24)

insert into yaojinhong.訂購單明細 values('OR0019','08','洗面奶',39,68)

insert into yaojinhong.訂購單明細 values('OR0008','09','面膜',5,147)

insert into yaojinhong.訂購單明細 values('OR0003','10','花生油',36,258)

insert into yaojinhong.訂購單明細 values('OR0017','11','滑鼠',69,72)

insert into yaojinhong.訂購單明細 values('OR0015','12','滑鼠墊',18,64)

insert into yaojinhong.訂購單明細 values('OR0016','13','移動電源',58,69)

insert into yaojinhong.訂購單明細 values('OR0012','14','插座',37,169)

insert into yaojinhong.訂購單明細 values('OR0011','15','牛奶',72,111)

insert into yaojinhong.訂購單明細 values('OR0020','16','洗潔精',9,114)

insert into yaojinhong.訂購單明細 values('OR0019','17','潔廁液',6,300)

insert into yaojinhong.訂購單明細 values('OR0010','18','雞蛋',14,124)

insert into yaojinhong.訂購單明細 values('OR0009','19','牛肉',38,300)

insert into yaojinhong.訂購單明細 values('OR0016','20','內褲',59,654)

insert into yaojinhong.訂購單明細 values('OR0018','21','鞋子',299,300)

insert into yaojinhong.訂購單明細 values('OR0015','22','手錶',890,34)

insert into yaojinhong.訂購單明細 values('OR0005','23','錢包',129,124)

insert into yaojinhong.訂購單明細 values('OR0008','24','行李箱',344,64)

insert into yaojinhong.訂購單明細 values('OR0014','25','手袋',3,874)

insert into yaojinhong.訂購單明細 values('OR0018','26','籃球',360,59)

insert into yaojinhong.訂購單明細 values('OR0003','27','足球',260,36)

insert into yaojinhong.訂購單明細 values('OR0005','28','羽毛球拍',78,69)

insert into yaojinhong.訂購單明細 values('OR0007','29','乒乓球拍',89,145)

insert into yaojinhong.訂購單明細 values('OR0020','30','羽毛球',5,645)

insert into yaojinhong.訂購單明細 values('OR0013','31','乒乓球',3,542)

insert into yaojinhong.訂購單明細 values('OR0016','32','牙膏',23,200)

insert into yaojinhong.訂購單明細 values('OR0009','33','牙刷',6,456)

insert into yaojinhong.訂購單明細 values('OR0019','34','防曬霜',56,65)

insert into yaojinhong.訂購單明細 values('OR0017','35','水杯',39,1187)

insert into yaojinhong.訂購單明細 values('OR0010','36','拖把',15,187)

insert into yaojinhong.訂購單明細 values('OR0004','37','掃把',6,200)

insert into yaojinhong.訂購單明細 values('OR0005','38','垃圾桶',16,254)

insert into yaojinhong.訂購單明細 values('OR0006','39','書',46,688)

insert into yaojinhong.訂購單明細 values('OR0016','40','衛生紙',13,500)

insert into yaojinhong.訂購單明細 values('OR0020','41','相機',3698,32)

insert into yaojinhong.訂購單明細 values('OR0013','42','手機',2000,200)

insert into yaojinhong.訂購單明細 values('OR0017','43','音響',500,143)

insert into yaojinhong.訂購單明細 values('OR0001','44','吸塵器',1688,40)

insert into yaojinhong.訂購單明細 values('OR0012','45','油煙機',3500,10)

insert into yaojinhong.訂購單明細 values('OR0010','46','台式電腦',4000,25)

insert into yaojinhong.訂購單明細 values('OR0013','47','空調',50,230)

insert into yaojinhong.訂購單明細 values('OR0005','48','電視機',1300,100)

insert into yaojinhong.訂購單明細 values('OR0016','49','洗衣機',3400,15)

insert into yaojinhong.訂購單明細 values('OR0011','50','筆記本',6000,20)

insert into yaojinhong.倉庫 values('QW0001','惠州',600)

原因:違反了PRIMARY KEY 約束'PK__倉庫__530C599C7F60ED59'。不能在對象'yaojinhong.倉庫' 中插入重復鍵。語句已終止。

insert into yaojinhong.職工 values('ZG000011','QW0009',3000)

原因:倉庫號列參照倉庫表的倉庫號,此時在倉庫表中找不到倉庫號為QW0009的倉庫。INSERT 語句與FOREIGN KEY 約束"FK__職工__倉庫號__0AD2A005"沖突。該沖突發生於資料庫"實驗",表"yaojinhong.倉庫", column '倉庫號'。

insert into yaojinhong.倉庫 values('QW0006','天津',30)

原因:在定義時,面積要大於等於50,這裡面積為30,明顯違反了用戶定義完整性

delete yaojinhong.倉庫 where 城市='北京'

刪除操作失敗。因為有職工參照了干記錄

delete yaojinhong.供應商 where 供應商號='S002'

因為刪除參照完整性規則定義為set null

alter table yaojinhong.職工

drop constraint ck

alter table yaojinhong.職工

drop column 倉庫號

alter table yaojinhong.職工

add 倉庫號 char(6)constraint ck foreign key references yaojinhong.倉庫

on delete cascade

on update cascade

update yaojinhong.職工 set 倉庫號='QW0006' where 職工號='ZG000002'

更新操作失敗,因為職工表所參考的倉庫表中不存在倉庫號為QW0006的倉庫。

update yaojinhong.倉庫 set 倉庫號=null where 倉庫號='QW0001'

更新操作失敗,因為倉庫號是關鍵字,不能為空。

update yaojinhong.倉庫 set 面積=30 where 倉庫號='QW0001'

更新操作失敗,因為面積被定義約束大於或等於50,此處面積=30,顯然違反了約束。

update yaojinhong.職工 set 工資=(工資+(工資*0.1))

update yaojinhong.訂購單 set 金額=(select SUM(單價*數量) from yaojinhong.訂購單明細

where 訂購單明細.訂購單號=訂購單.訂購單號)

delete yaojinhong.職工 where 倉庫號 in (select 倉庫號 from yaojinhong.倉庫 where 城市='北京')

delete yaojinhong.訂購單 where 供應商號 in (select 供應商號 from yaojinhong.供應商 where 供應商名='廣工')

實驗4

1 select distinct 工資 from yaojinhong.職工

select all 工資 from yaojinhong.職工

2 select * from yaojinhong.倉庫

3 select 職工號 from yaojinhong.職工 where 工資>5000

4 select * from yaojinhong.倉庫 where 倉庫號 in(select 倉庫號 from yaojinhong.職工 where 工資>5000)

5 select 職工號 from yaojinhong.職工 where 倉庫號 in ('QW0005','QW0002') and 工資<5000

6 select * from yaojinhong.職工 where 工資 between 3000 and 5000

7 select * from yaojinhong.供應商 where 供應商名 like '%公司'

8 select * from yaojinhong.倉庫 where 城市!='北京

9 select * from yaojinhong.訂購單 where 供應商號 is null

10 select * from yaojinhong.訂購單 where 供應商號 is not null

11 select * from yaojinhong.職工 order by 工資 ASC

12 select * from yaojinhong.職工 order by 倉庫號 ASC,工資 DESC

13 select 職工號,城市 from yaojinhong.職工 join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號 where 工資>6000

14 select 職工號,城市 from yaojinhong.職工 join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號 where 面積>700

16 select * from yaojinhong.倉庫 cross join yaojinhong.職工

17 select * from yaojinhong.倉庫 cross join yaojinhong.職工

where 倉庫.倉庫號=職工.倉庫號

18 select 供應商.供應商號,供應商名,訂購單號,訂購日期 from yaojinhong.供應商 join yaojinhong.訂購單

on 供應商.供應商號=訂購單.供應商號

19 select 供應商.供應商號,供應商名,訂購單號,訂購日期 from yaojinhong.供應商 left join yaojinhong.訂購單

on 供應商.供應商號=訂購單.供應商號

20 select 供應商.供應商號,供應商名,訂購單號,訂購日期 from yaojinhong.供應商 right join yaojinhong.訂購單 on 供應商.供應商號=訂購單.供應商號

21 select 供應商.供應商號,供應商名,訂購單號,訂購日期 from yaojinhong.供應商 full join yaojinhong.訂購單 on 供應商.供應商號=訂購單.供應商號

22 select 城市 from yaojinhong.倉庫 where 倉庫號 in

(select 倉庫號 from yaojinhong.職工 where 工資=3300)

23 select * from yaojinhong.倉庫 where 倉庫號 not in

(select 倉庫號 from yaojinhong.職工 where 工資<5000)

24 select * from yaojinhong.職工 where 工資 in

(select 工資 from yaojinhong.職工 where 職工號='ZG000001')

and 職工號!='ZG000001'

25 select 城市 from yaojinhong.倉庫 where 倉庫號 in

(select 倉庫號 from yaojinhong.職工 where 職工號 in

(select 職工號 from yaojinhong.訂購單 where 供應商號 in

(select 供應商號 from yaojinhong.供應商 where 地址='廣州')))

26 select 供應商名 from yaojinhong.供應商 join yaojinhong.訂購單 on 供應商.供應商號=訂購單.供應商號 join yaojinhong.職工 on 訂購單.職工號=職工.職工號 join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號 where 地址='廣州'and 城市='廣州'

select 供應商名

from yaojinhong.供應商 where 地址='廣州' and 供應商號 in

(select 供應商號 from yaojinhong.訂購單 join yaojinhong.職工 on 訂購單.職工號=職工.職工號

join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號 where 城市='廣州')

27 select 倉庫號 from yaojinhong.倉庫 where 倉庫號 in

(select 倉庫號 from yaojinhong.職工 where 工資>any

(select 工資 from yaojinhong.職工 join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號

where 倉庫.倉庫號='QW0001')and 倉庫號!='QW0001')

28 select 倉庫號 from yaojinhong.倉庫 where 倉庫號 in

(select 倉庫號 from yaojinhong.職工 where 工資>all

(select 工資 from yaojinhong.職工 join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號

where 倉庫.倉庫號='QW0001'))

29 select * from yaojinhong.訂購單 a where 金額=

(select MAX(金額) from yaojinhong.訂購單 b where a.職工號=b.職工號)

order by 職工號 ASC

30 select * from yaojinhong.倉庫 where exists(select * from yaojinhong.職工 where 職工號 is null and 職工.倉庫號=倉庫.倉庫號)

31 select * from yaojinhong.倉庫 where not exists(select * from yaojinhong.職工 where 職工號 is null and 職工.倉庫號=倉庫.倉庫號)

32 select COUNT(distinct 城市)城市數目 from yaojinhong.倉庫 where 城市 is not null

33 select SUM(工資)需要支付職工工資總數 from yaojinhong.職工

34 select SUM(工資)北京和上海的倉庫職工的工資總和 from yaojinhong.職工 join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號

where 城市='北京' or 城市='上海'

35 select AVG(面積)平均面積 from yaojinhong.倉庫 where 倉庫號 not in

(select 倉庫號 from yaojinhong.職工 where 工資<6000)

36 select max(金額)工資大於的職工所經手的訂購單最高金額 from yaojinhong.訂購單 where 職工號 in

(select 職工號 from yaojinhong.職工 where 工資>6000)

37 select 倉庫號,AVG(工資)平均工資 from yaojinhong.職工

group by 倉庫號

38 select 倉庫號,max(金額)最高金額,MIN(金額)最低金額,AVG(金額)平均金額 from yaojinhong.職工 join yaojinhong.訂購單 on 職工.職工號=訂購單.職工號 group by 倉庫號

39 select 訂購單.訂購單號,AVG(金額)平均金額 from yaojinhong.訂購單 join yaojinhong.訂購單明細 on 訂購單.訂購單號=訂購單明細.訂購單號

group by 訂購單.訂購單號 having COUNT(訂購單.訂購單號)>=5

40 select 倉庫號,職工號,工資 from yaojinhong.職工

order by 倉庫號

compute avg(工資),sum(工資)by 倉庫號

compute avg(工資),sum(工資)

41select 訂購單明細.訂購單號,序號,產品名稱,單價,數量,金額

from yaojinhong.訂購單明細 join yaojinhong.訂購單 on

訂購單.訂購單號=訂購單明細.訂購單號 order by 訂購單.訂購單號

compute avg(金額),sum(金額)by 訂購單.訂購單號

compute avg(金額),sum(金額)

42 select * from yaojinhong.訂購單

compute avg(金額),sum(金額)

實驗5

(1) 基於單個表按投影操作定義視圖。

create view yaojinhong.倉庫視圖 as select * from yaojinhong.倉庫

(2) 基於單個表按選擇操作定義視圖。

create view yaojinhong.倉庫視圖1 as select * from yaojinhong.倉庫 where 城市='廣州'

(3) 基於單個表按選擇和投影操作定義視圖。

create view yaojinhong.倉庫視圖2 as select 倉庫號,面積 from yaojinhong.倉庫 where 城市='廣州'

(4) 基於多個表根據連接操作定義視圖。

create view yaojinhong.視圖3 as select 職工號,城市,工資 from yaojinhong.職工 join yaojinhong.倉庫 on 職工.倉庫號=倉庫.倉庫號

(5) 基於多個表根據嵌套查詢定義視圖。

create view yaojinhong.視圖4 as select * from yaojinhong.倉庫 where 倉庫號 in

(select 倉庫號 from yaojinhong.職工 where 工資>4000)

(6) 定義含有虛欄位的視圖。

create view yaojinhong.虛欄位視圖(倉庫號,城市,面積) as select 倉庫號,城市,面積*2 from yaojinhong.倉庫

2、分別在定義的視圖上設計一些查詢(包括基於視圖和基本表的連接或嵌套查詢)。

select * from yaojinhong.倉庫視圖

select * from yaojinhong.倉庫視圖1 where 城市='廣州'

select 倉庫號,面積 from yaojinhong.倉庫視圖2

select 職工號,城市,工資 from yaojinhong.職工 join yaojinhong.倉庫視圖 on 職工.倉庫號=倉庫視圖. 倉庫號

select * from yaojinhong.倉庫視圖 where 倉庫號 in

(select 倉庫號 from yaojinhong.職工 where 工資>4000)

3、在不同的視圖上分別設計一些插入、更新和刪除操作,分情況討論哪些操作可以成功完成,哪些操作不能完成,並分析原因。

insert into yaojinhong.倉庫視圖(倉庫號,城市) values('QW0008','長沙')

update yaojinhong.倉庫視圖 set 面積=650 where 倉庫號='QW0008'

insert into yaojinhong.倉庫視圖 values('QW0008','長沙',500)

update yaojinhong.倉庫視圖 set 面積=700 where 倉庫號='QW0001'

delete yaojinhong.倉庫視圖 where 倉庫號='QW0008'

delete yaojinhong.倉庫視圖 where 倉庫號='QW0008'

❹ 求資料庫設計課作業……

我有高校學生宿舍管理系統,[email protected]

❺ 資料庫程序設計題目

3、B.1:m
4、A.OPEN DATABASE<資料庫名>
5、C.12
6、C.LOCATE FOR 工資>620
7、B.只將表中當前記錄的salsry欄位的值給為1500
8、A.SET INDEX TO <索引文件名>
9、B.貨幣型
10、A.將輸入作為字元接收

❻ 《網路應用編程》資料庫應用大作業及文字說明

工資管理系統

摘自:計算機信息管理畢業設計網 http://www.lw51.com

提綱

一、 引言

1、本課題的研究意義

2、本論文的目的、內容及作者的主要貢獻

二 管理信息系統概述

1、管理信息系統現狀

2、管理信息系統開發方法介紹

三、研究現狀及設計目標

1、相近研究課題的特點及優缺點分析

2、研究存在的問題及解決辦法

3、本課題要達到的設計目標

四、建議的方案

1、 資料庫方案

2、 菜單控制

五、系統結構與模型

1、推薦方案

2、支持環境

3、 數據流程圖

4、 系統功能圖

5、 系統管理流程圖

6、數據字典

六、系統實現技術

1、功能

2、性能

3、系統庫結構

七、詳細設計

1、 程序設計語言

2、 詳細設計方案

結束語

參考文獻摘要:

本系統為工資發放系統。採用的開發工具是 MicroSoft Visual Basic 6.0。 使用的技術有:資料庫的訪問;菜單控制。系統能夠提供對工資發放各明細項目的數據編輯,自動計算出工資發放各項合計數據及代扣項目數據;可自主設定條件從而達到對工資數據的多角度查詢功能;方便導入、導出數據及輸出報表;並可轉換成適合與銀行UNIX平台介面的數據形式以便於委託銀行辦理代發工資業務。財務部門人員以管理員身份登錄,對本系統的可登錄人員進行管理;而單位其他相關部門人員作為一般用戶登錄本系統時,數據編輯程序、數據導入程序及增加用戶、刪除用戶程序自動關閉,從而控制本系統的工資數據編輯、數據導入及用戶增、刪功能只能由財務部門人員操作。實現了財務部門對本單位工資發放系統的集中管理,保證了系統的安全性。

支持運行的環境:Microsoft Window98/95/me

資料庫的介面:Microsoft Access Driver。

關鍵詞:工資,管理

一、引言:

1、本課題的研究意義

目前市面上流行的工資發放軟體不少。但是,對於企、事業單位的工資發放來說,不需要太大型的資料庫系統。只需要一個操作方便,功能實用,能同時滿足財務部門、單位其他相關部門及代發單位三方對數據的管理及需求的系統。我們的目標就是在於開發一個功能實用,用戶(財務部、其他相關部門、銀行)操作方便,簡單明了的工資發放軟體。

2、本論文的目的、內容及作者的主要貢獻

2.1、目的

目前市面上流行的工資發放軟體不少。但是,對於企、事業單位的工資發放來說,不需要太大型的資料庫系統。只需要一個操作方便,功能實用,能同時滿足財務部門、單位其他相關部門及代發單位三方對數據的管理及需求的系統。我們的目標就是在於開發一個功能實用,用戶(財務部、其他相關部門、銀行)操作方便,簡單明了的工資發放軟體。

2.2、內容

實現本單位財務部門對工資發放的集中管理。可供財務人員對本單位的人員工資進行增加、刪除、修改、查詢、導入、導出文件、輸出報表,並對系統的可登錄人員進行管理;同時通過菜單關閉功能使本單位其他相關部門的人員對工資的數據編輯無法操作,只能通過查詢或導出文件來了解本單位的工資發放情況;對工資發放中的應發工資合計、代扣個人所得稅及個人實發工資等項目由系統自動進行計算;同時本系統還可對工資發放情況進行多角度查詢,並轉換成可與銀行UNIX平台介面的數據形式以便於委託銀行辦理代發工資業務。

在登錄管理方面,財務人員以工資發放系統的管理人員身份登錄,並對本系統的可登錄人員進行管理,有權增加及刪除本系統的登錄人員,進行自身密碼的修改;而本單位其他相關部門的可登錄人員在登錄本系統後,則只能進行自身密碼的修改,而無權增加及刪除用戶。

2.3、作者的主要貢獻

全程參與了此課題的研究與開發,包括分析,設計,編碼,測試,文檔等等。

❼ 資料庫大作業,要求做一個網上書店信息系統,VB+SQL

這個作業什麼時候要呢?

PrivateSubCommand1_Click()
DimnAsInteger
DimsumAsDouble
sum=0
n=InputBox("請輸入n的值")
Fori=1Ton
sum=sum+jiecheng(i)
Nexti
Printsum
EndSub
PublicFunctionjiecheng(ByValnAsInteger)AsDouble
DimjcAsDouble
jc=1
Fori=1Ton
jc=jc*i
Next
jiecheng=jc
EndFunction

❽ 資料庫程序設計C++

#include <string>
using namespace std;

class List
{
public:
string *strList;
int iListLong;
int iListUseNum;

List();//構造函數
int size() const; //返回鏈表的長度
bool full() const; //返回鏈表是否已滿
bool empty() const; //返回鏈表是否已空
void clear(); //清空鏈表
int retrieve( int position, string &x ) const;//獲取鏈表第position位置的元素到x,成功返回0,否則返回-1
// int replace( int position, const string &x );//將鏈表第position位置的元素換為x,成功返回0,否則返回-1
// int remove( int position, string &x );//獲取並刪除鏈表第position位置的元素,成功返回0,否則返回-1
// int insert( int position, const string &x );//將元素x插入到鏈表第position位置,成功返回0,否則返回-1
protected:
int new_node(); //返回鏈表的數據載體(數組)的可用index,如果鏈表已滿則返回-1
// void delete_node( int index); //刪除鏈表數據載體(數組)index位置的元素
// int current_position( int index) const;//返回鏈表數據載體(數組)index位置的元素是鏈表的哪個位置,如果當前位置沒有存放數據,則返回-1
// int set_position( int position) const;//返回鏈表第position位置的數據所存放的數組index,如果不存在position位置,則返回-1
};

List::List()
{
iListUseNum = 0;
iListLong = 100;
strList = new string[iListLong];
}

int List::size() const
{
return iListLong;
}

bool List::full() const
{
if (iListUseNum<iListLong)
{
return false;
}
else
{
return true;
}
}

bool List::empty() const
{
if (iListUseNum >= iListLong)
{
return true;
}
else
{
return false;
}
}

void List::clear()
{
for (int i=0; i<iListLong; i++)
{
strList[i].clear();
}
}
int List::retrieve(int position, string &x) const
{
x = strList[position];
if (x.empty())
{
return -1;
}
return 0;
}

int List::new_node()
{
for (int i=0; i<iListLong; i<0)
{
if (string.empty())
{
return i;
}
}
return -1;
}

寫法都差不多都是操作數組.

❾ 資料庫課程設計實例

資料庫課程設計

題目:小型超市管理系統
1、項目計劃
1.1系統開發目的
(1)大大提高超市的運作效率;
(2)通過全面的信息採集和處理,輔助提高超市的決策水平;
(3)使用本系統,可以迅速提升超市的管理水平,為降低經營成本, 提高效益,增強超市擴張力, 提供有效的技術保障。
1.2背景說明
21世紀,超市的競爭也進入到了一個全新的領域,競爭已不再是規模的競爭,而是技術的競爭、管理的競爭、人才的競爭。技術的提升和管理的升級是超市業的競爭核心。零售領域目前呈多元發展趨勢,多種業態:超市、倉儲店、便利店、特許加盟店、專賣店、貨倉等相互並存。如何在激烈的競爭中擴大銷售額、降低經營成本、擴大經營規模,成為超市營業者努力追求的目標。
1.3項目確立
針對超市的特點,為了幫助超市解決現在面臨的問題,提高小型超市的競爭力,我們將開發以下系統:前台POS銷售系統、後台管理系統,其中這兩個子系統又包含其它一些子功能。
1.4應用范圍
本系統適應於各種小型的超市。
1.5 定義
(1)商品條形碼:每種商品具有唯一的條形碼,對於某些價格一樣的商品,可以使用自定義條形碼。
(2)交易清單:包括交易的流水賬號、每類商品的商品名、數量、該類商品的總金額、交易的時間、負責本次收銀的員工號。
(3)商品積壓:在一定時期內,遠無法完成銷售計劃的商品會造成積壓。
(4)促銷:在一定時期內,某些商品會按低於原價的促銷價格銷售。
庫存告警提示:當商品的庫存數量低於庫存報警數量時發出提示。
(5)盤點:計算出庫存、銷售額、盈利等經營指標。
1.6 參考資料
《資料庫原理及設計》 陶宏才編 清華大學出版社
《SQL Server 2000 實用教程》范立南編 清華大學出版社
《SQL Server 2000 編程員指南》李香敏編 北京希望電子出版社
《輕松搞定 SQL Server 2000 程序設計》Rebecca M.Riordan編
《軟體工程規范》Watts S.Humphrey編 清華大學出版社
《軟體工程理論與實踐》 Shari Lawrence Pfleeger編 清華大學出版社
《軟體需求分析》 Swapna Kishore編 機械工業出版社
《軟體工程思想》 林銳編

2、邏輯分析與詳細分析
2.1系統功能
(1)、零售前台(POS)管理系統,本系統必須具有以下功能:
 商品錄入:根據超巿業務特點制定相關功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能准確快速地進行商品掃描錄入。
 收銀業務:通過掃描條形碼或者直接輸入商品名稱(對於同類多件商品採用一次錄入加數量的方式)自動計算本次交易的總金額。在顧客付款後,自動計算找零,同時列印交易清單(包括交易的流水賬號、每類商品的商品名、數量、該類商品的總金額、交易的時間、負責本次收銀的員工號)。如果顧客是本店會員並持有本人會員卡,則在交易前先掃描會員卡,並對所購物品全部實行95折優惠,並將所購物品的總金額累計到該會員的總消費金額中。 會員卡的有效期限為一年,滿一年未續卡者,該會員卡將被注銷。
 安全性:OS登陸、退出、換班與操作鎖定等許可權驗證保護;斷電自動保護最大限度防止意外及惡意非法操作。
 獨立作業:有的斷網收銀即在網路伺服器斷開或網路不通的情況下,收銀機仍能正常作業
(2)、後台管理系統,本系統必須具備以下功能
 進貨管理: 根據銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。 按計劃單有選擇性地進行自動入庫登記。 綜合查詢列印計劃進貨與入庫記錄及金額。
 銷售管理: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結賬情況等。 按多種方式統計生成銷售排行榜,靈活察看和列印商品銷售日、月、年報表。
 庫存管理: 綜合查詢庫存明細記錄。 庫存狀態自動告警提示。如庫存過剩、少貨、缺貨等。軟體為您預警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。
 人員管理: 員工、會員、供貨商、廠商等基本信息登記管理。 員工操作許可權管理。 客戶銷售許可權管理。

(3)系統結構
系統總體結構

模塊子系統結構

功能描述:商品錄入子系統要求能快速錄入商品,因此必須支持條形碼掃描。

功能描述:收銀業務子系統能計算交易總額,列印交易清單,並根據會員卡打折。

功能描述:進貨管理子系統可以根據庫存自動指定進貨計劃,進貨時自動等級,以及提供查詢和列印計劃進貨與入庫記錄的功能。

功能描述:銷售管理子系統可以控制某商品是否允許銷售,查詢每種商品的銷售情況並產生年、月、日報表,同時可以生成銷售排行榜。

功能描述:庫存管理子系統提供查詢庫存明細記錄的基本功能,並根據庫存的狀態報警,以及自動盤點計算。

功能描述:人員管理子系統提供基本信息登記管理,員工操作許可權管理,客戶銷售許可權管理的功能。
2.2、流程圖
前台管理系統

頂層DFD圖

第0層DFD圖

第1層DFD圖

2.3、戶類型與職能
(1)、員工(營業員):
 通過商品條形碼掃描輸入商品到購買清單
 操作軟體計算交易總金額
 操作軟體輸出交易清單
 對會員進行會員卡掃描以便打折
(2)、:超市經理
 操作軟體錄入商品,供貨商,廠商
 操作軟體制定進貨計劃
 查詢列印計劃進貨與入庫記錄
 操作軟體控制商品銷售與否
 查詢列印銷售情況
 操作軟體生成銷售排行榜
 查詢庫存明細記錄
 根據軟體發出的庫存告警進行入貨
 操作軟體進行盤點計算
(3)、總經理:
 基本信息登記管理
 員工操作許可權管理
 客戶銷售許可權管理
2.4、統開發步驟
 確定參與者和相關的用況
 為每個用況設計過程
 建立順序圖,確定每個腳本中對象的協作
 創建類,確定腳本中的對象
 設計, 編碼, 測試, 集成類
 為過程編寫系統測試案例
 運行測試案例,檢驗系統
2.5、系統環境需求
 系統模式

本系統採用C/S模式作為開發模式
 硬體環境
伺服器端:
高性能的計算機一台,
普通的雙絞線作為連接。
客戶端: 普通的計算機或者工作站,
普通的雙絞線作為連接。
 軟體環境
伺服器端:安裝SQL Server 2000的伺服器版本,
安裝windows 2000伺服器版本,
配置了諾頓等必須的防毒軟體。
客戶端: 安裝SQL Server2000的伺服器版本,
安裝了VB等可視化開發工具軟體,
安裝windows2000伺服器版本。

2.6、系統安全問題
信息系統盡管功能強大,技術先進,但由於受到自身體系結構,設計思路以及運行機制等限制,也隱含許多不安全因素。常見因素有:數據的輸入,輸出,存取與備份,源程序以及應用軟體,資料庫,操作系統等漏洞或缺陷,硬體,通信部分的漏洞,企業內部人員的因素,病毒,「黑客」等因素。因此,為使本系統能夠真正安全,可靠,穩定地工作,必須考慮如下問題:為保證安全,不致使系統遭到意外事故的損害,系統因該能防止火,盜或其他形式的人為破壞。
 系統要能重建
 系統應該是可審查的
 系統應能進行有效控制,抗干擾能力強
 系統使用者的使用許可權是可識別的
3、基於UML的建模
3.1語義規則
用例模型(use cases view)(用例視圖)的基本組成部件是用例(use case)、角色(actor)和系統(system)。用例用於描述系統的功能,也就是從外部用戶的角度觀察,系統應支持哪些功能,幫助分析人員理解系統的行為,它是對系統功能的宏觀描述,一個完整的系統中通常包含若干個用例,每個用例具體說明應完成的功能,代表系統的所有基本功能(集)。角色是與系統進行交互的外部實體,它可以是系統用戶,也可以是其它系統或硬體設備,總之,凡是需要與系統交互的任何東西都可以稱作角色。系統的邊界線以內的區域(即用例的活動區域)則抽象表示系統能夠實現的所有基本功能。在一個基本功能(集)已經實現的系統中,系統運轉的大致過程是:外部角色先初始化用例,然後用例執行其所代表的功能,執行完後用例便給角色返回一些值,這個值可以是角色需要的來自系統中的任何東西。
UML:是一種標準的圖形化建模語言,它是面向對象分析與設計的一種標准表示;它不是一種可視化的程序設計語言而是一種可視化的建模語言;不是工具或知識庫的規格說明而是一種建模語言規格說明是一種表示的標准;不是過程也不是方法但允許任何一種過程和方法使用它。

用例(use case):

參與者(actor):

3.2、UML模型
3.21、系統UML模型

3.22、子系統UML模型
(1)零售前台(POS)管理系統用例視圖

(2)後台管理系統用例視圖

3.3、系統實現圖

4、超市銷售系統概念設計文檔
(1)、系統ER圖

(2)、系統ER圖說明
1) 商店中的所有用戶(員工)可以銷售多種商品,每種商品可由不同用戶(員工)銷售;
2) 每個顧客可以購買多種商品,不同商品可由不同顧客購買;
3) 每個供貨商可以供應多種不同商品,每種商品可由多個供應商供應。
(3)、視圖設計
1) 交易視圖(v_Dealing)——用於查詢交易情況的視圖;
2) 計劃進貨視圖(v_PlanStock)——用於查詢進貨計劃的視圖;
3) 銷售視圖(v_Sale)——用於查詢銷售明細記錄的視圖;
4) 入庫視圖(v_Stock)——用於查詢入庫情況的視圖。
5、邏輯設計文檔
(1)、系統關系模型
a) 商品信息表(商品編號,商品名稱,價格,條形碼,促銷價格,促銷起日期,促銷止日期,允許打折,庫存數量,庫存報警數量,計劃進貨數,允許銷售,廠商編號,供貨商編號)
b) 用戶表(用戶編號,用戶名稱,用戶密碼,用戶類型)
c) 會員表(會員編號,會員卡號,累積消費金額,注冊日期)
d) 銷售表(銷售編號,商品編號,銷售數量,銷售金額,銷售日期)
e) 交易表(交易編號,用戶名稱,交易金額,會員卡號,交易日期)
f) 進貨入庫表(入庫編號,入庫商品編號,入庫數量,單額,總額,入庫日期,計劃進貨日期,入庫狀態)
g) 供貨商表(供貨商編號,供貨商名稱,供貨商地址,供貨商電話)
h) 廠商表(廠商編號,廠商名稱,廠商地址,廠商電話)

(2)、系統資料庫表結構
資料庫表索引
表名 中文名
MerchInfo 商品信息表
User 用戶表
Menber 會員表
Sale 銷售表
Dealing 交易表
Stock 進貨入庫表
Provide 供貨商表
Factory 廠商表

商品信息表(MerchInfo)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
MerchID int 4 P Not null 商品編號
MerchName Varchar 50 Not null 商品名稱
MerchPrice Money 4 Not null 價格
MerchNum Int 4 Not null 庫存數量
CautionNum Int 4 Not null 庫存報警數量
PlanNum Int 4 null 計劃進貨數
BarCode Varchar 50 Not null 條形碼
SalesProPrice Money 4 促銷價格
SalesProDateS Datetime 8 促銷起日期
SalesProDateE Datetime 8 促銷止日期
AllowAbate Int 4 Not null 允許打折
AllowSale Int 4 Not null 允許銷售
FactoryID Varchar 10 F Not null 廠商編號
ProvideID Varchar 10 F Not null 供貨商編號

用戶表(User)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
UserID varchar 10 P Not null 用戶編號
UserName Varchar 25 Not null 用戶名稱
UserPW Varchar 50 Not null 用戶密碼
UserStyle Int 4 Not null 用戶類型

會員表(Menber)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
MemberID Varchar 10 P Not null 會員編號
MemberCard Varchar 20 Not null 會員卡號
TotalCost Money 4 Not null 累積消費金額
RegDate Datetime 8 Not null 注冊日期

銷售表(Sale)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
SaleID Varchar 10 P Not null 銷售編號
MerChID Varchar 10 F Not null 商品編號
SaleDate Datetime 8 Not null 銷售日期
SaleNum Int 4 Not null 銷售數量
SalePrice Money 4 Not null 銷售單額

交易表(Dealing)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
DealingID Varchar 10 P Not null 交易編號
DealingPrice Money 4 Not null 交易金額
DealingDate Money 4 Not null 交易日期
MemberID Varchar 10 會員卡號
UserName Varchar 10 F Not null 用戶名稱

入庫紀錄表(Stock)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
StockID Varchar 10 P Not null 入庫編號
MerchID Varchar 10 F Not null 入庫商品編號
MerchNum Int 4 Not null 入庫數量
MerchPrice Money 4 Not null 單額
TotalPrice Money 4 Not null 總額
StockDate Datetime 8 Datetime 入庫日期
PlanDate Datetime 8 Datetime 計劃進貨日期
StockState Int 4 Not null 入庫狀態

供貨商表(Provide)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
ProvideID varchar 10 P Not null 供貨商編號
ProvideName Varchar 50 Not null 供貨商名稱
ProvideAddress Varchar 250 供貨商地址
ProvidePhone Varchar 25 供貨商電話

廠商表(Provide)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
FactoryID varchar 10 P Not null 廠商編號
FactoryName Varchar 50 Not null 廠商名稱
FactoryAddress Varchar 250 廠商地址
FactoryPhone Varchar 25 廠商電話
6、物理設計文檔
/*----------創建資料庫----------*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go

/*----------創建基本表----------*/
use [SuperMarketdb]
go
/*創建交易表*/
CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key ,
DealingDate datetime NOT NULL ,
DealingPrice money NOT NULL ,
UserName varchar(25) NULL ,
MemberCard varchar(20) NULL
)
GO
/*創建廠商表*/
CREATE TABLE Factory (
FactoryID varchar(10) Primary key ,
FactoryName varchar(50) NOT NULL ,
FactoryAddress varchar(250) NULL ,
FactoryPhone varchar(50) NULL
)
GO
/*創建會員表*/
CREATE TABLE Member (
MemberID varchar(10) Primary key ,
MemberCard varchar(20) NOT NULL ,
TotalCost money NOT NULL ,
RegDate datetime NOT NULL
)
GO
/*創建商品信息表*/
CREATE TABLE MerchInfo (
MerchID int identity(1,1) Primary key ,
MerchName varchar(50) Unique NOT NULL ,
MerchPrice money NOT NULL ,
MerchNum int NOT NULL ,
CautionNum int NOT NULL ,
PlanNum int NOT NULL ,
BarCode varchar(20) Unique NOT NULL ,
SalesProPrice money NULL ,
SalesProDateS datetime NULL ,
SalesProDateE datetime NULL ,
AllowAbate int NOT NULL ,
AllowSale int NOT NULL ,
FactoryID int NOT NULL ,
ProvideID int NOT NULL
)
GO
/*創建供應商表*/
CREATE TABLE Provide (
ProvideID varchar(10) Primary key ,
ProvideName varchar(50) NOT NULL ,
ProvideAddress varchar(250) NULL ,
ProvidePhone varchar(25) NULL
)
GO
/*創建銷售表*/
CREATE TABLE Sale (
SaleID int identity(1,1) Primary key ,
MerChID int NOT NULL ,
SaleDate datetime NOT NULL ,
SaleNum int NOT NULL,
SalePrice money NOT NULL
)
GO
/*創建入庫表*/
CREATE TABLE Stock (
StockID int identity(1,1) Primary key ,
MerchID int NOT NULL ,
MerchNum int NOT NULL ,
MerchPrice money NULL ,
TotalPrice money NULL ,
PlanDate datetime NULL ,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*創建用戶表*/
CREATE TABLE User (
UserID varchar(10) Primary key ,
UserName varchar(25) NOT NULL ,
UserPW varchar(50) NOT NULL ,
UserStyle int NOT NULL ,
)
GO

/*----------創建表間約束----------*/
/*商品信息表中廠商編號、供應商編號分別與廠商表、供應商表之間的外鍵約束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY
(
[FactoryID]
) REFERENCES Factory (
[FactoryID]
),
CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY
(
[ProvideID]
) REFERENCES Provide (
[ProvideID]
)
GO
/*銷售表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Sale ADD
CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY
(
[MerChID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO
/*入庫表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Stock ADD
CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY
(
[MerchID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO

/*----------創建索引----------*/
/*在交易表上建立一個以交易編號、交易日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一個以商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在銷售表上建立一個以銷售編號、銷售日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入庫表上建立一個以入庫編號、入庫日期、商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO

/*----------創建視圖----------*/
/*創建用於查詢交易情況的視圖*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as 交易日期,
UserName as 員工名稱,
MemberCard as 會員卡號,
DealingPrice as 交易金額
FROM Dealing
GO
/*創建用於查詢進貨計劃的視圖*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchNum as 計劃進貨數量,
Stock.PlanDate as 計劃進貨日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*創建用於查詢銷售明細記錄的視圖*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
MerchInfo.MerchPrice as 商品價格,
Sale.SalePrice as 銷售價格,
Sale.SaleNum as 銷售數量,
Sale.SaleDate as 銷售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID = MerchInfo.MerchID
GO
/*創建用於查詢入庫情況的視圖*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchPrice as 入庫價格,
Stock.MerchNum as 入庫數量,
Stock.TotalPrice as 入庫總額,
Stock.StockDate as 入庫日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO

7、小結
和傳統管理模式相比較,使用本系統,毫無疑問會大大提高超市的運作效率,輔助提高超市的決策水平,管理水平,為降低經營成本, 提高效益,減少差錯,節省人力,減少顧客購物時間,增加客流量,提高顧客滿意度,增強超市擴張能力, 提供有效的技術保障。
由於開發者能力有限,加上時間倉促,本系統難免會出現一些不足之處,例如:
 本系統只適合小型超市使用,不能適合中大型超市使用;
 超市管理系統涉及范圍寬,要解決的問題多,功能復雜,實現困難,但由於限於時間,本系統只能做出其中的一部分功能;
對於以上出現的問題,我們深表歉意,如發現還有其它問題,希望老師批評指正。