1 如何設(shè)計(jì)數(shù)據(jù)庫(kù)
答:存儲(chǔ)信息的大小,每次擴(kuò)容的大小,冗余
2 幾十上百萬(wàn)行,如何快速查詢出表數(shù)據(jù)
答:用分頁(yè)存儲(chǔ)過(guò)程
/*
函數(shù)名稱: GetRecordFromPage
函數(shù)功能: 獲取指定頁(yè)的數(shù)據(jù)
參數(shù)說(shuō)明: @tblName 包含數(shù)據(jù)的表名
@fldName 關(guān)鍵字段名
@PageSize 每頁(yè)記錄數(shù)
@PageIndex 要獲取的頁(yè)碼
@OrderType 排序類(lèi)型, 0 – 升序, 1 – 降序
@strWhere 查詢條件 (注意: 不要加 where)
*/
CREATE PROCEDURE GetRecordFromPage
@tblName varchar(255), — 表名
@fldName varchar(255), — 字段名
@PageSize int = 10, — 頁(yè)尺寸
@PageIndex int = 1, — 頁(yè)碼
@OrderType bit = 0, — 設(shè)置排序類(lèi)型, 非 0 值則降序
@strWhere varchar(2000) = ” — 查詢條件 (注意: 不要加 where)
AS
declare @strSQL varchar(6000) — 主語(yǔ)句
declare @strTmp varchar(1000) — 臨時(shí)變量
declare @strOrder varchar(500) — 排序類(lèi)型
if @OrderType != 0
begin
set @strTmp = ‘<(select min'
set @strOrder = ' order by [' + @fldName + '] desc'
end
else
begin
set @strTmp = '>(select max’
set @strOrder = ‘ order by [' + @fldName +'] asc’
end
set @strSQL = ‘select top ‘ + str(@PageSize) + ‘ * from ['
+ @tblName + '] where [' + @fldName + ']‘ + @strTmp + ‘(['
+ @fldName + ']) from (select top ‘ + str((@PageIndex-1)*@PageSize) + ‘ ['
+ @fldName + '] from [' + @tblName + ']‘ + @strOrder + ‘) as tblTmp)’
+ @strOrder
if @strWhere != ”
set @strSQL = ‘select top ‘ + str(@PageSize) + ‘ * from ['
+ @tblName + '] where [' + @fldName + ']‘ + @strTmp + ‘(['
+ @fldName + ']) from (select top ‘ + str((@PageIndex-1)*@PageSize) + ‘ ['
+ @fldName + '] from [' + @tblName + '] where ‘ + @strWhere + ‘ ‘
+ @strOrder + ‘) as tblTmp) and ‘ + @strWhere + ‘ ‘ + @strOrder
if @PageIndex = 1
begin
set @strTmp = ”
if @strWhere != ”
set @strTmp = ‘ where (‘ + @strWhere + ‘)’
set @strSQL = ‘select top ‘ + str(@PageSize) + ‘ * from ['
+ @tblName + ']‘ + @strTmp + ‘ ‘ + @strOrder
end
exec (@strSQL)
GO
3 SQL語(yǔ)句左聯(lián)接與內(nèi)連接的區(qū)別
答:Inner Join 邏輯運(yùn)算符返回滿足第一個(gè)(頂端)輸入與第二個(gè)(底端)輸入聯(lián)接的每一行。
Left Outer Join 邏輯運(yùn)算符返回每個(gè)滿足第一個(gè)(頂端)輸入與第二個(gè)(底端)輸入的聯(lián)接的行。它還返回任何在第二個(gè)輸入中沒(méi)有匹配行的第一個(gè)輸入中的行。第二個(gè)輸入中的非匹配行作為空值返回。
4 Asp.net如何連接數(shù)據(jù)庫(kù)
答:connection 連接數(shù)據(jù)庫(kù)
Command執(zhí)行數(shù)據(jù)庫(kù)SQL或存儲(chǔ)過(guò)錯(cuò)命令
DataAdapter 連接數(shù)據(jù)庫(kù),執(zhí)行數(shù)據(jù)庫(kù)SQL或存儲(chǔ)過(guò)錯(cuò)命令,填充DataSet
5 什么是事務(wù)?
答:數(shù)據(jù)庫(kù)事務(wù)是指作為單個(gè)邏輯工作單元執(zhí)行的一系列操作。
數(shù)據(jù)庫(kù)事務(wù)的ACID屬性
事務(wù)處理可以確保除非事務(wù)性單元內(nèi)的所有操作都成功完成,否則不會(huì)永久更新面向數(shù)據(jù)的資源。通過(guò)將一組相關(guān)操作組合為一個(gè)要么全部成功要么全部失敗的單元,可以簡(jiǎn)化錯(cuò)誤恢復(fù)并使應(yīng)用程序更加可靠。一個(gè)邏輯工作單元要成為事務(wù),必須滿足所謂的ACID(原子性、一致性、隔離性和持久性)屬性:
• 原子性
事務(wù)必須是原子工作單元;對(duì)于其數(shù)據(jù)修改,要么全都執(zhí)行,要么全都不執(zhí)行。通常,與某個(gè)事務(wù)關(guān)聯(lián)的操作具有共同的目標(biāo),并且是相互依賴的。如果系統(tǒng)只執(zhí)行這些操作的一個(gè)子集,則可能會(huì)破壞事務(wù)的總體目標(biāo)。原子性消除了系統(tǒng)處理操作子集的可能性。
• 一致性
事務(wù)在完成時(shí),必須使所有的數(shù)據(jù)都保持一致?tīng)顟B(tài)。在相關(guān)數(shù)據(jù)庫(kù)中,所有規(guī)則都必須應(yīng)用于事務(wù)的修改,以保持所有數(shù)據(jù)的完整性。事務(wù)結(jié)束時(shí),所有的內(nèi)部數(shù)據(jù)結(jié)構(gòu)(如 B 樹(shù)索引或雙向鏈表)都必須是正確的。某些維護(hù)一致性的責(zé)任由應(yīng)用程序開(kāi)發(fā)人員承擔(dān),他們必須確保應(yīng)用程序已強(qiáng)制所有已知的完整性約束。例如,當(dāng)開(kāi)發(fā)用于轉(zhuǎn)帳的應(yīng)用程序時(shí),應(yīng)避免在轉(zhuǎn)帳過(guò)程中任意移動(dòng)小數(shù)點(diǎn)。
• 隔離性
由并發(fā)事務(wù)所作的修改必須與任何其它并發(fā)事務(wù)所作的修改隔離。事務(wù)查看數(shù)據(jù)時(shí)數(shù)據(jù)所處的狀態(tài),要么是另一并發(fā)事務(wù)修改它之前的狀態(tài),要么是另一事務(wù)修改它之后的狀態(tài),事務(wù)不會(huì)查看中間狀態(tài)的數(shù)據(jù)。這稱為可串行性,因?yàn)樗軌蛑匦卵b載起始數(shù)據(jù),并且重播一系列事務(wù),以使數(shù)據(jù)結(jié)束時(shí)的狀態(tài)與原始事務(wù)執(zhí)行的狀態(tài)相同。當(dāng)事務(wù)可序列化時(shí)將獲得最高的隔離級(jí)別。在此級(jí)別上,從一組可并行執(zhí)行的事務(wù)獲得的結(jié)果與通過(guò)連續(xù)運(yùn)行每個(gè)事務(wù)所獲得的結(jié)果相同。由于高度隔離會(huì)限制可并行執(zhí)行的事務(wù)數(shù),所以一些應(yīng)用程序降低隔離級(jí)別以換取更大的吞吐量。
• 持久性
事務(wù)完成之后,它對(duì)于系統(tǒng)的影響是永久性的。該修改即使出現(xiàn)致命的系統(tǒng)故障也將一直保持。
DBMS的責(zé)任和我們的任務(wù)
企業(yè)級(jí)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)都有責(zé)任提供一種保證事務(wù)的物理完整性的機(jī)制。就常用的SQL Server2000系統(tǒng)而言,它具備鎖定設(shè)備隔離事務(wù)、記錄設(shè)備保證事務(wù)持久性等機(jī)制。因此,我們不必關(guān)心數(shù)據(jù)庫(kù)事務(wù)的物理完整性,而應(yīng)該關(guān)注在什么情況下使用數(shù)據(jù)庫(kù)事務(wù)、事務(wù)對(duì)性能的影響,如何使用事務(wù)等等。
6 水晶報(bào)表實(shí)現(xiàn)的功能?如何實(shí)現(xiàn)?
答:
* 一套完整的Web報(bào)表制作解決方案,讓您容易制作網(wǎng)絡(luò)報(bào)表
* 功能強(qiáng)大的工具,可將報(bào)表制作功能與Web及Windows應(yīng)用程序結(jié)合
* 可利用各種資料來(lái)源,建立簡(jiǎn)報(bào)品質(zhì)的精良報(bào)告
* 與微軟Office緊密結(jié)合的報(bào)表制作功能
* 快速的報(bào)表處理功能
* 可彈性地傳送報(bào)表
* 與Crystal Reports商業(yè)智能產(chǎn)品家族完全結(jié)合
從簡(jiǎn)單到復(fù)雜的報(bào)表,Crystal Reports 都可以協(xié)助您存取、分析、報(bào)告及分享數(shù)據(jù),結(jié)合使用容易、具彈性、功能強(qiáng)大的特性,提供簡(jiǎn)報(bào)品質(zhì)的完美報(bào)表。
[功能:]
使用各種資料來(lái)源制作報(bào)表
享用功能強(qiáng)大的設(shè)計(jì)與格式設(shè)定功能
結(jié)合具彈性的分析
最快的報(bào)表處理能力
靈活的報(bào)表傳送作業(yè)
可擴(kuò)充的Web報(bào)表制作
取得您所需要的功能強(qiáng)大、彈性高的報(bào)表制作工具,將精巧的報(bào)表的制作功能結(jié)合到您的Windows及Web應(yīng)用程序。充分運(yùn)用針對(duì)網(wǎng)站thin-wire環(huán)境設(shè)計(jì)的報(bào)表制作功能