数据库课程设计(自己做的)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

——货存控制系统

6.1数据库设计概述

㈠数据库设计的概念:数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统。

㈡数据库设计的特点

1、数据库建设是硬件、软件和干件的结合:三分技术、七分管理、十二分基础数据,技术与管理的界面称之为干件。

2、数据库设计过程是结构设计和行为设计的密切结合:结构设计是设计数据库结构,行为设计是设计应用程序、事务处理等。

㈢数据库设计的方法

1、手工试凑法:设计质量与设计人员的经验和水平有直接关系,缺乏科学理论和工程方法的支持,工程质量难保证。

2、规范设计法:基本思想是过程迭代和逐步求精。

㈣数据库设计的基本步骤

准备工作:选定参加设计的人员。

⑴分析员:数据库设计的核心人员,自始至终参与数据库设计,其水平决定了数据库系统的质量。

⑵用户:主要参加需求分析和数据库的运行维护,用户的积极参与将加速数据库设计,提高数据库设计的质量。

⑶程序员:在系统实施阶段参与进来,负责编制程序。

⑷操作员:在系统实施阶段参与进来,准备软硬件环境。

㈤数据库设计的过程(六个阶段)

1、需求分析阶段:

准确了解与分析用户需求(包括数据与处理),是整个设计过程的基础,是最困难、最耗费时间的一步。

2、概念结构设计阶段:

整个数据库设计的关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型

3、逻辑结构设计阶段:

将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。

4、数据库物理设计阶段:

为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。

5、数据库实施阶段:

运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库并进行试运行。

6、数据库运行和维护阶段:

数据库应用系统经过试运行后即可投入正式运行,在运行过程中不断对其进行评价、调整与修改。

设计一个数据库应用系统往往是上述六个阶段的不断反复。

㈥数据库设计各阶段的模式形成:

1、需求分析阶段:综合各个用户的应用需求。

2、概念设计阶段:形成独立于机器特点,独立于各个DBMS产品的概念模式(E-R图)。

3、逻辑设计阶段:首先将E-R图转换成具体DBMS支持的数据模型,如关系模型,形成数据库逻辑模式;然后根据用户处理的要求、安全性的考虑,在基本表的基础上再建立必要的视图(View),形成数据的外模式。

4、物理设计阶段:根据DBMS特点和处理需要,进行物理存储安排,建立索引,形成数据库内模式。

一、课程设计题目:

货存管理系统

一个公司希望为控制它的货存建立一个数据库,货存中的产品被分为几类,如服装、食品和文具。当产品需要从供应商那里重新订购时,工作人员需要提出一个购买订单。跟踪记录要提供买进、卖出的货物以及其他的费用。

实验课程任务与要求

目的与任务:

1. 掌握数据库设计和实现的基本过程

2. 掌握数据库模式设计、分析和实现的方法

3. 了解数据库应用系统软件开发的一般过程。

实验基本要求:

(1)学习相关的预备知识

(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行

(3)写出课程设计报告

二、功能需求分析:

根据系统要求分析,本系统功能如下:

用户管理:添加用户,修改用户密码。

客户管理:添加客户,查询客户信息。

供应商管理:添加供应商,查询供应商信息。

仓库管理:添加仓库,查询仓库信息。

货物管理:添加物品信息,物品类型信息。

入库管理:货物的入库信息的添加和修改。

出库管理:货物的出库信息的添加和修改。1、CREATE TRIGGER Tr_入库表 ON 入库表

after insert,update,delete

AS

begin

update a set a.库存数量=a.库存数量 +b.入库数量

from 零件信息表 a,(select 零件号,sum(入库数量) 入库数量 from inserted group by 零件号 ) b --如果每次插入时零件号不重复,则不必聚合

where a.零件号 =b.零件号;

go

update a set a.库存数量=a.库存数量 -b.入库数量

from 零件信息表 a,(select 零件号,sum(入库数量) 入库数量 from deleted group by 零件号 ) b --如果每次插入时零件号不重复,则不必聚合

where a.零件号 =b.零件号;

go

end

2、CREATE TRIGGER Tr_出库表 ON 出库表

after insert,update,delete

AS

begin

update a set a.库存数量=a.库存数量 -b.出库数量

from 零件信息表 a,(select 零件号,sum(出库数量) 出库数量 from inserted group by 零件号 ) b --如果每次插入时零件号不重复,则不必聚合

where a.零件号 =b.零件号;

go

update a set a.库存数量=a.库存数量 +b.出库数量

from 零件信息表 a,(select 零件号,sum(出库数量) 出库数量 from deleted group by 零件号 ) b --如果每次插入时零件号不重复,则不必聚合

where a.零件号 =b.零件号;

go

end

相关文档
最新文档