当前位置:文档之家› 编写数据库应用程序必看

编写数据库应用程序必看

编写数据库应用程序必看
编写数据库应用程序必看

编写数据库应用程序必看----强烈推荐

第一节 ODBC API

一、简介

现在最流行的联接数据源的方法,是ODBC(Open Database Connectivity

API),字面意思是“打开数据库联接”,这是一种用C/C++ 编的应用程序接

口,是属于Windows 的一部分。无论对任何一种客户/ 服务器关系型数据库接

口(RDBMS), 还是目前最流行的索引顺序访问方法(ISAM)数据库(Jet,

Foxpro)以及电子表格,都能找到ODBC驱动程序。

使用ODBC数据源的一个最有利的优点是,只要利用ODBC联接上数据库,那

么,不论何种数据库,在应用程序内的处理方法都是相同的,这就为设计大型

通用数据库处理程序,提供了现实的保证。

ODBC是由Windows 的动态链接库(DLL) 组成的,内部提供了一系列的函

数,它由两组函数组成,提供基本的数据库服务:

1) 添加、配置和删除ODBC数据源:

数据源是对数据库的有名联接,数据源的名字是由数据库的提供者命名的,

通常称为数据源名(DSN) ,注意把数据源的名字和数据库的名字区别开来。

ODBC使用Odbcinst.dll库来配置和删除数据源。而它的可执行的程序,是

Odbc32.exe。它的图标位于“控制面板”窗口中(ODBC数据管理器)。2) 管理从客户前端到数据库服务器的查询语句和其它SQL 语句的通讯,

并返回查询结果。

数据源的ODBC驱动程序将客户端送来的SQL 语句送到数据库驱动程序,数

据库驱动程序处理SQL 语句后,再通过数据源的ODBC驱动程序将结果返回到应

用程序。

事实上,连接数据原有两种方式,一种是直接调用数据表名

(Table),

这种方法是把所有的表内容全部传给客户端,当表很大时,将是一种效率很差

的传输方式。第二种是使用SQL 语句,它只把符合要求的内容传递下去,因此

应用效率比较高,大型数据库一般都采用SQL 语句的方式。

下面简单介绍一下ODBC 驱动程序。

ODBC驱动程序分为单层和多层两种:

单层的ODBC不能直接处理SQL 语言,它是将SQL 语句分解成一系列长的低

级指令,直接操作数据库文件(Dbase、Foxpro、Paradox、Excel)。多层ODBC依靠客户/服务器RDBMS来处理SQL 语句,由于服务器只传回符合

SQL 条件的内容,网络流量被最小化。VB 6.0中包括SQL server 4.2X 、6.X、

7.0 的32位ODBC驱动程序,即Sqlsvr32.dll,虽然列表上同样也包括Qracle

驱动程序。但是,实际使用时还是需要在客户端计算机上安装Qracle公司提供

的动态联接库。

二、ODBC添加新数据源

方法:

Windows -〉控制面板 -〉资源管理器(Windows 2000为管理工具)-〉

ODBC数据源(32位)。

打开“ODBC数据管理器”

这里首先要决定的是采用“用户DSN”还是“系统DSN”

用户DSN: 该数据源名只提供给用该用户名登陆的用户。在网络使用时主要用于在客户端定义数据源。

系统DSN: 该数据源名提供给用任何用户名登陆的用户,包括在网络上(NT)使用。

添加:选择驱动程序。

1)选择Access,-〉完成 安装:数据源名:自己给出

数据库 “选择”-〉选择相应的数

据库。

确定: 我们可以在数据源列表中看到新定义的数

据源名字。

2)选择SQL Server -〉完成 建立新的数据源到SQL Server

命名数据源:自己给出

服务器:给出服务器名

如果从列表中选择服务器名称,则不需要更

多的配置。

如果使用相同的计算机作为 SQL Server,

可以在此服务器框中输入“(local)”(本地)。

然后用户可连接到 SQL Server 的本地副本,即

便正在运行 SQL Server 的非网络版本。

在说明框可以写进关于数据源可选的描述性

说明。例如,“所有员工的工资和销售情况”。

下一步

使用用户登陆ID和密码的SQL Server验证

输入用户名和密码

下一步 -〉完成配置

可以看出,不同的驱动程序配置方法不尽相同。

后面就可以看到,使用ODBC数据源名并不是唯一的选择,我们也可以使用直接用数据库名或者服务器名(SQL Server) 联接的方式,这时,并不需

要事先设置ODBC数据源的名字。

第二节 DAO 和 ADO 的技术状态

1994年,微软在Access 2.0 中首先引入了16位的DAO (Data Accessing

Object 数据访问对象),以实现和Jet 数据库引擎的连接,这是允许程序

员操纵Jet 引擎的第一个面向对象的接口。

DAO 提供了一个复杂的可编程数据对象的层次模型,由上到下分别是:DBEngine

Workspace

Database

TableDef

QueryDef

Recorset

DAO 的使用非常复杂,例如,为了引用 Recorset,必须从上到下逐级引用:

DIM wname As DAO.Workspace

DIM wm1 As DAO.Database

DIM wm2 As DAO. TableDef

DIM wm3 As DAO.QueryDef

DIM wm4 As DAO.Recorset

set wname=DBEngine.Workspace(0)

.....

更重要的,DAO/Jet 并不适合客户/服务器模式的数据库系统,于是,微软又开发出了RDO(Remote Data Object 远程数据对象), 和RDC 控

件(在MS RemoteData Control 6.0下),解决了客户/服务器模式下,开

发象SQL Server 或 Oracle 这些大型远程数据库的困难。

VB提供的RDO 组件在工程-〉引用:

客户端:MS Remote Data Object 2.0

服务器端:MS Remote Data Servers 2.5 Library

MS Remote Data Servers Server 2.5 Library

显然,这种模式需要编写服务器端程序,在某些情况下可能是不现

实的。

继RDO 之后,微软又提出了全新的ADO 技术(ActiveX Data Object ),ADO 是DAO 和RDO 的继承者,它基于微软提出来的OLE DB 数据访问

模式,它可以处理目前几乎全部关系型数据库和非关系型数据库系统。而且,它是专门为大范围的商业数据库系统设计的,ADO 比DAO 占用内存少,所以它更适合大流量和大事务量的网络计算机系统。

ADO 的影响很大,现在几乎所有的非微软开发环境都内置了ADO 驱

动程序。ADO 的使用也相当方便,利用ADODC 控件(在MS ADO Data Control 6.0(OLEDB)下),可以在本地计算机上获取本地和远程的数据源,并且可以立刻测试联接是否成功。

ADODC 控件,是以ADO 为父类的一个子类,所以,它继承了ADO 的

几乎绝大多数属性事件和方法,同时,也加入了自己的属性事件和方法。

这些属性事件和方法,又大多数套用于一种原来基于DAO 的控件Data,为熟悉Data控件的程序员做一个合理的过渡,并且,加入了和数据绑定控件连接的内容。

所以,同一种目的,在ADODC 中可以有两种方式解决,这样做的好

处是给程序员带来了方便,更重要的,ADODC 和数据绑定控件连接非常方便,但代价是无疑降低了效率。

因此,尽管使用ADODC 控件处理数据库问题相当方便,但是,在更

多的大型数据库系统的设计中,人们还是使用直接调用ADO 类的方式,因为这样一来,程序的效率往往更高,更灵活。

鉴于这个情况,在下面的讨论中,我们两种情况都进行讨论,具体

怎么用,要看项目的需要。当然首先是从源头说起,先研究ADO 。

还需要说明的是:ADODC 提供了一整套的自动联接方式,这些方式,十分方便,但是,如果不明白原理,往往联接以后还是感到自己心中无数,所以,即使您使用ADODC ,但是仔细的研究ADO 本身的东西,也还是很有必要的。同时,利用ADODC 提供的信息,也给以编程为主的ADO 提供了方便,这些我们后面都会加以介绍。

最近一两年,ADO 技术又有了长足的发展,这里首先要提到微软的Visual https://www.doczj.com/doc/9711545527.html, 平台,在这个平台上的主导语言是Visual Basic,Visual C++,Visual C# ,对于VB 6.0的编程人员,过渡到https://www.doczj.com/doc/9711545527.html,是理所当然的事情。

微软公司对VB升级到https://www.doczj.com/doc/9711545527.html,的同时,对数据访问模型进行了翻天覆

地的升级。把原来的ADO 模型升级为全新的https://www.doczj.com/doc/9711545527.html,数据源,

原来最重要的RecordSet 现在消失了,取而代之的是DataSet 和DataReader,而且不再像原来RecordSet 那样一次只读取一条记录,而是读取整个数据库,然后在内存中建立一个映像,从而实现了断开方式数据库连接和内存管理自动化,这是微软的一个重大的技术突破。

但是,这并不等于说学习ADO 技术就没有意义了,首先,由于技术

的继承性,https://www.doczj.com/doc/9711545527.html, 继承了ADO 的大部分编程方法,另一方面,https://www.doczj.com/doc/9711545527.html, 也还是保留了原来在VB 6.0中ADO 的COM 组件,这就是说,在https://www.doczj.com/doc/9711545527.html, 中,

我们还是可以用在VB 6.0中完全相同的方法来编写数据库程序,这对于中小规模的数据库管理系统,也是很有意义的。

如果您主要是处理Access数据库,那么使用专为Access数据库编写

的DAO 技术将更直接效率更高。因此,在https://www.doczj.com/doc/9711545527.html,中也仍然保留了DAO 的COM 组件,但是,更改了驱动程序,解决了在VB 6.0中DAO 不能驱动Access 2000 的问题,因此也得到了广泛的应用。

下面,我们就来仔细的研究ADO 和DAO 的有关问题。在课程的最后,我们将通过一两个例子,来说明https://www.doczj.com/doc/9711545527.html,中数据库处理的一些方法和特点。

第三节 ADO 最基本的内容

ADO 的内容比较多,我想还是分两个层,先讨论最基本最重要的内容。

一、ADO 组件的引用

ADO 实际上是个COM 组件,它的顶层有三个对象:

Connection :指定数据源,建立和数据源的连接;

Command :对数据源执行指定的命令,接受SQL 语句,表名,存储

过程的名字,执行SQL 查询,更新数据,插入记录等;

Recordset: 来自表或命令执行结果的记录全集,操纵来自提供者

的几乎所有数据。

要应用ADO 组件,必须在工程-〉引用:

Ms Activex data object 2.7 Library

把ADO 这个COM 组件调入当前系统。

用F2 可以看到这个组件的状况。库的名字为ADODB,也就是在当初

设计组件的时候,工程名起的是是ADODB,所以,应用这三个类都要构造

相应的实例,引用时必须作如下声明,:

Dim Cnn As ADODB.Connection

Dim Cmm As https://www.doczj.com/doc/9711545527.html,mand

Dim Reco As ADODB.Recordset

其中,Cnn,Cmm和Reco 是用户自定义的对象变量,为了表述方便,

后面的讨论我们都以这组名字作为表达的基础。

真正使用,就要通过New 来建立一个ADO 的实例。

Set Cnn = New ADODB.Connection

Set Cmm = New https://www.doczj.com/doc/9711545527.html,mand

Set Reco = New ADODB.Recordset

有时,希望定义的同时构造实例,也可以写成(ADODB一般可以不写):

Dim Cnn As New Connection

Dim Cmm As New Command

Dim Reco As New Recordset

值得指出的是,如果您直接使用ADODC控件,那上述方法都已经在ADODC内部完成了,不需要程序员自己来写。但是,如果您不使用ADODC 控件,而要使用ADO 这个类来编写数据库系统的时候,就需要使用引用COM 的标准方法。

一、数据库连接的建立

可以有四种连接方式:

第一种(用Open)

Cnn.Provider = "驱动程序"

Cnn.Open "数据库名"[,"用户名","密码"]

Cnn.Provider = "Microsoft.Jet.OLEDB.4.0"

Cnn.Open Add.path & "\奖金数据库.mdb"

这里App.path给出了当前路径(该语句在https://www.doczj.com/doc/9711545527.html,中变为

Application.startuppath),这样就可以实现相对路径调用数

据库了。

第二种(用连接字符串)

Connection对象变量有一个Connectionstring,可以输入字符串,

例如对于sql server数据库,字符串设置可用如下规则:

Provider=SQLOLEDB.1; (提供者)

Integrated Security=SSPI; (安全设置)

Persist Security Info=False; (持续的安全信息)

Initial Catalog=pubs; (初始的目录,或默认的数据库)

Data Source=XXX-PE (数据源--计算机名)

请看如下的例子:

Cnn.DefaultDatabase="pubs"

' 这个属性是指定默认数据库,如果没有指定数据库名,

'就使用这里指定的数据库名,SQL Server通常是pubs

Cnn.Connectionstring="driver={SQL Server};Server=bigs; _

uld=sa;pws=pwd"

'其中:bigs为服务器名;sa为用户名;pwd为密码。

Cnn.Mode=adModeShareExclusive

'以独占方式打开(后面会讨论)

Cnn.open

第三种(使用DSN 数据源名)

Cnn.Connectionstring="DSN=pubs;UID=***;PWD=***"

'由于建立DSN 时就已经提供了诸如上面有关的各种数据,

'所以这里只需要直接调用名字就可以了。

Cnn.open

第四种(直接用Open打开)

Cnn.Open "DSN数据源名","用户名","密码"

实例,第一部分,建立三个数据库的连接:

-----------------------------------------------------------------

建立三个Button,分别用三种方法打开三个库,运行时不出错就代表已连接。由于后面要用一个显示画面,所以一次只能打开一个数据库,看

看这里是怎么解决这个问题的?

-----------------------------------------------------------------

Dim Cnn As New Connection

Dim Cmm As New Command

Dim Reco As New Recordset

Dim Cnn1 As New Connection

Dim Cnn2 As New Connection

Dim Kzr, Kzc, kzc1, kzc2, Nd, inname, Tname

Private Sub Command2_Click()

'用字符串连接SQL SERVER 数据库

If Kzc = True Then Cnn.Close

Kzc = True

If kzc1 = True Then

Cnn1.Close

kzc1 = False

End If

If kzc2 = True Then

Cnn2.Close

kzc2 = False

End If

Cnn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=XXX-PE"

'注意一下计算机名要更改

Cnn.Open

End Sub

Private Sub Command1_Click()

'打开数据库的Provider+Open方法

If kzc1 = True Then Cnn1.Close

kzc1 = True

If Kzc = True Then

Cnn.Close

Kzc = False

End If

If kzc2 = True Then

Cnn2.Close

kzc2 = False

End If

Cnn1.Provider = "Microsoft.Jet.OLEDB.4.0"

inname = App.Path & "\奖金数据库.mdb"

Cnn1.Open inname

Tname = "奖金"

End Sub

Private Sub Command3_Click()

'直接使用OPEN 和DSN数据源打开数据库

If kzc2 = True Then Cnn2.Close

kzc2 = True

If Kzc = True Then

Cnn.Close

Kzc = False

End If

If kzc1 = True Then

Cnn1.Close

kzc1 = False

End If

Cnn2.Open "Mysql"

End Sub

Private Sub Form_Load()

Kzr = False

Kzc = False

kzc1 = False

kzc2 = False

End Sub

-----------------------------------------------------------------

二、应用Recordset打开表

前面已经提到,Recordset对象是用于处理来自表或命令执行结果的记录全集,操纵来自提供者的几乎所有数据,所以,处理数据库问题,Recordset

是处在重中之重的位置,由于这是个COM 对象,应用的时候同样需要声明,

并且构造一个实例:

Dim Reco As ADODB.Recordset

Set Reco = New ADODB.Recordset

Reco.Open "数据源", Cnn [,指针形态][,锁定方式]

其中:数据源:表名,或者SQL语句

指针形态:

0 向后指针(默认)

1 索引键集

3 动态记录(常用)

4 静态记录

锁定方式:

1 只读(默认)

2 编辑更新

3 Updata更新

4 批次更新

实例:关于Recordset的打开

-------------------------------------------------------------在相应的按钮事件中加上Reco.Open

-------------------------------------------------------------Private Sub Command2_Click()

.............

Tname = "employee"

Reco.Open Tname, Cnn, 3, 3

'双向指针,Updata更新

Kzr = True

End Sub

Private Sub Command1_Click() ...............................

Tname = "奖金"

Reco.Open Tname, Cnn1, 3, 3

Kzr = True

End Sub

Private Sub Command3_Click() ....................

Tname = "基本表"

Reco.Open Tname, Cnn2, 3, 3

Kzr = True

End Sub

-------------------------------------------------------------三、几个重要的Connection对象方法

1)open方法

语法:

Cnn.Open [Connectionstring][,UserID][,password]

注意:Connection的Open方法是连接了数据库,但并没有打开表。2)Close方法

Cnn.Close

关闭已经打开的连接,但该对象还保留在内存中

3)清除内存

Set Cnn=Noting

真正的消除掉

四、取得记录集中的数据

Reco.("字段名")

Reco.Fields(index).Value '内容

Reco.Fields(index).Name ‘字段名

Reco.Fields(index).type '字段类型

Reco.Fields(i).ActualSize '字段长度

Reco.Fields.Count '字段总数

记录数

Reco.RecordCount 记录数

N=Reco.AbsolutePosition '当前指针的位置

Reco.AbsolutePosition=N '把指针定位在第N笔记录上

五、指针的移动

Reco.MoveFirst '指针指向第一笔记录

Reco.MoveNext '指针指向下一笔记录

Reco.MovePrevious '指针指向上一笔记录

Reco.MoveLast '指针指向最后一笔记录

------------------------------------------------------------------

做一个frame用于显示,内部放置9个Textbox和Label数组。

开始的时候frame1.visible=false。

VarType()检测数据库输出是否为空(MULL),因为空数据的送

出会显示错误信息,应避免这种情况。

Showfiel()用于显示数据

Myscreen()用于设置初始屏幕

------------------------------------------------------------------

Private Sub Showfiel()

For i = 0 To Nd - 1

If VarType(Reco.Fields(i).Value) > 1 Then

Text1(i).Text = Reco.Fields(i).Value

Else

Text1(i).Text = ""

End If

Next

End Sub

Private Sub Myscreen()

Nd = Reco.Fields.Count

If Nd >= 9 Then

Nd = 9

End If

For i = 0 To 8

Label1(i).Visible = False

Text1(i).Visible = False

Next

For i = 0 To Nd - 1

Label1(i).Caption = Reco.Fields(i).Name Label1(i).Visible = True

Text1(i).Visible = True

Next

Reco.MoveFirst

Label2.Visible = False

frame1.visible=true

End Sub

' 在三个打开数据库的开关事件中都写上:' Myscreen

' Showfiel

'第一个

Private Sub Command4_Click()

Reco.MoveFirst

Showfiel

End Sub

'上一个

Private Sub Command5_Click()

Reco.MovePrevious

If Reco.BOF Then

Reco.MoveFirst

End If

Showfiel

End Sub

'下一个

Private Sub Command6_Click()

Reco.MoveNext

If Reco.EOF Then

Reco.MoveLast

End If

Showfiel

End Sub

'末一个

Private Sub Command7_Click()

Reco.MoveLast

Showfiel

End Sub

------------------------------------------------------------------

六、Recordst重要的方法:

AddNew 创建一个新记录

UpData 保存对当前数据的修改

Delete 删除当前记录

Requery 用新的SQL 查询去更新当前数据集。

------------------------------------------------------------------

增加几个功能

------------------------------------------------------------------

'增加

Private Sub Command13_Click()

Reco.AddNew

Showfiel

End Sub

'删除

Private Sub Command14_Click()

Reco.Delete

Reco.MoveNext

If Reco.EOF Then

Reco.MoveLast

End If

Showfiel

End Sub

'更新

Private Sub Command15_Click()

'Reco.Fields(i).Type = 3为自动加一的字段ID,不能更新

For i = 0 To Nd - 1

If (Trim(LTrim(Text1(i).Text)) <> "") And (Reco.Fields(i).Type <> 3) Then

Reco.Fields(i).Value = Text1(i).Text

End If

Next

Reco.Update

End Sub

------------------------------------------------------------------

七、执行SQL 语句

执行SQL 语句是为了构造数据集,可以用两种方法:

1)用Connection的Execute方法

完成查询后以记录集的形式把数据传回,这在数据编修的时候,需要传回修改以后的记录集的时候用得比较多。

语法:

Set Reco=Cnn.Execute("命令文字",影响记录的笔数,选择)

“影响记录的笔数”指的是执行Execute方法以后,数据库被修改的

笔数,对SELECT 该数值无效。

“选择”指的是“命令文字”的意义,说明如下:

adCmdText 数据源将传入的“文字定义”视为命令文字,

比如SQL 语句。

adCmdTable 数据源将传入的“文字定义”视为表名称。adCmdStoredProc 数据源将传入的“文字定义”视为存储过程,

适用于SQL Server。

adCmdUnknown 数据源不知道“文字定义”的类型,将自动

检测,可以是SQL 语句,但是自动监测将会降低

效率,此为默认值。

2)用Recordset的Open方法

语法

Reco.Open "SQL语句",Cnn,指针形态,锁定方式

---------------------------------------------------------------

做一个数据查询的Frame,打开表的时候让frame2.visible=true

放入一个Textbox(Text3)为写入SQL 语言用,一个按钮执行查询,另一个按钮用于把当前表的名字加入。

---------------------------------------------------------------

Private Sub Command9_Click()

If Kzc Then

Reco.Close

Reco.Open Text2.Text, Cnn, 3

ElseIf kzc1 Then

Reco.Close

Reco.Open Text2.Text, Cnn1, 3

ElseIf kzc2 Then

Reco.Close

Reco.Open Text2.Text, Cnn2, 3

End If

End Sub

Private Sub Command12_Click()

Text2.SelText = Tname + " "

Text2.SetFocus

End Sub

Private Sub Command9_Click()

If Kzc Then

Reco.Close

Reco.Open Text3.Text, Cnn, 3, 3

ElseIf kzc1 Then

Reco.Close

Reco.Open Text3.Text, Cnn1, 3, 3

ElseIf kzc2 Then

Reco.Close

Reco.Open Text3.Text, Cnn2, 3, 3

End If

Showfiel

End Sub

---------------------------------------------------------------

八、Recordset查询和过滤

Reco.Find "条件"

把指针定位在符合条件的记录上

Reco.filter = "条件"

只显示符合条件的记录,注意,筛选掉的数据并没有删除,只是

暂时隐蔽,一旦筛选条件移除,又自动恢复原状,筛选移除的方法:Reco.filter = ""

由于条件是文本的形式,所以构造条件相当的方便。条件表达式除了>、>=、<、<=、<>、 AND、 OR、 NOT、 XOR以外,更有一种Like ,用于处理文字类型,使用统配符(*或%),可以实现部分匹配查询。注意两点:

第一点是查询表达式需要用引号时,要改成单引号。

第二点是统配符必须在结尾存在:

比如:

客户名称 LIKE '龙*' 或 客户名称 LIKE '*龙*' 是正确的。

而 客户名称 LIKE '龙*' 是错误的。

虽然SQL 和Recordset可能有相似的查询功能,但本质是不同的,

SQL是在服务器端处理,把查询的结果传入,所以更适合构造数据集。而Recordset查询是在客户端,并不影响数据集的本身,所以速度更快,

也更加精细,所更适合做精细的数据处理。

------------------------------------------------------------在实验程序中增加功能

------------------------------------------------------------'Find查询

Private Sub Command8_Click()

Reco.Find Text2.Text

If Reco.EOF() Then

MsgBox "没有这个数据"

Reco.MoveFirst

End If

Showfiel

End Sub

'下一个

Private Sub Command8_Click()

Reco.Find Text2.Text

If Reco.EOF() Then

MsgBox "没有这个数据"

Reco.MoveFirst

End If

Showfiel

End Sub

'过滤

Private Sub Command16_Click()

Reco.Filter = Text2.Text

Showfiel

End Sub

------------------------------------------------------------九、分页

设置每页为N 笔

Reco.PageSize=N

总页数为N

N=Reco.PageCount

设定记录指针指向的页数

Reco.AbsolutePage=N

取得指针指向的页数

N=Reco.AbsolutePage

例:输出某页中的记录:

Reco.AbsolutePage=2

for i=1 to Reco.pagesize

if Reco.Eof then

Exit for

end if

-----处理---------

Next

十、Recordst属性Bof和Eof

分别指示指针指向头以前和尾以后。

结果为true和false

----------------------------------------------------------------

下面我们设法让构造查询条件变得更方便。

加入两个List和一个Combo1,list1的style属性选1-Checkbox为

多选型list2的list属性加入常用的SQL命令单词,再加入一个“字段送出按钮”。

Myscreen子程序增加一些List和ComboBox处理的程序,在打开

数据库时,把相应字段名显示出来,便于组织条件的时候使用。

所以要加入一个新的过程MyscreenSQL,是因为查询以后可能字段

数目要发生变化,ComboBox要显示新的字段值,但List却希望显示原来的字段值,便于重新组织查询。

--------------------------------------------------------------

--

'给Myscreen增加相应的语句

Private Sub Myscreen()

Nd = Reco.Fields.Count

If Nd >= 9 Then

Nd = 9

End If

For i = 0 To 8

Label1(i).Visible = False

Text1(i).Visible = False

Next

For i = 0 To Nd - 1

Label1(i).Caption = Reco.Fields(i).Name Label1(i).Visible = True

Text1(i).Visible = True

Next

Reco.MoveFirst

Label2.Visible = False

List1.Clear

Combo1.Clear

For i = 0 To Reco.Fields.Count - 1

List1.AddItem Reco.Fields(i).Name Combo1.AddItem Reco.Fields(i).Name

Next

Combo1.Text = Combo1.List(0)

Frame2.Visible = True

End Sub

'做一个MyscreenSQL过程,为SQL语言发送用Private Sub MyscreenSQL()

Nd = Reco.Fields.Count

If Nd >= 9 Then

Nd = 9

End If

For i = 0 To 8

Label1(i).Visible = False

Text1(i).Visible = False

Next

For i = 0 To Nd - 1

Label1(i).Caption = Reco.Fields(i).Name Label1(i).Visible = True

Text1(i).Visible = True

Next

Reco.MoveFirst

Combo1.Clear

For i = 0 To Reco.Fields.Count - 1 Combo1.AddItem Reco.Fields(i).Name

Next

Combo1.Text = Combo1.List(0)

End Sub

'送出字段名

Private Sub Combo1_Click()

Text2.SelText = Combo1.Text

Text2.SetFocus

End Sub

'送出选中的字段列表

Private Sub Command10_Click()

Dim i, st

'List1.Selected(i) = True为选中

st = ""

For i = 0 To List1.ListCount - 1

If List1.Selected(i) = True Then

If st = "" Then

st = List1.List(i)

Else

st = st + "," + List1.List(i)

End If

End If

数据库课程设计完整版

HUNAN CITY UNIVERSITY 数据库系统课程设计设计题目:宿舍管理信息系统 姓名: 学号: 专业:信息与计算科学 指导教师: 20年 12月1日 目录 引言 3 一、人员分配 4 二、课程设计目的和要求 4 三、课程设计过程 1.需求分析阶段 1.1应用背景 5 1.2需求分析目标5 1.3系统设计概要 5 1.4软件处理对象 6 1.5系统可行性分析 6 1.6系统设计目标及意义7

1.7系统业务流程及具体功能 7 8 2.系统的数据字典11 3.概念结构设计阶段 13 4.逻辑结构设计阶段 15 5.物理结构设计阶段 18 6.数据库实施 18 7.数据库的运行和维护 18 7.1 解决问题方法 19 7.2 系统维护 19 7.3 数据库性能评价 19 四、课程设计心得. 20 参考文献 20 引言 学生宿舍管理系统对于一个学校来说是必不可少的组成部分。目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。我们针对如此,设计了一套学生宿舍管理系统。学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息存储量比较大的学校提供了

数据库应用程序设计作业

您的本次作业分数为:97分单选题 1.【第06章】在Database Desktop程序中,____就是数据表所在的 子目录或数据库文件名的替代名称。 ? A 数据库别名 ? B DSN ? C BDE ? D ODBC 单选题 2.【第06章】在ODBC层次结构中,_____包含在ODBC32.DLL中, 对用户是透明的,其任务是管理ODBC驱动程序,是ODBC最重要的部件。 ? A 数据源名 ? B ODBC管理器 ? C ODBC API ? D 驱动程序管理器 单选题

3.【第06章】使用Database Desktop程序,不能完成下列的_____ 功能。 ? A 创建和维护数据库表 ? B 创建和维护数据库别名 ? C 执行SQL语句 ? D 创建三层结构的数据库程序 单选题 4.【第06章】应用程序用以请求一个连到ODBC数据源的连接 (Connection)的名字是_____。 ? A DSN ? B ADO ? C ODBC ? D Connection 单选题 5.【第07章】创建一个名为RS的视图,用来显示所有学生的学号, 姓名和平均成绩,下面正确的语句是_____。

? A SELECT STUDENT.学号,STUDENT.姓名,SKB.平均成绩WHERE STUDENT.学号= SKB.学号GROUP BY STUDENT.学号INTO CURSOR RS ? B CREATE VIEW RS AS SELECT STUDENT.学号,STUDENT.姓名,SKB. 平均成绩WHERE STUDENT.学号= SKB.学号GROUP BY STUDENT.学号 ? C SELECT STUDENT.学号,STUDENT.姓名,SKB 平均成绩WHERE STUDENT.学号= SKB.学号GROUP BY STUDENT.学号INTO CURSOR RS ? D CREATE VIEW RS AS SELECT STUDENT.学号,STUDENT.姓名,AVG(SKB.成绩) AS 平均成绩WHERE STUDENT.学号= SKB.学号GROUP BY STUDENT.学号 单选题 6.【第07章】要选出平均成绩超过80分的学生的学号和平均成绩,下 列正确的语句是____。 ? A SELECT 学号,平均成绩FROM SKB WHERE 平均成绩>=80 ? B SELECT 学号,AVG(成绩) AS 平均成绩FROM SKB WHERE 平均成绩>=80 ? C SELECT 学号,AVG(成绩) AS 平均成绩FROM SKB GROUP BY 学号HAVING 平均成绩>=80 ? D SELECT 学号,AVG(成绩) AS 平均成绩FROM SKB ORDER BY 学号HAVING 平均成绩>=80 单选题

SQLserver数据库课程设计范例

1 概述 1.1课题简介 书店书目书种繁多,来源多样,购买者众多,图书信息、供应商信息、客户信息、销售信息庞大,不易管理。因此,很有必要创建一个小型书店管理系统,以便于书店对图书的管理。1.2设计目的 应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。 数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。 1.3设计内容 运用基于E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发小型书店管理系统,完成小型书店管理系统的全部功能。 首先做好需求分析,并完成数据流图和数据字典。 其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型 2 需求分析 2.1功能分析 首先,建立一些基本表(尽可能满足3N),对大部分基本信息组合、存储;其次通过建立视图实现对冗余数据的有必要保留(查询并计算基本表属性得到新的作为视图属性)并实现对以下基本信息的显示。 图书信息:图书名称、订购数量、订购时间、订购单价、金额、出版社名称、作者名称;供应商名称等; 供应商信息:供应商名称、地址、电话,联系人; 客户信息:客户编号、名称、年龄、性别、累计购书金额等; 销售信息:时间、销售名称、数量、销售单价、客户编号、客户名称、金额等。 在此基础上进行以下目标查询,由于有些查询常用且较复杂,为了简化其应用,所以将它们定义

数据库应用系统开发案例-程序代码

数据库应用系统开发 数据库系统开发案例—图书现场采购系统系统主窗体的实现 1.数据表结构的实现 经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。 (1)创建书商图书基本信息表bookseller_bookinfo CREATE TABLE bookseller_bookinfo( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (2)创建图书馆图书馆藏基本信息表library_bookinfo CREATE TABLE library_bookinfo ( rec_id Bigint identity(1,1) PRIMARY KEY, isbn varchar(20) null, bookname varchar(200) null, author varchar(50) null, publisher_date varchar(50) null, publisher varchar(50) null, class_name varchar(50) null, book_price numeric DEFAULT 0, book_num int DEFAULT 0, provider varchar(50) null ) (3)创建用户注册表user_info CREATE TABLE user_info ( user_ID varchar(10) PRIMARY KEY , user_PWD varchar(10) null )

数据库及程序设计复习题及答案

数据库系统概论复习资料 第1章: 一选择题: 1.在数据管理技术的发展过程中, 经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中, 数据独立性最高的是阶段。 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案: A 2.数据库的概念模型独立于。 A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案: A 3.数据库的基本特点是。 A.(1)数据能够共享(或数据结构化) (2)数据独立性 (3)数据冗余大, 易移植 (4)统一管理和控制 B.(1)数据能够共享(或数据结构化) (2)数据独立性 (3)数据冗余小, 易扩充 (4)统一管理和控制 C.(1)数据能够共享(或数据结构化) (2)数据互换性 (3)数据冗余小, 易扩充 (4)统一管理和控制 D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小, 易扩充 (4)统一管理和控制 答案: B

4. 是存储在计算机内有结构的数据的集合。 A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案: B 5.数据库中存储的是。 A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案: C 6. 数据库中, 数据的物理独立性是指。 A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立答案: C 7. 数据库的特点之一是数据的共享, 严格地讲, 这里的数据共享是指。 A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据 C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案: D 8.数据库系统的核心是。 A.数据库 B.数据库管理系统 C.数据模型 D.软件工具答

《数据库程序设计》在线测试汇总

《数据库程序设计》第01章在线测试 A B C D 的主要功能不包括 A B C D 、多用户数据库要解决的关键问题是: A B C D 、除了能存储已知的事实外,还能存储用于逻辑推理的规则的数据库为: A B C D 中能从管理上对项目的开发与维护给予有效支持的的辅助设计工具为: A B C D

D、弹出式菜单平时不显示,仅当使用时才弹出。 2、数据库管理系统的功能包括: A、数据定义功能 B、数据操作功能 C、数据通讯功能 D、控制和管理功能 3、VFP的交互操作方式有 A、批处理 B、命令执行方式 C、图形界面操作 D、程序执行方式 4、数据库系统的特点是 A、能实现数据共享 B、数据结构化更强 C、数据独立性 D、可控冗余度 E、适合网络传送 5、项目管理器可以对项目中的进行管理。 A、文档 B、数据表 C、程序 D、菜单 E、类库 第三题、判断题(每题1分,5道题共5分)

正确错误、菜单项为灰色表示该项暂时不能使用。 正确错误、分布式数据库使用时没有集中式数据库存取速度快。 正确错误、数据库设计时,冗余度越小,质量越高。 正确错误、访问分布式数据库,需要指明数据的存放地点。 正确错误《数据库程序设计》第02章在线测试 A B C D 、通用型字段的嵌入和链接可以区别在于 A、嵌入的对象不会随原对象的变化而变化,链接的对象会随原对象的变化而变化。 B 对象会随原对象的变化而变化。 C链接和嵌入的对象都不会随原对象的变化而变化。D 、如果需要将一个表 A B C D Sb表中“

A、dele for 部门=“21” B、dele for 部门=“21” pack C、pack for 部门=“21” D、zap for 部门=“21” 5、删除SB表中的“部门”字段,命令为 A、drop 部门 c(2) B、alter table sb drop 部门 C、alter table sb drop 部门 c(2) D、drop 部门 第二题、多项选择题(每题2分,5道题共10分) 1、一个表打开时,那些文件会被打开 A、.dbf文件 B、相关的所有文件 C、备份文件 D、如果有备注,相应的.fpt文件也被打开 2、命令窗口不显示时,要使它再现,可以用 A、窗口菜单 B、SHIFT+F2 C、CTRL+F2 D、数据工作期 E、项目管理器 3、能获得当天日期的表达式或函数为 A、_diarydate B、date() C、time() D、year(date()) 4、在SB表中,显示编号首位为1的设备信息。 A、list for left(编号,1)=1

数据库应用与设计 (清华大学出版社)参考答案

《数据库应用与设计》习题参考答案 第1章习题参考答案 1、答案:数据库是长期储存在计算机设备上、相互关联的、可以被用户共享的数据集合。 2、答案:数据库中的数据共享带来如下好处:低冗余,保证数据的一致性,易于扩充。 但是数据库中的数据共享可能会引起并发访问的冲突,这就需要采用并发控制来 避免。 3、答案:因为概念数据模型可以真实地反映现实世界,被人们所理解。它是创建数据模型 的第一个阶段。 4、答案: 5、答案:因为多对多联系是一类比较复杂的联系,一般数据库管理系统也不直接支持多对 多联系(需要付出更大的代价),所以多对多联系通常需要转换成一对多联系的。 6、答案:存储数据独立性指当改变存储文件的组织方式或存储结构时,应用程序无需修改。 概念数据独立性指当概念文件的结构发生变化时,应用程序无需修改。 这两种数据独立性是通过三层结构获得的。在三层结构的方案中,CONCEPTUAL-ROUTINE保证了概念数据的独立性,而STORAGE-ROUTINE则保证了存储数据独立性。 7、答案:数据库模式是用数据描述语言对数据库结构的每一层的框架及结构进行的精确定 义。数据库模式分为存储模式(内模式)、概念模式(模式)、外部模式(子模式)。存储模式(内模式)定义了存储数据库结构,概念模式(模式)定义了概念数据库结构,外部模式(子模式)定义了外部数据库结构。 8、答案:用户程序通过DBMS修改一条记录时所发生的一系列事件如下: (1)用户程序A向DBMS发出修改一条记录的指令,这时,用户程序要给出外部文件名、记录的关键字值和要修改的信息。 (2)DBCS分析所接到的指令,访问对应的外部模式。

数据库课程设计题目16个经典实例

数据库课程设计题目16个经典实例 1、机票预定信息系统 系统功能得基本要求: 航班基本信息得录入,包括航班得编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等.按照一定条件查询、统计符合条件得航班、机票等;对结果打印输出. 2、长途汽车信息管理系统 系统功能得基本要求: 线路信息,包括出发地、目得地、出发时间、所需时间等.汽车信息:包括汽车得种类及相应得票价、最大载客量等.票价信息:包括售票情况、查询、打印相应得信息. 3、人事信息管理系统 系统功能基本要求: 员工各种信息:包括员工得基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息得修改;对转出、辞退、退休员工信息得删除;按照一定条件,查询、统计符合条件得员工信息;教师教学信息得录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息得录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等.按条件查询、统计,结果打印输出. 4、超市会员管理系统 系统功能得基本要求: 加入会员得基本信息,包括:成为会员得基本条件、优惠政策、优惠时间等.会员得基本信息,包括姓名、性别、年龄、工作单位、联系方式等.会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分得情况,享受优惠得等级等。对货物流量及消费人群进行统计输出。 5、客房管理系统 系统功能得基本要求: 客房各种信息,包括客房得类别、当前得状态、负责人等;客房信息得查询与修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息得修改。对查询、统计结果打印输出。 6、药品存销信息管理系统 系统功能基本要求 药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库与出库信息,包括当前库存信息、药品存放位置、入库数量与出库数量得统计. 7、学生选课管理信息系统 系统功能基本要求 教师信息,包括教师编号、教师姓名、性别、年龄、学历、职称、毕业院校,健康状况等。学生信息,包括学号、姓名、所属院系、已选课情况等.教室信息,包括,可容纳人数、空闲时间等.选课信息,包括课程编号、课程名称、任课教师、选课得学生情况等。成绩信息,包括课程编号、课程名称、学分、成绩。按一定条件可以查询,并将结果打印输出。 8、图书管理系统

C#.NET下三层架构数据库应用系统的开发

C#.NET 下三层架构数据库应用系统的开发 摘要:基于 C#.NET 下的三层架构数据库系统在目前的大型 Web 数据库体系中非常常见,这主要是因为它的开发模式相当快速便捷,且具有较高的可重复性和可维护性事物处理机制。本文结合实践应用论述了关于 C#.NET 三层架构数据库的应用标准流程,并给出了由数据库变化所导致的三层架构程序变化修改策略,以避免传统数据库应用系统中所存在的编译错误。 关键词:C#.NET;数据库应用系统;三层架构;访问层;表现层;逻辑层 C#作为一种计算机语言,它不仅仅局限于对.NET 应用程序的开发,它也能够基于 WinForm 程序展开设计开发流程,所以将C#编程语言移植到.NET平台中是较为常见的。在该语言的支持下,https://www.doczj.com/doc/9711545527.html,平台就应运而生。目前的https://www.doczj.com/doc/9711545527.html,平台可以支持例如企业 ERP、APS 等系统,其应用范围遍布于气象、交通、救护等领域,发挥着巨大的社会价值作用。但是随着数据库应用系统规模的越来越大,数据库内结构的越来越复杂,代码的出错率就越来越高,这就加大了维

护工作的难度。基于 C#.NET 语言环境下的三层架构 数据库应用系统就可以以它模块化的分层设计模型解决现有系统所存在的维护性及系统可用性问题,将复杂的问题简单化,促进系统功能体系的整体发挥。 一、对三层体系结构的分析 (一)三层体系结构的基本概况 三层体系结构就是在客户端与数据库间所加入的中间层,它也被称为是组件层。三层体系结构不是指代物理结构中的三层,而是基于逻辑思维的三层,它们共同作用于同一台设备上。 从应用功能角度来分析,三层体系结构中应用程序的数据访问、校验以及业务规则等等都放在了中间层实施处理。而通常情况下,三层体系结构是不提供客户端与数据库之间的交互的,它主要基于 COM/DCOM 通讯手段来和中间层衔接建立联系,并经由中间层与数据库实施交互作业。 (二)三层体系结构的交互具体操作流程三层体系结构的交互具体操作流程主要基于三点。第一点是数据访问层与数据库之间的交互,当访问层在数据库获取数据并将其传递到业务逻辑层后,业务的实际应用需要就会被满足。再者,业务逻辑层的数据操作指令也会实时传递至数据库,实现对数据 的接收、存储、处理和删除等基本操作。

数据库应用程序设计第一次离线作业答案

《数据库应用技术》作业 第六章 6、系统DSN 用户DSN 文档DSN 系统DSN 7、基于BDE的两层数据库应用程序、基于ADO的两层数据库应用程序、基于dbExpress 的两层数据库应用程序、基于InterBase的两层数据库应用程序 8、三层开发结构的数据库应用程序方法主要有三种:基于DataSnap技术开发的多层结构数据库应用程序、基于Bussiness Broker Server技术开发的多层数据库应用程序和基于逻辑三层结构的数据库应用程序。 9、ODBC各部件及层次关系图

10、 1)打开ODBC数据源管理器:执行【开始】->【控制面板】命令,在控制面板窗口中双击【性能维护】图标,再双击【管理工具】图标,然后再双击【数据源(ODBC)】图标,将会展示【ODBC数据源管理器】对话框 2)选择数据源类型并添加数据源:在【ODBC数据源管理器】对话框中单击【系统DSN】,再单“添加”按钮,出现【创建新数据源】对话框 3)选择驱动数据源的驱动程序:在【创建新数据源】对话框中,选择【Microsoft Access Driver (*.mdb)】后单击【完成】按钮,出现【ODBC Microsoft Access安装】对话框 4)设置数据源参数:在【数据源名】文本框中输入数据源名,在【说明】文本框中抒发说明信息。单击【选择】按钮,出现【选择数据库】对话框。在该对话框中选择对应的数据库名后单击【确定】按钮 5)在【ODBC Microsoft Access安装】对话框中单击【确定】按钮,完成数据源的配置。 11、 1)打开ODBC数据源管理器:执行【开始】->【控制面板】命令,在控制面板窗口中双击【性能维护】图标,再双击【管理工具】图标,然后再双击【数据源(ODBC)】图标,将会展示【ODBC数据源管理器】对话框 2)选择数据源类型并添加数据源:在【ODBC数据源管理器】对话框中单击【系统DSN】,再单“添加”按钮,出现【创建新数据源】对话框 3)选择驱动数据源的驱动程序:在【创建新数据源】对话框中,选择【SQL Server】后单击【完成】按钮,出现【创建到SQL Server的新数据源】对话框 4)为数据源命名并选择SQL 服务器:在【创建到SQL Server的新数据源】对话框的【名称】文本框中输入数据源名,在【描述】文本框中输入数据源的描述,在【服务器列表框中选择或输入SQL服务器的名称。设置好后单击【下一步】按钮,出现【创建到SQL Server 的新数据源】对话框(二) 5)设置登录ID和密码:在【创建到SQL Server的新数据源】对话框(二)中,选择【使用用户输入登录ID和密码的SQL Server验证】,然后在【登录ID】文本框中输入用户名,如系统管理员名为“sa”,在【密码】文本框中输入登录密码,如系统管理员的口令为tongaihong。登录ID和密码输入后,单击【下一步】按钮,出现【创建到SQL Server的新数据源】对话框(三) 6)选择数据库:在【创建到SQL Server的新数据源】对话框(三),选择【更改默认的数据库】,然后在其后的列表框中选择需要的数据库,单击【下一步】按钮,出现【创建SQL Server的新数据源】对话框(四)。通常该对话框不需要设置,单击【完成】按钮,出现【ODBC Microsoft SQL Server安装】对话框。在该对话框中列出了建立的数据源的所有相关信息。7)测试数据源:单击【测试数据源】按钮,出现【SQL Server数据源测试】对话框,如果测试成功经给出测试成功的信息 8)完成:单击【确定】按钮,退出【SQL Server数据源测试】对话框,出现【ODBC Microsoft SQL Server 安装】对话框,单击【确定】按钮,退出该对话框,出现【ODBC数据源管理器】对话框,可以看到系统数据源已经建立。单击【确定】按钮,退出该对话框,数据源名建立完毕。 12、 1)在Database Desktop应用程序中执行【Tools】->【Alias Manager】命令,出现【Alias Manager】对话框

数据库课程设计案例

目录 一、设计目的....................................... 错误!未定义书签。 二、设计内容....................................... 错误!未定义书签。 三、设计过程....................................... 错误!未定义书签。 E-R模型设计............................................ 错误!未定义书签。 关系模型设计........................................... 错误!未定义书签。 数据库的实现........................................... 错误!未定义书签。 四、设计总结....................................... 错误!未定义书签。 五、参考文献....................................... 错误!未定义书签。

小区物业管理系统数据库设计与实现 一、设计目的 经过十几年的发展,中国房地产业逐步走向成熟,物业管理也由新生到发展再到深入,面临着蓬勃发展的局面。随着ISO9002等管理体系在物业管理中的引入,对原有的物业管理模式进行了一次深刻的变革,对物业管理公司朝着正规化、科学化、集团化的发展,起到有力的推动作用。 随着我国经济发展和城市开发,住宅小区越来越成为居住的主流,小区物业管理是针对当代社会这一市场需要应运而生的。本系统是为住宅小区物业管理部门日常管理工作信息化,规范化而开发的软件。它以物业管理部门为服务中心,以业主(住户)为服务对象。通过实施各种服务项目,全面地反映了在小区物业经营管理活动中,物业部门与业主之间各种业务往来。使各项业务的办理迅速、准确,极大的提高了小区物业管理的工作效率。 由于物业管理涉及的管理范围较为广泛,管理内容繁杂,加上政策性的变动因素,日常工作需要耗费大量人力和物力,而采取现代化电脑管理手段是一种行之有效的解决方法,用计算机操作的小区物业管理系统是为小区管理者和小区用户更好的维护各项物业管理业务处理工作而开发的管理软件。 数据库在一个管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的及将来可能增加的需求。 二、设计内容 (1)E-R模型设计:对物业公司、业主等实体进行抽象,提取相关属性;并设计出E-R图; (2)关系模型设计:根据E-R模型图,将E-R模型转化为关系模型;要求关系模型符合3NF要求; (3)数据库的实现:在SQL Serve 2000中实现数据库及各数据表的建立。 三、设计过程 E-R模型设计 作为物业公司,主要是对物业公司员工进行管理,任务分配是由系统用户分配的,物业公司员工负责维护小区以及为业主服务,根据以上分析,可以大

mysql数据库程序设计题目

一、选择题 1.数据库系统的核心是_B___。 A.数据库 B.数据库管理系统 C.数据模型D.软件工具 2.SQL语言具有__B__的功能。 A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 3.SQL语言的数据操纵语句包括 SELECT,INSERT,UPDATE和 DELETE,最重要的,也是使用最频繁的语句是__A__。 A.SELECT B.INSERT C.UPDATE D.DELETE 4.在关系数据库设计中,设计关系模式是__C__的任务。 A.需求分析阶段 B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 5.__C__是DBMS的基本单位,它是用户定义的一组逻辑一致的程序序列。 A.程序 B.命令 C.事务 D.文件 6.在数据库中,产生数据不一致的根本原因是__D__。 A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制

D.数据冗余 6.在数据库中,产生数据不一致的根本原因是__D__。 A.数据存储量太大 B.没有严格保护数据 C.未对数据进行完整性控制 D.数据冗余 7.下列SQL语句中,创建关系表的是__B__。 A.ALTER B.CREATE C.UPDATE D.INSERT 8.数据库的__B__是为了保证由授权用户对数据库所做的修改不会影响数据一致性的损失。 A.安全性 B.完整性 C.并发控制 D.恢复 9.事务是数据库进行的基本工作单位。如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于_____B___状态。 A.安全性 B.一致性 C.完整性 D.可靠性 10.对并发操作若不加以控制,可能会带来数据的___D_问题。 A.不安全B.死锁C.死机 D.不一致 二、填空题 1.数据冗余可能导致的问题有____________________和_____________________。 答案:①浪费存储空间及修改麻烦②潜在的数据不一致性 2.数据库在运行过程中可能产生的故障有____________、_______________、 ___________。 答案:①Transaction failure ②System crash ③Disk failure

数据库课程设计题目16个经典实例学习资料.doc

数据库课程设计题目16个经典实例 1.机票预定信息系统 系统功能的基本要求: 航班基本信息的录入,包括航班的编号、飞机名称、机舱等级等。机票信息,包括票价、折扣、当前预售状态及经手业务员等。客户基本信息,包括姓名、联系方式、证件及号码、付款情况等。按照一定条件查询、统计符合条件的航班、机票等;对结果打印输出。 2.长途汽车信息管理系统 系统功能的基本要求: 线路信息,包括出发地、目的地、出发时间、所需时间等。汽车信息:包括汽车的种类及相应的票价、最大载客量等。票价信息:包括售票情况、查询、打印相应的信息。 3.人事信息管理系统 系统功能基本要求: 员工各种信息:包括员工的基本信息,如编号、姓名、性别、学历、所属部门、毕业院校、健康情况、职称、职务、奖惩等;员工各种信息的修改;对转出、辞退、退休员工信息的删除;按照一定条件,查询、统计符合条件的员工信息;教师教学信息的录入:教师编号、姓名、课程编号、课程名称、课程时数、学分、课程性质等。科研信息的录入:教师编号、研究方向、课题研究情况、专利、论文及著作发表情况等。按条件查询、统计,结果打印输出。 4.超市会员管理系统 系统功能的基本要求: 加入会员的基本信息,包括:成为会员的基本条件、优惠政策、优惠时间等。会员的基本信息,包括姓名、性别、年龄、工作单位、联系方式等。会员购物信息:购买物品编号、物品名称、所属种类,数量,价格等。会员返利信息,包括会员积分的情况,享受优惠的等级等。对货物流量及消费人群进行统计输出。 5.客房管理系统 系统功能的基本要求: 客房各种信息,包括客房的类别、当前的状态、负责人等;客房信息的查询和修改,包括按房间号查询住宿情况、按客户信息查询房间状态等。以及退房、订房、换房等信息的修改。对查询、统计结果打印输出。 6.药品存销信息管理系统 系统功能基本要求 药品信息,包括药品编号、药品名称、生产厂家、生产日期、保质期、用途、价格、数量、经手人等;员工信息,包括员工编号、姓名、性别、年龄、学历、职务等;客户信息,包括客户编号、姓名、联系方式、购买时间、购买药品编号、名称、数量等。入库和出库信息,包括当前库存信息、药品存放位置、入库数量和出库数量的统计。

数据库应用系统开发

第9章数据库应用系统开发 本章将介绍开发数据库应用系统的基本步骤,然后以一个比较简单的学生管理系统为例,较为详细地介绍设计一个Visual FoxPro应用系统的开发过程,通过对数据库系统的开发实践来达到对所学知识的综合应用。 9.1数据库应用系统开发步骤 一个完整的数据库应用系统的设计开发应该包括两个方面:一是结构设计,即设计数据库框架和数据库结构;二是行为设计,即设计具体的应用程序。为了完成上述的设计目标,需要规范的设计方法和步骤。一般来说,数据库应用系统的开发包括以下几个步骤:需求分析、数据库设计、应用程序设计、软件测试、应用程序发布以及系统的运行和维护。 9.1.1需求分析 数据库应用系统的开发从系统的需求分析开始,它是整个开发过程的起点和基础。需求分析的目标是明确用户的具体要求,包括应用系统的功能结构、信息要求、处理要求、安全性与完整性的要求等具体的指标,并以需求分析报告的形式表达出来。 一般来说,需求分析需要从以下两个方面着手:数据分析和功能分析。数据分析是指通过合适的数据模型来描述系统所要处理的各种对象,建立关于对象的概念模型,再将概念模型转换为关系数据模型。功能分析是指确定系统边界,了解系统功能,确定哪些功能由计算机完成,哪些活动由人工完成。由计算机完成的功能就是系统应该实现的功能。 进行需求分析时应该注意以下一些问题:首先,需求分析必须建立在调查研究的基础上,包括访问用户,了解人工系统模型,采集相关资料等。为确保调查的客观性和正确性,系统调查工作应该严格按照自顶向下的系统化观点全面展开,逐层分析和了解。其次,在需求分析阶段就要建立基于用户需求的观念,主动和用户进行沟通,了解他们的需求和偏好,在系统实施的过程中也要及时接受用户的反馈信息,对系统进行适当的修正。 9.1.2数据库设计 数据库设计的任务主要包括概念结构的设计、逻辑结构的设计和物理结构设计。 数据库的概念结构是现实世界与机器世界的中介,它一方面能够充分地反映现实世界,包括实体和实体之间的联系,同时又易于向关系数据模型转换。在概念结构设计阶段,设计人员通过对现实世界的抽象,对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,并把这些特性用各种概念精确地加以描述,从而形成一个具体的独立于数据库管理系统的概念模型。 数据库的逻辑结构设计是指将概念模型转化为关系数据库模型,根据系统分析的结果来确定该数据库中需要存储哪些信息,以及如何利用字段来合理地表示这些信息,从而定义出数据库中每个表所需的字段和数据类型。并在此基础上对数据进行优化,排除数据冗余,弥补数据漏洞,完善数据结构。最后完成数据库的逻辑结构设计,设计表的结构、字段约束关

数据库及程序设计(简答)

数据库及程序设计复习资料 三:简答题: 1.什么是数据库? 答:数据库是长期存储在计算机内、有组织的、可共享的数据集合。数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。 2.什么是数据库的数据独立性? 答:数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。 逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。当数据库的全局逻辑数据结构(概念视图)发生变化(数据定义的修改、数据之间联系的变更或增加新的数据类型等)时,它不影响某些局部的逻辑结构的性质,应用程序不必修改。 物理数据独立性是指数据的存储结构与存取方法(内视图)改变时,对数据库的全局逻辑结构(概念视图)和应用程序不必作修改的一种特性,也就是说,数据库数据的存储结构与存取方法独立。 3.什么是数据库管理系统? 答:数据库管理系统(DBMS)是操纵和管理数据库的一组软件,它是数据库系统(DBS)的重要组成部分。不同的数据库系统都配有各自的DBMS,而不同的DBMS各支持一种数据库模型,虽然它们的功能强弱不同,但大多数DBMS的构成相同,功能相似。 一般说来,DBMS具有定义、建立、维护和使用数据库的功能,它通常由三部分构成:数据描述语言及其翻译程序、数据操纵语言及其处理程序和数据库管理的例行程序。 4.什么是数据字典?数据字典包含哪些基本内容? 答:数据字典是数据库系统中各种描述信息和控制信息的集合,它是数据库设计与管理的有力工具,是进行详细数据收集和数据分析所获得的主要成果。数据字典的基本内容有:数据项、数据结构、数据流、数据存储和处理过程5个部分。 1、数据库设计一般分为哪几个阶段,每个阶段的主要任务是什么? 解答:(1)数据库设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。 (2)各阶段任务如下:①需求分析:准确了解与分析用户需求(包括数据与处理)。②概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型。③逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化。④数据库物理设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。⑤数据库实施:设计人员运用 DBMS 提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。⑥数据库运行和维护:在数据库系统运行过程中对其进行评价、调整与修改。 1、平凡的函数依赖: 在关系模式R(U)中,对于U的子集X和Y,如果X→Y,但Y ? X,则称X→Y是非平凡的函数依赖 2、非平凡的函数依赖: 在关系模式R(U)中,对于U的子集X和Y,若X→Y,但Y ? X, 则称X→Y是平凡的函数依赖

数据库系统课程设计--实例

摘要 数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。 随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视. 利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数据设计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。 本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。本系统利用IBM DB2企业版本开发出来的。DB2是IBM公司开发的关系关系数据库管理系统,它把SQL语言作为查询语言。 本文的分为5章。其中第1章主要是课题简介及设计的内容与目的。第2章是需求分析,此阶段是数据库设计的起点。第3章是概念设计,它是将需求分析的用户需求抽象为信息结构,这是整个数据库设计最困难的阶段。第4章是逻辑结构设计,它将概念模型转换为某个DBMS所支持的数据模型。第5章是数据库的实施与运行,它包括数据的载入及数据库的运行。 关键词:SQL语言;IBM DB2;数据库设计;教学管理系统 I

数据库及程序设计总复习试题及答案图文稿

数据库及程序设计总复习试题及答案 文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

数据库及程序设计复习资料 第1章数据库系统概述 一选择题: 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的是阶段。 A.数据库系统 B.文件系统 C.人工管理 D.数据项管理 答案:A 2.数据库的概念模型独立于。 A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A 3.数据库的基本特点是。 A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植(4)统一管理和控制 B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充(4)统一管理和控制 C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充(4)统一管理和控制 D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制 答案:B 4. 是存储在计算机内有结构的数据的集合。 A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构 答案:B 5.数据库中存储的是。 A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C 6. 数据库中,数据的物理独立性是指。

A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立 C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立 答案:C 7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是 指。 A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据 C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户相互覆盖地使用数据集合 答案:D 8.数据库系统的核心是。 A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B 9. 下述关于数据库系统的正确叙述是。 A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据 答案:A 10. 数将数据库的结构划分成多个层次,是为了提高数据库的①和 ②。 ①A.数据独立性 B.逻辑独立性 C.管理规范性 D.数据的共享 ②A.数据独立性 B.物理独立性 C.逻辑独立性 D.管理规范性 答案:①B ②B 11. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是。 A.DBS包括DB和DBMS B.DDMS包括DB和DBS C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS 答案:A

相关主题
文本预览
相关文档 最新文档