當前位置:首頁 » 數據倉庫 » 簡捷資料庫
擴展閱讀
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行業的發展做出了巨大的貢獻。