建立一个简单的数据库系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《信息系统与数据库技术》技术实践
1•系统目标
本系统支持图书订购,图书查询,图书折扣等功能,并具有信息管理,事务处理和决策支持的系统特点。
2. 需求分析
2.1业务需求
网上书店主要有2类角色:客户和店长。各自业务如下:
客户能图书查询、浏览(包括浏览本书信息和相关图书列表),查看个人客户信息。
店员能维护图书基本信息、包括增、删、改等;图书折扣管理;图书信息汇总。
2.2数据处理需求
系统涉及的数据源有图书数据,客户数据,订书数据等表单。
2.3系统功能结构图(如图1)
图1:网上书店系统功能结构图
3. Book 图书表:存储图书基本情况,如图 4
3. 数据库设计
3.1数据库概念设计
系统主要有两个实体:客户和图书,它们通过“订购”活动连接在一起,分析
图2 :网上书店的 E-R
3.2数据库逻辑设计
3.2.1将数据库的概念模式图转化为以下 2个模式:
客户(客户编号,姓名,年龄,性别,电话,职业) 图书(图书编号,书名,作者,价格)
3.2.2数据库物理设计
1. 下面给出SQL Server 下的网上书店数据库物理设计的关系模型设计、完整性
约束设计和索引选择。
2. Customer
客户表:存储客户基本信息
,如图3
字段名称 字段说明 类型定义 属性限定 索引
关系(外键)
CustomerCode 客户号 Char(8) Primary Key 主索引
Name 客户姓名 Varchar (16) Not Null V
Sex
性别
Char (2)
Not Null "男"或"女"
Job 职业 Char(12) Not Null
Age 年龄 Char (10) Not Null
Telephone
联系电话
Varchar (40)
定义各实体的属性,建立实体联系模型的 E-R 图如图2所示
客户
字段名称 字段说明 类型定义 属性限定 索引 关系(外键)
BookCode 书号 Char(8) Primary Key 主索引
BookName 书名 Varchar(60) Not Null
V
Author 作者 Char(20) Not Null
BookSort 图书类别 Char(8)
V
Price 价格 Numeric(4,1) Not Null
Discount
折扣
Numeric(2,1)
Not Null Default 1
4Book
323数据库关系图(如图5)
图5
324数据库应用对象设计
充分利用SQL Server 所提供的数据库应用对象支持应用程序的开发,在数据 库应用程序中使用存储过程可以简化客户端程序,
提供系统运行效率,并且减少
网络信息传输量。视图建立在 SQL Server 服务器端,可以简化客户端程序和提 高访问安全性。 视图设计:
1•视图一图书信息汇总及图书信息查询
适用于图书信息查询,其视图的结构如图 6。视图的定义语句如下:
Public Class Form3
Public mybind As BindingManagerBase
Private Sub Form3_Load ( ByVai sender As System.Object, ByVal e As System.EventArgs ) Handles MyBaseLoad
MeBookTableAdapter.Fill ( Me 购书管理 _DataDataSet.Book ) mybind = BindingContext (DataSet11, "Book")
mybind.Position = 0
mybind.Position = mybind.Position - 1 mybind.Position = mybind.Position + 1
鼻Z 护*
lOHilfl
B^okCode
BookName
Author Price
Cusi^mtrCodlt
Name
Sex
Job
A^e Telephone
Number Count
gj
Count
BoojkCode BookHanie
Price
mybind.Position = mybind.Count - 1 SqlDataAdapter1.Fill(DataSet11, mybind = BindingContext(DataSet11, DataGrid1.DataSource = DataSet11.Book End Sub
Button5.Click
mybind.RemoveAt(mybind.Position) End Sub End Class
图书汇总表
Fri ce
*
1000 西游记 吴质屈 20
2000 红楼梦 曹雪睹 50
3000 笑面人 雨果 100
4000
四沢级词汇
咋杂
40
"Book")
"Book")
Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
mybind.Position = 0
DataGrid1.CurrentRowlndex = mybind.Position End Sub
Private Sub Button2_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
mybind.Position = mybind.Position - 1
DataGrid1.CurrentRowIndex = mybind.Position End Sub
Private Sub Button3_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
mybind.Position = mybind.Position + 1 DataGrid1.CurrentRowIndex = mybind.Position End Sub
Private Sub Button4_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
mybind.Position = mybind.Count - 1
DataGrid1.CurrentRowIndex = mybind.Position End Sub
Private Sub DataGrid1_Click( ByVal sender As Object , ByVal e As System.EventArgs)
Handles
DataGrid1.Click
mybind.Position = DataGrid1.CurrentRowIndex End Sub
Private Sub Button6_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
mybind.AddNew() End Sub
Private Sub Button5_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles