一、實體與表對應(yīng)關(guān)系
表<=>實體,字段<=>屬性。
二、表與表的關(guān)系(實體間的關(guān)系):一對一、一對多、多對多
一對一:一條記錄只對應(yīng)其他表中的一條記錄有關(guān)系
學(xué)生基本信息表t_student,成績表t_studentScore含有一個外鍵studentId?;拘畔⒈碇械膕tudentId和成績表中的studentId就是一對一的關(guān)系。
一對多:A表一條記錄對應(yīng)B表中多條記錄有關(guān)系,B表的記錄不被A表記錄共享(有關(guān)系)。
班級表和學(xué)生表,一個班級有多個學(xué)生,對班級來說就是一對多的關(guān)系。
多對多:A表一條記錄和B表多條記錄有關(guān)系,B表的一條記錄也和A表的多條記錄有關(guān)系(互相共享)。
學(xué)生表和科目表,學(xué)生可以選擇多個科目,每個科目可以被多個學(xué)生選擇。
三、基本表的完整性
(1)原子性。字段是不可再分解的。
(2)原始性。記錄是原始數(shù)據(jù)(基礎(chǔ)數(shù)據(jù))的記錄。
(3)穩(wěn)定性。結(jié)構(gòu)是相對穩(wěn)定的,表中的記錄是要長期保存的。
(4)演繹性。由基本表與代碼表中的數(shù)據(jù),可以派生出所有的輸出數(shù)據(jù)。
四、其他常用表
1.中間表
中間表是針對多對多關(guān)系的。就比如做公交查詢系統(tǒng),里面有兩個表,分別是車站表t_busstation、線路表t_road,根據(jù)常識,一個站有多個線路經(jīng)過,而每個線路又有多個車站,怎么才能將兩個表聯(lián)系起來呢,如果是一對一,一對多,我們一個表,兩個表就可以將他們實現(xiàn)了。但是多對多呢,這樣我們就必須借助中間表用來連接兩個表。一般中間表只有一個自增主鍵+兩個表的主鍵。中間表是沒有屬性的因為它不是一個基本表。
2.臨時表
臨時表是那些以#號開頭為名字的數(shù)據(jù)表,它主要是用來存放臨時數(shù)據(jù)的,當(dāng)用戶斷開連接但沒有清除臨時表里的數(shù)據(jù)時,系統(tǒng)會自動把臨時表里的數(shù)據(jù)清空。臨時表是放在系統(tǒng)數(shù)據(jù)庫tempdb中的,而不是當(dāng)前數(shù)據(jù)庫。
臨時表分兩種:本地臨時表和全局臨時表。
a.本地臨時表
本地臨時表是以#開頭的,只對當(dāng)前的數(shù)據(jù)庫用戶可見,而其他的用戶是不可見的。當(dāng)數(shù)據(jù)庫實例斷開后當(dāng)然也就丟失了數(shù)據(jù)了,不管是顯式清空還是系統(tǒng)回收。
b.全局臨時表
以“##”開頭的,而且是對所有的用戶都是可見,當(dāng)你斷開數(shù)據(jù)庫實例連接時,只要還有別的系統(tǒng)項目在引用它,連著數(shù)據(jù)庫,那么數(shù)據(jù)就存在,只有當(dāng)別的系統(tǒng)也全部斷開連接時,系統(tǒng)才會清除全局臨時表的數(shù)據(jù)。
建立臨時表的語句:
本地臨時表:
create?table?#student(studentID?int?,studentName?nvarchar?(40),classID?int)全局臨時表:create?table?##student(studentID?int?,studentName?nvarchar?(40).classID?int)
也可以用SQL語句完成:
select?*?from?employee?into?#student
Oracle視頻教程下載:http://www.bjpowernode.com/javavideo/148.html
以上就是長沙牛耳教育java培訓(xùn)機(jī)構(gòu)的小編針對“Java數(shù)據(jù)庫技術(shù)視頻,oracle設(shè)計”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。