(3).创建视图
创建视图可以屏蔽数据的复杂性,使用户不必了解数据库的结构,就可以方便地使用和管理数据,简化数据权限管理。可以使用户只关心她感兴趣的某些特定数据和他们所负责的特定任务,而那些不需要的或者无用的数据则不在视图中显示,在某些情况下由于表结构的变化对应用程序产生不良的影响,因此视图提供了简单而有效地安全机制。创建视图如下所示:
create view
as
select * from Books where Bid=@id
create view as
select *
from Managers where Mid=@id
create view as
select Uid,Bid,Borrow_time,Return_time from UB
where Uid=@name
create view as
select Uid,Bid,Borrow_time,Return_time from UB
where Bid=@id
create view as
select * from Books
where Bname=@name
create view as
select *
from Managers where Mname=@name
91
(4).索引的创建
创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是所以的最主要原因。第三,可以加速表与表之间的连接,特别是实现数据的参考完整性方面特有意义。第四,在使用ORDER BY和GROUP BY子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询过程中,使用优化隐藏器,提高系统性能。创建索引如下所示:
CREATE UNIQUE CLUSTERED
INDEX [PK__Books__7C8480AE] ON [dbo].[Books] ([Bid]) WITH
DROP_EXISTING ON [PRIMARY]
CREATE UNIQUE CLUSTERED
INDEX [PK__Managers__79A81403] ON [dbo].[Managers] ([Mid]) WITH
DROP_EXISTING ON [PRIMARY]
CREATE UNIQUE CLUSTERED
INDEX [PK_UB] ON [dbo].[UB] ([Uid], [Bid]) WITH
DROP_EXISTING ON [PRIMARY]
CREATE UNIQUE CLUSTERED
INDEX [PK_Users] ON [dbo].[Users] ([Uid]) WITH
DROP_EXISTING ON [PRIMARY]
101
2.2 程序设计 2.2.1系统流程图
在本系统中准备通过如下窗体来实现数据维护的功能。 (1) 主窗体:管理着各个子窗体。
(2)“用户”子窗体:管理用户信息、显示图书及借阅信息 (3)“管理员”子窗体:管理用户、图书及借阅信息。 系统流程图如图所示:
启动界面 登陆 允许登陆? 书籍信息管理员信息用户信息借阅信息图书信息2.2.2数据库连接过程 Option Explicit
Public constr As String '数据库连接信息 Public rst As ADODB.Recordset '数据库内的记录 Public con As ADODB.Connection
Public Sub connect_db()
constr = \Info=False;Initial Catalog=BookSystem;Data Source=\数据库引擎+路径 Set con = New ADODB.Connection '新建一个数据库连接
con.CursorLocation = adUseClient '用于客户端(ADOR)Recordset对象,游标库属性必须为adUseClient
con.ConnectionString = constr '连接信息 con.Open End Sub
111
系统流程图
Public Sub sel_table(table_name As String, where_str As String) Dim sql As String
Set rst = New ADODB.Recordset
sql = \ rst.Open sql, con, adOpenDynamic, adLockOptimistic rst.Requery End Sub
Public Sub upd_table(table_name As String, set_str As String, where_str As String)
Dim sql As String
sql = \ con.BeginTrans con.Execute sql con.CommitTrans End Sub
Public Sub del_table(table_name As String, where As String) Dim sql As String
sql = \ con.Execute sql End Sub
Public Sub ins_table(table_name As String, into As String, values As String) Dim sql As String
sql = \ con.Execute sql End Sub
功能显示
运行程序后首先显示主窗体,如图所示。
121
相关推荐: