sql数据库课程设计报告

2024-05-13

1. sql数据库课程设计报告

网络即时通信系统是为用户开发研制的,用户是系统的最终使用者和评价者,所以在网络通信系统的开发设计的过程中,我们树立了从用户的寻求出发,面向用户,一切为了用户的观念,在分析与设计系统的前期,为了保证系统的功能的完善多次寻求周围同学和老师的意见,了解他们的要求,依照功能完善,界面美观,操作简单的原则进行设计 。
严格按阶段进行
系统的开发设计是一项较大的工程,所以应该将整个系统的开发设计过程划分为若干阶段,相应的阶段又要分为若干个不同的步骤,每个阶段和步骤都要有明确的工作任务和目标。这种有序的组织安排,条例清楚、层次分明,便于计划的制定和控制,并且为后续工作的进行奠定了坚实的基础,提高了工作效率和质量。
采用系统的观点处理
在系统分析阶段,在对原系统进行全面调查和分析的基础上,构造系统的最佳逻辑模型,使用户对将来完整系统的轮廓有个初步的了解和认识,以便及时和用户进行交流和探讨,不断提高系统的完善性。在此基础上进行系统的物理实现和设计,切实完成逻辑模型的具体功能。逻辑设计和物理实现二者是相辅相成、密不可分的,这样使系统的设计更加稳妥合理。
整个系统的设计主要采用快速原形法 
快速原形法是信息系统设计的一个重要方法。它是根据用户提出的需求,由用户和开发者共同确定系统的基本要求和主要功能,并在一个较短的时间内建立一个实验性的、简单的信息系统模型,通过用户不断提出的意见和建议,对模型进行不断的修改和完善,直到用户比较满意为止,以便形成一个相对稳定、较为理想的管理信息系统。该方法的主要优点。
1.脉络清楚,所有问题都围绕一个模型展开,使彼此之间联系紧密。
2.有助于发现用户需求,通过对原形和用户接触,能够启发开发人员去挖掘问题,从而不断的修正、完善,最终得到一个理想的系统。
3.系统开发效率高,此方法的开发周期短、使用灵活、容易修改,这对于管理体制不够稳定的系统更加适合。
4.系统的可扩展性好,由于此方法是在原型应用中不断发展完善和修改的,所以有较强的扩展性。

在进行代码设计时,遵循了以下原则。
    唯一性:在本系统中,每一个代码都和系统中的每一个对象唯一确定。
标准性:主要体现在对程序文件名命名和对数据文件命名的标准化上,遵循简单扼要,方便适用的原则。一目了然,无重复现象。为了系统维护人员便于进行系统维护,使用了统一的标准。
    合理性:系统中代码设计与编码对象的分类相适应,以使代码对编码对象的分类据有标志作用。
简单性:在设计过程中采用Code-Behind代码分离,使数据库操作代码和前端调用代码分离,页面修改容易。
适应性:在代码设计过程中,代码反映了编码对象的特点,便于识别和记忆,使系统维护人员容易了解和掌握,便于进行维护工作。
系统总体功能结构
网络通信系统包含以下主要功能。
用户注册;用户登录;
查找好友;查看好友资料; 
添加好友;
删除好友;
发送消息;
发送文件.
数据库表主要用来存放用户的注册信息和用户的好友资料,可利用两张数据库表来  存放用户信息和用户好友的资料。包括用户的号码,昵称,密码,在线与否,ip地址,资料,头像号,性别,E-mail和籍贯等信息。其中,用户昵称和密码是必需的字段;在线与否是由系统自动设置的;其余的信息是可选的字段。
课题整体以JAVA为平台,采用Eclipse开发工具,并使用SQL Server 2000管理数据库数据开发而成的基于Socket的集中式网络通信系统,系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端 、应用程序客户端。系统采用C/S结构,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。
客户层。
客户层是应用程序的用户接口部分,它担负着用户与应用间的对话功能,用于检查用户的输入数据,显示应用的输出数据,为了直观的进行操作,客户层需要使用图形用户接口,若聊天用户变更,系统只需改写显示控制和数据检查程序即可,而不会影响其他两层。
服务层。(功能层)
服务层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。在应用设计中,必须避免在表示层和功能层之间进行多次的数据交换,这就需要尽可能进行一次性的业务处理达到优化整体设计的目的。
数据层
数据层是DBMS,本系统使用了Microsoft 公司的SQL Ssever2000数据库服务器来管理数据。SQL Ssever2000能迅速的执行大量数据的更新和检索,因此,从功能层传送到数 
据层的要求一般都使用SQL语言。

sql数据库课程设计报告

2. 数据库课程设计实例

数据库课程设计

题目:小型超市管理系统
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、小结
和传统管理模式相比较,使用本系统,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本, 提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。
由于开发者能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
 本系统只适合小型超市使用,不能适合中大型超市使用;
 超市管理系统涉及范围宽,要解决的问题多,功能复杂,实现困难,但由于限于时间,本系统只能做出其中的一部分功能;
对于以上出现的问题,我们深表歉意,如发现还有其它问题,希望老师批评指正。
请采纳。

3. 数据库课程设计心得3篇

  数据库课程设计心得  范文  1:         在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本  方法  ,进一步提高我们综合运用所学知识的能力。
   
      当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是Html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
   
      我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而Php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
   
      知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
         数据库课程设计心得范文2:   
      一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。
   
      课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古  名言  的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。
   
      数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。作为一门独立的课程在国外是从20XX年才开始设立的。20XX年美国唐·欧·克努特教授开创了数据结构的最初体系,他所著的《计算机程序设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、  操作系统  、数据库系统及其他系统程序的重要基础。
   
      通过这次模具设计,我在多方面都有所提高。
   
      一、编译工具VisualC++
   
      很多程序在结构上是独立的,但是本此设计的程序功能不是零散的,它有一个连接是的程序是一个整体,怎样达到这种统一体呢?因为这个输出连接是贯穿始终的。说到这,就应该说以下我所应用的调试工具,也就是运行环境VisualC++,可以充分利用Windows的支持剪贴版和英文的特点。正是在实现循环链表的程序中充分利用这个特点,才能制作出全汉化的初始化画面。
   
      二、巩固和温习了C语言
   
      在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。
   
      这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。
   
      三、积累了宝贵的  经验  
   
      我这次课程设计代码中主要使用了链表的循环和遍历这两中操作。循环链表(CircularLinkedList)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为循环单链表。类似地,还有多重链的循环链表。在循环单链表中,表中所有结点被链在一个环上,多重循环链表则是将表中的结点链在多个环上。为了使某些操作实现起来方便,在循环单链表中也可设置一个头结点。这样,空循环链表仅由一个自成循环的头结点表示。所谓遍历(Traversal),是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。
   
      这次课程设计我选中的题目是个人资料的管理。编写了一个可以简易使用的个人资料管理系统,可以进行资料的输入和管理。虽然在我的程序中有一部分是从网上搜索得来的,但我已经竭力将所获得的信息变成自己的资源,动手上机操作,在了解和看懂的基础上有所改变和创新,但是在的程序软件中还有部分的不足,需要加以更新。仅管,我并没能很好的利用所学数据结构的知识,但我也尽了自己最大的努力用我所学来完成这次的课程设计。同时,通过这次课程设计,我认识到了自己动手实践的弱势,特别是在编程方面,知道了计算机的实践操作是很重要的,只有通过上机编程才能充分的了解自己的不足。
   
      四、对以后的学习充满了信心和期待
   
      通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。
         数据库课程设计心得范文3:   
      数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇  文章  ,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。
   
      首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到microsoft 公司的.net产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var 看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sql server2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。
   
      通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。
   
      来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,just do it!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseuml建模工具。在此之前,我脑袋里面没有软件建模的思想,什么uml建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。
   
      开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了mvc架构,就是你啦。我决定用这个架构,不会,没关系,咱学。just do it!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用ado.net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。
   
      与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.net的核心技术就是xml[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,just do it!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!
   
      我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。

数据库课程设计心得3篇

4. 数据库课程设计的介绍

本书以图书管理系统的开发为背景,提供了数据库课程设计的样例。书中结合图书管理系统的实际,详细介绍了数据库结构设计、MySQL数据库的使用、基于ODBC的数据库应用程序设计的全过程。附录中介绍了SQL Server的使用和JDBC程序设计技术。

5. 数据库sql 的课程设计怎么做,要借哪些书看,求大神指教

IT行业,数据库确实是一门相当重要的课程。但是在大学里面,对待数据库原理及应用这么课程以及其课程设计的重视程度就相差很大了,各个学校要求也不一样。如果是要学好,那确实要下工夫;如果只是完成课程设计,交差了事,其实相当简单。
既然是课程设计,也算是个小小的项目,既然是项目,也就离不开需求分析、数据库设计、部署实现等环节。当然,这个小小的项目只需要前面的部分:需求和数据库设计,数据库设计是重点。
需求分析就不用多说,和所有其他项目一样,无非就是用户需求,功能需求,系统需求等,找任何一本关于需求分析的书都是可以,除了那些个空话之外,更多的是要根据设计需要进行分析。
数据库设计就比较复杂一点,首先得把数据库原理搞清楚,比如:符合什么样的范式,怎么画ER图,如何理解用例图。在设计数据库之前,有一系列的分析要做:面向对象分析,用例分析,类和对象分析等等。分析到位是数据库设计成功的重要保障。分析完成之后才是设计,比如:逻辑结构设计,关系模式设计,存取方法设计,存储结构设计,数据完整性设计,参考完整性设计,Check约束,Default约束,触发器设计,视图设计,存储过程设计,权限设计等。这些都完成了,最后一步才是写SQL代码实现这些设计,创建数据库及相关的数据表,关联,视图,触发器,存储过程等一些列的看得见的数据库参数。
上面说的比较理论,也比较笼统。我想我可以用一个简单例子告诉你我要表达的意思。例子很简单,其中很多地方都不是太好,不过或许可以给你一个直观的思路。
  
数据库应用课程设计报告书

  网上超市管理系统 
  成    绩:
  学    号:
  姓    名:
  指导教师:

  20    年  月  日

  目录
  
  任务书......................................... (3)
  1.    需求调查、分析................................. (4)
  1.1.         企业介绍.................................... (4)
  1.2.         需求调查及分析.............................. (5)
  2.    面向对象分析和设计............................. (7)
  2.1.  用例分析 (7)
  2.2.类和对象设计   (12)
  3.    逻辑结构设计.................................. (15)
  3.1.  类和对象向关系模式转换............................................ (15)
  3.2. 关系模式优化   (16)
  4.    数据库物理结构设计............................ (16)
  4.1. 存取方法设计   (16)
  4.2.  存储结构设计   (17)
  5.    数据库完整性设计.............................. (17)
  5.1. 主键及唯一性索引  (17)
  5.2.  参照完整性设计 (18)
  5.3.  Check约束  (18)
  5.4.  Default约束   (18)
  5.5. 触发器设计  (19)
  6.    数据库视图设计................................ (19)
  7.    数据库存储过程设计............................ (20)
  8.    权限设计...................................... (20)
  9.    总结.......................................... (21)
  参考资料......................................... (21)


  网上超市管理系统
  
  摘要:
  网上超市管理系统,是以网上管理方式为实例而设计的一种实用型管理系统。本系统最大的特点是通用性、简单操作性,适用于超市的管理。随着商品的增多,商品管理人员的负担越来越重,为了让所有商品管理人员能从繁重的工作中解脱出来,实现无纸化办公;也为了使工作更有条理,更方便,更有效率,更为了超市在经营中提高利润而开发出这套网上超市管理系统。
  1 需求调查、分析
  1.1      企业介绍
  在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。在政府的大力提倡和支持下,我国电子商务已走上了健康发展的轨道。各行业纷纷建立自己的网站,开展网上产品信息发布,进行网上洽谈、签约,开展网络营销。将超市办成网上超市已经是大势所趋,甚至一些小型的超市也可以开展网上交易。总之,电子商务以互联网为媒介,以信息传播速度快、受众广泛、低成本动作的优势决定着其必然成为未来营销的主导,我国企业要充分重视由此带来的机遇和挑战,才能在激烈的国际竞争中立于不败之地。
  在超市经营中,随着超市规模的不断扩大,人们对超市服务的要求不断提高,使用一款适合的网上超市管理系统将更加迫切。利用网上超市,人们可以在家里逛超市,只需要办理会员卡,就可以为本地顾客送货上门。不仅如此,把超市办成网上经营和管理将大大提高效率和收益。因此,开发一个网上超市管理系统是非常有必要和好处的。

  1.2 需求调查及分析

  1.2.1顾客需求
  为方便用户购买商品,网上超市客户系统应该提供如下所示几种功能:
  (1)商品分类:网上超市与传统超市相比的一个优势是,当用户明确自己要买哪类商品时,用户可以使用商品分类功能快速找到需要的商品。
  (2)商品预览:以列表的方式显示商品信息,这样可以在页面显示大量的商品信息,同时可以提供更多的商品浏览方式,如分类浏览、热门商品等。
  (3)商品显示:当用户找到感兴趣的商品后需要显示商品的详细信息,包括商品简介、出产商、价格等。
  (4)购物帮助:当用户在购物中遇到什么问题时,可以查看购物帮助获得相关信息。管理员会根据顾客反映的情况及时更改或增添购物帮助的内容。
  (5)购物车:当用户找到需要的商品时,可以先将商品加入购物车,然后继续允许找其他的商品,购物车中存储当前用户打算购买的所有商品。
  (6)商品订单:当用户在网上超市中找到了所有需要的商品后,决定购买,可以下订单。管理员会定期处理用户下达的订单,并根据用户订单的信息向用户送货。
  (7)用户注册:提供用户注册功能以及相关的用户信息修改、密码维护等。
  1.2.2销售管理员需求
  网上超市的销售部分的管理员功能是维护销售的正常工作,它需要提供如下功能:
  (1)商品管理:商品是网上超市的内容所在,管理员需要能够维护超市中的商品信息。同时与商品相关的商品类型等信息也需要管理员维护。
  (2)会员管理:由于有注册用户,所以管理员需要对拥护账号进行管理,如删除一些无效账号等。
  (3)订单处理:在用户下达订单后,管理员需要对用户订单进行处理,为用户准备订购的商品,并组织送货、收取货等。
  (4)购物帮助管理:管理员要根据用户反映的情况及时修改购物帮助的内容,使用户得到即时的帮助。
  1.2.3采购、仓存管理员需求
  网上超市的系统中将采购员和仓存管理员统一为采购、仓存管理员,其主要需求如下:
  (1)录入商品信息:商品是网上超市的内容所在,当有新进的货物时,采购管理员需要维护超市中的商品信息。
  (2)维护供应商信息:采购管理员在进行采购工作时,就需要对供应商信息的查询。
  (3)维护仓库信息:有多上仓库,什么商品存放在哪个仓库,这些都需要采购仓存管理员来维护。
  1.2.4系统管理员需求
  网上超市的系统管理员功能是维护系统的正常工作,它需要提供如下功能:
  (1)对系统中用户的管理:系统中顾客,销售管理员,采购、仓存管理员都是系统的用户,这些用户就需要系统管理员进行统一管理。
  (2)会员管理:由于有注册用户,所以管理员需要对拥护账号进行管理,如删除一些无效账号等。但这样的一个功能可以授权于销售管理员去处理。
  1.2.5数据库需求分析
  用户的需求具体体现在各种信息的提供、保存、更新和查询。这就要求数据库结构能够充分地满足各种信息的输入和输出。收集基本数据、数据结构和数据处理流程,为下一步的具体设计做好充分的准备。
  网上超市管理系统要处理的数据流程图:
 
  2 面向对象分析和设计
  2.1      用例分析
       2.2     类和对象设计

  3 逻辑结构设计
  3.1 类和对象向关系模式转换
  顾客信息(姓名、顾客编号、性别、出生年月、家庭地址、邮政编码、是否居住本地区、联系电话、身份证号、备注信息)
  供应商信息(供应商编号、公司名称、联系人姓名、联系地址、所在城市、邮政编码、电话号码、传真号码、备注信息)
  购物车(商品编号、顾客编号、商品名称、商品规格、时间、备注信息)
  商品信息(商品编号、商品名称、单价、商品规格、商品产地、保质期、类别、备注信息)
  订单信息(订单编号、商品编号、顾客编号、商品名称、商品规格、数量、顾客姓名、时间、备注信息)
  员工信息(姓名、职工号、部门编号、性别、出生年月、家庭地址、邮政编码、联系电话、身份证号、备注信息)
  进货信息(进货信息编号、供应商编号、公司名称、联系人姓名、商品编号、商品名称、商品规格、商品产地、商品数量、商品单价、进货日期、备注信息)
  部门信息(部门编号、部门名称、负责人姓名)
  销售信息(销售信息编号、顾客编号、顾客姓名、商品编号、商品名称、商品规格、商品产地、商品数量、商品单价、销售日期、折扣、备注信息)
  仓库信息(仓库编号、仓库名称、存放商品类别、容量、负责人编号,负责人姓名)
  留言信息(留言编号、留言标题、留言内容、留言日期、顾客编号、回复人编号、回复日期)
  积分信息(积分编号、顾客编号、顾客姓名、积分)
  商品入库(仓库编号、仓库名称、商品编号、商品名称、库存量、入库时间)
  3.2 关系模式优化
  顾客信息(姓名、顾客编号、性别、出生年月、家庭地址、邮政编码、是否居住本地区、联系电话、身份证号、备注信息)
  供应商信息(供应商编号、公司名称、联系人姓名、联系地址、所在城市、邮政编码、电话号码、传真号码、备注信息)
  购物车(商品编号、顾客编号、时间、备注信息)
  商品信息(商品编号、商品名称、单价、商品规格、商品产地、保质期、类别、备注信息)
  订单信息(订单编号、商品编号、顾客编号、数量、时间、备注信息)
  员工信息(姓名、职工号、部门编号、性别、出生年月、家庭地址、邮政编码、联系电话、身份证号、备注信息)
  进货信息(进货信息编号、供应商编号、商品编号、商品名称、商品规格、商品数量、商品单价、进货日期、备注信息)
  部门信息(部门编号、部门名称、负责人姓名)
  销售信息(销售信息编号、顾客编号、商品编号、商品数量、商品单价、销售日期、折扣、备注信息)
  仓库信息(仓库编号、仓库名称、存放商品类别、容量、负责人编号)
  留言信息(留言编号、留言标题、留言内容、留言日期、顾客编号、回复人编号、回复日期)
  积分信息(积分编号、顾客编号、积分)
  商品库存(仓库编号、商品编号、库存量、入库时间)
  4 数据库物理结构设计
  4.1       存取方法设计


  4.2       存储结构设计
  为了提高查询时间和空间的利用率,对网上超市管理系统的数据库作如下设计:
  首先将网上超市管理系统日志文件存放在磁带上,因为数据库的数据备份和日志文件等只在故障恢复的时候才要使用,而且数据量很大。第二,把所有的基本表(如:顾客信息表)存放在一块磁盘上,而所有的索引则存放在另一块磁盘上。这样分开存放的目的在于查询时多个磁盘驱动器并行工作,提高了物理I/O读写效率,也加快了存取速度。
  5 数据库完整性设计
  5.1 主键及唯一性索引


  5.2       参照完整性设计
  1、由于员工信息表中的部门编号必须在部门信息中存在,而部门编号又是部门信息表中的主键,所以员工信息表中将属性部门编号设计为外键。
  2、订单信息表中属性商品编号对应于商品信息表中的商品编号,因此将其设计为外键。
  订单信息表中字段顾客编号对应于顾客信息表中的顾客编号,而顾客编号又是顾客信息的主键,所以将顾客编号作为订单信息表的外键。
  3、进货信息表中属性商品编号对应于商品信息表中的商品编号,因此将其设计为外键。
  进货信息表中字段供应商编号对应于供应商信息表中的供应商编号,而供应商编号又是供应商信息表的主键,所以将供应商编号作为进货信息表的外键。
  4、销售信息表中字段顾客编号对应于顾客信息表中的顾客编号,而顾客编号又是顾客信息表的主键,所以将顾客编号作为销售信息表的外键。此外,销售信息表中的商品编号必须在商品信息表中存在,所以将商品编号也设计为改表的外键。
  5、留言信息表中顾客编号需要在顾客信息表中存在记录,把顾客编号作为该表的外键。留言信息表中的属性回复人编号必须是员工信息表在存在的记录,所以把回复人编号也设为留言信息表的外键。
  6、积分表中的属性顾客编号对应于顾客信息表中的顾客编号,而顾客编号是主键,所以将其设计为积分表的外键。
  5.3 Check约束
  1、对积分表中的积分字段设计check约束:积分必须是大于或者等于0的。
  2、订单信息表、进货信息表和销售信息表对数量、商品数量设计check约束:即这些属性值必须取大于或者等于0的值。
  5.4 Default约束
  1、积分表中的积分字段设计default约束:积分默认值为0。
  2、订单信息表中属性值数量默认为1单位。
  5.5       触发器设计
  1、 当采购完成后,即在进货信息表中添加信息时,建立该表上的插入触发器。该触发器的功能是当进货信息表中插入信息时,将进货的商品信息自动添加到商品信息表中以及在商品库存表在自动增加库存量。在这些动作完成之后,将进货信息表中添加的该信息删除。
  2、 在订单信息表上建立插入触发器。如果订单中要添加的商品信息在商品信息表中不存在,则不予以添加。当订单信息成功提交,即订单信息表在成功插入新记录时,首先根据该顾客的积分情况自动生成折扣,然后自动将订单信息表中的记录添加到销售信息表中,并且将积分信息表中的记录更新或添加。在这些动作完成之后,再将订单信息表在的该记录删除。
  3、 在商品库存量不足的时候需要系统提示工作人员及时的进行采购,所以在商品库存表上建立一个触发器就可以完成以上功能。当商品库存量到达一定的底线时,自动给采购、库存管理员留言,即在留言信息表中添加信息。这样可以对商品库存情况动态掌握。
  6              数据库视图设计
  1、为了方便查看部门信息,建立部门信息视图。显示部门信息表中的全部内容。
  2、商品查询在网上超市管理系统中查看的非常频繁,需要建立商品信息视图。显示商品信息表中的全部信息。
  3、建立顾客信息视图,显示顾客信息表中的全部内容。
  4、在采购的时候,采购人员需要对供应商的信息进行查询,因此需要建供应商信息视图,显示该表中的全部内容。
  5、当顾客在网上逛过超市后会将自己喜欢的商品先放入购物车中备选,这时就需要对购物车进行查询。所以有必要建立购物车信息视图。除了显示购物车表中的全部信息外,还需要连接查询并显示商品信息表中的商品名称和商品规格以及其他的商品信息。
  6、顾客确定要购买商品的时候,需要提交订单信息,而在提交之前必须对其进行查询,所以需要建立订单信息视图。显示订单信息,以及连接查询并显示商品信息表中的商品名称和商品规格以及其他的商品信息。
  7、对于网上超市的各部门的负责人来说,经常需要对员工的信息查看,故建立员工信息视图。除显示员工信息表中全部信息外,还要通过连接查询并显示部门名称。
  8、采购人员在采购前后都需要对进货信息进行查询,这就需要建立进货信息视图。除显示进货信息表中全部信息外,还要通过连接查询并显示供应商的公司名称、联系人姓名、联系电话和商品名称、商品规格、商品产地、数量及单价。
  9、每隔一段时间,都要查看一下收益如何,即查询销售情况。因此需要建立一个销售信息视图。显示销售信息表中的全部信息和通过连接查询并显示商品名称、商品规格、商品产地、数量及单价。除此之外,还要计算并显示销售总额。
  10、建立仓库信息视图,显示仓库信息表中的所有信息即可。
  11、建立留言信息视图。显示留言信息表中的全部信息以及通过连接查询并显示顾客姓名和回复人的姓名。
  12、对积分的查询也是顾客经常查询的项目。所以非常有必要建立积分信息视图。显示积分信息表在的所有信息和连接查询并显示顾客姓名。
  13、不管是在销售还是在采购的时候,都要对商品的库存量进行查询。因此要建立商品库存信息视图。显示库存信息以及通过连接查询并显示仓库名称和商品名称、商品规格等其他商品信息。
  7              数据库存储过程设计
  1、 顾客是网上超市管理系统的最主要的用户,也需要经常的添加和删除,故建立顾客删除存储过程。在删除某个顾客信息的时候,如果他的购物车中还有记录,则将其删除;若他提交了订单信息,也要把订单信息中的记录删除;最后还要把留言信息表和积分表中与该顾客相关的信息一并删除。
  2、 建立删除员工的存储过程。如果该员工是某个部门的负责人,则一般情况下不予以删除,如果要删除,则必须对部门信息表中的负责人进行更新。若该员工是留言信息表中的回复人,则要对留言信息表在回复人编号进行修改或者删除。
  3、 建立删除商品的存储过程。如果某个商品已经过了保质期或者已经被淘汰了,则要对这样的商品进行删除。首先要在商品信息表中把这些商品删除,在商品库存表将其删除,其次若果有顾客将该商品选入了购物车,甚至提交了订单,则要对顾客予以说明并将其从购物车表和订单信息表中删除。
  8              权限设计

  9 总结
  理论联系实际才能做好一件事,学习一门课程同样是这样。通过一周的数据库课程设计实习,我受益匪浅,从中学到了许多新知识,这些知识是在课堂中不能学到或者说很难学到的。并且对数据库应用这一门课程有了更深一步的理解。在做课程设计中,我们可以把课堂上所学的理论知识和实践联系起来,在所要开发的系统中渐渐学会了融会贯通。同样通过对SQL的应用,也使我们熟练和巩固了对SQL的理解。这样我们对开发系统的整个过程也有了一个系统的了解。
  这次课程设计,我选择的课题是《教务管理系统》,在教务管理系统的开发中采用了完整的数据库设计的全过程,从需求分析到概念结构设计,到逻辑结构设计,再到物理结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。当然,在本次课程设计的成果中还存在许多的不足之处,这就需要我们学习更多的知识,进行更深研究。
  在这次实习中,我们完全投入到了开发系统的世界里。结束后明白了理论和实践要想充分地结合,需要非常扎实的基本功。这就说明学好基础知识是理论付诸实践的前提。在开发教务管理系统中我学到了很多,希望在以后能充分利用实习的机会充实自己,用所学的理论知识充分去实践,在实践中又要努力去巩固理论知识。只有这样,才能把一门课程甚至一门学科学精、学透
  参考资料:
  1.     萨师煊,王珊.数据库系统概论.高等教育出版社.第三版.2000
  2.     龚波等译. SQL SERVER 2000教程.北京希望电子出版社
  3.     史嘉权,史红星,李博等.数据库系统概论习题、实验与考试辅导.清华大学出版社.2006
  4.     赵乃真等.信息系统设计与应用.清华大学出版社.2005
  
注:由于这里不好排版,文章中的表格和图片没有显示出来,我打包成附件了,可以下载查看。

数据库sql 的课程设计怎么做,要借哪些书看,求大神指教

6. 数据库课程设计的内容提要:

本书以图书管理系统的开发为背景,提供了数据库课程设计的样例。书中结合图书管理系统的实际,详细介绍了数据库结构设计、MySQL数据库的使用、基于ODBC的数据库应用程序设计的全过程。附录中介绍了SQL Server的使用和JDBC程序设计技术。本书可作为大学本科学生学习数据库课程的补充教材,也可作为大专学生和其他学习数据库技术的读者的参考教材。

7. 数据库设计教程的内容简介

数据库设计是数据库技术的一个重要方面。目前有很多书籍介绍了通用DBMS的理论知识,但阐述数据库设计过程的书籍却寥寥无几。《数据库设计教程》作者具有丰富的数据库设计和教学经验,以通俗易懂的语言描述了分析、设计、实现数据库的整个设计过程,因此《数据库设计教程》是一本真正意义上的数据库理论与实践相结合的书籍,可用于数据库基础理论之后的后续学习。 《数据库设计教程》主题: 数据库的基本知识和相关概念 全面介绍了数据库设计方法学,用实例引导读者掌握从需求分析、逻辑建模到物理实现的全过程,包含常用应用领域的数据模型,读者可以在此基础上建立自己的数据模型、常用的数据建模表示法、重点介绍了UML表示法 光盘中包含《数据库设计教程》实例所用的脚本及常用数据模型。

数据库设计教程的内容简介

最新文章
热门文章
推荐阅读