❶ 資料庫問題:嵌入式sql語句與主語言之間的通信機制是怎樣的
首先用SQL通信區(SQL
Communication
Area,簡稱SQLCA)向主語言傳遞SQL語句的執行狀態信息,使主語言能夠據此控製程序流程;在程序運行中,主語言向SQL語句提供參數,使用主變數(host
variable)輸入數據;同時,程序把SQL語句查詢資料庫的結果交主語言進一步處理,其中使用主變數和游標(cursor)向主語言輸出數據,從而實現了SQL語言的過程化工作。
SQL語句執行後,系統要反饋給應用程序若干信息,主要包括描述系統當前工作狀態和運行環境的各種數據,這些信息將送到SQL通信區SQLCA中。應用程序從SQLCA中取出這些狀態信息,據此決定接下來執行的語句。
❷ 資料庫系統裡面,什麼是存儲過程、游標、觸發器
存儲過程(Stored Procere)是在大型資料庫系統中,一組為了完成特定功能的SQL 語句集,經編譯後存儲在資料庫中,用戶通過指定存儲過程的名字並給出參數(如果該存儲過程帶有參數)來執行它。存儲過程是資料庫中的一個重要對象,任何一個設計良好的資料庫應用程序都應該用到存儲過程。
游標(cursor)是系統為用戶開設的一個數據緩沖區,存放SQL語句的執行結果。每個游標區都有一個名字,用戶可以用SQL語句逐一從游標中獲取記錄,並賦給主變數,交由主語言進一步處理。
觸發器(trigger)是SQL server 提供給程序員和數據分析員來保證數據完整性的一種方法,它是與表事件相關的特殊的存儲過程,它的執行不是由程序調用,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作( insert,delete, update)時就會激活它執行。
❸ 資料庫中的非主屬性和主屬性、以及候選碼和關鍵碼分別指什麼
1、非主屬性
不包含在任何一個候選碼中的屬性稱為非主屬性。非主屬性是相對與主屬性來定義的。
2、主屬性
在一個關系中,如果一個屬性是構成某一個候選關鍵字(候選碼)的屬性集中的一個屬性,則稱它為主屬性(Primeattribute)。
3、候選碼
若關系中的一個屬性或屬性組的值能夠唯一地標識一個元組,且他的真子集不能唯一的標識一個元組,則稱這個屬性或屬性組做候選碼。
4、關鍵碼
關鍵碼在數據結構中關鍵碼指的是數據元素中能起標識作用的數據項,例如,書目信息中的登陸號和書名等。其中能起唯一標識作用的關鍵碼稱為「主關鍵碼」,如登陸號;反之稱為「次關鍵碼」。
(3)資料庫主變數是什麼擴展閱讀
求解候選碼基本演算法的具體步驟:
第1 步,求關系模式R< U,F > 的最小函數依賴集F。
第2步,按照上面的定義,分別計算出UL,UR,UB(UL表示僅在函數依賴集中各依賴關系式左邊出現的屬性的集合;UR表示僅在函數依賴集中各依賴關系式右邊出現的屬性的集合;另記UB=U-UL-UR)。
第3步,若UL≠Φ,計算UL的閉包,若UL+=U,則UL為R的唯一的候選碼,演算法結束;若UL+≠U,轉第4步,若UL=Φ,轉第5步。
第4步,將UL依次與UB中的屬性組合,利用上述的定義4判斷該組合屬性是否是候選碼;找出所有的候選碼後,演算法結束。
第5步,對UB中的屬性及屬性組合利用上述的定義4依次進行判斷;找出所有的候選碼後,演算法結束.。
❹ 資料庫裡面變數類型有幾種
整型: tiny int,small int,medium int,int,big int,大小分別為 8,16,24,32,64位。(1位元組 = 8 位)
浮點型: float、double
字元串類型: 定長的 char,變長的 varchar。在進行存儲時,char 會刪除末尾的空格,varchar 會保留末尾的空格。
日期時間類型: 與時區無關的 data time,與時區有關的 time stamp。
❺ 資料庫中 主屬性, 非主屬性, 是什麼
主要屬性,可以起到唯一標識的作用,例如:教師,有教師編號,姓名,性別等屬性,編號是主屬性,其他是非住屬性
❻ 資料庫中的變數是
欄位變數
❼ 資料庫主屬性定義
嚴格來說
主屬性:指主鍵列,即主鍵由一列構成
主鍵定義:能夠唯一標識一個元組的屬性或屬性集,即可以由多列組成.
在教學中,大多實例都是主鍵由一列構成,所以也可以簡單地說主屬性與主鍵沒有什麼區別.
❽ 資料庫的游標的作用是什麼,如何編寫
游標是系統為用戶開設的一個數據緩沖區,存放SQL語句的執行結果。每個游標區都有一個名字。用戶可以用SQL語句逐一從游標中獲取記錄,並賦給主變數,交由主語言進一步處理。主語言是面向記錄的,一組主變數一次只能存放一條記錄。僅使用主變數並不能完全滿足SQL語句向應用程序輸出數據的要求。嵌入式SQL引入了游標的概念,用來協調這兩種不同的處理方式。在資料庫開發過程中,當你檢索的數據只是一條記錄時,你所編寫的事務語句代碼往往使用SELECT INSERT 語句。但是我們常常會遇到這樣情況,即從某一結果集中逐一地讀取一條記錄。那麼如何解決這種問題呢?這時我們就會使用游標。
-----------------------------------------------------------
使用游標會降低執行效率,平時盡可能不要用
declare @column1 varchar(10)
declare @column2 varchar(10)
declare cursor1 cursor for select column1, column2 from tablename --聲明游標(用select語句,可以通過where等語句限定游標取的結果集)
open cursor1 --打開游標
fetch next from cursor1 into @column1, @column2 --取游標的值到變數
while (@@fetch_status=0) --有記錄的話
begin
--處理
fetch next from cursor1 into @column1, @column2 --取下一個
end
close cursor1 --關閉游標
deallocate cursor1 --釋放游標
❾ 什麼是變數
什麼是變數?
變數是一種使用方便的佔位符,用於引用計算機內存地址,該地址可以存儲 Script 運行時可更改的程序信息。例如,可以創建一個名為 ClickCount 的變數來存儲用戶單擊 Web 頁面上某個對象的次數。使用變數並不需要了解變數在計算機內存中的地址,只要通過變數名引用變數就可以查看或更改變數的值。在 VBScript 中只有一個基本數據類型,即 Variant,因此所有變數的數據類型都是 Variant。
聲明變數
聲明變數的一種方式是使用 Dim 語句、Public 語句和 Private 語句在 Script 中顯式聲明變數。例如:
Dim DegreesFahrenheit
聲明多個變數時,使用逗號分隔變數。例如:
Dim Top, Bottom, Left, Right
另一種方式是通過直接在 Script 中使用變數名這一簡單方式隱式聲明變數。這通常不是一個好習慣,因為這樣有時會由於變數名被拼錯而導致在運行 Script 時出現意外的結果。因此,最好使用 Option Explicit 語句顯式聲明所有變數,並將其作為 Script 的第一條語句。
命名規則
變數命名必須遵循 VBScript 的標准命名規則。變數命名必須遵循:
第一個字元必須是字母。
不能包含嵌入的句點。
長度不能超過 255 個字元。
在被聲明的作用域內必須唯一。
變數的作用域與存活期
變數的作用域由聲明它的位置決定。如果在過程中聲明變數,則只有該過程中的代碼可以訪問或更改變數值,此時變數具有局部作用域並被稱為過程級變數。如果在過程之外聲明變數,則該變數可以被 Script 中所有過程所識別,稱為 Script 級變數,具有 Script 級作用域。
變數存在的時間稱為存活期。Script 級變數的存活期從被聲明的一刻起,直到 Script 運行結束。對於過程級變數,其存活期僅是該過程運行的時間,該過程結束後,變數隨之消失。在執行過程時,局部變數是理想的臨時存儲空間。可以在不同過程中使用同名的局部變數,這是因為每個局部變數只被聲明它的過程識別。
給變數賦值
創建如下形式的表達式給變數賦值:變數在表達式左邊,要賦的值在表達式右邊。例如:
B = 200
標量變數和數組變數
多數情況下,只需為聲明的變數賦一個值。只包含一個值的變數被稱為標量變數。有時候,將多個相關值賦給一個變數更為方便,因此可以創建包含一系列值的變數,稱為數組變數。數組變數和標量變數是以相同的方式聲明的,唯一的區別是聲明數組變數時變數名後面帶有括弧 ( )。下例聲明了一個包含 11 個元素的一維數組:
Dim A(10)
雖然括弧中顯示的數字是 10,但由於在 VBScript 中所有數組都是基於 0 的,所以這個數組實際上包含 11 個元素。在基於 0 的數組中,數組元素的數目總是括弧中顯示的數目加 1。這種數組被稱為固定大小的數組。
在數組中使用索引為數組的每個元素賦值。從 0 到 10,將數據賦給數組的元素,如下所示:
A(0) = 256
A(1) = 324
A(2) = 100
. . .
A(10) = 55
與此類似,使用索引可以檢索到所需的數組元素的數據。例如:
. . .
SomeVariable = A(8)
. . .
數組並不僅限於一維。數組的維數最大可以為 60(盡管大多數人不能理解超過 3 或 4 的維數)。聲明多維數組時用逗號分隔括弧中每個表示數組大小的數字。在下例中,MyTable 變數是一個有 6 行和 11 列的二維數組:
Dim MyTable(5, 10)
在二維數組中,括弧中第一個數字表示行的數目,第二個數字表示列的數目。
也可以聲明動態數組,即在運行 Script 時大小發生變化的數組。對數組的最初聲明使用 Dim 語句或 ReDim 語句。但是對於動態數組,括弧中不包含任何數字。例如:
Dim MyArray()
ReDim AnotherArray()
要使用動態數組,必須隨後使用 ReDim 確定維數和每一維的大小。在下例中,ReDim 將動態數組的初始大小設置為 25,而後面的 ReDim 語句將數組的大小重新調整為 30,同時使用 Preserve 關鍵字在重新調整大小時保留數組的內容。
ReDim MyArray(25)
. . .
ReDim Preserve MyArray(30)
重新調整動態數組大小的次數是沒有任何限制的,但是應注意:將數組的大小調小時,將會丟失被刪除元素的數據。
❿ SQLserver資料庫中的變數是什麼意思是干什麼用的,詳細的講解一下!謝謝
資料庫中有變數嗎??你說的應該是Sql文吧?存儲過程或者單個屁處理程序命令等。
這些網上所有一下就能找到。