当前位置:首页 » 数据仓库 » 简捷数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

简捷数据库

发布时间: 2023-02-09 06:29:41

Ⅰ Nutanix 数据库服务( NDB )可以简化现在的数据库管理吗

当然可以!Nutanix 数据库服务( NDB )本来就是Nutanix推出的简化的产品组合,帮助客户加速创新脚步,面向 Postgresql®、MySQL®、Microsoft® SQL 服务器、Oracle® 数据库等数据库引擎,简化了在混合多云环境下的数据库管理。
NDB 具有强大的自动化功能,支持数据库实例的配置、扩展、修补、保护和克隆,还可以帮助客户在本地和公有云上为开发人员提供数据库即服务( DBaaS )和易用的自助式数据库管理体验,不论是新的还是已有的数据库。
Nutanix 推出的产品组合通过单一平台、一键式简捷部署、统一管理、数据中心化、多层次安全性、业务弹性、简化封装等操作,可以让我们无缝地扩展我们的应用程序,轻松设置和开展测试与开发,运行那些有着严格的安全性和业务连续性要求的任务关键型工作负载。
总而言之,Nutanix 数据库服务( NDB )对简化现在的数据库管理肯定不在话下,有需要的也可以多了解下▪⋅

Ⅱ mapinfo是什么软件能简单介绍一下么

Mapinfo是美国Mapinfo公司1986年推出的桌面地图信息系统,至今已从最初的Mapinfo for Dos 1.0 发展到了Mapinfo Professional 6.0。 Mapinfo产品定位在桌面地图信息系统上,与Arc/Info等大型GIS系统相比,因Mapinfo图元数据不含拓扑结构,它的制图及空间分析能力相对较弱,但对大众化的PC桌面数据可视及信息地图化应用来说,Mapinfo小巧玲珑,易学易用,价位较低,是一个优选GIS产品。Mapinfo提供了自己的二次开发平台,用户可以在平台上开发各自的GIS应用。二次开发方法归结起来有三种,它们是基于MapBasic的开发、基于OLE自动化的开发及利用MapX控件的开发。从早期的MapBasic到目前的MapX4.5,Mapinfo上的GIS系统开发变得越来越高效、简捷,下面介绍如何利用MapBasic、OLE自动化和MapX开发GIS应用系统。
一、利用MapBasic开发
MapBasic是Mapinfo自带的二次开发语言,它是一种类似Basic的解释性语言,利用MapBasic编程生成的*.mbx文件能在Mapinfo软件平台上运行,早期的Mapinfo二次开发都是基于MapBasic进行的。MapBasic学起来容易,用起来却束缚多多,无法实现较复杂的自定义功能,用它来建立用户界面也很麻烦,从现在角度看,MapBasic比较适合用于扩展Mapinfo功能。
二、利用OLE自动化开发
1. 建立Mapinfo自动化对象
基于OLE自动化的开发就是编程人员通过标准化编程工具如VC、VB、Delphi、PB等建立自动化控制器,然后通过传送类似MapBasic语言的宏命令对Mapinfo进行操作。实际上是将Mapinfo用作进程外服务器,它在后台输出OLE自动化对象,供控制器调用它的属性和方法。
OLE自动化开发的首要一步就是建立Mapinfo自动化对象,以Delphi为例(后面都是如此),你可设定一个Variant类型的全程变量代表OLE自动化对象,假设该变量名为olemapinfo,那么有:
oleMapinfo := CreateOleObject('Mapinfo.Application')
一旦OLE自动化对象建立,也就是后台Mapinfo成功启动,你就可以使用该对象的Do方法向Mapinfo发送命令,如:
oleMapinfo.Do('Set Next Document Parent' + WinHand + 'Style 1')
这一命令使Mapinfo窗口成为应用程序的子窗口,WinHand是地图窗口句柄,style 1 是没有边框的窗口类型。你还可以使用自动化对象的Eval方法返回MapBasic表达式的值,如下面语句返回当前所打开的表数:
TablesNum:=olemapinfo.eval('NumTables()')
你也可以直接调用Mapinfo菜单或按钮命令对地图窗口进行操作,如地图放大显示:
oleMapinfo.RunMenuCommand(1705)
2. 建立客户自动化对象触发CallBack
基于OLE自动化开发的难点在于所谓的CallBack,Mapinfo服务器对客户程序地图窗口的反应叫CallBack,假如你在地图窗口中移动地图目标,Mapinfo能返回信息告诉你地图目标当前的坐标位置,这就是CallBack功能。如果你想定制自己的地图操作工具或菜单命令,你必须依靠CallBack。但是想捕获CallBack信息,你的客户程序必须具备接收CallBack信息的能力,为此需要在客户程序中定义自己的OLE自动化对象,如:
//定义界面
IMyCallback = interface(IDispatch)
['{2F4E1FA1-6BC7-11D4-9632-913682D1E638}']
function WindowContentsChanged(var WindowID: Integer):SCODE;safecall;
function SetStatusText(var StatusText: WideString): SCODE; safecall;
//定义界面实现
TMyCallback = class(TAutoObject, IMyCallback)
function SetStatusText(var StatusText: WideString): SCODE; safecall;
function WindowContentsChanged(var WindowID: Integer): SCODE;safecall;
其中WindowContentsChanged函数用于返回变化窗口的ID号,即当地图窗口变化时(如放大、缩小),让Mapinfo将地图窗口的ID号返回给客户程序; 另一个SetStatusText函数返回Mapinfo状态条变化信息。编程人员不能随意定义这些函数,因为只有在三种情况下Mapinfo服务器的CallBack才会被触发:(1)地图窗口发生变化,触发函数为WindowContentsChanged;(2)Mapinfo状态条信息改变,触发函数为SetStatusText;(3)用户选择自定义工具或菜单命令在地图窗口上操作,如用户定制的画线工具,当用户在地图窗口画线时触发Mapinfo的CallBack返回线的坐标位置。
建立客户自动化对象后,调用MapInfo自动化对象的SetCallback方法将客户自己定义的自动化对象告诉Mapinfo,只要程序一运行,客户自动化对象就会自动在注册表中注册,然后就能收到CallBack信息了,如:
My:=MyCallBack.Create
oleMapInfo.SetCallBack(My)
这里打一个比方我想会有助于理解上述机制,客户程序与Mapinfo之间的交互就像舞台指挥与木偶演员的交流,客户程序中的地图窗口或说Mapinfo子窗口只不过是一个牵线木偶,后台的Mapinfo才是真正操纵木偶的演员,所以客户程序必须与后台Mapinfo建立正向、反向的联系机制,才能操纵地图窗口中的图形目标。
三、利用MapX开发
1. 掌握使用MapX
MapX是Mapinfo公司最新推出的ActiveX控件产品,目前已经发展到MapX4.5。由于MapX是基于Windows操作系统的标准控件,因而能支持VC、VB、Delphi、PB等标准化编程工具,使用时只需将控件装入开发环境,装入控件后,开发环境ActiveX工具条上会增加一个控件按钮Map,把它拖放到窗体上就可建立一个TMap类型的ActiveX地图对象Map,通过设置或访问该Map对象的属性、调用该Map对象的方法及事件,便能快捷地将地图操作功能溶入到你的应用程序中。
MapX由一系列Object(对象)和Collection(对象集合)组成,Map是最基本的对象,每个Map由Layer(层)、Dataset(数据集)和Annotation(标注)这三个对象及对象集合(Layers、Datasets、Annotations)来定义, 其中Layer用于操作地图图层,Dataset用于访问空间对象的属性数据,Annotation用于在地图上添加文本、符号等标注,掌握上述三个主要对象的特征后,再顺藤摸瓜掌握下一级对象的特征,如每个Layer又由Feature(点、线、面、文本图形目标)对象及对象集合(Features)定义,每个Dataset由Field(属性数据域)对象及对象集合(Fields)定义......,这样很快就能把MapX学到手。
2. 定义地图坐标系
在MapX开发中需要特别注意地图坐标系问题,MapX地图坐标系分为地图显示坐标系和内部计算坐标系,两者互为独立,在GIS应用开发中根据应用需要设置好这两种坐标系非常重要,因为坐标系一方面影响软件系统的内部坐标处理,另一方面影响地图的外观显示。Map对象的坐标系及投影通过CoordSys对象的Set方法定义:
Set(Type, [Datum], [Units], [OriginLongitude], [OriginLatitude],
[StandardParallelOne], [StandardParallelTwo], [Azimuth], [ScaleFactor],
[FalseEasting], [FalseNorthing], [Range], [Bounds], [AffineTransform])
其中主要参数:Type表示投影类型,Type为1时地图坐标以经纬度表示,后面都为可选参数,其中Datum为地球基准面;Units为坐标单位,如Units为7表示以米为单位;OriginLongitude、OriginLatitude分别为起始经度和纬度;StandardParallelOne、StandardParallelTwo为第一、第二标准纬线,该参数与地图投影相关。
通过设置Map对象的DisplayCoordSys和NumericCoordSys属性返回的CoordSys对象,就可设定地图显示坐标系和内部计算坐标系。举例如下:
procere TMain.DefineMapParam();
var
MapDatum: Variant;//地球基准面
begin
try
MapDatum := CreateOleObject('MapX.Datum.4'); //建立基准面对象
//定义北京54坐标系基准面
// (Ellipsoid, ShiftX, ShiftY, ShiftZ, RotateX, RotateY, RotateZ, ScaleAdjust, PrimeMeridian)
MapDatum.set(3, 24, -123, -94, -0.02, 0.25, 0.13, 1.1, 0);
//定义北京54坐标系经纬度作为内部计算坐标系
Map1.NumericCoordSys.Set_(1, MapDatum);
//定义北京54坐标系30度标准纬线麦卡托投影作为显示坐标系,单位为米
Map1.DisplayCoordSys.Set_(26,MapDatum,7,0,0,30);
finally
VarClear(MapDatum);
end;
坐标系是GIS系统的基石,正确设置坐标系是系统成败的关键。
3. 操纵地图对象
你可以简单地加载一个GeoSet文件,给Layers对象集合赋予具体的内容,随之在Map对象中就能看到地图显示,GeoSet文件类似MapInfo中的工作空间,MapX中带有Geoset文件的编辑器GeosetMangater.exe,用户可在编辑器中组合及设置图层,然后保存生成一个 *.gst 文件直接调入Map对象,这样可以节省时间。你也可以通过Layers对象的Add 或 Remove 方法添加或移走地图图层,如:
Map.layers.Add(FileName); // 添加图层,FileName为文件全路径名
Map.Layers.Remove(3); // 移走地图第三层
Layers对象由一组Layer对象组成,通过Layer对象的Features和Selection对象集合你可以操纵和选择图层上的图形目标,如:
Map.Layers.Item(1).AddFeature(Newobj); //将新建对象Newobj添加到图层一
4. 地图数据捆绑
数据捆绑是将不同来源的数据对应到地图层的过程,捆绑结果会产生一个Dataset对象,Dataset对象的集合组成Datasets Collection,它定义了Map对象的数据集属性。 你可以通过Datasets将不同来源的数据捆绑到地图上实现图文互动,或创建专题图,如下例ODBC Access数据的捆绑及专题分析:
procere TMapForm.ODBC1Click(Sender: TObject);
var
param: ODBCQueryInfo ;
ds: Dataset; //定义数据集
Datafields: Fields; //定义数据域
begin
param.SqlQuery := 'select * from China'; //选择Access数据库中的China表
param.DataSource := 'MapChina'; //ODBC 数据源名
param.ConnectString := 'ODBC;'; //或是user = ... Pwd = ... , 定义ODBC连接
Datafields.Add('GEONAME','GEONAME', miAggregationAuto,miTypeString); //添加数据域GEONAME
Datafields.Add('POPU','POPU', miAggregationAuto,miTypeNumeric); //添加数据域POPU
//将Access数据捆绑到Mapinfo China表
ds := Map.Datasets.Add(miDataSetODBC, param, unassigned, unassigned, unassigned, 'CHINA', Datafields, unassigned);
ds.Themes.Add(miThemeRanged, 'POPU', 'MyTheme'); //添加一个范围专题图
end;
5. 建立客户定制工具
你还可以定制自己的地图操作工具,下面通过定制一个名为Info的信息按钮工具简述方法步骤:
(1)定义客户工具常量
Const CUSTOM_INFO_TOOL = 1
(2)利用Map对象的CreateCustomTool方法定义客户工具,方法为:
CreateCustomTool (ToolNumber, Type, Cursor, [ShiftCursor] , [CtrlCursor], [InfoTips])
其中ToolNumber为工具号,即上面定义的常量;Type为工具类型;Cursor为光标形状,其他参数可选。
//定义Info工具为十字光标点触发工具
Map.CreateCustomTool(CUSTOM_INFO_TOOL, miToolTypePoint, miCrossCursor, miArrowCursor, miArrowCursor, unassigned)
(3)在Map对象事件ToolUsed中编写工具的Handler(操作内容)
procere TMain.MapToolUsed(Sender: TObject; ToolNum: Smallint; X1, Y1, X2, Y2, Distance: Double;
Shift, Ctrl: WordBool; var EnableDefault: WordBool);
begin
Case ToolNumber of
CUSTOM_INFO_TOOL : //信息工具Info
try
……
end;
(4)定义信息按钮的Click事件
procere TMain.InfoClick(Sender: TObject);
begin
Map.CurrentTool:=CUSTOM_INFO_TOOL;
end
四、小结
基于MapBasic的开发简单但受限制较多,比较适合Mapinfo功能扩展编程。而基于OLE自动化的开发比较繁琐,因为需要来回向后台的Mapinfo发送MapBasic字符串命令,所建立的应用程序运行速度也相对较慢,但这种开发方法能随心所欲制作出美观友好的界面,将地理操作与非地理操作溶为一体,并且能实现几乎100%的Mapinfo功能,这是目前的MapX4.5也不能比拟的。与传统GIS专业性开发环境相比,像MapX这类组件式GIS系统的出现可说是一种质的飞跃,它小巧灵活,开发简捷,价格便宜,以后会越来越大众化。 用MapX开发的GIS系统运行速度快,因为它不需要在Mapinfo软件平台上运行。但从目前MapX4.5看,MapX并没能实现所有的Mapinfo功能(据称95%以上),使用过程中发现其生成或编辑地图能力及地理分析能力不足,而且里面Bug也不少,当然随着今后新版的推出,MapX会越来越稳定、完美。

Ⅲ 什么是数据库储存数据的基本组件

1 Session组件。它提供应用程序中数据库的有关信息,在单机数据库编程中不显式地使用它,这是因为每个数据库应用程序运行时,Delphi将自动创建一个缺省Session组件,用户可在程序中使用这个缺省的Session组件,而没有必要在设计时设置一个Session组件。Table、Query等组件的属性中有一个SessionName属性,缺省为“Default”,这就是缺省的Session组件。比较常用的是用它的GetTableNames方法,在一些查询有时需要用户选择数据库中的数据表名称列表。比如在列表框中列出我们的数据库别名lklb中所有的数据表名称,代码如下(窗体上要有激活的数据集组件并指明了数据库别名):

procere TForm1.Button1Click(Sender: TObject);

var MyStringList :TStringList;

begin

MyStringList := TStringList.Create;

try

Session.GetTableNames('lklb', '',False, False, MyStringList);

ListBox1.Items := MyStringList;

finally

MyStringList.Free;

end;

end;

GetTableNames方法的语法如下,

语法:Session.GetTableNames(DataBaseName,Pattern,Extensions,SystemTables,List)。

参数说明:

DataBaseName——数据库名称。

Pattern——数据表类型,用来限制返回哪种类型的数据表,比如是.DB还是.DBF,如果为空则返回所有类型数据表,可以用通配符。

Extentions——布尔型变量,控制返回的数据表是否有扩展名。

SystemTables——对一些数据库来说有系统数据表,若设定为True则返回的数据表名称包括系统数据表。一般设定为False 。

List—保存数据表名称的字符串行表。

2 DBNavigator组件。DBNavigator组件主要用于为用户操作数据集中的记录提供简捷的控制按钮。用户单击其中的按钮就可完成移动记录指针、插入、删除、修改、保存、刷新记录等功能。它的 VisibleButtons属性可指定哪些按钮显示,通过设置Hints属性可以为各控制按钮设置其他的动态提示信息,用户自己设置的动态提示信息会覆盖原来的提示信息,对我们来说提示信息写成中文比较好。

3 DBtext组件。相当于标签(Label)组件,只不过它用于显示数据库中的字段值,其显示内容随记录指针的变化而变化。它的DataField属性指定要显示内容的字段名称。

4 DBEdit组件。用于显示、修改数据表字段值。由于DBEdit一般用来修改或添加新记录使用,所以其ReadOnly属性一般设定为False,若设定为True则不可修改字段内容。

Ⅳ 什么是数据库生成数据的基本组件

一、Session组件。它提供应用程序中数据库的有关信息,在单机数据库编程中不显式地使用它,这是因为每个数据库应用程序运行时,Delphi将自动创建一个缺省Session组件,用户可在程序中使用这个缺省的Session组件,而没有必要在设计时设置一个Session组件。

二、DBNavigator组件。DBNavigator组件主要用于为用户操作数据集中的记录提供简捷的控制按钮。用户单击其中的按钮就可完成移动记录指针、插入、删除、修改、保存、刷新记录等功能。

三、DBtext组件。相当于标签(Label)组件,只不过它用于显示数据库中的字段值,其显示内容随记录指针的变化而变化。它的DataField属性指定要显示内容的字段名称。

四、DBEdit组件。用于显示、修改数据表字段值。由于DBEdit一般用来修改或添加新记录使用,所以其ReadOnly属性一般设定为False,若设定为True则不可修改字段内容。

Ⅳ 关于数据库原理与应用的几个问题

1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:
( l )数据( Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。 500 这个数字可以表示一件物品的价格是 500 元,也可以表示一个学术会议参加的人数有 500 人,还可以表示一袋奶粉重 500 克。
( 2 )数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
( 3 )数据库系统( DataBas 。 Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。 DBMS 的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析 DBMS 是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制 DBMS 的厂商及其研制的 DBMS 产品很多。着名的有美国 IBM 公司的 DBZ 关系数据库管理系统和 IMS 层次数据库管理系统、美国 Oracle 公司的 orade 关系数据库管理系统、 s 油 ase 公司的 s 油 ase 关系数据库管理系统、美国微软公司的 SQL Serve ,关系数据库管理系统等。

2 .使用数据库系统有什么好处?
答:
使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS 来完成。用一个通俗的比喻,使用了 DBMS 就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是 DBA 的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS 在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由 DBMS 执行。总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。

3 .试述文件系统与数据库系统的区别和联系。
答:
文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。
文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而 DBMS 是独立于操作系统的软件。但是 DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。

4 .举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。答 :
( l )适用于文件系统而不是数据库系统的应用例子数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期功能比较简单、比较固定的应用系统也适合用文件系统。
( 2 )适用于数据库系统而非文件系统的应用例子目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。例如,一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等),学校的学生管理系统,人事管理系统,图书馆的图书管理系统,等等,都适合用数据库系统。希望读者能举出自己了解的应用例子。

5 .试述数据库系统的特点。
答:
数据库系统的主要特点有:
( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。解析注意这里的“整体’夕两个字。在数据库系统中,数据不再针对某一个应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且数据的存取单位即一次可以存取数据的大小也很灵活,可以小到某一个数据项(如一个学生的姓名),大到一组记录(成千上万个学生记录)。而在文件系统中,数据的存取单位只有一个:记录,如一个学生的完整记录。
( 2 )数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充。解析数据共享可以大大减少数据冗余,节约存储空间,同时还能够避免数据之间的不相容性与不一致性。所谓“数据面向某个应用”是指数据结构是针对某个应用设计的,只被这个应用程序或应用系统使用,可以说数据是某个应用的“私有资源”。所谓“弹性大”是指系统容易扩充也容易收缩,即应用增加或减少时不必修改整个数据库的结构,只需做很少的改动。可以取整体数据的各种子集用于不同的应用系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据,便可以满足新的需求。
( 3 )数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。数据库管理系统的模式结构和二级映像功能保证了数据库中的数据具有很高的物理独立性和逻辑独立性。
( 4 )数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。为此, DBMS 必须提供统一的数据控制功能,包括数据的安全性保护、数据的完整性检查、并发控制和数据库恢复。解析 DBMS 数据控制功能包括四个方面:数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏;数据的完整性检查:将数据控制在有效的范围内,或保证数据之间满足一定的关系;并发控制:对多用户的并发操作加以控制和协调,保证并发操作的正确性;数据库恢复:当计算机系统发生硬件故障、软件故障,或者由于操作员的失误以及故意的破坏影响数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失时,能将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)。下面可以得到“什么是数据库”的一个定义:数据库是长期存储在计算机内有组织的大量的共享的数据集合,它可以供各种用户共享,具有最小冗余度和较高的数据独立性。 DBMS 在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。

6 .数据库管理系统的主要功能有哪些?
答:
( l )数据库定义功能;
( 2 )数据存取功能;
( 3 )数据库运行管理;
( 4 )数据库的建立和维护功能。

7 .试述数据模型的概念、数据模型的作用和数据模型的三个要素。
答:
数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。
( l )数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
( 2 )数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。
( 3 )数据的约束条件:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。解析数据模型是数据库系统中最重要的概念之一。必须通过 《 概论 》 的学习真正掌握数据模型的概念和作用。数据模型是数据库系统的基础。任何一个 DBMS 都以某一个数据模型为基础,或者说支持某一个数据模型。数据库系统中,模型有不同的层次。根据模型应用的不同目的,可以将模型分成两类或者说两个层次:一类是概念模型,是按用户的观点来对数据和信息建模,用于信息世界的建模,强调语义表达能力,概念简单清晰;另一类是数据模型,是按计算机系统的观点对数据建模,用于机器世界,人们可以用它定义、操纵数据库中的数据,一般需要有严格的形式化定义和一组严格定义了语法和语义的语言,并有一些规定和限制,便于在机器上实现。

8 .试述概念模型的作用。
答:
概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

9 .定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图( E 一 R 图)
答:
实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:惟一标识实体的属性集称为码。实体联系图( E 一 R 图):提供了表示实体型、属性和联系的方法: • 实体型:用矩形表示,矩形框内写明实体名; • 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来; • 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1 : 1 , 1 : n 或 m : n )。
17 .试述网状、层次数据库的优缺点。
答:
层次模型的优点主要有: ( l )模型简单,对具有一对多层次关系的部门描述非常自然、直观,容易理解,这是层次数据库的突出优点; ( 2 )用层次模型的应用系统性能好,特别是对于那些实体间联系是固定的且预先定义好的应用,采用层次模型来实现,其性能优于关系模型; ( 3 )层次数据模型提供了良好的完整性支持。
层次模型的缺点主要有: ( l )现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型不能自然地表示这类联系,只能通过引入冗余数据或引入虚拟结点来解决; ( 2 )对插入和删除操作的限制比较多; ( 3 )查询子女结点必须通过双亲结点。
网状数据模型的优点主要有: ( l )能够更为直接地描述现实世界,如一个结点可以有多个双亲; ( 2 )具有良好的性能,存取效率较高。
网状数据模型的缺点主要有: ( l )结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握; ( 2 )其 DDL 、 DML 语言复杂,用户不容易使用。由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径。因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

18 .试述关系模型的概念,定义并解释以下术语: ( l )关系( 2 )属性( 3 )域( 4 )元组 ( 5 )主码( 6 )分量( 7 )关系模式
答:
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。 ( l )关系:一个关系对应通常说的一张表; ( 2 )属性:表中的一列即为一个属性; ( 3 )域:属性的取值范围; ( 4 )元组:表中的一行即为一个元组; ( 5 )主码:表中的某个属性组,它可以惟一确定一个元组; ( 6 )分量:元组中的一个属性值; ( 7 )关系模式:对关系的描述,一般表示为关系名(属性 1 ,属性 2 , … ,属性 n )

19 .试述关系数据库的特点。
答:
关系数据模型具有下列优点: ( l )关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。 ( 2 )关系模型的概念单一,无论实体还是实体之间的联系都用关系表示,操作的对象和操作的结果都是关系,所以其数据结构简单、清晰,用户易懂易用。 ( 3 )关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。当然,关系数据模型也有缺点,其中最主要的缺点是,由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。

20 .试述数据库系统三级模式结构,这种结构的优点是什么?
答:
数据库系统的三级模式结构由外模式、模式和内模式组成。(参见书上图 1 . 29 ) 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给 DBMs 管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

21 .定义并解释以下术语:模式、外模式、内模式、 DDL 、 DML 模式、外模式、内模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通常是模式的子集。内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。 DDL :数据定义语言,用来定义数据库模式、外模式、内模式的语言。 DML :数据操纵语言,用来对数据库中的数据进行查询、插入、删除和修改的语句。

22 .什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?
答:
数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

23 .试述数据库系统的组成。
答:
数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

24 . DBA 的职责是什么?
答:
负责全面地管理和控制数据库系统。具体职责包括: ① 决定数据库的信息内容和结构; ② 决定数据库的存储结构和存取策略; ③ 定义数据的安全性要求和完整性约束条件; ④ 监督和控制数据库的使用和运行; ⑤ 改进和重组数据库系统。 25 .系统分析员、数据库设计人员、应用程序员的职责是什么?答系统分析员负责应用系统的需求分析和规范说明,系统分析员要和用户及 DBA 相结合,确定系统的硬件、软件配置,并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。

1 .试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。

2 .试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:
关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。

4 .试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。

5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
1)求供应工程J1零件的供应商号码SNO:
πSno(σSno=‘J1’(SPJ))
2)求供应工程J1零件P1的供应商号码SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供应工程J1零件为红色的供应商号码SNO:
πSno(σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ))
4)求没有使用天津供应商生产的红色零件的工程号JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P)
5)求至少用了供应商S1所供应的全部零件的工程号JNO:
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))

6.试述等值连接与自然连接的区别和联系。
答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

7.关系代数的基本运算有哪些 ? 如何用这些基本运算来表示其他运算?
答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。
1 .试述 sQL 语言的特点。
答:
(l)综合统一。 sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体。
(2)高度非过程化。用 sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及 sQL 语句的操作过程由系统自动完成。
(3)面向集合的操作方式。 sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。
(5)语言简捷,易学易用。

2 .试述 sQL 的定义功能。
sQL 的数据定义功能包括定义表、定义视图和定义索引。 SQL 语言使用 cREATE TABLE 语句建立基本表, ALTER TABLE 语句修改基本表定义, DROP TABLE 语句删除基本表;使用 CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引;使用 CREATE VIEW 语句建立视图, DROP VIEW 语句删除视图。

1 .什么是数据库的安全性?
答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

2 .数据库安全性和计算机系统的安全性有什么关系?
答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。
系统安全保护措施是否有效是数据库系统的主要指标之一。
数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的,

3 .试述可信计算机系统评测标准的情况,试述TDI / TCSEC 标准的基本内容。
答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD )正式颁布的《 DoD 可信计算机系统评估标准》 (伽sted Co 哪uter system Evaluation criteria ,简称TcsEc ,又称桔皮书)。(TDI / TCSEC 标准是将TcsEc 扩展到数据库管理系统,即《 可信计算机系统评估标准关于可信数据库系统的解释》 (Tmsted Database Interpretation 简称TDI , 又称紫皮书)。在TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。
TDI 与TcsEc 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。
5 .试述实现数据库安全性控制的常用方法和技术。
答:实现数据库安全性控制的常用方法和技术有:
( l )用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
( 2 )存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。
( 3 )视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
( 4 )审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
( 5 )数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。

6 .什么是数据库中的自主存取控制方法和强制存取控制方法?
答:
自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。
强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

7 .SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。
答:
SQL 中的自主存取控制是通过GRANT语句和REVOKE语句来实现的。如:
GRANT SELECT , INSERT ON Student
TO 王平
WITH GRANT OPTION ;
就将Student 表的SELECT 和INSERT 权限授予了用户王平,后面的“WITH GRANT OPTION ”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户。
REVOKE INSERT ON Student FROM 王平CASCADE ;
就将Student 表的INSERT 权限从用户王平处收回,选项CASCADE 表示,如果用户王平将Student 的INSERT 权限又转授给了其他用户,那么这些权限也将从其他用户处收回。

Ⅵ 在数据库访问量过大时,怎样提高访问速度

在ASP中优化数据库处理

ASP是一个WEB服务器端的开发环境,它提供了一种简单易学的脚本(VBScript或Jscript),并带有许多内置的对象,从而提供了一条简捷的编程之路。更为重要的是,ASP中提供了ADO对象,让程序员可以轻松操作各种数据库,从而可以产生和运行动态的、交互的WEB服务应用程序。目前,国内很多电子商务站点都采用了ASP技术来与数据库交互,为用户提供各类服务。
由于电子商务站点的大部分信息都存放在数据库中,要提高WEB的响应速度,建立高性能的电子商务站点,很大一部分取决于ASP与数据库之间的处理性能。因此,在ASP编写时,要注意数据库处理方法。
1、 使用Connection pool机制
在数据库处理中,资源花销最大的是建立数据库连接,而且用户还会有一个较长的连接等待时间。若每一个用户访问时,都重新建立连接,不仅用户要长时间等待,而且系统有可能会由于资源消耗过大而停止响应。如果能够重用以前建立的数据库连接,而不是每次访问时都重新建立连接,则可以很好地解决这些问题,从而提高整个系统的性能。在IIS+ASP处理体系中,采用了Connection pool机制来保证这一点。
Connection pool的原理是,IIS+ASP体系中维持了一个连接缓冲池,建立好的数据库连接在ASP程序中的断开都是逻辑断开,而实际的物理连接被存储在池中并被维护。这样,当下一个用户访问时,直接从连接缓冲池中取得一个数据库连接,而不需重新连接数据库,因此,可以大大地提高系统的响应速度。
为了正确使用Connection pool时,必须注意以下几点:
a). 在MDAC2.0以前的版本中,必须经过数据库驱动程序的配置才能使用Connection Pool;在以后的版本中(比如MDAC2.1),缺省是使用Connection Pool机制。具体配置情况可以参见微软公司的站点()。
顺便提一句,在使用ORACLE数据库时,最好使用微软提供的驱动程序。
b). 每次数据库连接串参数必须相同,否则会被认为是不同的连接而重新去连接数据库,而不是使用缓冲池中的连接。最好的做法是将连接串存储在Application变量中,所有的程序在建立连接时使用Application变量的值。
c). 为了更好地使用和维护连接缓冲池,建议在程序中使用以下的方法对数据库连接进行操作,因为隐式使用数据库连接时不能利用缓冲池的机制:
¨ 显示地创建连接对象: Set conn=Server.CreateObject(“Adodb.connection”)
¨ 建立数据库连接:conn.open Application(“connection_string”),…
¨ 进行数据库操作:…
¨ 显式地关闭连接对象:conn.close

2、 利用直接的Ole DB驱动程序
在Asp中,通过ADO可以使用两种方式连接数据库,一种是传统的ODBC方式,一种是Ole DB方式。由于ADO是建立在Ole DB技术上的,为了支持ODBC,必须建立相应的Ole DB 到ODBC的调用转换(如MS Oledb provider for ODBC)。而使用直接的Ole DB方式(如MS Oledb provider for Sql, Oracle),则不需转换,从而提高处理速度,同时,还能利用Ole DB的新特性。

3、 在内存中缓存ADO对象或其内容
通常,在ASP程序中,都会涉及到一些存储在数据库中的常用信息,如省份列表,商品分类等,这些信息对于每一个访问用户都是相同的。若每一个用户访问时,都要去数据库里取出来,然后显示给用户,不仅会使数据库服务器负载加重,无法快速服务于更重要的事务处理,而且WEB服务器也必须不停地创建ADO对象,消耗大量资源,导致了当用户很多时几乎失去响应。若能把一些常用信息事先存储在内存中,当用户访问时,直接从内存中取出,显示给用户,则可以大大减小系统的压力,提高响应速度。
比如,我们可以把已经取得了数据的RecordSet对象存储在Application变量中,当用户访问时,从Application变量中取得RecordSet对象,而不需再次建立数据库连接;也可以将RecordSet对象里的数据以其他方式存储,比如存储在数组中,然后再将数组存储在Application变量中,使用时用数组的方式读取。
需要注意的是,一个对象要存储在Application变量中,线程模式必须是Both;对于不满足该条件的对象,必须以其他方式,比如转换成数组的方式存储在Application变量中,这也是上面所说的将内容存储在数组中的原因。

4、 使用数字序列
在Asp程序中,从诸如RecordSet中读取数据时,为了方便,常使用数据库列名的方式进行:
Response.write rs(“fieldnameN”)
而很少采用该数据库列名所在的数字序列来读取,即:
Response.write rs(N)
其实,为了从RecordSet得到列值,ADO必须将列名转化为数字序列,因此,若直接使用数字序列,则可以提高读取速度。若感觉使用数字序列,程序可读性不直观,可以采用建立常量的方法,定义:
const FIELDNAME1 1

5、 使用数据库过程(procere)
在电子商务站点中,尤其是要进行交易的站点,为了完成交易,可能需要多次查询大量的信息,用于判定是非,然后更新入库。若在编写Asp时,直接在一个程序中作多次数据库操作,不仅IIS要创建很多ADO对象,消耗资源,而且加重了数据库服务器的负担,增大了网络流量。若把多次数据库操作流程定义为一个数据库过程,用如下方式调用:
connection.execute “”
则可以利用数据库的强大性能,大大减轻Web系统的压力,而且由于页面内容与业务分开,管理维护也变得方便。

6、 使用优化过的sql语句
对于电子商务网站,最主要的就是要保证,不论访问用户的多少,系统都要有足够快的响应速度。由于在Asp技术中,ADO对象消耗的资源是非常大的,若一个sql语句要执行很长的一段时间,对整个资源也将一直占用,使系统没有足够的资源服务于其它用户。因此,尽量使用优化过的sql语句,减少执行时间。比如,不使用在in语句中包含子查询的语句,充分利用索引。

7、 利用数据库的特性
ADO是一套通用的对象控件,本身没有利用数据库的任何特性。但若在Asp程序编写时,有意识地考虑结合数据库的特性,往往可以有很好的效果。
比如,Oracle数据库服务器对于执行过的sql语句,通常都经过了分析优化,并存储在一个sql内存缓冲区中,当下次同样的sql语句请求时,直接从内存缓冲区取出执行,不再进行分析优化,从而可以大幅度提高性能。这就要求在Asp程序编写时,尽量使用相同的Sql语句,或者参数化的Sql语句:
Set cmd=Server.createobject(“adodb.command”)
cmd.CommandText=”select * from proct where proctcode=?”

8、 用时创建,用完释放
在前面也提到过,ADO对象是非常消耗资源的,因此一定要牢牢记住,只在用到ADO对象时才创建,用完后马上释放:
set rs=Server.createobject(“adodb.recordset”)
….
rs.close
set rs=nothing

愿您愉快地编程,让人们享受社会信息化所带来的好处。

Ⅶ 数据表与数据库的区别是什么

数据表: 表要包括fileid, filename, filecontent等,fileid自己定义一个递增的,filename就是你的文件名,filecontent就是你的文件内容,管理这个表就可以了。

文件内容存到数据库

DataBaseName——数据库名称。

Pattern——数据表类型,用来限制返回哪种类型的数据表,比如是.DB还是.DBF,如果为空则返回所有类型数据表,可以用通配符。

Extentions——布尔型变量,控制返回的数据表是否有扩展名。

SystemTables——对一些数据库来说有系统数据表,若设定为True则返回的数据表名称包括系统数据表。一般设定为False 。

List—保存数据表名称的字符串行表。

2 DBNavigator组件。DBNavigator组件主要用于为用户操作数据集中的记录提供简捷的控制按钮。用户单击其中的按钮就可完成移动记录指针、插入、删除、修改、保存、刷新记录等功能。它的 VisibleButtons属性可指定哪些按钮显示,通过设置Hints属性可以为各控制按钮设置其他的动态提示信息,用户自己设置的动态提示信息会覆盖原来的提示信息,对我们来说提示信息写成中文比较好。

3 DBtext组件。相当于标签(Label)组件,只不过它用于显示数据库中的字段值,其显示内容随记录指针的变化而变化。它的DataField属性指定要显示内容的字段名称。

4 DBEdit组件。用于显示、修改数据表字段值。由于DBEdit一般用来修改或添加新记录使用,所以其ReadOnly属性一般设定为False,若设定为True则不可修改字段内容。

5 DBMemo组件。主要用于显示和编辑数据库表中的大二进制(BLOB)类型的字段值,一般用来处理备注型字段的值,能够显示多行文本。MaxLength属性设置该属性的值用于限制用户向DBMemo 组件中输入字符的个数。若设置该值为0时,表示输入字符的个数没有限制。注意:在运行过程中,用户对DBMemo组件中显示的文本信息是不能够进行剪切、拷贝和粘贴操作的。由于DBMemo组件中包含着大量的文本信息,当指针移动时要更新显示其中的信息需要花费很多的时间,用户可以通过AutoDisplay属性来控制是否自动显示表中的备注型字段。当AutoDisplay设置为False时,在DBMemo组件中只显示其对应表中的字段名而不显示字段中的文本信息,用户如果想浏览字段中的文本信息,用鼠标左键双击DBMemo组件的内部即可;当设置AutoDisplay属性为True时,在DBMemo组件中会自动地显示其对应数据库表中的字段值。

6 DBImage组件。与DBMemo组件类似,它是用来显示和编辑数据库表中的BLOB类型的位图图像字段的。DBImage的ReadOnly属性值若设定为False,就允许用户对位图图像进行编辑,如将图像剪切或拷贝到剪帖板上或从剪帖板上粘帖到DBImage组件中等操作。

7 DBListBox组件。用来当用户修改字段值时显示一个字段值列表供用户选择。在运行过程中,用户单击其中的可选项可以为DBListBox 组件对应的字段赋值,用户不能自己从键盘上输入一个列表框中不存在的字段值。

8 DBComboBox组件。可以认为它是DBEdit组件和DBListBox组件的合成,DBComboBox的可选项也是在设计阶段由程序设计人员设计的。当用户修改当前记录中的字段时,可以直接输入新的字段,也可以打开下拉式列表框选择其中的一个可选项(受Style属性的限制)。Sorted属性决定列表框中的可选项是否按字母的排列顺序排序。 技巧:DBComboBox组件和ComboBox组件有类似的智能查找功能:当用户在编辑框中输入一个字符或汉字后,打开下拉框,会自动移到与第一个字符相同的选项处,依次下去,用户一般只需输入少量的几个字符就可以找到相应的选项。这在选项比较多的情况下非常有用。当然,Sorted属性必须设定为True,否则可能会找不到所需的选项。

9 DBLookupListBox组件。该组件提供多个可选项,但这多个可选项是从相关的其它数据库表中读取的,不是设计时手工输入的,这是其特点。ListSource属性指明DBLookupListBox组件列表选项的数据源,这是非常重要的,否则DBLookupListBox组件不知道从何处去获取数据充填列表框。 一般放置DataSource组件和其相连。ListField属性指定要充填列表框的数据字段,可以一次列出多个字段的内容,但只能选择一个字段的内容去给和DBLookupListBox组件指定的字段赋值,所以必须指定关键字段KeyField。 KeyField属性 和ListField属性相配合使用,指明选择列表中的哪个字段内容为DBLookupListBox组件指定的字段(DataField属性指定)赋值,如果列表中只有一个字段,那么KeyField和ListField应相同。KeyField 属性必须指定,此属性允许一次设定多个字段,每个字段之间用分号隔开即可。使用多个列表字段的好处在于,用户在选择KEY字段内容的同时,可以了解有关的其他信息。

10 DBLookupComboBox组件。此组件结合了DBEdit组件和DBLookupListBox组件的功能,用户可以直接向该组件中输入字段值,也可以从下拉式列表框中选择一个可选项,只是下拉式列表框中的可选项是从相关的其他数据库表中读取来的。其属性设置可参考前面的DBComboBox和DBLookupListBox组件。

注意:上面的四个组件DBListBox、DBLookupListBox 、DBComboBox、DBLookupComboBox只能与Table组件配合使用,而不能与Query组件配合使用。

11 DBCheckBox组件。一般用来和数据表中布尔型字段相连。这样一来用户就不必要再输入True/False了,用起来比较方便。它和CheckBox组件的区别在于:DBCheckBox组件必须和数据表中的布尔型字段相连,而CheckBox的数值在程序中给出。

12 DBRadioGroup组件。和某个字段相连,此字段值只能为DBRadioGroup组件的固定数值之一(由用户选择),用户只能选择一个选项。其Items属性双击可打开选项名称编辑器,在这里输入选项的标题。&#118alues属性双击打开选项对应的数据编辑器,这里输入的数据和前面的Items对应,当用户选择第一个选项时,就会从&#118alues列表选择第一个数据充填到相应的字段。注意:如果没有给出&#118alues属性,那么Items标题就作为数据传递给相应的字段。

13 DBRichEdit组件。和DBEdit组件是一样的,只不过它连接的字段必须是RichText文本格式。DBRichEdit组件没有提供对RichText文本的格式化功能,要想修改文本格式应用程序必须自己来做。当文本格式变化而不是文本本身改变时,应用程序必须明确地将数据源控件的Edit属性置为True,否则无法保存变化后的结果。

14 DBCtrlGrid组件。是很有趣的一个组件,它允许同时开多个面板窗口对记录进行显示、修改,而且这些记录是不相同的,是连续的几个记录(用户设定),用户可同时对多个记录进行修改。ColCount属性指定有几列,RowCount属性指定有几行。Orientation属性有两个值供选择: GoHorizontal—滚动条出现在水平方向,GoVertical—滚动条出现在垂直方向。使用用方法:放置一个DBCtrlGrid组件后,在其“活动”面板(即图中表面光滑没有条纹的左上角面板)中放置数据浏览组件如DBEdit等。只能在活动面板上放组件,其它面板无法放置,运行后每个面板上都会有和活动面板相同的界面。再通过ColCount、RowCount来设定面板的行列数,用Orientation属性设定好滚动条的位置就可以使用了。注意:在滚动条移动时或在面板之间转移焦点时都会自动保存数据。滚动条两端的箭头每按一次和在滑块与箭头之间的空白处单击鼠标移动的记录数是不一样的。前者移动一列或一行,后者移动一个屏幕的记录数。

15 DBChart组件。和Chart组件几乎完全一样,只不过是多了一个功能,就是从数据表中获得数据来制做图形。使用方法:在界面中放置数据集、数据源组件后,放置DBChart组件,双击打开设定界面,和Chart组件不同之处在于在Series选项下,DataSource选项下拉列表中有一项为DataSet,选中后下面会出现数据表选择项,然后在Lables、X、Y中可选择相应的数字字段用来做图。

技巧之一:在DBGrid 中实现类DBComboBox列表方法

要实现的功能:在DBGrid网格中输入字段时,单击字段可出现一个下拉列表(类似于DBComboBox),用户可从中选择需要的字段内容,列表框中是固定的几个选项如男、女等。

实现方法举例:假如数据表中有一个“性别”字段,我们让这个字段具有下拉列表功能。在窗体上放置Table、DataSource、DBGrid组件各一个,将三者搭配起来,不用多讲吧。 双击DBGrid1, 在弹出的Editing DBGrid1.Columns窗口中,单击Add all Fields 按钮, 将Table1的所有字段添加到DBGrid1中。在Editing DBGrid1.Columns窗口,单击选择一个字段如“性别” ,在Object Inspector窗口中, 单击PickList属性后的省略号,在Strings list editor窗口中输入两行,分别为“男”、“女” ,关闭Strings list editor窗口。 将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的性别字段,将会出现一个下拉列表,列表中选项为“男”、“女”,从中选择一个就可以了,也可以手工输入字段内容

技巧之二、在DBGrid 中实现类DBLookUpComboBox列表的方法。

技巧一中的方法适用于选项比较少的字段的表格输入,如果有上千种商品名称,手工输入显然是不合适的,这时我们使用查找字段来实现。下拉列表的内容来自另外一个数据表的相应字段值,比如来自事先制做好的商品名称数据表。

实现方法:在上面例子的基础上,再添加一个数据集组件Table2,设定其table属性为商品名称数据表。双击Table1, 在弹出的Form1.Table1窗口中,鼠标右键单击弹出快捷菜单,选择 Add All Fields菜单项,将所有的字段添加,也可选择部分字段,单击“OK”按钮返回。在Form1.Table1窗口中,单击鼠标右键,从快捷菜单中选择“New field”,在“New field”窗口中,添加一个新的查找字段,设定其Name属性如“spmc”,类型为String。选择其“Field Type”为“LookUp”。在“Field Definition”中设定如下:Key Field选择“商品名称”,此字段是一汉字为字段名的字段,是Table1中的字段。在DataSet中选择“Table2”,在LookUp keys中选择spmc,此字段的内容是商品名称,是Table2中的字段。Result Field选择 spmc。设定好上述选项后,单击“OK”按钮返回Form1.Table1窗口。在Form1.Table1窗口中,鼠标单击选择“商品名称”字段,在Object Inspector 窗口中设定其Visible属性为False。为的是让新增的查找字段spmc来代替它。在Form1.Table1窗口中,鼠标单击选择“spmc”字段,在Object Inspector 窗口中设定其DisplayLabel属性为“商品名称”,让其代替“商品名称”字段。将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的商品名称字段,将会出现一个下拉列表,列表中选项为所有的商品名称,这些药品名称来自Table2的数据表,但不能手工输入商品名称。

上面两种方法的不同之处在于:用PickList属性设置的下拉列表,在DBGrid中可手工输入下拉列表中没有的数值,适用于较少的选择项。用查找字段的方法得到的下拉列表在DBGrid中不能手工输入下拉列表中没有的数值,适用于较多的选择项

Ⅷ 将mysql改成sql server 2000数据库最简捷的办法是什么

最新版的mysql有一套GUI工具,里面附带了一个数据库迁移工具,可以把mysql的表直接迁移到sql server上。

Ⅸ 初学数据库应该从何学起

初学数据库应该从以下几点进行学习:

一、编程语言基础
新手学大数据,首先要掌握基础的编程语言基础,比如Java、C++等,要初步掌握面向的对象、抽象类、接口及数据流及对象流等基础,如果有疑问,可以去网上搜索相关书籍,再结合自己的疑问去翻书,就能很快的熟悉了解数据库的基础技术原理。
二、Linux系统的基本操作
Linux系统的基本操作是大数据不可分割的一部分,企业的MySQL大数据的组件都是跑在linux环境下的,所以学会linux常用命令不能缺少,重点是要学习一下Linux环境的搭建,搭建平台,,能写shell程序就会更好了。
三、学习Hadoop架构设计
要学大数据,首先要了解的是如何在单台Windows系统上通过虚拟机搭建多台Linux虚拟机,从而构建Hadoop集群,再建立spark开发环境,环境搭建成功后在网上搜罗一些demo,sql脚本之类,直接动手敲进去一点一点体会。
四、采用机器学习模式
为了发挥出大数据的优势,提升你的办公效率,就需要实操并应用其中的内容,必然也会涉及大量机器学习及算法,这能最大化的发挥出计算机的性能,也是大数据的优势所在。

想了解更多有关数据库的相关信息,推荐咨询达内教育。作为国内IT培训的领导品牌,达内的每一名员工都以“帮助每一个学员成就梦想”为己任,也正因为达内人的执着与努力,达内已成功为社会输送了众多合格人才,为广大学子提供更多IT行业高薪机会,同时也为中国IT行业的发展做出了巨大的贡献。