目前流行的數據庫介紹
在Windows操作系統中,Microsoft Access和Microsoft SQL Server是最常見的數據庫,它們同時也應用于網絡程序應用系統。一般情況下,Microsoft Access數據庫比較適合小型或家庭型的應用程序,而Microsoft SQL Server一般比較適合大型的應用程序。下面以Microsoft Access 2000和Microsoft SQL Server 2000介紹這兩類數據庫。
1.Microsoft Access數據庫
Access 2000是Microsoft強大的桌面數據庫平臺的第六代產品,是32位Access的第三個版本。Microsoft Access及其Jet數據庫引擎占據了整個桌面數據庫市場。
2.Microsoft SQL Server數據庫
Microsoft SQL Server 2000數據庫是一個多關系數據管理系統。它不僅是一個完整的數據庫,而且具有強大的擴展性。它是Windows操作系統最為流行的數據庫,比較適合小型、中型或大型應用程序的后臺數據庫。它也適用于電子商務、數據倉庫和在線商業應用程序等。
3.Oracle數據庫
Oracle數據庫一般比較適合超大型的行業領域,如電信、移動、聯通、醫療保險、郵政部門等。在行業領域,電信基本上使用Oracle數據庫和Sybase數據庫。
4.MySQL數據庫
MySQL數據庫是一種非常特別的數據庫。它以Web形式來體現,也是基于Web訪問方式的數據庫。和其他數據庫相比,MySQL數據庫的最大特點是建立在Internet之上,用戶可以通過基于Web的查詢方式來訪問數據庫。MySQL數據庫除了運行在Windows操作系統上之外,還可以運行在Linux和UNIX操作系統上。MySQL數據庫一般采用的是客戶機/服務器體系結構。
構建數據庫系統的流程
構建一個完整、高效的數據庫管理系統可以說是一個比較復雜的過程,通常包含以下5個基本步驟。
1.定義數據庫的目標
這是構建數據庫的第一步,也是構建數據庫的起始點。在這一步,需要定義數據庫實現功能、目標以及該系統運行的環境,最終形成一個什么樣的數據庫管理系統。只有經過這一步,后續的工作才可以開始。
2.數據庫的邏輯設計
這一步是從設計目標和功能出發,規劃出數據庫的邏輯設計。例如,設計數據庫中如何定義表以及表之間的關系。在某種程度上說,這一步和物理數據庫的設計及其實現無關。
3.數據庫的物理設計
這一步在數據庫的邏輯設計之上,把數據庫的邏輯設計轉化為數據庫的物理設計,如確定數據庫需要哪些軟件和硬件。
4.數據庫的物理實現
這一步屬于項目的實現階段。它建立在數據庫的物理設計之上,設計實際的物理數據以及數據庫的服務器配置和存儲數據的程序代碼等。
5.復查構建的數據庫
這一步為構建數據庫的最后一步。在該步中,檢查和評定構建的數據庫是否滿足第一步中的目標及其要求,同時還可以制定維護和更新數據庫的實施方案。
構建數據庫系統的流程如圖1-1所示。在實際設計中,有些步驟可能體現得不是很明顯。
?
圖1-1 構建數據庫系統的流程圖
1.4 第一個數據庫管理系統
1.4.1 本系統的設計目標
本系統使用Microsoft Access數據庫設計第一個數據庫管理系統。首先使用Access創建數據庫,它的名稱為MyFirstAccessDB。然后在該數據庫中創建一個數據表MyDataTable。該表包含主鍵ID(MyID)、字段名稱(MyName)、字段類型(MyType)和字段長度(MyLength)4個字段。最后在該表中添加一些測試數據。
創建MyFirstAccessDB數據庫之后,需要創建一個ASP.NET應用程序Example_1_1,用來訪問該數據庫,并實現顯示數據和修改數據等功能。
在本章節的最后,還將介紹ASP.NET應用程序Example_1_1和數據庫MyFirstAccessDB的發布方法。
1.4.2 使用Access建立數據庫
1.打開Microsoft Office Access 2003
首先確認您的計算機上是否已經安裝了Microsoft Office Access 2003。如果沒有安裝,請讀者自行安裝,這里不再介紹它的安裝方法。如果已經安裝好了Microsoft Office Access 2003,則依次選擇【開始】|【程序】|【Microsoft Office】|【Microsoft Office Access 2003】命令,彈出【Microsoft Access】對話框,如圖1-2所示。
?
圖1-2 Microsoft Access對話框
2.創建Access數據庫MyFirstAccessDB
(1)選擇【文件】|【新建】命令,【Microsoft Access】窗口在右邊顯示【新建文件】子對話框,如圖1-3所示。
?
圖1-3 打開【新建文件】子對話框
(2)單擊【新建文件】子對話框中【新建】下的【空數據庫】列表項,彈出【文件新建數據庫】對話框。在【文件名】文本框中輸入數據庫名稱MyFirstAccessDB,如圖1-4所示。
?
圖1-4 打開Microsoft Office Access 2003的操作界面
(3)單擊【創建】按鈕創建空數據庫MyFirstAccessDB。此時彈出管理數據庫MyFirstAccessDB的對話框,如圖1-5所示。
?
圖1-5 創建好的空數據庫MyFirstAccessDB及其管理界面
3.創建數據表MyDataTable
在Access數據庫中,創建新數據表有3種方式,它們分別為“使用設計圖創建表”、“使用向導創建表”和“通過輸入數據創建表”。在此使用“使用設計圖創建表”方式創建表MyDataTable。
(1)雙擊【使用設計圖創建表】選項,彈出創建表的輸入界面,在界面中依次添加MyID、MyName、MyType和MyLength 4個字段,分別表示字段ID、字段名稱、字段類型和字段長度,并把MyID設為該表的主鍵,同時設置為自動增1。操作界面如圖1-6所示。
(2)單擊保存按鈕,彈出【另存為】對話框。在【表名稱】文本框中輸入“MyDataTable”,如圖1-7所示。單擊【確定】按鈕即可創建表MyDataTable。最后在該表中添加所需要的數據。按照同樣方法可以創建該數據庫的其他數據表。其他表的創建方法在此不一一介紹。
?
圖1-6 創建新表MyDataTable
?
圖1-7 保存表MyDataTable
1.4.3 連接到數據庫
1.使用數據庫MyFirstAccessDB
本實例使用的數據庫名稱為MyFirstAccessDB,版本為Microsoft Access 2003中文版。該數據庫已經在1.4.2節中創建。
2.創建新ASP.NET應用程序
在Visual Studio .NET 2003集成開發環境中創建新的ASP.NET Web應用程序,命名為Example_1_1。
把應用程序Example_1_1的默認頁面WebForm1.aspx重命名為ConnectedAcDB.aspx。該頁面不需要添加任何ASP.NET服務器端控件或者客戶端控件,因此不再介紹它的設計界面。頁面ConnectedAcDB. aspx的HTML設計代碼如下:
《%@ Page language=“c#” Codebehind=“ConnectedAcDB.aspx.cs”
AutoEventWireup=“false” Inherits=“Example_1_1. ConnectedAcDB” %>
《HEAD>《title> Example_1_1:連接到Access數據庫《/title>《/HEAD>
《body MS_POSITIONING=“GridLayout”>
《form id=“Form1” method=“post” runat=“server”>
《/form>
《/body>
《/HTML>
4.設計訪問數據庫的連接字符串
把頁面ConnectedAcDB.aspx訪問數據庫的連接字符串存放在應用程序的配置文件web.config中。程序代碼如下:
《appSettings>
《add key=“ACCESSCONNECTIONSTRING”
value=“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=”>
《/add>
《/appSettings>
由于頁面ConnectedAcDB.aspx獲取連接字符串時需要使用類ConfigurationSettings,它被包含在名字空間System.Configuration中,因此需要引入該名字空間。頁面獲取連接字符串的程序代碼如下:
//引入名字空間
using System.Configuration;
//獲取連接字符串
private readonly string ACCESSCONNECTIONSTRING
=ConfigurationSettings.AppSettings[
“ACCESSCONNECTIONSTRING”].ToString();
5.設計頁面ConnectedAcDB.aspx的事件和函數
頁面ConnectedAcDB.aspx調用函數Page_Load(object sender,System.EventArgs e)初始化。該函數調用函數ConnectAccessDB()創建連接數據庫MyFirstAccessDB的連接字符串,并把連接信息顯示在頁面上。函數Page_Load(object sender, System.EventArgs e)和ConnectAccessDB()的程序代碼如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
ConnectAccessDB(); //連接到MyFirstAccessDb數據庫
}
}
private void ConnectAccessDB()
{ //設置訪問數據庫的連接字符串
string accessString = ACCESSCONNECTIONSTRING
+ Server.MapPath(“MyFirstAccessDB.mdb”);
OleDbConnection accessConn = new OleDbConnection(accessString);
try
{
accessConn.Open(); //打開OLEDB數據庫的連接
Response.Write(“連接MyFirstAccessDB數據源成功!!!”);
//顯示連接成功信息
Response.Write(“《br>OLEDB數據庫連接的連接字符串:”
+ accessConn.ConnectionString);
Response.Write(“《br>OLEDB數據庫連接的數據庫名稱:”
+ accessConn.Database);
Response.Write(“《br>OLEDB數據庫連接的數據源:”
+ accessConn.DataSource);
Response.Write(“《br>OLEDB數據庫連接的數據庫驅動:”
+ accessConn.Provider);
Response.Write(“《br>OLEDB數據庫連接的服務器版本:”
+ accessConn.ServerVersion);
Response.Write(“《br>OLEDB數據庫連接的打開狀態:”
+ accessConn.State.ToString());
//執行數據庫的操作,如選擇、插入、刪除和更新等
accessConn.Close(); //關閉OLEDB數據庫的連接
Response.Write(“《br>《br>OLEDB數據庫連接的關閉狀態:”
+ accessConn.State.ToString());
}
catch(Exception ex)
{
Response.Write(ex.Message); //拋出數據庫連接異常
}
}
設置頁面ConnectedAcDB.aspx為應用程序的起始頁面。按F5鍵運行后,出現如圖1-8所示的初始界面。
?
圖1-8 頁面ConnectedAcDB.aspx的初始界面
1.4.4 訪問并顯示數據庫中的數據
1.使用數據庫MyFirstAccessDB
本實例使用的數據庫名稱為MyFirstAccessDB,版本為Microsoft Access 2003中文版。該數據庫已經在1.4.2節中創建。
2.設計頁面ShowData.aspx
在應用程序Example_1_1中添加一個新的Web頁面,命名為ShowData.aspx。該頁面不需要添加任何ASP.NET服務器端控件或者客戶端控件。頁面ShowData.aspx的HTML設計代碼如下:
《%@ Page language=“c#” Codebehind=“ShowData.aspx.cs”
AutoEventWireup=“false” Inherits=“Example_1_1.ShowData” %>
《HEAD>《title> Example_1_1:連接到Access數據庫《/title>《/HEAD>
《body MS_POSITIONING=“GridLayout”>
《form id=“Form1” method=“post” runat=“server”>
《/form>
《/body>
《/HTML>
3.設計訪問數據庫的連接字符串
把頁面ShowData.aspx訪問數據庫的連接字符串存放在應用程序的配置文件web.config中。程序代碼如下:
《appSettings>
《add key=“ACCESSCONNECTIONSTRING”
value=“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=”>
《/add>
《/appSettings>
由于頁面ShowData.aspx獲取連接字符串時需要使用類ConfigurationSettings,它被包含在名字空間System.Configuration中,因此需要引入該名字空間。頁面獲取連接字符串的程序代碼如下:
using System.Configuration; //引入名字空間
//獲取連接字符串
private readonly string ACCESSCONNECTIONSTRING
=ConfigurationSettings.AppSettings[
“ACCESSCONNECTIONSTRING”].ToString();
4.設計頁面ShowData.aspx的事件和函數
頁面ShowData.aspx調用函數Page_Load(Object sender,System.EventArgs e)初始化。該函數調用函數ShowDBData()顯示數據庫MyFirstAccessDB的表MyDataTable中的數據。顯示的格式為表中的字段排列順序,同時還顯示連接信息。函數Page_Load(object sender, System.EventArgs e)和函數ShowDBData()的程序代碼如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
ShowDBData(); //顯示數據庫MyFirstAccessDB中的數據
}
}
private void ShowDBData()
{ //設在訪問數據庫的連接字符串
string accessString = ACCESSCONNECTIONSTRING
+ Server.MapPath(“MyFirstAccessDB.mdb”);
string cmdText = “SELECT * FROM MyDataTable”; //創建獲取數據的SQL語句
//創建數據庫的連接和Command
OleDbConnection accessConn = new OleDbConnection(accessString);
OleDbCommand accessComm = new OleDbCommand(cmdText,accessConn);
//定義數據顯示的格式
string dataString = “《br>MyID MyName MyType My Length《br>”;
try
{ //打開OLEDB數據庫的連接
accessConn.Open();
Response.Write(“連接MyFirstAccessDB數據源成功!!!”);
//顯示數據庫中的信息
OleDbDataReader reca = accessComm.ExecuteReader();
while(reca.Read())
{ //獲取相應數據
dataString += reca[“MyID”].ToString() +“ ”
+ reca[“MyName”].ToString()
+“ ” + reca[“MyType”].ToString() +“ ”
+ reca[“MyLength”].ToString();
dataString += “《br>”;
}
reca.Close();
Response.Write(dataString); //顯示數據庫中的內容
accessConn.Close(); //關閉OLEDB數據庫的連接
}
catch(Exception ex)
{
Response.Write(ex.Message); //拋出數據庫連接異常
}
}
設置頁面ShowData.aspx為應用程序的起始頁面。按F5鍵運行后,出現如圖1-9所示的初始界面。
1.4.5 修改數據庫
1.使用數據庫MyFirstAccessDB
本實例使用的數據庫名稱為MyFirstAccessDB,版本為Microsoft Access 2003中文版。該數據庫已經在1.4.2節中創建。
2.設計頁面UpdateData.aspx
在應用程序Example_1_1中添加一個新的Web頁面,命名為UpdateData.aspx。然后在頁面中添加兩個TextBox控件和一個Button按鈕控件,它們的名稱分別為MyID、MyName和UpdataDataBtn。
控件MyID和控件MyName分別用來輸入字段主鍵ID和字段名稱;控件UpdataDataBtn實現修改數據庫中數據的功能。頁面UpdateData.aspx的設計界面如圖1-10所示。
?
圖1-9 頁面ShowData.asp0x的初始界面
?
圖1-10 頁面UpdateData.aspx的設計界面
頁面UpdateData.aspx的HTML設計代碼如下:
《%@ Page language=“c#” Codebehind=“UpdateData.aspx.cs”
AutoEventWireup=“false” Inherits=“Example_1_1.UpdateData” %>
《HTML>《HEAD>《title>Example_1_1:修改數據庫中的數據《/title>《/HEAD>
《asp:TextBox id=“MyID” runat=“server”>《/asp:TextBox>
《asp:TextBox id=“MyName” runat=“server”>《/asp:TextBox>
《asp:Button id=“UpdateDataBtn” runat=“server”
Text=“修改數據”>《/asp:Button>
《/HTML>
3.設計訪問數據庫的連接字符串
把頁面UpdateData.aspx訪問數據庫的連接字符串存放在應用程序的配置文件web.config中。程序代碼如下:
《appSettings>
《add key=“ACCESSCONNECTIONSTRING”
value=“Provider=Microsoft.Jet.OLEDB.4.0; Data Source=”>
《/add>
《/appSettings>
由于頁面ShowData.aspx獲取連接字符串時需要使用類ConfigurationSettings。它被包含在名字空間System.Configuration中,因此需要引入該名字空間。頁面獲取連接字符串的程序代碼如下:
using System.Configuration; //引入名字空間
//獲取連接字符串
private readonly string ACCESSCONNECTIONSTRING
=ConfigurationSettings.AppSettings[
“ACCESSCONNECTIONSTRING”].ToString();
4.設計頁面UpdateData.aspx的事件和函數
頁面UpdateData.aspx調用函數Page_Load(Object sender,System.EventArgs e)初始化,該函數調用函數ShowDBData()顯示數據庫MyFirstAccessDB的表MyDataTable中的數據,顯示的格式為表中的字段排列順序,同時還顯示連接信息。函數Page_Load(object sender, System.EventArgs e)和函數ShowDBData()的程序代碼如下:
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
ShowDBData(); //顯示數據庫MyFirstAccessDB中的數據
}
}
private void ShowDBData()
{ //設在訪問數據庫的連接字符串
string accessString = ACCESSCONNECTIONSTRING
+ Server.MapPath(“MyFirstAccessDB.mdb”);
string cmdText = “SELECT * FROM MyDataTable”; //創建獲取數據的SQL語句
//創建數據庫的連接和Command
OleDbConnection accessConn = new OleDbConnection(accessString);
OleDbCommand accessComm = new OleDbCommand(cmdText,accessConn);
//定義數據顯示的格式
string dataString = “《br>MyID MyName MyType My Length《br>”;
try
{
accessConn.Open(); //打開OLEDB數據庫的連接
Response.Write(“連接MyFirstAccessDB數據源成功!!!”);
//顯示數據庫中的信息
OleDbDataReader reca = accessComm.ExecuteReader();
while(reca.Read())
{ //獲取相應數據
dataString += reca[“MyID”].ToString() +“ ”
+ reca[“MyName”].ToString()
+“ ” + reca[“MyType”].ToString() +“ ”
+ reca[“MyLength”].ToString();
dataString += “《br>”;
}
reca.Close();
Response.Write(dataString); //顯示數據庫中的內容
accessConn.Close(); //關閉OLEDB數據庫的連接
}
catch(Exception ex)
{
Response.Write(ex.Message); //拋出數據庫連接異常
}
}
單擊頁面UpdateData.aspx中【修改數據】按鈕控件,觸發事件UpdateDataBtn_Click(object sender, System.EventArgs e)。該事件實現修改數據庫MyFirstAccessDB中數據的功能,它調用函數UpdataDBData(String myID,String myName)。首先從頁面獲取MyID和MyName的值,然后再使用SQL更新語句更新表中相應的記錄,最后調用函數ShowDBData()顯示表的數據。事件UpdateDataBtn_Click(object sender, System.EventArgs e)和函數UpdataDBData(String myID,String myName)的程序代碼如下:
private void UpdateDataBtn_Click(object sender, System.EventArgs e)
{
if(MyID.Text.Trim().Length > 0 && MyName.Text.Trim().Length > 0)
{
UpdataDBData(MyID.Text.Trim(),MyName.Text.Trim()); //修改表中的記錄
ShowDBData(); //顯示修改后的數據
}
}
private void UpdataDBData(String myID,String myName)
{ //設置訪問數據庫的連接
string accessString = ACCESSCONNECTIONSTRING
+ Server.MapPath(“MyFirstAccessDB.mdb”);
//設置更新數據庫的SQL語句
string cmdText = “UPDATE MyDataTable SET MyName=‘” + myName
+ “’ WHERE MyID=” + myID;
//創建訪問數據庫的連接和Command
OleDbConnection accessConn = new OleDbConnection(accessString);
OleDbCommand accessComm = new OleDbCommand(cmdText,accessConn);
try
{
accessConn.Open(); //打開OLEDB數據庫的連接
accessComm.ExecuteNonQuery(); //執行更新數據操作
accessConn.Close(); //關閉OLEDB數據庫的連接
}
catch(Exception ex)
{
Response.Write(ex.Message); //拋出數據庫連接異常
}
}
經過前面的步驟,一個簡單的網絡數據庫程序就完成了。下面運行一下。
(1)設置頁面UpdateData.aspx為應用程序的起始頁面。按F5鍵運行,出現如圖1-11所示的初始界面。
?
圖1-11 頁面UpdateData.aspx的初始界面
(2)在MyID和MyName文本框中分別輸入“1”和“Name100”,然后單擊【修改數據】按鈕,頁面UpdateData.aspx如圖1-12所示。
?
圖1-12 頁面UpdateData.aspx顯示修改表后的數據
1.4.6 發布數據庫系統
在本節中,介紹如何發布1.4.1、1.4.2、1.4.3、1.4.4和1.4.5節創建的ASP.NET應用程序和數據庫MyFirstAccessDB。
(1)復制應用程序Example_1_1的所有文件,包括數據庫MyFirstAccessDB文件。
(2)單擊【控制面板】|【管理工具】中的【Internet信息服務】圖標,右擊【默認網站】項,選擇【新建】|【虛擬目錄】命令,彈出【虛擬目錄創建向導】對話框。單擊【下一步】按鈕,彈出【虛擬目錄別名】子對話框,并在該文本框中輸入“Example_1_1”,如圖1-13所示。
(3)單擊【下一步】按鈕,出現【網站內容目錄】子對話框,單擊【瀏覽】按鈕選擇應用程序Example_1_1存儲的位置,如圖1-14所示。
(4)依次單擊【下一步】按鈕和【完成】按鈕,便完成了創建虛擬目錄Example_1_1。打開一個新IE瀏覽器應用程序,在地址欄中輸入“http://localhost/Example_1_1/ShowData.aspx”便可以顯示頁面ShowData.aspx,如圖1-9所示。
?
圖1-13 【虛擬目錄別名】子對話框 圖1-14 設置虛擬目錄的文件地址
評論
查看更多