您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 建立一个简单的数据库系统
《信息系统与数据库技术》技术实践1.系统目标本系统支持图书订购,图书查询,图书折扣等功能,并具有信息管理,事务处理和决策支持的系统特点。2.需求分析2.1业务需求网上书店主要有2类角色:客户和店长。各自业务如下:客户能图书查询、浏览(包括浏览本书信息和相关图书列表),查看个人客户信息。店员能维护图书基本信息、包括增、删、改等;图书折扣管理;图书信息汇总。2.2数据处理需求系统涉及的数据源有图书数据,客户数据,订书数据等表单。2.3系统功能结构图(如图1)图1:网上书店系统功能结构图3.数据库设计3.1数据库概念设计系统主要有两个实体:客户和图书,它们通过“订购”活动连接在一起,分析定义各实体的属性,建立实体联系模型的E-R图如图2所示。图2:网上书店的E-R3.2数据库逻辑设计3.2.1将数据库的概念模式图转化为以下2个模式:客户(客户编号,姓名,年龄,性别,电话,职业)图书(图书编号,书名,作者,价格)3.2.2数据库物理设计1.下面给出SQLServer下的网上书店数据库物理设计的关系模型设计、完整性约束设计和索引选择。2.Customer客户表:存储客户基本信息,如图3。字段名称字段说明类型定义属性限定索引关系(外键)CustomerCode客户号Char(8)PrimaryKey主索引Name客户姓名Varchar(16)NotNull√Sex性别Char(2)NotNull男或女Job职业Char(12)NotNullAge年龄Char(10)NotNullTelephone联系电话Varchar(40)图3:Customer客户表3.Book图书表:存储图书基本情况,如图4。字段名称字段说明类型定义属性限定索引关系(外键)BookCode书号Char(8)PrimaryKey主索引BookName书名Varchar(60)NotNull√Author作者Char(20)NotNullBookSort图书类别Char(8)√Price价格Numeric(4,1)NotNullDiscount折扣Numeric(2,1)NotNullDefault1图4:Book图书表3.2.3数据库关系图(如图5)图53.2.4数据库应用对象设计充分利用SQLServer所提供的数据库应用对象支持应用程序的开发,在数据库应用程序中使用存储过程可以简化客户端程序,提供系统运行效率,并且减少网络信息传输量。视图建立在SQLServer服务器端,可以简化客户端程序和提高访问安全性。视图设计:1.视图—图书信息汇总及图书信息查询适用于图书信息查询,其视图的结构如图6。视图的定义语句如下:PublicClassForm3PublicmybindAsBindingManagerBasePrivateSubForm3_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.BookTableAdapter.Fill(Me.购书管理_DataDataSet.Book)mybind=BindingContext(DataSet11,Book)mybind.Position=0mybind.Position=mybind.Position-1mybind.Position=mybind.Position+1mybind.Position=mybind.Count-1SqlDataAdapter1.Fill(DataSet11,Book)mybind=BindingContext(DataSet11,Book)DataGrid1.DataSource=DataSet11.BookEndSubPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Clickmybind.Position=0DataGrid1.CurrentRowIndex=mybind.PositionEndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Clickmybind.Position=mybind.Position-1DataGrid1.CurrentRowIndex=mybind.PositionEndSubPrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Clickmybind.Position=mybind.Position+1DataGrid1.CurrentRowIndex=mybind.PositionEndSubPrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Clickmybind.Position=mybind.Count-1DataGrid1.CurrentRowIndex=mybind.PositionEndSubPrivateSubDataGrid1_Click(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesDataGrid1.Clickmybind.Position=DataGrid1.CurrentRowIndexEndSubPrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Clickmybind.AddNew()EndSubPrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Clickmybind.RemoveAt(mybind.Position)EndSubEndClass图62.视图—客户信息查询适用于客户信息查询,其视图的结构如图7。视图的定义语句如下:PublicClassForm4PrivateSubForm4_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.CustomerTableAdapter.Fill(Me.购书管理_DataDataSet.Customer)EndSubEndClass图73.店员资料查询适用于店员信息查询,能维护图书基本信息、包括增、删、改等。其视图的结构如图8。视图的定义语句如下:PublicClassForm6PrivateSubForm6_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.AdmiterTableAdapter.Fill(Me.购书管理_DataDataSet.Admiter)EndSubEndClass图84.图书信息游览适用于浏览(包括浏览本书信息和相关图书列表)。其视图的结构如图9。视图的定义语句如下:PublicClassForm7PrivateSubForm7_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.AboutBookTableAdapter.Fill(Me.购书管理_DataDataSet.AboutBook)EndSubEndClass图95.折扣查询适用于折扣查询。其视图的结构如图10。视图的定义语句如下:PublicClassForm5PublicmybindAsBindingManagerBasePrivateSubForm5_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadMe.CountTableAdapter.Fill(Me.购书管理_DataDataSet.Count)mybind=BindingContext(DataSet11,Count)mybind.Position=0mybind.Position=mybind.Position-1mybind.Position=mybind.Position+1SqlDataAdapter1.Fill(DataSet11,Count)mybind=BindingContext(DataSet11,Count)DataGrid1.DataSource=DataSet11.CountEndSubPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Clickmybind.Position=mybind.Position-1DataGrid1.CurrentRowIndex=mybind.PositionEndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Clickmybind.Position=mybind.Position+1DataGrid1.CurrentRowIndex=mybind.PositionEndSubEndClass图103.2.5数据库维护维护设计用户访问安全。用户登录界面(即进行身份验证,用户根据权限使用不同的功能)。4.系统开发设计1)子系统设计:本系统包含2个子系统。即面向客户的订书系统及面向店员的系统。2)界面设计要求:以菜单集成各功能窗口。各窗口界面整齐美观,恰当地使用各种窗体控件,便于用户使用。有用户登录界面(即进行身份验证,用户根据权限使用不同的功能)。3)程序设计注意事项:1.注意输入有效性检查,即用程序检验用户输入的数据是否符合数据类型或格式需求,如果不合适,提醒其重新输入,从而保证与数据库的正确交互以及保证数据库信息的有效性。2.全局变量使用:因为系统中含有多个窗体和模块文件,为了数据处理需要,可以使用一些全局变量,这样可以简化程序,减少代码量,简化提高系统效率,可以将全局变量放在模块文件中。3.过程和函数的使用:将一些具有独立功能的程序段编写为过程或函数,这样不仅使程序结构模块化,而且可以通过过程或函数多次调用共享代码。4.存储过程建立在SQLServer服务器端,在数据库应用程序中使用存储过程可以简化客户端程序,提供系统运行效率,并且减少网络信息传输量。5.视图建立在SQLServer服务器端,可以简化客户端程序和提高访问安全性。5.课程设计总结设计的完成过程,对我来说,也是学习新知识,和使用旧知识的过程。信息系统数据库技术中学到的数据流程图,数据库技术,SQLServer,以及VisualBasic程序设计基础等等理论知识,都得到了应用。设计网上书店使我接触了数据库,对它有了切身的实践体会,但是关于它,我仍有许多东西需要在以后的时间里继续学习。由于这是我第一次独立完成系统开发,其中有很多不足之处,还有些功能模块有待实现,但是我仍感到从中获益匪浅。
本文标题:建立一个简单的数据库系统
链接地址:https://www.777doc.com/doc-4578595 .html