❶ 在資料庫中,schema,catalog分別指的是什麼
資料庫 Catalog Schema 概念解讀
按照sql標準的解釋,在SQL環境下Catalog和Schema都屬於抽象概念,可以把它們理解為一個容器或者資料庫對象命名空間中的一個層次,主要用來解決命名沖突問題。從概念上說,一個資料庫系統包含多個Catalog,每個Catalog又包含多個Schema,而每個Schema又包含多個資料庫對象(表、視圖、欄位等),反過來講一個資料庫對象必然屬於一個Schema,而該Schema又必然屬於一個Catalog,這樣我們就可以得到該資料庫對象的完全限定名稱從而解決命名沖突的問題了;例如資料庫對象表的完全限定名稱就可以表示為:Catalog名稱.Schema名稱.表名稱。
詳細信息如下:
In Oracle:
server instance == database == catalog: all data managed by same execution engine
schema: namespace within database, identical to user account
user == schema owner == named account: identical to schema, who can connect to database, who owns the schema and use objects possibly in other schemas
to identify any object in running server, you need (schema name + object name)
In PostgreSQL:
server instance == db cluster: all data managed by same execution engine
database == catalog: single database within db cluster, isolated from other databases in same db cluster
schema :namespace within database.It allows many users to use one database without interfering with each other.
user == named account: who can connect to database, own and use objects in each allowed database separately
to identify any object in running server, you need (database name + schema name + object name)
In MySQL:
server instance == not identified with catalog, just a set of databases
database == schema == catalog: a namespace within the server.
user == named account: who can connect to server and use (but can not own - no concept of ownership) objects in one or more databases
to identify any object in running server, you need (database name
❷ 計算機三級資料庫技術筆記
網路資料庫技術
一、單項選擇題
1. 存儲在計算機內有結構的數據的集合,稱為資料庫。
2. 以二維表格的形式組織資料庫中的數據,這種數據模型是關系模型
3. 下面哪個資料庫屬於中小規模資料庫管理系統Access。
4. SQL Server 2000有兩類資料庫,分別是用戶資料庫和系統資料庫。
5. 兩個實體:學院和學生之間的聯系應為一對多聯系。
6. 錯誤的對象部分限定名是伺服器名.對象名。
7. SQL Server字元型包括char和varchar。
8. 下列SQL語句中,修改表結構的是ALTER TABLE。
9. 下列SQL語句中,向表中插入數據的是INSERT。
10. 關系運算的特點是運算的對象和結果都是表。
11. 兩個表連接最常用的條件是兩個表的某些列值相等,這樣的連接稱為等值連接。
12. 在資料庫查詢語句SELECT中,指定分組表達式的子句是GROUP BY子句。
13. 用以限制查詢結果集中的行數過多,僅指定部分結果所採用的關鍵字是TOP。
14. 能夠在LIKE子句中匹配多個字元的通配符是%。
15. 統計組中滿足條件的行數或總行數的聚合函數是COUNT。
第16到第19題基於這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
16. 檢索所有比「王華」年齡大的學生姓名、年齡和性別。正確的SELECT語句是SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=『王華』)
17. 檢索選修課程「C2」的學生中成績最高的學生的學號。正確的SELECT語句是SELECT S# FROM SC WHERE C#=『C2』 AND GRADE>= ALL (SELECT GRADE FROM SC WHERE C#=『C2』)
18. 檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是SELECT S.SN, SC.C#, SC.GRADE FROM S, SC WHERE S.S#=SC.S#
19. 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。正確的SELECT語句是SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC
20. 創建視圖的SQL命令是CREATE VIEW
22. 打開游標所使用的SQL命令是OPEN。
23. 請選出不屬於T-SQL語言組成部分的是數據轉換語言。
24. 聲明變數所使用的關鍵字為DECLARE。
25. 按照索引的組織方式,可以將索引分為聚集索引和非聚集索引。
26. 又稱為列完整性,指給定列輸入的有效性的是域完整性。
27. 創建存儲過程的SQL命令是CREATE PROCEDURE。
28. 不屬於維護數據的觸發器的是SELECT。
29. 只備份自上次備份以來發生過變化的資料庫的數據,也稱增量備份的是差異備份。
30. 資料庫系統與外部進行數據交換的操作是導入/導出。
31. 具有數據表達方式簡潔、直觀,插入、刪除、修改操作方便等特點的數據模型是關系模型.
32. 按一定的數據模型組織數據,對資料庫進行管理的是資料庫管理系統.
33. 對於這樣一個關系:學生(學號、姓名、專業名、性別、出生日期、總學分),請選出關系的碼(關鍵字)為學號
34. 兩個實體:學院和學生之間的聯系應為一對多聯系.
35. 資料庫對象的名稱中各部分使用何種符號隔開「.」。
36. 每個表可以有多少個列設置為標識屬性identity1。
37. 下列SQL語句中,創建表結構的是CREATE TABLE。
38. 下列SQL語句中,刪除表中的指定數據的是DELETE。
39. 關系運算的特點是運算的對象和結果都是表。
40. 從表中選出指定的屬性值(列名)組成一個新表,這樣的關系運算是投影。
41. 在資料庫查詢語句SELECT中,指定表或視圖的子句是FROM子句。
42. 在資料庫查詢語句中,為使用自己選擇的列標題而更改查詢結果的列標題名,所使用的關鍵字是AS。
43. 在WHERE子句中,可以使用通配符來對字元串進行模糊匹配的關鍵字是LIKE。
44. 在學生表XS表中查詢總學分尚未定的學生情況,正確的查詢語句是SELECT * FROM XS WHERE 總學分 IS NULL。
45. 在查詢語句中對查詢的結果進行排序,用於升序排序的關鍵字是ASC。
第16到第19題基於這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
46. 檢索所有比「王華」年齡大的學生姓名、年齡和性別。正確的SELECT語句是;SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=『王華』)
47. 檢索選修課程「C2」的學生中成績最高的學生的學號。正確的SELECT語句是;SELECT S# FROM SC WHERE C#=『C2』 AND GRADE>= ALL (SELECT GRADE FROM SC WHERE C#=『C2』)
48. 檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是;SELECT S.SN, SC.C#, SC.GRADE FROM S, SC WHERE S.S#=SC.S#
49. 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。正確的SELECT語句是;SELECT S#, SUM(GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT(*)>=4 ORDER BY 2 DESC
50. 修改視圖的SQL命令是ALTER VIEW。
51. 若用如下的SQL語句創建一個student表:(『1031』, 『曾華』, NULL, NULL)
52. 在使用游標時首先要執行的是聲明游標。
53. SQL語言是一種用於資料庫查詢的結構化語言。
54. 請選出不屬於T-SQL語言組成部分的是數據轉換語言。
55. T-SQL中局部變數用哪種符號進行標識@。
56. 請選擇不是索引的作用的是使表中數據排列更為美觀。
57. 如果一個表中的一個欄位或若干個欄位的組合是另一個表的碼,則稱該欄位或欄位組合為該表的外碼。
58. 執行存儲過程的SQL命令是EXEC 。
59. SQL Server 2000中不允許使用的備份介質是只讀光碟。
60. 從外部數據源中檢索數據,並將數據插入到SQL Server表的過程,稱為導入數據。
61、表格中的一行稱為一個記錄,一列稱為一個欄位,每列的標題稱為欄位名。
62、SQL Server 2000有兩類資料庫:系統資料庫和用戶資料庫。
63、在設計表時列的identity屬性:實現的是自動增長的功能。
64、創建資料庫的SQL命令:CREATE DATABASE。
65、刪除資料庫的SQL命令:DROP DATABASE。
66、創建表的SQL命令:CREATE TABLE。
67、刪除表的SQL命令:DROP TABLE。
68插入表數據的SQL 命令:INSERT。
69、刪除表數據的SQL命令:DELETE和TRUNCATE TABLE,了解二者的區別。
70、修改表數據的SQL命令:UPDATE。
71、使用SQL命令創建視圖:CREATE VIEW。
72、使用SQL命令修改視圖:ALTER VIEW。
73、當視圖所依賴的基本表有多個時,不提倡向該視圖插入數據,因為這會影響多個基本表。
74、使用SQL命令刪除視圖:DROP VIEW。
75、使用SQL命令聲明游標:DECLARE。
76、聲明游標時SCROLL的用法:可以使游標向前、向後滾動。
77、使用SQL命令打開游標:OPEN。
78、使用SQL命令利用游標讀取數據:FETCH。
79、控制游標的關鍵字:NEXT| PRIOR| FIRST | LAST| ABSOLUTE n| RELATIVE n。
80、使用SQL命令關閉游標:CLOSE。
81、使用SQL命令刪除游標:DEALLOCATE。
82、 SQL語言是用於資料庫查詢的結構化語言。
83、T-SQL語言的組成部分:數據定義語言、數據操縱語言和數據控制語言。
84、變數的命名:以字母、_、@或#開頭,後接多個字母、數字、_、@或#構成。
85、運算符與表達式:AND和OR
86、按照索引的組織方式,可將索引分為聚集索引和非聚集索引。
87、惟一索引:不會有兩行記錄相同的索引鍵值。
88、使用SQL命令刪除索引:DROP INDEX。
89、使用SQL命令創建帶參數的存儲過程的格式:
CREATE PROCEDURE procere_name @variable_name datatype
AS
<sql_statement>
90、使用SQL命令執行帶參數的存儲過程:EXEC procere_name value。
91、使用SQL命令修改存儲過程的格式:
ALTER PROCEDURE procere_name
AS
<sql_statement>
92、使用SQL命令刪除存儲過程:DROP PROCEDURE。
93、設計備份策略的指導思想是:以最小的代價恢復數據。
94. 假定學生關系是S(S#, SNAME, SEX, AGE),課程關系是C(C#, CNAME, TEACHER),學生選課關系是SC(S#, C#, GRADE)。要查找選修課程名「COMPUTER」的性別為「女」的學生姓名,將涉及到的關系是:S, C, SC。
95. 資料庫對象的名稱中各部分使用何種符號隔開「.」。
96. 在SQL Server 2000中,精確整數型包括decimal和numeric。
97. 下列SQL語句中,實現刪除資料庫的語句是DROP DATABASE。
98. 下列SQL語句中,向表中插入數據的是INSERT。
99. 把兩個表中的行按照給定的條件進行拼接而形成新表,這樣的關系運算是連接。
100. 在資料庫查詢語句SELECT中,指定表或視圖的子句是FROM子句。
101. 在資料庫查詢中,消除結果集中的重復行所使用的關鍵字是DISTINCT。
102. 能夠在LIKE子句中匹配單個字元的通配符是「_」。
103. 在查詢語句中對查詢的結果進行排序,用於降序排序的關鍵字是。DESC
104. 若用如下的SQL語句創建一個student表:
CREATE TABLE student(NO C(4) NOT NULL,
NAME C(8) NOT NULL,
SEX C(2),
AGE N(2))
可以插入到student表中的是(『1031』, 『曾華』, NULL, NULL)
第16到第19題基於這樣的三個表即學生表S、課程表C和學生選課表SC,它們的結構如下:
S(S#, SN, SEX, AGE, DEPT)
C(C#, CN)
SC(S#, C#, GRADE)
其中:S#為學號,SN為姓名,SEX為性別,AGE為年齡,DEPT為系別,C#為課程號,CN為課程名,GRADE為成績。
105. 檢索所有比「王華」年齡大的學生姓名、年齡和性別。正確的SELECT語句是
SELECT SN, AGE, SEX FROM S
WHERE AGE>(SELECT AGE FROM S
WHERE SN=『王華』)
106. 檢索選修課程「C2」的學生中成績最高的學生的學號。正確的SELECT語句是
SELECT S# FROM SC
WHERE C#=『C2』 AND GRADE>= ALL
(SELECT GRADE FROM SC
WHERE C#=『C2』)
107. 檢索學生姓名及其所選修課程的課程號和成績。正確的SELECT語句是
SELECT S.SN, SC.C#, SC.GRADE
FROM S, SC
WHERE S.S#=SC.S#
108. 檢索選修四門以上課程的學生總成績(不統計不及格的課程),並要求按總成績的降序排列出來。正確的SELECT語句是
SELECT S#, SUM(GRADE) FROM SC
WHERE GRADE>=60
GROUP BY S#
HAVING COUNT(*)>=4
ORDER BY 2 DESC
109. 創建視圖的SQL命令是
CREATE VIEW
110、局部變數在聲明後初始化為NULL。
二、多項選擇題
1. 關系資料庫模型的優勢在於;數據表達方式簡潔、直觀;插入、刪除、修改操作方便。
2. 請選出SQL Server 2000的兩種常用工具;企業管理器;查詢分析器。
3. 設計表時空值的作用;表示不需要添加的數據;表示將在以後添加的數據。
4. 資料庫的查詢語句SELECT的語法格式中不包含以下哪些內容;DROP子句;UPDATE子句。
5. 在比較子查詢可以使用的比較關鍵字包括;ALL ; ANY。
6. 在使用游標讀取數據時,可用來滾動記錄的關鍵字是;NEXT;LAST;PRIOR;FIRST。
7. 索引的功能包括;快速存取數據;保證數據記錄的惟一性;實現表與表之間的參照完整性;利用索引可減少排序和分組的時間。
8. 資料庫中的數據丟失或被破壞的原因是;計算機軟、硬體故障;誤操作;自然災害;盜竊。
9. 確定備份頻率主要考慮的是;系統恢復的工作量;系統執行的事務量。
10. 導入/導出操作包括數據傳輸;數據轉換。
11. 目前,大型的資料庫管理系統主要包括;Oracle;SQL Server;DB2。
12. SQL Server 2000的資料庫可以分為;系統資料庫;用戶資料庫。
13. 資料庫對象包括;表;視圖;索引;存儲過程;觸發器。
14. 設計表時空值的作用;表示不需要添加的數據;表示將在以後添加的數據。
15. 資料庫的查詢語句SELECT的語法格式中包括以下哪些內容;FROM子句;WHERE子句;GROUP BY子句;HAVING子句;ORDER BY子句。
16. 可以用於SELECT語句的聚合函數包括;SUM和AVG;MAX和MIN;COUNT。
17. T-SQL語言包含以下哪些重要部分;數據定義語言 ;數據操縱語言;數據控制語言。
18. 數據完整性包括;域完整性;實體完整性;參照完整性。
19. 資料庫中的數據丟失或被破壞的原因是;計算機軟、硬體故障;誤操作;自然災害;盜竊。
20. 對導入/導出操作描述正確的是;導入/導出是資料庫系統與外部進行數據交換的操作;導入數據是把其他系統的數據引入到SQL Server的資料庫中;導出數據是把資料庫從SQL Server資料庫中引導其他欄位。
21、流行的中小型資料庫包括Access和Visual Foxpro。大型資料庫管理系統包括Oracle,Microsoft的SQL Server,Sybase和IBM的DB2。
22、數據模型分為關系模型、層次模型、網狀模型。所劃分原則是數據之間的聯系。關系模型優勢:數據表達方式簡潔、直觀,插入、刪除、修改操作方便。
23、實體之間的聯系有如下幾種:一對一的聯系(1: 1)、一對多的聯系(1: n)、多對多的聯系(m: n)。
24、 SQL Server 2000的兩種常用工具:企業管理器,查詢分析器。
25、SQL Server 2000的資料庫對象包括:表、視圖、索引、存儲過程、觸發器和約束。
26、資料庫對象的完全限定名包括:伺服器名、資料庫名、所有者名和對象名。其中前三個可以省略,掌握省略的格式。
27、常用的關系運算包括:連接、選擇和投影。關系運算的特點是運算的對象和結果都是表。
28、SQL Server對游標的使用要遵循的步驟:聲明游標;打開游標;讀取數據;關閉游標;刪除游標。
29、全局變數和局部變數分別用@@和@進行標識。
30、數據完整性的分類:域完整性、實體完整性和參照完整性。
31. 資料庫管理系統採用的數據模型有;層次模型;網狀模型;關系模型。
32. SQL Server 2000的資料庫可以分為;系統資料庫;用戶資料庫。
33. 資料庫對象包括;表;視圖;索引;;存儲過程;觸發器。
34. 常見的連接操作包括;等值連接;自然連接。
35. 資料庫的查詢語句SELECT的語法格式中不包含以下哪些內容;DROP子句;UPDATE子句。
36. 請從下面的關鍵字中選出能夠用於WHERE子句中進行范圍比較的是;IN;BETWEEN。
37. 請選出對視圖描述正確的項;資料庫中只存儲視圖的定義;對視圖的數據進行操作時,系統根據視圖的定義去操作與視圖相關聯的基本表。
38. 按照索引的組織方式,可將索引分為;聚集索引;非聚集索引。
39. 存儲過程包括以下哪些類型;系統存儲過程;本地存儲過程;臨時存儲過程;遠程存儲過程;擴展存儲過程。
40.SQL Server 2000中,允許使用的備份介質包括;硬碟;磁帶;命名管道。
三、名詞解釋
1、碼:在關系表中,如果一個欄位或幾個欄位組合的值可惟一標識其對應記錄,則稱該欄位或欄位組合為碼。
2、記錄:每個表包含了若干行數據,它們是表的「值」,表中的一行稱為一個記錄。
3. 投影:投影運算從表中選出指定的屬性值(列名)組成一個新表,記為:∏A(R)。
4. 索引: 根據表中一列或若干列按照一定順序建立的列值與記錄行之間的對應關系表。
5. 參照完整性: 又稱為引用完整性。參照完整性保證主表中的數據與從表中數據的一致性。
6. 資料庫:是存放數據及相關信息的倉庫。
7. 欄位:每個記錄由若干個數據項構成,將構成記錄的每個數據項稱為欄位。
8. 連接:連接運算把兩個表中的行按照給定的條件進行拼接而形成新表,記為: 。
9. 數據的完整性:是指資料庫中的數據在邏輯上的一致性和准確性。
10. 資料庫恢復:就是當資料庫出現故障時,將備份的資料庫載入到系統,從而使資料庫恢復到備份時的正確狀態。
11、資料庫(DB):資料庫是存放數據及相關信息的倉庫。
12、資料庫管理系統(DBMS):資料庫管理系統是管理資料庫的系統,它按一定的數據模型組織數據。
13、實體和實體集:每一類數據對象的個體稱為實體,而每一類對象個體的集合稱為實體集。
14、記錄:每個表包含了若干行數據,它們是表的「值」,表中的一行稱為一個記錄。
15、欄位:每個記錄由若干個數據項構成,將構成記錄的每個數據項稱為欄位。
16、選擇運算:選擇運算按給定的條件,從表中選出滿足條件的行形成一個新表作為運算結果,選擇運算的記號為σF(R)。
17、投影運算:投影運算從表中選出指定的屬性值(列名)組成一個新表,記為:∏A(R)。
18、連接運算:連接運算把兩個表中的行按照給定的條件進行拼接而形成新表,記為: 。
19、等值連接:兩個表的某些列值相等,這樣的連接稱為等值連接。
20、自然連接:自然連接運算要求兩個表有共同屬性,自然連接運算的結果表是在參與操作兩個表的共同屬性上進行等值連接後再去除重復的屬性後所得的新表,自然連接運算記為: 。
21、局部變數:DECLARE @local_variable data_type,所有局部變數在聲明後均初始化為NULL。
22、域完整性:域完整性又稱為列完整性,指給定列輸入的有效性。
23、實體完整性:實體完整性又稱為行的完整性,要求表中有一個主鍵,其值不能為空且能惟一地標識對應的記錄。
24、參照完整性:參照完整性又稱為引用完整性。參照完整性保證主表中的數據與從表中數據的一致性。
25、外碼:如果一個表中的一個欄位或若干個欄位的組合是另一個表的碼則稱該欄位或欄位組合為該表的外碼。
26、存儲過程:在SQL Server中,可以定義子程序存放在資料庫中,這樣的子程序稱為存儲過程。
27、觸發器:觸發器是一類特殊的存儲過程。觸發器與表的關系密切,用於保護表中的數據。當有操作影響到觸發器保護的數據時,觸發器自動執行。
28、導入/導出:導入/導出是資料庫系統與外部進行數據交換的操作。
導入數據是從外部數據源中檢索數據,並將數據插入到SQL Server表的過程,即把其他系統的數據引入到SQL Server的資料庫中。
導出數據是將SQL Server資料庫中的數據轉換為某些用戶指定格式的過程,即把資料庫從SQL Server資料庫中引到其他系統。
四、簡答題
1. 請列舉SQL Server 2000的資料庫對象。
表、視圖、索引、存儲過程、觸發器和約束。
2. 簡述存儲過程的優點。
(1)存儲過程在伺服器端運行,執行速度快。
(2)存儲過程執行一次後,其執行規劃就駐留在高速緩沖存儲器,在以後的操作中,只需從高速緩沖存儲器中調用已編譯好的二進制代碼執行,提高了系統性能。
(3)確保資料庫的安全。
(4)自動完成需要預先執行的任務。
3. 請根據以下表的定義寫出創建表的語句。
表名:Student
列名 數據類型 長度 是否允許為空
學號 定長字元型(char) 6 否
姓名 定長字元型(char) 8 否
專業名 定長字元型(char) 10 允許
性別 位型(bit) 1(系統默認值) 否
出生時間 日期時間類型(smalldatetime) 4(系統默認值) 否
總學分 整數型(tinyint) 1(系統默認值) 允許
備注 文本型(text) 16(系統默認值) 允許
CREATE TABLE student(
學號 char(6) NOT NULL,
姓名 char(8) NOT NULL,
專業名 char(10) NULL,
性別 bit NOT NULL,
出生日期 smalldatetime NOT NULL,
總學分 tinyint NULL,
備注 text NULL)
4. 根據以下要求寫出實現表操作的SQL語句。
假設資料庫中已經建立好以下表結構。
表名:Student
列名 數據類型 長度 是否允許為空
學號 定長字元型(char) 6 否
姓名 定長字元型(char) 8 否
專業名 定長字元型(char) 10 允許
性別 位型(bit) 1(系統默認值) 否
出生時間 日期時間類型(smalldatetime) 4(系統默認值) 否
總學分 整數型(tinyint) 1(系統默認值) 允許
備注 文本型(text) 16(系統默認值) 允許
請分別寫出如下操作的SQL語句:
(1) 增加新列 「獎學金等級」,數據類型為tinyint,允許為空;
(2) 刪除「備注」列;
(3) 將「出生日期」列的數據類型由原來的smalldatetime修改為datetime。
(1)ALTER TABLE Student ADD 獎學金等級 tinyint NULL
(2)ALTER TABLE Student DROP COLUMN 備注
(3)ALTER TABLE Student ALTER COLUMN 出生日期 datetime
5. 資料庫中已經存在下表。
表名:Student
列名 數據類型 長度 是否允許為空
學號 定長字元型(char) 6 否
姓名 定長字元型(char) 8 否
專業名 定長字元型(char) 10 允許
總學分 整數型(tinyint) 1(系統默認值) 允許
備注 文本型(text) 16(系統默認值) 允許
請寫出如下對表中數據進行操作的SQL語句:
(1)插入一條學生信息,學號為「532241」,姓名為「張鑫」,專業名為「計算機」;
(2)從表中刪除學號為「532240」的學生記錄;
(3)將表中所有記錄的專業名由「計算機」改為「計算機應用技術」。
(1)INSERT INTO Student(學號, 姓名, 專業名) VALUES(『532241』, 『張鑫』, 『計算機』)
或 INSERT INTO Student VALUES(『532241』, 『張鑫』, 『計算機』, NULL, NULL)
(2)DELETE FROM Student WHERE 學號=『532240』
(3)UPDATE Student SET 專業名=『計算機應用技術』 WHERE 專業名=『計算機』
6. 請列舉設計表時包括的內容。
確定表的名字、所包含的列名、列的數據類型、長度、是否可為空值、默認值情況、是否要使用以及何時使用約束、默認設置或規則以及所需索引、哪些列是主鍵、哪些列是外鍵。
7. 簡述索引的作用。
(1)快速存取數據。
(2)保證數據記錄的惟一性。
(3)實現表與表之間的參照完整性。
(4)在使用ORDER BY, GROUP BY子句進行數據檢索時,利用索引可減少排序和分組的時間。
8. 請根據以下表的定義寫出創建表的語句。
表名:Course
列名 數據類型 長度 是否允許為空
課程號 定長字元型(char) 3 否
課程名 定長字元型(char) 16 否
開課學期 整數型(tinyint) 1(系統默認值) 否
學時 整數型(tinyint) 1(系統默認值) 否
學分 整數型(tinyint) 4(系統默認值) 允許
CREATE TABLE course(
課程號 char(3) NOT NULL,
課程名 char(16) NOT NULL,
開課日期 tinyint NOT NULL,
學時 tinyint NOT NULL,
學分 tinyint NULL)
9. 根據以下要求寫出實現表操作的SQL語句。
假設資料庫中已經建立好以下表結構。
表名:Course
列名 數據類型 長度 是否允許為空
課程號 定長字元型(char) 3 否
課程名 定長字元型(char) 16 否
開課學期 整數型(tinyint) 1(系統默認值) 否
學時 整數型(tinyint) 1(系統默認值) 否
學分 整數型(tinyint) 4(系統默認值) 允許
請分別寫出如下操作的SQL語句:
(1) 增加新列「授課教師」,數據類型為char,長度為10,不允許為空;
(2) 刪除「學時」列;
(3) 將「課程名」列的長度由原來16改為20。
(1)ALTER TABLE Course ADD 授課教師 char(10) NOT NULL
(2)ALTER TABLE Course DROP COLUMN 學時
(3)ALTER TABLE Course ALTER COLUMN 課程名 char(20)
10. 資料庫中已經存在下表。
表名:Course
列名 數據類型 長度 是否允許為空
課程號 定長字元型(char) 3 否
課程名 定長字元型(char) 16 否
開課學期 整數型(tinyint) 1(系統默認值) 否
學時 整數型(tinyint) 1(系統默認值) 否
學分 整數型(tinyint) 4(系統默認值) 允許
繼續需要請留郵箱&上我空間留郵箱
❸ 請SQL Server 2005實力派賜教(安全架構問題)
schema定義
架構(Schema)是一組資料庫對象的集合,它被單個負責人(可以是用戶或角色)所擁有並構成唯一命名空間。你可以將架構看成是對象的容器。
在 SQL Server 2000 中,用戶(User)和架構是隱含關聯的,即每個用戶擁有與其同名的架構。因此要刪除一個用戶,必須先刪除或修改這個用戶所擁有的所有資料庫對象。
在 SQL Server 2005 中,架構和創建它的資料庫用戶不再關聯,完全限定名(fully-qualified name)現在包含4個部分:server.database.schema.object
用戶和架構分離的好處
* 多個用戶可以通過角色(role)或組(Windows groups)成員關系擁有同一個架構。
* 刪除資料庫用戶變得極為簡單。
* 刪除資料庫用戶不需要重命名與用戶名同名的架構所包含的對象,因此也無需對顯式引用資料庫對象的應用程序進行修改和測試。
* 多個用戶可以共享同一個預設架構(default schema)來統一命名。
* 共享預設架構使得開發人員可以為特定的應用程序創建特定的架構來存放對象,這比僅使用管理員架構(DBO schema)要好。
* 在架構和架構所包含的對象上設置許可權(permissions)比以前的版本擁有更高的可管理性。
預設架構
SQL Server 2005 引入了預設架構(Default Schema)的概念,用於確定沒有使用完全限定名的對象的命名。在 SQL Server 2005 中,預設架構指定了伺服器確定對象的名稱時所查找的第一個架構。預設架構可以用 CREATE USER 和 ALTER USER 中的 DEFAULT_SCHEMA 選項創建和修改。如果沒有定義 DEFAULT_SCHEMA,則所創建的資料庫用戶將用 dbo 作為他的預設架構。
上面的內容都是搜索得到的。
SQL2005用得少,竊以為,schema其實就是對用戶+角色 許可權機制的一個擴展,使得資料庫系統更具靈活性。
❹ 關於資料庫的幾道問答題,急救
第4題:打開安全性,又擊那個用戶,屬性,裡面有個資料庫選項卡,點以下,就可以設置那個許可權了,只允許該用戶訪問那一個庫就行了
❺ 什麼是架構,SQL中的架構有哪些
架構(Schema)是一組資料庫對象的集合,它被單個負責人(可以是用戶或角色)所擁有並構成唯一命名空間。你可以將架構看成是對象的容器。
在 SQL Server 2000 中,用戶(User)和架構是隱含關聯的,即每個用戶擁有與其同名的架構。因此要刪除一個用戶,必須先刪除或修改這個用戶所擁有的所有資料庫對象。
在 SQL Server 2005 中,架構和創建它的資料庫用戶不再關聯,完全限定名(fully-qualified name)現在包含4個部分:server.database.schema.object
1. 體系結構(Architecture)
體系結構亦可稱為架構,所謂軟體架構,根據Perry 和Wolfe之定義:Software Architecture = {Elements,Forms, Rationale / Constraint },也就是軟體主架構 = {組件元素,元素互助合作之模式,基礎要求與限制}。Philippe Kruchten採用上面的定義,並說明主架構之設計就是:將各組件元素以某些理想的合作模式組織起來,以達成系統的基本功能和限制。體系結構又分為多種樣式,如Pipes and Filters等。
2. 框架(Framework)
框架亦可稱為應用架構,框架的一般定義就是:在特定領域基於體系結構的可重用的設計。也可以認為框架是體系結構在特定領域下的應用。框架比較出名的例子就是MVC。
3. 庫(Library)
庫應該是可重用的、相互協作的資源的集合,供開發人員進行重復調用。它與框架的主要區別在於運行時與程序的調用關系。庫是被程序調用,而框架則調用程序。比較好的庫有JDK。
4. 設計模式(Design Pattern)
設計模式大家應該很熟悉,尤其四人幫所寫的書更是家喻戶曉。「四人幫」將模式描述為「在一定的環境中解決某一問題的方案」。這三個事物 — 問題、解決方案和環境 — 是模式的基本要素。給模式一個名稱,考慮使用模式將產生的結果和提供一個或多個示例,對於說明模式也都是有用的。
5. 平台(PlatForm)
由多種系統構成,其中也可以包含硬體部分。
對於以上的概念有一個比較清楚的認識之後,就可以在軟體的開發過程中進行應用。理論和實踐是缺一不可的,相輔相成的。沒有理論的指導,實踐就缺乏基礎;沒有實踐的證明,理論就缺乏依據,因此我一直認為:對於當代的程序員,在有一定的實踐基礎後,必須學習更深的理論知識。無論你是從那方面先開始學習的。
在軟體的開發過程中,從許多過程實踐和方法中,大致可以提煉出五大步驟:需求、分析、設計、編碼、測試。而體系結構是軟體的骨架,是最重要的基礎。體系結構是涉及到每一步驟中。一般在獲取需要的同時,就應該開始分析軟體的體系結構。體系結構現在一般是各個大的功能模塊組合成,然後描述各個部分的關系。
我一般認為框架是體系結構中每個模塊中更細小的結構。如需要表示web技術,就會用到MVC框架,而web功能只是整個軟體體系中的一個功能模塊。每個框架可以有許多個實例,如用java實現的MVC框架structs。
而在框架之下就是設計模式,設計模式一般是應用中框架之中的,也可以說是對框架的補充。因為框架只是提供了一個環境,需要我們我裡面填入更多的東西。無論是否應用了設計模式,你都可以實現軟體的功能,而正確應用了設計模式,是我們對前人軟體的設計或實現方法的一種繼承,從而讓你的軟體更軟。
體系結構是可以從不同視角來進行分析的,所以軟體體系結構的設計可以按照不同的視角來進行的。按4+1 views的論述,那是四種views:邏輯、開發、過程、物理和場景。因此體系結構是逐漸細化的,你不可能開始就拿出一個完美的體系結構,而只能根據開發過程逐漸對體系結構進行細化。
打個比方:如果我們准備建一個房子,那房子如果按功能來分:牆壁、地板、照明等,它是按那種樣式來組成的,房子是四方的還是圓形的等,這樣就組成了房子的體系結構。在體系結構之下,我們可以把框架應用在每個模塊中,例如牆壁,我們准備應用什麼框架。牆壁可以包括:窗戶、門等。窗戶和門的組成的就是一種框架。而窗戶是什麼形狀的或者是大還是小,是要為了實現屋內的亮度的,因此挑選什麼樣的窗戶就是設計模式。
❻ 誰能介紹一下sql server 2000的一些架構
架構(Schema)是一組資料庫對象的集合,它被單個負責人(可以是用戶或角色)所擁有並構成唯一命名空間。你可以將架構看成是對象的容器。
在 SQL Server 2000 中,用戶(User)和架構是隱含關聯的,即每個用戶擁有與其同名的架構。因此要刪除一個用戶,必須先刪除或修改這個用戶所擁有的所有資料庫對象。
在 SQL Server 2005 中,架構和創建它的資料庫用戶不再關聯,完全限定名(fully-qualified name)現在包含4個部分:server.database.schema.object
1. 體系結構(Architecture)
體系結構亦可稱為架構,所謂軟體架構,根據Perry 和Wolfe之定義:Software Architecture = {Elements,Forms, Rationale / Constraint },也就是軟體主架構 = {組件元素,元素互助合作之模式,基礎要求與限制}。Philippe Kruchten採用上面的定義,並說明主架構之設計就是:將各組件元素以某些理想的合作模式組織起來,以達成系統的基本功能和限制。體系結構又分為多種樣式,如Pipes and Filters等。
2. 框架(Framework)
框架亦可稱為應用架構,框架的一般定義就是:在特定領域基於體系結構的可重用的設計。也可以認為框架是體系結構在特定領域下的應用。框架比較出名的例子就是MVC。
3. 庫(Library)
庫應該是可重用的、相互協作的資源的集合,供開發人員進行重復調用。它與框架的主要區別在於運行時與程序的調用關系。庫是被程序調用,而框架則調用程序。比較好的庫有JDK。
4. 設計模式(Design Pattern)
設計模式大家應該很熟悉,尤其四人幫所寫的書更是家喻戶曉。「四人幫」將模式描述為「在一定的環境中解決某一問題的方案」。這三個事物 — 問題、解決方案和環境 — 是模式的基本要素。給模式一個名稱,考慮使用模式將產生的結果和提供一個或多個示例,對於說明模式也都是有用的。
5. 平台(PlatForm)
由多種系統構成,其中也可以包含硬體部分。
對於以上的概念有一個比較清楚的認識之後,就可以在軟體的開發過程中進行應用。理論和實踐是缺一不可的,相輔相成的。沒有理論的指導,實踐就缺乏基礎;沒有實踐的證明,理論就缺乏依據,因此我一直認為:對於當代的程序員,在有一定的實踐基礎後,必須學習更深的理論知識。無論你是從那方面先開始學習的。
在軟體的開發過程中,從許多過程實踐和方法中,大致可以提煉出五大步驟:需求、分析、設計、編碼、測試。而體系結構是軟體的骨架,是最重要的基礎。體系結構是涉及到每一步驟中。一般在獲取需要的同時,就應該開始分析軟體的體系結構。體系結構現在一般是各個大的功能模塊組合成,然後描述各個部分的關系。
我一般認為框架是體系結構中每個模塊中更細小的結構。如需要表示web技術,就會用到MVC框架,而web功能只是整個軟體體系中的一個功能模塊。每個框架可以有許多個實例,如用java實現的MVC框架structs。
而在框架之下就是設計模式,設計模式一般是應用中框架之中的,也可以說是對框架的補充。因為框架只是提供了一個環境,需要我們我裡面填入更多的東西。無論是否應用了設計模式,你都可以實現軟體的功能,而正確應用了設計模式,是我們對前人軟體的設計或實現方法的一種繼承,從而讓你的軟體更軟。
體系結構是可以從不同視角來進行分析的,所以軟體體系結構的設計可以按照不同的視角來進行的。按4+1 views的論述,那是四種views:邏輯、開發、過程、物理和場景。因此體系結構是逐漸細化的,你不可能開始就拿出一個完美的體系結構,而只能根據開發過程逐漸對體系結構進行細化。
打個比方:如果我們准備建一個房子,那房子如果按功能來分:牆壁、地板、照明等,它是按那種樣式來組成的,房子是四方的還是圓形的等,這樣就組成了房子的體系結構。在體系結構之下,我們可以把框架應用在每個模塊中,例如牆壁,我們准備應用什麼框架。牆壁可以包括:窗戶、門等。窗戶和門的組成的就是一種框架。而窗戶是什麼形狀的或者是大還是小,是要為了實現屋內的亮度的,因此挑選什麼樣的窗戶就是設計模式。
❼ sql中表達完整性約束的規則主要有哪幾種
1、實體完整性:規定表的每一行在表中是惟一的實體。
2、域完整性:是指表中的列必須滿足某種特定的數據類型約束,其中約束又包括取值范圍、精度等規定。
3、 參照完整性:是指兩個表的主關鍵字和外關鍵字的數據應一致,保證了表之間的數據的一致性,防止了數據丟失或無意義的數據在資料庫中擴散。
4、用戶定義的完整性:不同的關系資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系資料庫的約束條件,它反映某一具體應用必須滿足的語義要求。
(7)sql中完全限定名包括什麼擴展閱讀
完整性約束的類型介紹:
1、與表有關的約束:是表中定義的一種約束。可在列定義時定義該約束,此時稱為列約束,也可以在表定義時定義約束,此時稱為表約束。
2、域(Domain)約束:在域定義中被定義的一種約束,它與在特定域中定義的任何列都有關系。
3、斷言(Assertion):在斷言定義時定義的一種約束,它可以與一個或多個表進行關聯。
❽ SQL 索引重命名
看一下SQL SERVER的聯機幫助,你那樣的用法不能重新命名索引。
語法:
sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ]
參數:
[ @objname = ] 'object_name'
用戶對象或數據類型的當前限定或非限定名稱。如果要重命名的對象是表中的列,則 object_name 的格式必須是 table.column。如果要重命名的對象是索引,則 object_name 的格式必須是 table.index。
只有在指定了合法的對象時才必須使用引號。如果提供了完全限定名稱,包括資料庫名稱,則該資料庫名稱必須是當前資料庫的名稱。object_name 的數據類型為 nvarchar(776),無默認值。
[ @newname = ] 'new_name'
指定對象的新名稱。new_name 必須是名稱的一部分,並且必須遵循標識符的規則。newname 的數據類型為 sysname,無默認值。
注意:
觸發器名稱不能以 # 或 ## 開頭。
[ @objtype = ] 'object_type'
要重命名的對象的類型。object_type 的數據類型為 varchar(13),默認值為 NULL,可取下列值之一。
COLUMN
要重命名的列。
DATABASE
用戶定義資料庫。重命名資料庫時需要此對象類型。
INDEX
用戶定義索引。
OBJECT
在 sys.objects 中跟蹤的類型的項目。例如,OBJECT 可用於重命名約束(CHECK、FOREIGN KEY、PRIMARY/UNIQUE KEY)、用戶表和規則等對象。
USERDATATYPE
通過執行 CREATE TYPE 或 sp_addtype 添加別名數據類型或 CLR 用戶定義類型。
示例:
重命名索引:
以下示例將 IX_ProctVendor_VendorID 索引重命名為 IX_VendorID。
USE AdventureWorks;
GO
EXEC sp_rename N'Purchasing.ProctVendor.IX_ProctVendor_VendorID', N'IX_VendorID', N'INDEX';
GO
❾ SQL 2008 R2在線求助。立馬採納!
1. server.database.scheme.object是個概念,舉例如:mycomputer.adventure.person.address, mycomputer是伺服器名,adventure是資料庫名,person是schema名,address是表名。
2.詢問是否要保存的是執行的查詢命令,輸入的數據已經保存了。