数据库课程设计超市信息管理系统

目录

一、需求分析

1、系统需求分析描述

1.1.1系统需求说明:

1.1.2系统可行性分析:

1.1.3系统应用范围:

2、系统功能结构图

3、业务流程图

二、概念结构设计

1.实体描述

2.局部E-R图

 2.2.1员工页面

2.2.2库存页面

2.2.3仓库界面 

 2.2.4商品界面

2.2.5商品类型界面 

 2.2.6供应商页面

3、全局E-R图 

三、逻辑结构设计

1.E-R图转换到关系模式

2.数据字典、表结构设计(表清单和各表字段信息列表)

3.2.1员工信息表

3.2.2库存信息表

3.2.3仓库信息表

3.2.4商品信息表

3.2.5商品类别信息表

3.2.6供应商信息表

四、数据库实施

1.使用SQL语句完成表的创建

4.1.1员工表的创建

4.1.2库存信息表的创建

4.1.3仓库信息表的创建

4.1.4商品信息表的创建

4.1.5商品类型信息表的创建

4.1.6供应商类型信息表的创建

2.使用SQL语句完成表数据的添加

4.2.1员工表数据的添加

4.2.2库存表数据的添加

4.2.3仓库表数据的添加

4.2.4商品表数据的添加

4.2.5商品类型表数据的添加

4.2.6供应商表数据的添加

3.使用SQL语句自定义创建视图

4.3.1员工表的视图

4.3.2库存表的视图

4.3.3仓库表的视图

4.3.4商品表的视图

4.3.5商品类型的视图

4.3.6供应商表的视图

4.使用SQL语句自定义完成增删改查操作

4.4.1进行表内容的增加

4.4.2进行表内容的删除

4.4.3进行表内容的修改

4.4.4进行表的查找

五、总结


数据库课程设计

课程名称:    数据库课程设计                        

设计题目:   超市信息管理系统                         

专业班级:                                                        

学    号:                                                              

学生姓名:                                                               

指导教师:                                                                   

年    月   日

一、需求分析

1、系统需求分析描述

1.1.1系统需求说明:

       随着技术的发展,超市的竞争进入了一个全新的时代,超市与超市之间的竞争不再是规模的竞争而是技术、人才与管理的竞争。技术与管理的提升是超市竞争的核心,所以市场对超市信息管理系统的需求还是比较大的。

       超市信息管理系统是管理超市信息的一种系统其功能包括员工管理、库存管理、商品管理、仓库管理以及进货管理。

       员工管理:对超市的员工信息进行管理,包括查询、更新等功能;

       库存管理:对超市采购的商品进行编码入库,能够根据销售清单进行出货管理以及库存统计;

       商品管理:对超市采购来的商品进行分类,标注需要注意的注意事项,能够更好的帮助超市管理者管理超市;

       仓库管理:让超市管理者能够更好的清楚各个仓库的情况;

       进货管理:对供应商信息进行管理,实施产品采购,并进行进货查询。

1.1.2系统可行性分析:

       现在生活中的超市大型超市比较多,导致员工雇佣多、商品信息多、仓库管理麻烦等诸多情况,若这些情况均用纸面记录的方式,会花费超市管理人更多的精力与财力,而我的超市信息管理系统通过互联网查询和更新销售信息快捷、方便,仅用一两个人就能做到,可以减少不必要的开支,提高了查询效率。从经济与效率方面来说我的超市信息管理系统是可行的。

       而这个系统也比较简单,开发者不需要投入过多的精力与时间,所以在开发者的角度来看这个超市信息管理系统是可行的。

1.1.3系统应用范围:

各种中小型超市皆可运用

2、系统功能结构图

3、业务流程图

二、概念结构设计

1.实体描述

 该超市信息管理系统的抽象实体有六个 

  1. 员工实体属性:员工编号,姓名,性别,年龄,职务,入职日期;
  2. 库存实体属性:库存编号,商品编号,商品名称,商品价格,库存商品数量,仓库编号,商品入库时间,商品出库时间,商品出库数量;
  3. 仓库实体属性:仓库编号,仓库姓名;
  4. 商品实体属性:商品编号,名称,价格,商品类型;
  5. 商品类型实体属性:商品类型编号,类型名称,商品注意事项;
  6. 供货商实体属性:供货商编号,姓名,电话,地址。

2.局部E-R图

 2.2.1员工页面

2.2.2库存页面

2.2.3仓库界面 

 

 2.2.4商品界面

2.2.5商品类型界面 

 2.2.6供应商页面

3、全局E-R图 

三、逻辑结构设计

1.E-R图转换到关系模式

        供应商与库存之间是多对多的联系类型,因此,将供应商、库存以及供货联系分别设计成如下的关系模式:

        供应商(供应商编号,姓名,电话,地址)

       库存(库存编号,商品编号,商品名称,商品价格,库存数量,仓库编号,商品入库时间,商品出库时间,商品出库数量)

        供货(供应商编号,库存编号,供货日期,供货价格)

        库存与仓库也是多对多的联系类型,由于“库存”关系模式上方已经给出,所以只需要给出一个仓库的关系模式即可,它们间的联系则被放在该关系模式中:

        仓库(仓库编号,仓库名称)

       员工对商品也是多对多的联系类型,不同的员工可以销售并查询不同的商品,因此,将员工、商品以及销售联系分别设计成如下的关系模式:

       员工(员工编号,员工姓名,性别,年龄,职务,入职日期)

       商品(商品编号,名称,价格,商品类型)

       销售(员工职务,商品名称,价格)

       一个商品类型可以对应多个商品,所以说商品与商品类型之间是一对多的联系类型。也就可以用两个关系模式来进行表示。由于“商品”关系模式在上方已经给出,所以只需要给出商品类型的关系模式即可,它们间的联系则被放在该关系模式中:

        商品类型(商品类型编号,类型名称,商品注意事项)

        一个仓管可以管理多个仓库,所以说员工与仓库之间的管理是一对多的联系类型。

2.数据字典、表结构设计(表清单和各表字段信息列表)

3.2.1员工信息表

字段名

数据类型

长度

约束

备注

employee_id

int

6

主键

员工编号

employee_name

varchar

40

非空

  员工姓名

employee_sex

  varchar

40

非空

  员工性别

employee_age

  varchar

100

非空

  员工年龄

employee_title

  varchar

40

非空

  员工职务

entry_date

  datetime

  入职日期

3.2.2库存信息表

字段名

数据类型

长度

约束

备注

id

int

1

主键

库存编号

goods_id

varchar

100

主键

  商品编号

goods_name

varchar

40

非空

  商品名称

goods_price

decimal

(8,4)

非空

  商品价格

store_goods_num

varchar

    40

非空

 库存商品数量

storehouse_id

varchar

100

非空

 仓库编号

storage_time

datetime

 进货时间

delivery_time

datetime

  出货时间

delivery_num

varchar

40

 出货数量

3.2.3仓库信息表

字段名

数据类型

长度

约束

备注

storehouse_id

    int

5

主键

仓库编号

storehouse_name

varchar

40

非空

  仓库名称

3.2.4商品信息表

字段名

数据类型

    长度

约束

备注

goods_id

int

1

主键

商品编号

goods_name

varchar

20

非空

商品名称

goods_price

varchar

(6,2)

非空

商品价格

goodtype

varchar

外键

商品类别

3.2.5商品类别信息表

字段名

数据类型

长度

约束

备注

type_id

int

1

主键

商品类型编号

type_name

varchar

20

非空

商品类型名称

content

varchar

50

商品类型注意事项

3.2.6供应商信息表

字段名

数据类型

长度

约束

备注

Supplier_id

int

1

主键

 供应商编号

Supplier_name

varchar

40

非空

供应商姓名

Supplier_telephone

varchar

20

非空

供应商电话号码

Supplier_address

varchar

60

非空

供应商地址

四、数据库实施

1.使用SQL语句完成表的创建

4.1.1员工表的创建

CREATE TABLE s_employee(

employee_id int UNSIGNED auto_increment,

employee_name VARCHAR(40) NOT NULL,

employee_sex VARCHAR(40) NOT NULL,

employee_age VARCHAR(100) NOT NULL,

employee_title VARCHAR(40) NOT NULL,

entry_date DATE,

PRIMARY KEY(employee_id)

);

4.1.2库存信息表的创建

CREATE TABLE `s_stock`(

`id` INT UNSIGNED auto_increment,

`goods_id` VARCHAR(100) NOT NULL,

`goods_name` VARCHAR(40) NOT NULL,

`goods_price` DECIMAL(8,4),

`store_goods_num` VARCHAR(40) NOT NULL,

`storehouse_id` VARCHAR(100) NOT NULL,

`storage_time` date,

`delivery_time` date,

`delivery_num` VARCHAR(40),

PRIMARY KEY (`id`, `goods_id`)

);

4.1.3仓库信息表的创建

CREATE TABLE `s_storehouse`(

`storehouse_id` INT UNSIGNED auto_increment,

`storehouse_name` VARCHAR(40) NOT NULL,

PRIMARY KEY (`storehouse_id`)

)ENGINE=InnoDB DEFAULT charset=utf8;

4.1.4商品信息表的创建

CREATE TABLE s_goods(

goods_id INT PRIMARY KEY auto_increment,

goods_name VARCHAR (20) NOT NULL,

goods_price DECIMAL (6,2) NOT NULL,

goodstype INT,

CONSTRAINT id_fk FOREIGN KEY(goodstype) REFERENCES s_goodstype(type_id)

);

4.1.5商品类型信息表的创建

CREATE TABLE s_goodstype(

type_id INT PRIMARY KEY auto_increment,

type_name VARCHAR (20) NOT NULL,

content VARCHAR (50)

);

4.1.6供应商类型信息表的创建

CREATE TABLE s_supplier(

supplier_id int UNSIGNED auto_increment,

supplier_name VARCHAR(40) NOT NULL,

supplier_telephone VARCHAR (20) NOT NULL,

supplier_address VARCHAR(60) NOT NULL,

PRIMARY KEY(supplier_id)

);

2.使用SQL语句完成表数据的添加

4.2.1员工表数据的添加

insert into s_employee VALUES (629001,'张三','男',28,'登记员','2022-06-20');

insert into s_employee VALUES (629002,'李四','男',34,'仓管','2021-07-10');

insert into s_employee VALUES (629003,'王五','男',45,'财务','2020-04-20');

insert into s_employee VALUES (629004,'李牛','男',24,'货运','2022-09-21');

insert into s_employee VALUES (629005,'马丁','男',28,'搬运','2022-06-20');

insert into s_employee VALUES (629006,'牛七','男',29,'收银员','2021-07-20');

4.2.2库存表数据的添加

INSERT INTO s_stock VALUES (1, 11000,'海飞丝洗发水',65.00,87,22000,'2022-04-07','2022-04-27',20);

INSERT INTO s_stock VALUES (2, 11000,'海飞丝洗发水',65.00,52,22001,'2022-04-07','2022-04-19',10);

INSERT INTO s_stock VALUES (3, 11001,'黑人牙膏',18.00,20,22003,'2021-12-12','2022-01-17',20);

INSERT INTO s_stock VALUES (4, 11002,'丹姿护发素',29.00,103,22003,'2020-11-07','2020-11-11',88);

INSERT INTO s_stock VALUES (5, 11003,'蓝月亮洗衣液',49.00,64,22002,'2021-05-01','2021-06-18',50);

INSERT INTO s_stock VALUES (6, 11004,'洁柔抽纸',69.00,200,22004,'2022-01-01','2022-04-03',180);

INSERT INTO s_stock VALUES (7, 11005,'洗面奶',38.00,370,22005,'2022-02-16','2022-05-27',108);

INSERT INTO s_stock VALUES (8, 11006,'护手霜',25.00,123,22002,'2021-10-01','2021-11-11',108);

INSERT INTO s_stock VALUES (9, 11006,'太谷饼',15.00,103,22004,'2021-11-01','2021-12-11',18);

INSERT INTO s_stock VALUES (10, 11006,'可口可乐',4.00,223,22000,'2022-10-01','2022-11-11',208);

INSERT INTO s_stock VALUES (11, 11006,'电动牙刷',125.00,323,22001,'2021-09-01','2021-09-11',128);

INSERT INTO s_stock VALUES (12, 11006,'香蕉',5.00,456,22000,'2022-09-01','2022-10-11',356);

INSERT INTO s_stock VALUES (13, 11006,'草莓',25.00,234,22003,'2022-02-01','2022-02-11',134);

4.2.3仓库表数据的添加

insert into s_storehouse VALUES (22000,'华中仓库1号');

insert into s_storehouse VALUES (22001,'华东仓库2号');

insert into s_storehouse VALUES (22002,'华南仓库3号');

insert into s_storehouse VALUES (22003,'华西仓库4号');

insert into s_storehouse VALUES (22004,'华北仓库5号');

4.2.4商品表数据的添加

INSERT INTO s_goods VALUES (1,'海飞丝洗发水',65.00,3);

INSERT INTO s_goods VALUES (2,'黑人牙膏',18.00,3);

INSERT INTO s_goods VALUES (3,'丹姿护发素',65.00,3);

INSERT INTO s_goods VALUES (4,'蓝月亮洗衣液',49.00,2);

INSERT INTO s_goods VALUES (5,'洁柔抽纸',69.00,2);

INSERT INTO s_goods VALUES (6,'洗面奶',38.00,3);

INSERT INTO s_goods VALUES (7,'护手霜',25.00,4);

INSERT INTO s_goods VALUES (8,'太谷饼',15.00,6);

INSERT INTO s_goods VALUES (9,'可口可乐',4.00,6);

INSERT INTO s_goods VALUES (10,'电动牙刷',125.00,1);

INSERT INTO s_goods VALUES (11,'香蕉',5.00,5);

INSERT INTO s_goods VALUES (12,'草莓',25.00,5);

4.2.5商品类型表数据的添加

INSERT INTO s_goodstype VALUES (1,'家用电器','电器类商品为高价值商品应重点维护');

INSERT INTO s_goodstype VALUES (2,'日常生活用品','日常生活用品种类复杂注意分类');

INSERT INTO s_goodstype VALUES (3,'洗漱用品','洗头的与洗脸的不要混乱摆放,给顾客造成不便');

INSERT INTO s_goodstype VALUES (4,'护肤品','各品牌护肤品摆放整齐');

INSERT INTO s_goodstype VALUES (5,'生鲜水果','保质期较短货架上的生鲜水果必须要是新鲜的');

INSERT INTO s_goodstype VALUES (6,'食品饮料','注意食品饮料的保质期,过期食品不要出现在货架上');

4.2.6供应商表数据的添加

INSERT INTO s_supplier VALUES (1,'赵六',13456727896,'杭州');

INSERT INTO s_supplier VALUES (2,'孙琪',13678765678,'西安');

INSERT INTO s_supplier VALUES (3,'牛八',13994987689,'福建');

INSERT INTO s_supplier VALUES (4,'李九',13245678967,'郑州');

INSERT INTO s_supplier VALUES (5,'张十',13776789567,'昆明');

INSERT INTO s_supplier VALUES (6,'钱九',13843567779,'重庆');

INSERT INTO s_supplier VALUES (7,'胡七',13564565656,'黑龙江');

3.使用SQL语句自定义创建视图

4.3.1员工表的视图

CREATE VIEW s_employee_view AS SELECT employee_name,employee_age from s_employee;

SELECT * FROM s_employee_view;

4.3.2库存表的视图

CREATE VIEW s_stock_view AS SELECT delivery_time,store_goods_num FROM s_stock;

SELECT * FROM s_stock_view;

4.3.3仓库表的视图

CREATE VIEW s_storehouse_view AS SELECT storehouse_id,storehouse_name FROM s_storehouse;

SELECT * FROM s_storehouse_view;

4.3.4商品表的视图

CREATE VIEW s_goods_view AS SELECT goods_name,goods_price FROM s_goods;

SELECT * FROM s_goods_view;

4.3.5商品类型的视图

CREATE VIEW s_goodstype_view AS SELECT type_name,content FROM s_goodstype;

SELECT * FROM s_goodstype_view;

4.3.6供应商表的视图

CREATE VIEW s_supplier_view AS SELECT supplier_name,supplier_address FROM s_supplier;

SELECT * FROM s_supplier_view;

4.使用SQL语句自定义完成增删改查操作

4.4.1进行表内容的增加

#在员工表员工id后面再添加一列任职仓库

ALTER TABLE s_employee ADD COLUMN storehouse_id VARCHAR(100)

NULL

AFTER employee_id;

4.4.2进行表内容的删除

#删除id=1的商品

DELETE FROM s_goods

WHERE goods_id = 1;

4.4.3进行表内容的修改

#将洁柔抽纸的价格修改为九折后的价格

UPDATE s_stock SET goods_price=ROUND(goods_price*0.9,4)WHERE goods_name='洁柔抽纸';

#把丹姿护发素的出库数量修改为3

UPDATE s_stock SET delivery_num=3 WHERE goods_name='丹姿护发素';

4.4.4进行表的查找

#显示各商品的出库数量,按出库数量有多到少排列

#ORDER BY

SELECT s.goods_name,SUM(s.delivery_num) AS num

FROM s_stock AS s

GROUP BY s.goods_name

ORDER BY num DESC;

五、总结

数据库 超市管理系统设计报告 系统叙述 图 代码 心得体会 参考文献等【提供全部完全版】可是直接应用 班级:计HR05-7 姓名:张 冰 学号:0520010726 2007年7月4日 超市管理系统设计 一、需求分析 1 项目背景 1.1 编写目的   本需求的编写目的在于研究超市管理系统软件的开发途径和应用方法。   本需求的预期读者是与超市管理系统软件开发有联系的决策人,开发组成人员,扶助开发者,支持本项目的领导和公司人员,软件验证者。 1.2 背景及范围   本项目的名称:超市管理系统开发软件。   本项目的任务提出者及开发者是超市管理系统软件开发小组,用户是超市。   超市管理系统: 超市管理系统是帮助管理人员、商品销售和库存的管理软件。 2 项目概述   该超市管理系统软件目前已有比较完善的管理与使用功能,研制超市管理系统软件是为了满足超市对商品销售和库存管理的方便,以现代化的创新思维模式去工作。 2.1 目标 2.1.1 开发意图   a. 为了超市管理系统更完善;   b. 为了超市对商品库存和销售的管理更方便;   c. 为了减轻工作人员的工作负担。 2.1.2 应用目标   通过本系统软件,能帮助工作人员利用计算机,快速方便的对超市进行管理等操作,使散乱的商品销售量和库存量能够具体化、直观化、合理化。 2.1.3 作用及范围 本软件适用于超市,它是比较完善的系统管理软件 2.1.4 背景   现今超市管理的烦琐给具有强烈时间观念的行政人员带来了诸多不便,为了对商品销售和管理商品库存方便,因此开发了本软件。 2.2 一般约束   a. 本项目的开发经费不超过1万元;   b. 辅导老师1人,开发人员1人;   c. 在管理方针、硬件的限制、并行操作安全和保密方面无约束。 2.3 假设和依据   假设开发经费不到位,管理不完善,设计时没能用全得到考虑,本项目的开发都将受到很大的影响。 3 功能需求 3.1 规格说明   查询超市的全部信息。 3.2 引言 为了查询超市的全部信息。 3.2.1 外部功能 内部功能 操作员和系统管理员 通过应用界面,应用程序,查询等。 同过SQL语言,对数据库的查询、插入、修改、删除等操作。 3.3 性能需求 3.3.1静态数值需求   a. 支持的终端数为4台;   b. 处理并发的40个链接; 3.3.2 精度需求   在精度需求上,根据使用需要,在各项数据的输入、输出及传输过程中,由于本系统使用了数摞结构,可以满足各种精度的需求。 3.3.3时间需求   在软件方面,响应时间、更新处理时间都比较快且迅速,完全满足用户要求。 3.3.4 灵活性   当用户需求,如操作方式,运行环境,结果精度,数据结构与其他软件接口等发生变化时,设计的软件要做适当调整,灵活性非常大。 3.3.5 故障处理   a. 内部故障处理   在开发阶段可以随即修改数据库里的相应内容。   b. 外部故障处理   对编辑的程序进行重装载时,第一次装载认为错,修改。第二次运行,在需求调用时出错,有错误提示,重试。 3.4 设计约束条件 3.4.1 技术约束 本项目的设计采用软硬一体化的设计方法。 3.4.2 环境约束   运行该软件所适用的具体设备必须是奔腾2G内存256兆以上的计算机,局域网络环境 3.4.3 标准约束   该软件的开发完全按照企业标准开发,包括硬件、软件和文档规格。 3.4.4 硬件限制   奔腾2G、内存256兆以上的计算机满足输入端条件。 3.5 接口需求 3.5.1 用户接口   本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要有备份。 3.5.2 软件接口 WIN2000/XP操作系统. 3.6 属性 3.6.1 可使用性   在装载总程序时,正常就运行,异常就停止;汉语编程系统出现错误,将会产生不可遇见的问题,热启,整个终端程序就会再启动;程序出现错误,重新装载,若仍有错,按照提示逐渐装载。 3.6.2 保密性   本软件作为超市管理辅助设备,它的规模比较小,不需要保密技术;限定一个程序中某些区域的规约,给不同的模块分配不同的功能。 3.6.3 可维护性   本软件的组成程序为汉语成语设计语言,组构均较简单,直观意义上的较独立。因此,基于电子化所构成的硬件的简单可维护的特点,决定了该软件的简单可维护性。 3.6.4 可转移、可转换性 可转移的环境是奔腾1G、128兆内存以上;不可修改任何部分; 3.6.5 注释   本产品拥有的属性十分重要,它使得读者用规定的方法去客观的验证软件的各种特性。 3.7 数据库   数据库是实现有组织地,动态地存储大量关联数据,方便多用户访问的计算机软硬件组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。   由于本软件的整体结构比较简单,所涉及数据相对来说也较少,组成文件的最小单位是记录。 4 设备   奔腾1g、内存128兆以上的计算机。局域网络环境 5 需求注释 对于本软件,它的功能需求、性能需求、接口需求,从稳定性、可行性上都是可以的。 6 功能树 二、概念设计 1 实体及其属性 (1)超市E-R图: (2)收银员E-R图: (3)收银小票E-R图: (4)商品库存E-R图: 2 综合ER图 图2-1 超市管理ER图 三、逻辑设计 超市表(企业编号,店名,地址),主键为企业编号,符合三范式。 收银员表(收银员编号,姓名,性别,工资),主键为收银员编号号,符合三范式。 收银小票表(小票编号,商品编号,收银员编号,商品名称,单价,个数,总价)主键 为小票编号,符合三范式。 商品库存表(商品编号,商品名称,单价,库存量,供货商名)主键为商品编号号,符 合三范式。 表3-1 超市表SHOP 列名 含义 长度 类型 NULL DEFAULT ENO 企业编号 10 Char() no no SNAME 店名 30 Char() no no ADDRESS 地址 30 Char() no no 表3-2 收银员表ASSISTANT 列名 含义 长度 类型 NULL DEFAULT ANO 收银员编号 10 Char() no no ANAME 姓名 6 Char() no no SEX 性别 2 Char() no no SALARY 工资 8 INT no no 表3-3收银小票 表BILL 列名 含义 长度 类型 NULL DEFAULT BNO 小票编号 20 Char() no no CNO 商品编号 8 Char() no no ANO 收银员编号 8 Char() no no CNAME 商品名称 8 Char() no no PRICE 单价 8 Float() no no QUANTITY 个数 3 Int no no TOTAL 总价 10 Float () no no 表3-4 商品库存表RESERVR 列名 含义 长度 类型 NULL DEFAULT CNO 商品编号 8 Char() no no CNAME 商品名称 8 Char() no no PRICE 单价 8 Float() no no LIST 库存量 8 Int no no PROFESSINAL 供货商名 20 Char() yes no 四、其它数据库对象的设计 1、索引 (1)商品库存表商品编号索引 CREATE UNIQUE INDEX CRESERVE ON RESERVE(CNO ); (2)收银小票表小票编号索引 CREATE UNIQUE INDEX BBILL ON BILL (BNO); (3)收银员表中收银员编号索引 CREATE UNIQUE INDEX AASSISTANT ON ASSISTANT (ANO); 2、视图 某种商品的销售量和库存量的视图 GREATE VIEW COMMODITY (CNO,CNAME,MARKET,LIST) AS SELECT RESERVR .CNO,RESERVR .CNAME,SUM(QUANTITY),LIST FROM RESERVR ,BILL GROUP BY BILL.CNO 3、触发器 定义一个触发器,当商品库存表中,供货商为空时,自动改为”本店制作”。 CREATE TRIGGER UDLIST BEFORE UPDATE OR TNSERT ON RESERVR FOR EACH ROW AS BEGIN IF PROFESSINAL IS NULL THEN PROFESSINAL:=’本店制作’; END IF; END; 4、存储过程 利用存储过程来实现,当某商品卖出时,它的商品库存量相应的减少. CREATE PROCEDURE SELL ( BCNO CHAR, QLIST INT) AS DECLARE BEGIN SELECT TIST FROM RESERVE WHERE BCNO =RESERVE.CNO; IF LIST IS NULL THEN ROLLBACK; RETURN; END IF; IF LIST<QUANTITY THEN ROLLBACK; RETURN; END IF; UPDATE RESERVE SET LIST=LIST-QLIST WHERE BCNO=RESERVE.CNO; COMMIT; END; 五、备份及恢复策略 备分策略 采用数据转储和登录日志文件两种方法结合的方法备分数据库。 针对不同的故障,制定恢复策略 1、事务故障的恢复策略 (1)反向扫描日志文件,查找该事务的更新操作. (2)对事务的更新操作执行逆操作. (3)继续反向扫描日志文件,查找该事务的其他更新操作,并做同样处理. (4)如此处理下去,直到读到此事务的开始标记,事务故障恢复就完成了. 2、系统故障的恢复策略 (1)正向扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入重做队列.同时找出故障发生时尚未完成的事务,将其事务标识记入撤消队列. (2)对撤消队列中的各个事务进行撤消处理. (3)对重做队列中的各个事务进行重做处理. 3、介质故障恢复策略 (1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时一致性状态. (2)装入相应的日志文件副本,重做已完成的事务.
评论 89
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

左岸2420

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

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

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

打赏作者

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

抵扣说明:

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

余额充值