何為資料庫
A. . 什麼叫資料庫、欄位名、欄位類型、欄位寬度、記錄、主關鍵字、次關鍵字
資料庫:是按照數據結構來組織、存儲和管理數據的倉庫 。
資料庫由數據表組成,舉個例子,存儲學生年齡的數據表,有三個屬性:(學號,姓名,年齡)
「學號」,「姓名」,「年齡」 都是欄位名
如果我定義"學號"為char(20),就說明這個欄位的類型為 char 型,字元串,欄位寬度為20
紀錄是指,數據表中的數據,比如(0001,元芳,30) 這樣一條數據就是紀錄
主關鍵字 是指 所有紀錄中唯一不同的欄位,這個裡面 是 「學號」,因為只有每個人的學號是不同的,名字和年齡都有可能相同。
B. 什麼叫資料庫名
一、資料庫名
什麼是資料庫名?
資料庫名就是一個資料庫的標識,就像人的身份證號一樣。他用參數DB_NAME表示,如果一台機器上裝了多全資料庫,那麼每一個資料庫都有一個資料庫名。在資料庫安裝或創建完成之後,參數DB_NAME被寫入參數文件之中。格式如下:
DB_NAME=myorcl
...
在創建資料庫時就應考慮好資料庫名,並且在創建完資料庫之後,資料庫名不宜修改,即使要修改也會很麻煩。因為,資料庫名還被寫入控制文件中,控制文件是以二進制型式存儲的,用戶無法修改控制文件的內容。假設用戶修改了參數文件中的資料庫名,即修改DB_NAME的值。但是在Oracle啟動時,由於參數文件中的DB_NAME與控制文件中的資料庫名不一致,導致資料庫啟動失敗,將返回ORA-01103錯誤。
資料庫名的作用
資料庫名是在安裝資料庫、創建新的資料庫、創建資料庫控制文件、修改數據結構、備份與恢復資料庫時都需要使用到的。
有很多Oracle安裝文件目錄是與資料庫名相關的,如:
winnt: d:\oracle\proct\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/proct/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\proct\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix: /home/app/oracle/proct/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟蹤文件目錄:
winnt: /home/app/oracle/proct/10.1.0/admin/DB_NAME/bmp/...
另外,在創建數據時,careate database命令中的資料庫名也要與參數文件中DB_NAME參數的值一致,否則將產生錯誤。
同樣,修改資料庫結構的語句alter database, 當然也要指出要修改的資料庫的名稱。
如果控制文件損壞或丟失,資料庫將不能載入,這時要重新創建控制文件,方法是以nomount方式啟動實例,然後以create controlfile命令創建控制文件,當然這個命令中也是指指DB_NAME。
還有在備份或恢復資料庫時,都需要用到資料庫名。
總之,資料庫名很重要,要准確理解它的作用。
查詢當前數據名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看參數文件。
修改資料庫名
前面建議:應在創建資料庫時就確定好資料庫名,資料庫名不應作修改,因為修改資料庫名是一件比較復雜的事情。那麼現在就來說明一下,如何在已創建數據之後,修改資料庫名。步驟如下:
1.關閉資料庫。
2.修改資料庫參數文件中的DB_NAME參數的值為新的資料庫名。
3.以NOMOUNT方式啟動實例,修建控制文件(有關創建控制文件的命令語法,請參考oracle文檔)
二、資料庫實例名
什麼是資料庫實例名?
資料庫實例名是用於和操作系統進行聯系的標識,就是說資料庫和操作系統之間的交互用的是資料庫實例名。實例名也被寫入參數文件中,該參數為instance_name,在winnt平台中,實例名同時也被寫入注冊表。
資料庫名和實例名可以相同也可以不同。
在一般情況下,資料庫名和實例名是一對一的關系,但如果在oracle並行伺服器架構(即oracle實時應用集群)中,資料庫名和實例名是一對多的關系。這一點在第一篇中已有圖例說明。
查詢當前資料庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在參數文件中查詢。
資料庫實例名與ORACLE_SID
雖然兩者都表是oracle實例,但兩者是有區別的。instance_name是oracle資料庫參數。而ORACLE_SID是操作系統的環境變數。ORACLD_SID用於與操作系統交互,也就是說,從操作系統的角度訪問實例名,必須通過ORACLE_SID。在winnt不台,ORACLE_SID還需存在於注冊表中。
且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平台,是「ORACLE not available」,在winnt平台,是「TNS:協議適配器錯誤」。
資料庫實例名與網路連接
資料庫實例名除了與操作系統交互外,還用於網路連接的oracle伺服器標識。當你配置oracle主機連接串的時候,就需要指定實例名。當然8i以後版本的網路組件要求使用的是服務名SERVICE_NAME。這個概念接下來說明 。
三、資料庫域名
什麼是資料庫域名?
在分布工資料庫系統中,不同版本的資料庫伺服器之間,不論運行的操作系統是unix或是windows,各伺服器之間都可以通過資料庫鏈路進行遠程復制,資料庫域名主要用於oracle分布式環境中的復制。舉例說明如:
全國交通運政系統的分布式資料庫,其中:
福建節點: fj.jtyz
福建廈門節點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是資料庫域名。
資料庫域名在存在於參數文件中,他的參數是db_domain.
查詢資料庫域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在參數文件中查詢。
全局資料庫名
全局資料庫名=資料庫名+資料庫域名,如前述福建節點的全局資料庫名是:oradb.fj.jtyz
四、資料庫服務名
什麼是資料庫服務名?
從oracle9i版本開始,引入了一個新的參數,即資料庫服務名。參數名是SERVICE_NAME。
如果資料庫有域名,則資料庫服務名就是全局資料庫名;否則,資料庫服務名與資料庫名相同。
查詢資料庫服務名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在參數文件中查詢。
資料庫服務名與網路連接
從oracle8i開如的oracle網路組件,資料庫與客戶端的連接主機串使用資料庫服務名。之前用的是ORACLE_SID,即資料庫實例名。
C. 什麼叫動態資料庫,什麼叫靜態資料庫
靜態數據是基本保持穩定的數據,比如一個單位的名稱、員工信息、系統參數等
動態數據是隨著時間的發展,常常變化的數據,比如日銷售額、年銷售額等等。
在數據分析中具體表現來看就是,如果這個資料庫的數據僅僅只有一個時間節點的,即可理解為靜態數據,又叫做橫截面數據,並且採用靜態數據的分析方法分析即可。
如果該資料庫中的數據包含不同時間進程的,比如時間包含多個月份,或者包含多個年份這樣的數據,就理解為動態數據,又叫縱截面數據,需要採用面板數據分析方法分析
D. 什麼叫資料庫、欄位名、欄位類型、欄位寬度、記錄、主關鍵字、次關鍵字
資料庫是在應用軟體中 存儲數據的工具,像mysql oracle sqlserver ,DB2 等等, 欄位名表示數據表中的有那些欄位 ,比如:學生表 中有ID ,學號,姓名,年齡。等等這些就是欄位,類型表示這些欄位的數據存儲的類型,ID是數字 所以是int ,名字是字元串, 欄位寬度表示這個欄位能存儲的最大長度,記錄表示的就是一整條學生信息(包括所有欄位),主次關鍵字應該是主鍵和外鍵。。主鍵表示表中每條記錄的唯一標識 ID ,外鍵就是關聯到其它表的ID
E. 什麼叫資料庫結構
資料庫結構是指在計算機的存儲設備上合理存放的相關聯的有結構的數據集合的結構。一個資料庫結構含有各種成分,包括資料庫、數據表、欄位等。
資料庫(Database)
Visual Basic中使用的資料庫是關系型資料庫(Relational Database)。一個資料庫由一個或一組數據表組成。每個資料庫都以文件的形式存放在磁碟上,即對應於一個物理文件。不同的資料庫,與物理文件對應的方式也不一樣。對於dBASE,FoxPro和Paradox格式的資料庫來說,一個數據表就是一個單獨的資料庫文件,而對於Microsoft Access、Btrieve格式的資料庫來說,一個資料庫文件可以含有多個數據表。
1、數據表(Table)
簡稱表,由一組數據記錄組成,資料庫中的數據是以表為單位進行組織的。一個表是一組相關的按行排列的數據;每個表中都含有相同類型的信息。
表實際上是一個二維表格,例如,一個班所有學生的考試成績,可以存放在一個表中,表中的每一行對應一個學生,這一行包括學生的學號,姓名及各門課程成績。
2、記錄(Record)
表中的每一行稱為一個記錄,它由若干個欄位組成。
3、欄位(Field)
也稱域。表中的每一列稱為一個欄位。每個欄位都有相應的描述信息,如數據類型、數據寬度等。
(5)何為資料庫擴展閱讀:
資料庫結構的其他組成結構:
1、索引(Index)
為了提高訪問資料庫的效率,可以對資料庫使用索引。當資料庫較大時,為了查找指定的記錄,則使用索引和不使用索引的效率有很大差別。
索引實際上是一種特殊類型的表,其中含有關鍵欄位的值(由用戶定義)和指向實際記錄位置的指針,這些值和指針按照特定的順序(也由用戶定義)存儲,從而可以以較快的速度查找到所需要的數據記錄。
2、查詢(Query)
一條SQL(結構化查詢語言)命令,用來從一個或多個表中獲取一組指定的記錄,或者對某個表執行指定的操作。當從資料庫中讀取數據時,往往希望讀出的數據符合某些條件,並且能按某個欄位排序。使用SQL,可以使這一操作容易實現而且更加有效。
SQL是非過程化語言(有人稱為第四代語言),在用它查找指定的記錄時,只需指出做什麼,不必說明如何做。每個語句可以看作是一個查詢(query),根據這個查詢,可以得到需要的查詢結果。
3、過濾器(Filter)
過濾器是資料庫的一個組成部分,它把索引和排序結合起來,用來設置條件,然後根據給定的條件輸出所需要的數據。
4、視圖(view)
數據的視圖指的是查找到(或者處理)的記錄數和顯示(或者進行處理)這些記錄的順序。在一般情況下,視圖由過濾器和索引控制。
F. 什麼是資料庫的概念結構
1. 資料庫定義:資料庫是長期儲存在計算機內、有組織的、可共享的大量數據的集合。資料庫中的數據按一定的數據模型組織、描述和儲存,具有較小的冗餘度、較高的數據獨立性和易擴展性,並可為各種用戶共享。2. 資料庫管理技術發展的三個階段:人工管理階段,文件系統階段,資料庫系統階段。3. DBMS(資料庫管理系統)是位於用戶與操作系統之間的一層數據管理軟體。主要功能:1,數據定義功能。2,數據組織、存儲和管理。3,數據操縱功能。4,資料庫的事務管理和運行管理。5,資料庫的建立和維護功能。6,其他功能。4. 什麼是數據模型及其要素? (設計題): 數據模型是資料庫中用來對現實世界進行抽象的工具,是資料庫中用於提供信息表示和操作手段的形式構架。一般地講,數據模型是嚴格定義的概念的集合。這些概 念精確地描述系統的靜態特性、動態特性和完整性約束條件。因此數據模型通常由數據結構、數據操作和完整性約束三部分組成。 (1)數據結構:是所研究的對象類型的集合,是對系統的靜態特性的描述。 (2)數據操作:是指對資料庫中各種對象(型)的實例(值)允許進行的操作的集合,包括操作及有關的操作規則,是對系統動態特性的描述。 (3)數據的約束條件:是完整性規則的集合,完整性規則是給定的數據模型中數據及其聯系所具有的制約和依存規則,用以限定符合數據模型的資料庫狀態以及狀態的變化,以保證數據的正確、有效、相容。最常用的數據模型:層次模型,網狀模型,關系模型,面積對象模型,對象關系模型。5.常用的數據模型有哪些(邏輯模型是主要的),各有什麼特徵,數據結構是什麼樣的。答:數據模型可分為兩類:第一類是概念模型,也稱信息模型,它是按用戶的觀點來地數據和信息建模,主要用於資料庫設計。第二類是邏輯模型和物理模型。其中邏輯模型主要包括層次模型、層次模型、關系模型、面向對象模型和對象關系模型等。它是按計算機系統的觀點對數據建模,主要用於DBMS的實現。物理模型是對數據最低層的抽象,它描述數據在系統內部的表示方式和存取方法,在磁碟或磁帶上的存儲方式和存取方法,是面向計算機系統的。物理模型是具體實現是DBMS的任務,資料庫設計人員要了解和選擇物理醋,一般用戶則不必考慮物理級的細節。層次數據模型的數據結構特點:一是:有且只有一個結點沒有雙親結點,這個結點稱為根結點。二是:根 以外的其他結點有且只有一個雙親結點。優點是:1.層次 數據結構比較簡單清晰。2.層次資料庫的查詢效率高。3.層次數據模型提供了良好的完整性支持。缺點主要有:1.現實世界中很多聯系是非層次性的,如結點之間具有多對多聯系。2.一個結點具有多個雙親等 ,層次模型表示這類聯系的方法很笨拙,只能通過引入冗餘數據或創建非自然的數據結構來解決。對插入和刪除操作的限制比較多,因此應用程序的編寫比較復雜。3.查詢子女結點必須通過雙親結點。4.由於結構嚴密,層次命令趨於程序化。可見用層次模型對具有一對多的層次聯系的部門描述非常自然,直觀容易理解,這是層次資料庫的突出優點。網狀模型:特點:1.允許一個以上的結點無雙親2.一個結點可以有多於一個的雙親。網狀數據模型的優點主要有:1.能夠更為直接地描述現實世界,如一個結點可以有多個雙親。結點
之間可以有多種上聯第。2.具有良好的性能,存取效率較高。缺點主要有:1.結構比較復雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越復雜,不利於最終 用戶掌握。2.網狀模型的DDL,DML復雜,並且要嵌入某一種高級語言中,用戶不容易掌握,不容易使用。關系數據模型具有下列優點:1.關系模型與非關系模型不同,它是建立在嚴格的數學概念的基礎上的。2.關系模型的概念單一。3.關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性,更好的安全保密性,也簡化了程序員的工作和資料庫開發的建立 的工作。主要的缺點是:由於存取路徑房租明,查詢效率往往不如非關系數據模型。因此為了提高性能,DBMS必須對用戶的查詢請求進行優化。因此增加 了開發DBMS的難度,不過用戶不必考慮這些系統內部的優化技術細節。6.三級體系結構,外模式,模式 ,內模式定義是什麼?模式也稱邏輯模式,是資料庫中全體數據的邏輯結構和牲的描述,是所有用戶的公共數據視圖。 外模式也稱子模式或用戶模式,它是資料庫用戶能夠看見和使用的局部數據的邏輯結構和特徵的描述,是資料庫用戶的數據視圖是與某一應用有關的數據的邏輯表示。 內模式也稱存儲模式 ,是一個資料庫只有一個內模式。它是數據物理結構和存儲方式的描述,是數據在資料庫內部的表示方式。7.兩級映像和兩級獨立性,為什麼叫物理獨立性和邏輯獨立性。當模式改變時由資料庫管理員對各個外模式、模式的映像亻相應改變,可以使外模式保持不變。應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立生,簡稱數據的邏輯獨立性。當資料庫的存儲結構改變了,由資料庫管理員對模式、內模式映像作 相應改變,可以使模式保持不變,從而應用程序也不必改變。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。8.資料庫系統一般由資料庫、資料庫管理系統 (及其開發工具)、應用系統和資料庫管理員構成。9.關系的完整性(實體完整性、參照完整性、和用戶定義的完整性)三部分內容,其中前二者是系統自動支持的,DBMS完整性控制子系統的三個主要功能?:提供定義完整性約束條件的機制,提供完整性檢查的方法,違約處理。16.SQL的定義;即結構化查詢語言,是關系資料庫的標准語言,是一個通用的、功能極強的關系資料庫語言。分類(互動式和嵌入式)17.group by 和having子句的作用20.視圖的概念:視圖是從一個或幾個基本表導出的表。及相關操作:定義視圖,查詢視圖,更新視圖。視圖更新有什麼操作:插入,刪除,和修改。22.資料庫規范化的方法函數依賴的定義什麼叫1NF2NF3NF BCNF定義:關系資料庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同範式。滿足最低要求的叫第一範式,簡稱1NF。在第一範式中滿足進一步要求的為第二範式,其餘以此類推。各種範式之間的聯系有:5NF(4NF(BCNF(3NF(2NF(1NF。25.資料庫設計的幾個階段,每個階段常用的方法和簡要的內容:六個階段:需求分析、概念結構設計、羅織結構設計、物理設計、資料庫實施、資料庫運行和維護。28.事務的概念?事務有哪些基本屬性commit roll back含義:事務:是用戶定義的一個資料庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的單位。四個特性:原子性,一致性,隔離性,持續性。Commit(提交:提交事務的所有操作) rollback(回滾:在事務運行的過程中發生了某種故障,事務不能繼續執行,系統將事務中對資料庫的所有已完成的操作全部撤銷,回滾到事務開始時的狀態。 29.什麼叫資料庫系統的可恢復性?:資料庫管理系統具有把資料庫從錯誤狀態恢復到某一已知的正確狀態的功能,這就是資料庫系統的可恢復性。資料庫故障的種類:事務內部的故障,系統故障(軟故障),介質故障(硬故障),計算機病毒。30.不進行並發控制可能產生的問題?:多個事務對資料庫並發操作可能造成事務ACID特點遭到在破壞。如何解決(三個):1,丟失修改 2,不可重復讀 3,讀「臟」數據。31.三級封鎖協議?能解決什麼問題?:一級封鎖協議:事務T在修改數據R之前必須先對其加X鎖,直到事務結束才釋放。事務結束包括正常結束(COMMIT)和非正常結束(ROLLBACK)。一級封鎖協議中,如果是讀數據不修改,是不需要加鎖的,可防止丟失修改。二級封鎖協議:在一級封鎖協議基礎上,加上事務T在讀數據R之前必須先對其加上S鎖,讀完後即可釋放S鎖。在二級封鎖協議中,由於讀完數據後即可釋放S鎖,所以它不能保證可重復讀。三級封鎖協議:一級封鎖協議加上事務T在讀取數據R之前必須先對其加S鎖,直到事務結束才釋放。三級封鎖協議除了防止了丟失修改和不讀「臟」數據外,還進一步防止了不可重復讀。上述三級協議的主要區別在於:什麼操作需要申請封鎖,以及何時釋放鎖。一般採取哪三種措施?插入呢?刪除呢?:1,拒絕執行(不允許該操作執行),2,級連操作(當刪除或修改被參照表的一個元組造成了與參照表的不一致,則刪除或修改參照表中的所有造成不一致的元組),3,設置為空值(當刪除或修改被參照表的一個元組時造成了不一致,則將參照表中的所有不造成不一致的元組的對應屬性設置為空值)。38.視圖對資料庫安全性的作用?:1,視圖能夠簡化用戶的操作,2,視力使用戶能以多種角度看待同一數據,3,視圖對重構資料庫提供了一定程度的邏輯獨立性,4,視圖能夠對機密數據提供安全保護,5,適當的利用視圖可以更清晰的表達查詢。資料庫:儲存在計算機內,永久存儲、有組織、有共享的大量數據的集合。數據管理技術的發展階段:1.人工管理階段:數據不保存,應用程序管理數據,數據不共享,數據不具有獨立性。2.文件系統階段:數據可以長期保存,由文件系統管理數據;數據共享性太差,冗餘度大,數據獨立性差。3.資料庫系統階段:出現資料庫管理系統。資料庫系統的特點:數據結構化(本質區別);數據共享性高、冗餘度低、易擴充;數據獨立性高;數據有DBMS統一管理和控制。資料庫管理系統:1.定義:DBMS,是位於用戶與操作系統之間的一層數據管理軟體。2.功能:數據定義功能;數據組織、存儲和管理;數據操縱功能;資料庫的事務管理和運行管理;資料庫的建立和維護功能;通信功能、數據轉換功能、互訪和互操作功能。資料庫系統:1.概念:DBS,是指在計算機系統中引入資料庫後的系統。2.組成:一般由資料庫、資料庫管理系統、應用系統、資料庫管理員構成。3.分類:集中式,C/S式,並行式,分布式。數據模型:1.定義:現實世界數據特徵的抽象。2.組成,三要素:數據結構、數據操作、數據的完整性約束。兩類數據模型為1)概念模型2)邏輯模型和物理模型。數據結構:描述資料庫的組成對象以及對象之間的聯系,主要描述與對象的類型、內容、性質有關的對象和與數據之間聯系有關的對象。常用的數據模型:1.層次模型,用樹形結構表示各類實體以及實體間的聯系。2.網狀模型,允許一個以上的結點無雙親,允許一個結點可以有多於一個的雙親。3.關系模型,包含單一數據結構
G. 編程中什麼叫資料庫有什麼作用
金融數據分析與資料庫密不可分,那麼什麼是資料庫呢?在大學的計算機教科書中,資料庫是被這樣解釋的:資料庫是計算機應用系統中的一種專門管理數據資源的系統。數據有多種形式,如文字、數碼、符號、圖形、圖像以及聲音等。數據是所有計算機系統所要處理的對象。人們所熟知的一種處理辦法是製作文件,即將處理過程編成程序文件,將所涉及的數據按程序要求組織成數據文件,用程序文件來調用。數據文件與程序文件保持著一定的對應關系。在計算機應用迅速發展的情況下,這種文件式方法便顯出不足。比如,它使得數據通用性差,不便於移植,在不同文件中存儲大量重復信息、浪費存儲空間、更新不便等。資料庫系統便能解決上述問題。資料庫系統不從具體的應用程序出發,而是立足於數據本身的管理,它將所有數據保存在資料庫中,進行科學的組織,並藉助於資料庫管理系統,以它為中介,與各種應用程序或應用系統介面,使之能方便地使用資料庫中的數據。
這段說明介紹的確非常詳細,不過你可能看得頭暈眼花了,其實簡單地說資料庫就是一組經過計算機整理後的數據,存儲在一個或多個文件中,而管理這個資料庫的軟體就稱之為資料庫管理系統。一般一個資料庫系統(Database
System)可分為資料庫(Database)與數據管理系統(Database
Management
System,DBMS)兩個部分。