靜軒圖書信息管理系統---摘 要
泗水ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為創新互聯建站的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
圖書管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。其能夠完成對圖書的添加、刪除、借閱、歸還和對讀者的管理等功能的操作。經過分析,使用 Microsoft?0?8
Visual Basic 6.0為開發工具,利用其提供的各種面向對象的可視化開發平臺作為開發工具,采用面向對象技術,圖形化的應用開發環境,尤其是它有一個功能極其強大的集成環境提供給開發人員,使得開發人員可通過菜單、界面、圖形瀏覽工具、對話框以及嵌入的各種生成器來輕松地完成各種復雜的操作。并且,方便的界面制作,可以節省更多的時間來研發后臺的程序代碼及數據庫。數據庫選用Access,其存儲方式單一,都存放在后綴為(.mdb)的數據庫文件中,界面友好易于操作管理。開發過程中不斷修正和改進,直到形成滿意的可行系統。
關鍵詞: VB程序設計、圖書管理系統、信息管理系統(MIS)、數據庫、Visual Basic6.0、面向對象(Object)、圖書管理。
網絡即時通信系統是為用戶開發研制的,用戶是系統的最終使用者和評價者,所以在網絡通信系統的開發設計的過程中,我們樹立了從用戶的尋求出發,面向用戶,一切為了用戶的觀念,在分析與設計系統的前期,為了保證系統的功能的完善多次尋求周圍同學和老師的意見,了解他們的要求,依照功能完善,界面美觀,操作簡單的原則進行設計 。
嚴格按階段進行
系統的開發設計是一項較大的工程,所以應該將整個系統的開發設計過程劃分為若干階段,相應的階段又要分為若干個不同的步驟,每個階段和步驟都要有明確的工作任務和目標。這種有序的組織安排,條例清楚、層次分明,便于計劃的制定和控制,并且為后續工作的進行奠定了堅實的基礎,提高了工作效率和質量。
采用系統的觀點處理
在系統分析階段,在對原系統進行全面調查和分析的基礎上,構造系統的最佳邏輯模型,使用戶對將來完整系統的輪廓有個初步的了解和認識,以便及時和用戶進行交流和探討,不斷提高系統的完善性。在此基礎上進行系統的物理實現和設計,切實完成邏輯模型的具體功能。邏輯設計和物理實現二者是相輔相成、密不可分的,這樣使系統的設計更加穩妥合理。
整個系統的設計主要采用快速原形法
快速原形法是信息系統設計的一個重要方法。它是根據用戶提出的需求,由用戶和開發者共同確定系統的基本要求和主要功能,并在一個較短的時間內建立一個實驗性的、簡單的信息系統模型,通過用戶不斷提出的意見和建議,對模型進行不斷的修改和完善,直到用戶比較滿意為止,以便形成一個相對穩定、較為理想的管理信息系統。該方法的主要優點。
1.脈絡清楚,所有問題都圍繞一個模型展開,使彼此之間聯系緊密。
2.有助于發現用戶需求,通過對原形和用戶接觸,能夠啟發開發人員去挖掘問題,從而不斷的修正、完善,最終得到一個理想的系統。
3.系統開發效率高,此方法的開發周期短、使用靈活、容易修改,這對于管理體制不夠穩定的系統更加適合。
4.系統的可擴展性好,由于此方法是在原型應用中不斷發展完善和修改的,所以有較強的擴展性。
在進行代碼設計時,遵循了以下原則。
唯一性:在本系統中,每一個代碼都和系統中的每一個對象唯一確定。
標準性:主要體現在對程序文件名命名和對數據文件命名的標準化上,遵循簡單扼要,方便適用的原則。一目了然,無重復現象。為了系統維護人員便于進行系統維護,使用了統一的標準。
合理性:系統中代碼設計與編碼對象的分類相適應,以使代碼對編碼對象的分類據有標志作用。
簡單性:在設計過程中采用Code-Behind代碼分離,使數據庫操作代碼和前端調用代碼分離,頁面修改容易。
適應性:在代碼設計過程中,代碼反映了編碼對象的特點,便于識別和記憶,使系統維護人員容易了解和掌握,便于進行維護工作。
系統總體功能結構
網絡通信系統包含以下主要功能。
用戶注冊;用戶登錄;
查找好友;查看好友資料;
添加好友;
刪除好友;
發送消息;
發送文件.
數據庫表主要用來存放用戶的注冊信息和用戶的好友資料,可利用兩張數據庫表來 存放用戶信息和用戶好友的資料。包括用戶的號碼,昵稱,密碼,在線與否,ip地址,資料,頭像號,性別,E-mail和籍貫等信息。其中,用戶昵稱和密碼是必需的字段;在線與否是由系統自動設置的;其余的信息是可選的字段。
課題整體以JAVA為平臺,采用Eclipse開發工具,并使用SQL Server 2000管理數據庫數據開發而成的基于Socket的集中式網絡通信系統,系統采用客戶機/服務器(C/S)的模式設計,是一個三層C/S結構,數據庫服務器、應用程序服務器端 、應用程序客戶端。系統采用C/S結構,可以將任務合理分配到客戶機端和服務器端 ,從而降低了系統的通信開銷。
客戶層。
客戶層是應用程序的用戶接口部分,它擔負著用戶與應用間的對話功能,用于檢查用戶的輸入數據,顯示應用的輸出數據,為了直觀的進行操作,客戶層需要使用圖形用戶接口,若聊天用戶變更,系統只需改寫顯示控制和數據檢查程序即可,而不會影響其他兩層。
服務層。(功能層)
服務層相當于應用的本體,它是將具體的業務處理邏輯編入程序中。在應用設計中,必須避免在表示層和功能層之間進行多次的數據交換,這就需要盡可能進行一次性的業務處理達到優化整體設計的目的。
數據層
數據層是DBMS,本系統使用了Microsoft 公司的SQL Ssever2000數據庫服務器來管理數據。SQL Ssever2000能迅速的執行大量數據的更新和檢索,因此,從功能層傳送到數
據層的要求一般都使用SQL語言。
2.2需求分析
(1)需求分析的任務
需求分析的任務是通過詳細調查現實世界要處理的對象(組織、部門、企業等),充分了解原系統(手工系統或計算機系統)工作概況,明確用戶的各種需求,用通俗的話來講,就是分析了解用戶關心什么,用戶需要什么樣的結果,然后在此基礎上分析和設計新系統的數據庫。
需求分析的重點是調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。
? 信息要求
是指用戶需要從數據庫中獲得信息的內容與性質。由用戶的信息要求可以導出數據要求,即在數據庫中需要存儲哪些數據。
? 處理要求
是指用戶要求完成什么處理功能,對處理的響應時間有什么要求,處理方式是批處理還是聯機處理。
? 安全性與完整性要求
一是指用戶對系統和數據有什么安全性要求,如不同級別的用戶具有什么操作權限和使用哪些數據;二是對數據的輸入和存儲的什么要求,如數據的長度和范圍、數據的有效性、一致性和唯一性等。
確定用戶的最終需求其實是一件很困難的事,這是因為一方面用戶缺少計算機知識,開始時無法確定計算機究竟能為自己做什么,不能做什么,因此無法一下子準確地表達自己的需求,他們所提出的需求往往不斷地變化。另一方面設計人員缺少用戶的專業知識,不易理解用戶的真正需求,甚至誤解用戶的需求。因此設計人員必須與用戶不斷深入地進行溝通和交流,才能逐步得以確定用戶的實際需求。
(2)需求分析的基本步驟
1.調查與初步分析用戶的需求,確定系統的功能邊界
⑴首先調查組織機構情況
⑵然后調查各部門的業務活動情況
⑶協助用戶明確對新系統的各種要求
⑷確定新系統的結構和功能邊界,確定哪些功能由計算機完成或將來由計算機完成,哪些活動由人工完成。
常用的調查方法有:
⑴跟班作業
⑵開調查會
⑶請專人介紹
⑷詢問
⑸問卷調查
⑹查閱記錄
2.生成數據字典
1)數據項條目:數據項是不可再分的數據單位,它直接反映事物的某一特征。
2)數據結構條目:反映了數據之間的組合關系。
3)數據流條目:數據流是數據結構在系統內傳輸的路徑。
4)數據文件條目:數據文件是數據項停留或保存的地方,也是數據流的來源和去向之一。
5)處理過程條目。
(3) 案例分析:教學管理系統數據庫的需求分析
用戶的需求具體體現在各種信息的提供、保存、更新和查詢上,這就要求數據庫的結構能充分滿足各種信息的輸出和輸入。需求分析階段主要是收集基本數據,確定數據結構及數據處理的流程,組成一份詳盡的數據字典,以便為后面的概念設計和邏輯設計打下基礎。
2.3概念結構設計
概念結構設計是對收集來的信息和數據進行分析整理,確定實體、屬性及聯系,形成獨立于計算機的反映用戶觀點的概念模型。概念設計的重點在于信息結構的設計,它是整個數據庫系統設計的關鍵。
(1)概念結構設計的目標和任務
概念結構設計的目標是產生反映系統信息需求的數據庫概念結構,即概念模式。概念結構是獨立于DBMS和使用的硬件環境的。在這一階段,設計人員要從用戶的角度看待數據以及數據處理的要求和約束,產生一個反映用戶觀點的概念模式,然后再把概念模式轉換為邏輯模式。
概念模型的表示方法很多,其中最著名、最常用的表示方法為實體-聯系方法,這種方法也稱為E-R模型方法,該方法采用E-R圖描述概念模型。
E-R圖提供了表示實體、屬性和聯系的方法,它由以下三個組件構成:
? 實體---用矩形表示,矩形框內寫明實體名。
? 屬性---用橢圓形表示,并用無向邊將其與相應的實體連接起來。
? 聯系---用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)。
例如教學管理系統中的學生實體與課程實體的E-R圖如下圖表示:
(2)概念結構設計的過程
●數據抽象
概念結構是對現實世界的一種抽象,所謂抽象就是對實際的人、事、物和概念進行加工處理,抽取所關心的共同特性,用各種概念精確的加以描述,組成某種模型。
在需求分析中,已初步得到了有關各類實體、實體間的聯系以及描述它們性質的數據元素,統稱數據對象。
在這一階段中,首先要從以上數據對象中找出:系統有哪些實體?每個實體有哪些屬性?哪些實體間存在聯系?每一種聯系有哪些屬性?然后就可以做出系統的局部E-R模型和全局E-R模型。
● 局部E-R模型設計
局部E-R模型設計是從數據流圖出發確定實體和屬性,并根據數據流圖中表示的對數據的處理、確定實體之間的聯系。
設計局部E-R圖的步驟是:
1.確定實體類型和屬性
實體和屬性之間沒有嚴格的區別界限,但對于屬性來講,可以用下面的兩條準則作為依據:
1)作為屬性必須是不可再分的數據項,也就是屬性中不能再包含其他的屬性。
2)屬性不能與其他實體之間具有聯系。
2.確定實體間的聯系
依據需求分析結果,考察任意兩個實體類型之間是否存在聯系,若有,則確定其類型(一對一,一對多或多對多)。
3.畫出局部E-R圖
確定了實體及實體間的聯系后,可用E-R圖描述出來。形成局部E-R圖之后,還必須返回去征求用戶意見,使之如實地反映現實世界,同時還要進一步規范化,以求改進和完善。每個局部E-R圖必須滿足:
(1)對用戶需求是完整的。
(2)所有實體、屬性、聯系都有惟一的名字。
(3)不允許有異名同義、同名異義的現象。
● 全局E-R模型的設計
各個局部E-R模型建立好后,還需要對它們進行合并,集成為一個整體的數據概念結構,即總E-R圖。在合并全局E-R模型時,應注意檢查和消除屬性、命名的沖突及數據冗余。
(3)案例分析:教學管理系統數據庫的概念結構設計
通過上面的需求分析,就可以進行數據庫的概念結構設計,先對現實當中的人、事、物和概念進行抽象的加工處理,抽取所關心的共同特性,用各種概念進行描述,從中找出能夠滿足用戶需求的各種實體,以及它們之間的關系,并用實體-聯系圖表示出來(即畫出E-R圖),為后面的邏輯結構設計打下基礎。
1、確定實體及其屬性
經過對人工進行的教學管理系統的業務調查,得知系統主要涉及以下幾個實體:
● 學生實體:屬性主要包括班級名稱、學號、姓名、性別、出生日期、民族、政治面貌、來源地、入學成績、學生類別、電話、備注等。
● 教師實體:屬性主要包括教師號、教師姓名、性別、出生日期、所在系、職稱
● 班級實體:屬性主要包括系部名稱、班級號、班級名稱、班主任、學生人數、備注等。
● 系部實體:屬性主要包括系號、系部名稱、班級數等。
● 課程實體:屬性主要包括課程號、課程名、考核方式、學分、學時數等。
2、確定實體之間的聯系
2.4 邏輯結構設計
(1)邏輯結構設計的目標和任務
邏輯結構設計的目標就是把概念結構設計階段設計好的E-R圖轉換為特定的DBMS所支持的數據模型(即層次、網狀、關系模型之一),并對其進行優化。
概念模型向邏輯模型的轉換過程分為3步進行:
(1)把概念模型轉換為一般的數據模型。
(2)將一般的數據模型轉換成特定的DBMS所支持的數據模型。
(3)通過優化方法將其轉化為優化的數據模型。
(2) 概念模型轉換為一般的關系模型
1.實體的轉換規則
將E-R圖中的每一個常規實體轉換為一個關系,實體的屬性就是關系的屬性,實體的碼就是關系的碼。
2.實體間聯系的轉換規則
1)一個1:1聯系可以轉換為各自獨立的關系模式,也可以與任意一端所對應的關系模式合并。
2)一個1 : n聯系可以轉換為各自獨立的關系模式。
3)一個m : n聯系轉換為一個關系模式。轉換的方法為:與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性,新關系的碼為兩個相連實體碼的組合
(3) 案例分析:教學管理系統數據庫的邏輯結構設計
邏輯結構設計的任務是把概念結構設計階段設計好的E-R圖轉換為特定的DBMS所支持的數據模型(即層次、網狀、關系模型之一),并對其進行優化,得到滿足用戶要求和系統功能需求的關系模式。
1、 E-R模型轉換為關系模式
將E-R模型轉換成初始關系模式的一般規則是:系統中各個實體轉換為對應的關系模式;實體之間多對多的聯系也轉換為關系模式。
根據轉換規則,可以將系部、班級、學生、教師、課程五個實體轉換成與之對應的五個關系模式;而將學生與課程兩者之間多對多的選修關系以及教師、班級和課程三者之間多對多的開課關系也轉換為關系模式。
2、關系模式的設計
根據上述的轉換結果,在對關系模式中數據進行規范化處理后,得到了符合第三范式的關系模式如下:
學生:{學號、姓名、性別、出生日期、民族、政治面貌、來源地、入學成績、學生類別、班級名稱、電話、備注}
班級:{班級號、班級名稱、班主任、學生人數、系部名稱、備注}
系部:{系號、系部名稱、班級數}
教師:{教師號、教師姓名、性別、出生日期、所在系、職稱}
課程:{課程號、課程名、考核方式、學分、學時數}
選修:{學號、課程號、成績}
開課: {教師號、班級名稱、課程號、開課學期、授課地點}
每個關系模式中帶下劃線的屬性或屬性的組合表示主鍵、帶雙波浪線的屬性表示與之關聯的表的外鍵。
根據系統功能需求,數據采用SQL Server 2000所支持的實際數據模型,也就是數據庫的邏輯結構。啟動SQL Server 2000,創建一個數據庫命名為:jxgl。該數據庫中各個數據表的結構如下面各個表格所示。每個表格對應于數據庫中的一個表。
3、將關系模式轉換為數據庫中的表
按照關系數據模型的結構,將關系模式轉換為關系數據庫中的數據表,轉換的規則是:一個關系模式轉換為一個數據表,關系模式中的每個屬性轉換為數據表中的一個列。同時設置表中各個列的名稱、數據類型、數據寬度以及數據規則,得到如下幾個表:
學生表(student)
列名 類型 寬度 規則
班級名稱 CHAR 20 內容取自班級信息表的班級名稱
學號 CHAR 10 主鍵、長度為10個字符
姓名 CHAR 8
性別 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME
民族 CHAR 4 假定只能取以下之一:漢、壯、白、回、苗、滿、其它
政治面貌 CHAR 4 只能取以下之一:黨員、團員、群眾
來源地 CHAR 10
入學成績 INT
學生類別 CHAR 10 假定只能取以下之一:本科、大專(普)、大專(業)、中專、技校、函授、其它
電話 CHAR 11
備注 CHAR 10
注:(1)該表存放全校所有學生的基本信息,每個學生產生一條記錄。
(2)學號的前4位表示年級,第5--8位表示班級號(其中第5-6位表示系號, 第7-8位表示系內班級號),最后兩位是班內的學生編號,在輸入記錄內容時應加以區分。
班級表(class)
列名 類型 寬度 規則
系部名稱 CHAR 10 非空、內容取自系部信息表的系部名稱
班級號 CHAR 4 非空、長度為4個字符
班級名稱 CHAR 20 主鍵
班主任 CHAR 8
學生人數 INT
備注 CHAR 10
注:(1)該表存放全校所有班級的信息,每個班級產生一條記錄。
(2)班級號的前2位表示系號,后兩位為系內的班級編號,在輸入記錄內容時應加以區分。
系部表(department)
列名 類型 寬度 規則
系號 CHAR 2 非空、長度為2個字符
系部名稱 CHAR 10 主鍵
班級數 INT
注:該表存放某校所有的系部信息,每個系部產生一條記錄。
教師表(teacher)
列名 類型 寬度 規則
教師號 CHAR 4 主鍵、長度為4個字符
姓名 CHAR 8
性別 CHAR 2 非空、只能取“男”或“女”
出生日期 DATETIME
職稱 CHAR 6 只能取以下之一:教授、副教授、講師、助教、其他
所在系 CHAR 20 非空、外鍵(內容取自系部表的系部名稱)
課程表(course)
列名 類型 寬度 規則
課程號 CHAR 4 主鍵、長度為4個字符
課程名 CHAR 20
考核方式 CHAR 4 假定只能取以下之一:考試、考查、其他
學分 INT 非空
學時數 INT
注:該表存放某校所有的課程信息,每門課產生一條記錄。
成績表(SC)
列名 類型 寬度 規則
學號 CHAR 8 主鍵、內容取自學生信息表的學生姓名
課程號 CHAR 20 主鍵、內容取自課程信息表的課程名稱
成績 INT
注:該表存放某校所有學生的成績信息,每個學生學習每門課程產生一條記錄。
開課信息表(tcc)
列名 類型 寬度 規則
教師號 CHAR 4 主鍵、內容取自教師信息表的教師號
課程號 CHAR 4 主鍵、內容取自課程信息表的課程號
班級號 CHAR 4 主鍵、內容取自班級信息表的班級號
開課學期 CHAR 20
授課地點 CHAR 20
注:該表存放某校開設課程的信息,每個教師教授某個班級的某門課產生一條記錄。
2. 5 物理設計
數據庫的物理設計目標是在選定的DBMS上建立起邏輯設計結構確立的數據庫結構,這一過程也稱為數據庫的物理實現。它主要包括兩項工作:
一是根據數據庫的結構、系統的大小、系統需要完成的功能及對系統的性能要求,決定選用哪個數據庫管理系統。目前,數據庫產品市場上比較好的產品有:Microsoft SQL Server、Oracle、IBM DB/2,SYBASE等。
二是根據選用的數據庫管理系統的數據庫實現方法來建立用戶數據庫,即創建所需要的數據庫、表及其他數據庫對象。
本系統選用的DBMS是SQL Server 2000,并在該系統上創建用戶數據庫jxgl以及下屬的7個用戶表:student、class、department、teacher、course、sc、tcc,各個表的結構按2.4節第3點各表給出的具體內容設定。
2. 5 實訓二
以小組討論的形式,完成人事工資管理系統用戶數據庫的設計,要求個人寫出用戶數據庫設計的文檔(包括數據庫的需求分析、概念設計、邏輯設計和物理設計,表達方法可參考本章相應內容的案例分析部分),每個小組上交一份本系統用戶數據庫包括的數據表。
第三章 數據庫的數據完整性設計
3.1數據完整性的基本概念及內容
正確創建數據庫后,需要考慮數據的完整性、數據的安全性等要求。數據的完整性主要指數據的正確性、有效性、相容性,強制實施數據完整性可以確保數據庫中的數據的質量。
進行數據完整性設計主要考慮以下幾個方面的內容:
1)表名惟一;
由系統強制實施控制。
2)列名惟一;()
由系統強制實施控制。
3)數據行惟一;
通過設置主鍵約束或觸發器來實施控制。
4)列值非空;
通過設置非空約束來實施控制。
5)列值惟一性
通過設置惟一約束或惟一索引來實施控制。
6)列值滿足一定的條件
通過設置檢查約束或觸發器來實施控制。
7)數據的一致性和有效性
通過設置外鍵約束或觸發器來實施控制。
至于具體要對數據庫的哪一個表的哪一項數據進行什么樣的數據完整性設計,還應根據用戶的需求來考慮和確定。
3.2 數據完整性的分類與實現方法
在SQL Server關系數據庫中,數據完整性分為以下三類:
1. 域完整性
域完整性是指一個列的輸入有效性,是否允許空值。實現域完整性的方法主要有:限制數據類型(通過設定列的數據類型)、限定格式(通過CHECK約束和規則)或可能值的范圍(通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT定義、NOT NULL定義和規則)以及程序控制。
2. 實體完整性
實體完整性是指保證表中所有的行唯一。實現實體完整性的方法主要有:索引、UNIQUE約束、PRIMARY KEY約束或 IDENTITY屬性以及程序控制。
3. 參照完整性
參照完整性也叫引用完整性。參照完整性確保主鍵(被引用表)和外鍵(引用表)之間的參照關系。它涉及兩個或兩個以上表數據的一致性維護。如student表(稱為引用表、參照表或子表)的class_id列就是參照class表(稱為被引用表、被參照表或父表)的外鍵。參照完整性可以實現以下兩種控制:
(1)存在外鍵時,被參照表中的這一行不能被刪除,主鍵值也不能改變 (以student和class表的“班級名稱”列為例說明)。
(2)若在被參照表中不存在包含相應主鍵的行時,一個外鍵值不能插入參照表中(MsgBox "添加記錄成功!", vbOKOnly + vbInformation, "提示"
End Sub
Private Sub Command5_Click()
rs.Close
Unload Me
End Sub
Private Sub Form_Load()
rs.CursorLocation = adUseClient ' 設置在客戶端創建游標
rs.CursorType = adOpenKeyset '設置游標類型為鍵集類型
rs.LockType = adLockOptimistic '設置打開記錄集時的鎖定類型為樂觀鎖,在執行UPdate方法前不鎖定編輯的數據
rs.Open "select * from teacher", cnn
'在表格上顯示class表的記錄內容
Set DataGrid1.DataSource = rs
DataGrid1.Refresh
'將表格上的數據與文本框或下拉列表框綁定
Set Text1.DataSource = rs
Text1.DataField = "教師號"
Set Text2.DataSource = rs
Text2.DataField = "姓名"
Set Combo1.DataSource = rs
Combo1.DataField = "所在系"
Set Text3.DataSource = rs
Text3.DataField = "出生日期"
Set Text4.DataSource = rs
Text4.DataField = "從教日期"
Set Combo2.DataSource = rs
Combo2.DataField = "性別"
Set Combo3.DataSource = rs
Combo3.DataField = "職稱"
Set Combo4.DataSource = rs
Combo4.DataField = "政治面貌"
Set Combo5.DataSource = rs
Combo5.DataField = "學歷"
Set Text7.DataSource = rs
Text7.DataField = "家庭住址"
Set Text5.DataSource = rs
Text5.DataField = "聯系電話"
Set Text6.DataSource = rs
Text6.DataField = "備注"
'下拉列表框提供班級名稱
Combo1.Clear
rs1.Open "select 系部名稱 from department", cnn
While Not rs1.EOF()
Combo1.AddItem Trim(rs1.Fields("系部名稱"))
rs1.MoveNext
Wend
rs1.Close
End Sub
對其余幾個表的數據進行增、刪、改操作的窗體的設計方法與上述類擬。
這么多題目很少有人會去做
建議題主一是花錢買答案
二是把具體題目發出來看看是否有人愿意回答
祝好運,望采納。
--一、
use master
go
create database jwgl
ON PRIMARY
(--主文件
name='jwgl1',
filename='D:\jwgl\jwgl1.mdf',
size=3MB,
maxsize=10MB,
filegrowth=1MB
),
FILEGROUP jwgl_group
(--次要文件1
name='jwgl2',
filename='D:\jwgl\jwgl2.ndf',
size=3MB,
maxsize=10MB
),
(
name='jwgl3',
filename='D:\jwgl\jwgl3.ndf'
)
log on
(
name='jwgllog1',
filename='D:\jwgl\jwgllog1.ldf',
size=1mb,
maxsize=10mb,
filegrowth=1mb
),
(
name='jwgllog2',
filename='D:\jwgl\jwgllog2.ldf',
size=1mb,
filegrowth=10%
)
--二、
use jwgl
go
--1、(1)
create table xsxx
(
xh char(10) primary key,
xm nvarchar(6),
xb char(2) default '女' check (xb='男' or xb='女'),
nl int,
xib nvarchar(20)
)
--(2)、
create table kcxx
(
kcbh char(10) primary key,
kcmc nvarchar(10),
xf tinyint check (xf0 and xf7)
)
--(3)、
create table xkxx
(
xh char(10),
kcbh char(10),
chj tinyint check(chj=0 and chj=100),
constraint pk_xh_kcbh primary key(xh,kcbh),
FOREIGN KEY(xh) references xsxx(xh),
Foreign key(kcbh) references kcxx(kcbh)
)
--2、
--insert into xsxx
insert into xsxx values('9952101','劉萱','男',23,'軟件工程系')
insert into xsxx values('9952102','李寧佳','女',20,'信息系')
insert into xsxx values('9952103','竇潔麗','女',21,'數學系')
insert into xsxx values('9952104','汪紫薇','女',19,'網絡系')
insert into xsxx values('9952105','張輝','男',25,'軟件工程系')
insert into xsxx values('9952106','賈東','男',26,'信息系')
insert into xsxx values('9952107','周丹丹','女',24,'網絡系')
--insert into kcxx
insert into kcxx values('1','網絡基礎',6)
insert into kcxx values('2','語言程序設計',6)
insert into kcxx values('3','數據庫管理',6)
--insert into xkxx
insert into xkxx values('9952101','1',69)
insert into xkxx values('9952101','2',73)
insert into xkxx values('9952101','3',86)
insert into xkxx values('9952102','1',91)
insert into xkxx values('9952103','3',56)
insert into xkxx values('9952104','1',56)
insert into xkxx values('9952104','2',69)
insert into xkxx values('9952105','1',73)
insert into xkxx values('9952106','2',86)
--3、
--(1)
select * from xsxx where xib'軟件工程系' and xib'網絡系'
--(2)
select xsxx.xh,xm from xsxx inner join xkxx on xsxx.xh=xkxx.xh
where nl=25 and xkxx.chj=60
--(3)
select * from xsxx where xm like '李[^陽]%'
--(4)
select xsxx.xh,xsxx.xm,kcxx.kcmc,xkxx.chj from xkxx inner join xsxx on xkxx.xh=xsxx.xh inner join kcxx on xkxx.kcbh=kcxx.kcbh
where kcxx.kcbh='1' order by xkxx.chj desc
--(5)
select kcxx.kcmc,count(kcxx.kcmc)as 選課人數 from xkxx inner join kcxx on xkxx.kcbh=kcxx.kcbh
group by kcxx.kcmc
--(6)
select xh,xm,xib from xsxx where xh in(select xh from xkxx group by xh having count(xh)=3)
--三、
create unique index index_xm on xsxx(xm)
--四、
--使用表xsxx、xkxx、kcxx,創建視圖view_ssc,包含的列為姓名、課程名稱、成績
if exists(select * from sysobjects where name='view_ssc')
drop view view_ssc
go
create view view_ssc
as
select xsxx.xm,kcxx.kcmc,xkxx.chj from xsxx inner join xkxx on xsxx.xh=xkxx.xh inner join kcxx on xkxx.kcbh=kcxx.kcbh
go
select * from view_ssc --測試查詢視圖
1.select 學號,姓名 from 學生 where 班級='軟件041'
2.select * from 課程 where 課程名稱 like '%語言%'
3.select 學生.學號,姓名,班級 from 學生 where 學號 in(
select top 5 學號 from 選課 where 課程號 in(
select 課程號 from 課程 where 課程名稱='C語言'
) order by 成績 desc
)
4.select 班級,count(1) 學生人數 from 學生 group by 班級
5.select 學號 from 選課 where 課程號=(
select 課程號 from 課程 where 課程名稱='計算機應用基礎'
) 成績(select 成績 from 選課 where 學號=(select 學號 from 學生 where 姓名='張三') and 課程號=(
select 課程號 from 課程 where 課程名稱='計算機應用基礎'
)
)
分享標題:nosql課程設計期末大作業的簡單介紹
本文地址:http://vcdvsql.cn/article24/dsdjdce.html
成都網站建設公司_創新互聯,為您提供外貿網站建設、移動網站建設、建站公司、網站導航、關鍵詞優化、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯