數據的資料庫化
初始化mysql資料庫,在shell中運行以下命令:
cd /usr/local/mysql
mkdir sock
cd /usr/local/mysql/bin
初始化資料庫
./mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
或者# mysqld --initialize
B. 如何初始化資料庫
新建一個access資料庫,打開它,點擊菜單上的"新建"按鈕,彈出對話框中選擇"導入表","確定"--選擇之前的資料庫,彈出對話框選擇所有表,點擊右邊的"選項"中間那個選擇"只導入結構/關系"--"確定"。如果有些數據想保留的,可會兩次來導入
C. SQL 資料庫 學習 003 什麼是資料庫 為什麼需要資料庫
1. 什麼是資料庫 如果我們狹義的理解,它就是一個存儲數據的倉庫。 如果我們廣義的理解,...
2. 為什麼需要資料庫
3. 幾乎所有的應用軟體的後台都需要資料庫。 比如說:銀行。張三、李四…將錢存入銀行,我們不就需要一個來存儲這些信息的庫嗎,...
4. 資料庫存儲數據佔用的空間小,並且容易持久保存。 比如:同樣的數據,如果讓你直接...
5. 是不是所有的軟體都是用Sql Server? 大多數應用軟體,都可能會使用數據...
D. 資料庫正規化和設計技巧
第一範式(1NF):資料庫表中的欄位都是單一屬性的,不可再分。這個單一屬性由基本類型構成,包括整型、實數、字元型、邏輯型、日期型等。
例如,如下的資料庫表是符合第一範式的:
欄位1 欄位2 欄位3 欄位4
而這樣的資料庫表是不符合第一範式的:
欄位1 欄位2 欄位3 欄位4
欄位3.1 欄位3.2
很顯然,在當前的任何關系資料庫管理系統(dbms)中,傻瓜也不可能做出不符合第一範式的資料庫,因為這些dbms不允許你把資料庫表的一列再分成二列或多列。因此,你想在現有的dbms中設計出不符合第一範式的資料庫都是不可能的。
E. 計算機化的資料庫管理經歷了哪幾個階段!各有什麼特點
一、人工管理階段:
數據的管理者:人。
數據面向的對象:某一應用程序。
數據的共享程度:無共享,冗餘度極大。
數據的獨立性:不獨立,完全依賴於程序。
數據的結構化:無結構。
數據控制能力:應用程序自己控制。
二、文件系統階段:
數據的管理者:文件系統。
數據面向的對象:某一應用程序。
數據的共享程度:共享性差,冗餘度大。
數據的獨立性:獨立性差。
數據的結構化:記錄內有結構,整體無結構。
數據控制能力:應用程序自己控制。
數據管理的定義
數據管理是利用計算機硬體和軟體技術對數據進行有效的收集、存儲、處理和應用的過程。其目的在於充分有效地發揮數據的作用。實現數據有效管理的關鍵是數據組織。
隨著計算機技術的發展,數據管理經歷了人工管理、文件系統、資料庫系統三個發展階段。在資料庫系統中所建立的數據結構,更充分地描述了數據間的內在聯系,便於數據修改、更新與擴充,同時保證了數據的獨立性、可靠、安全性與完整性,減少了數據冗餘,故提高了數據共享程度及數據管理效率。
F. 學會如何應用資料庫——資料庫規范化技巧 (1)
簡介在設計資料庫時,最重要的步驟是要確保數據正確分布到資料庫的表中。使用正確的數據結構,可以極大地簡化應用程序的其他內容(查詢、窗體、報表、代碼等)。正確進行表設計的正式名稱是「資料庫規范化」。 本文簡要介紹資料庫規范化的基本概念和一些需要注意並力求避免的常見問題。 理解您的數據在設計表之前,應明確您打算如何處理數據,還要了解隨著時間的推移數據會發生什麼樣的變化。您所做的假設將會影響最終的設計。 您需要什麼樣的數據? 設計應用程序時,關鍵要了解設計的最終結果,以便確保您准備好所有必需的數據並知道其來源。例如,報表的外觀、每個數據的來源以及所需的所有數據是否都存在。對項目損失最大的莫過於在項目後期發現重要報表缺少數據。 知道需要什麼樣的數據後,就必須確定數據的來源。數據是否從其他數據源中導入?數據是否需要清理或驗證?用戶是否需要輸入數據? 明確所需數據的類型和來源是資料庫設計的第一步。 您打算如何處理這些數據?用戶是否需要編輯這些數據?如果需要,應如何顯示數據以便於用戶理解和編輯?有沒有驗證規則和相關的查找表?要求對編輯和刪除保留備份的數據輸入有沒有相關聯的審核問題?需要為用戶顯示哪些摘要信息?是否需要生成導出文件?了解這些信息後,就可以想像欄位之間是如何相互關聯的了。 數據之間如何相互關聯?將數據分組放入相關欄位(例如與客戶相關的信息、與發票相關的信息等),每個欄位組都代表要建立的表。然後考慮如何將這些表相互關聯。例如,哪些表具有一對多關系(例如,一個客戶可能持有多張發票)?哪些表具有一對一關系(這種情況下,通常會考慮將其組合到一個表中)? 隨著時間的推移數據會發生什麼樣的變化?設計表之後,常常會由於沒有考慮時間的影響而導致以後出現嚴重問題。許多表設計在當時使用時效果非常好,但是,常常會因為用戶修改數據、添加數據以及隨時間的推移而崩潰。開發人員經常會發現需要重新設計表的結構來適應這些變化。表的結構發生變化時,所有相關的內容(查詢、窗體、報表、代碼等)也必須隨之更新。理解並預測數據會隨時間推移發生哪些變化,可以實現更好的設計,減少問題的發生。 學習如何使用查詢了解如何分析和管理數據同樣很重要。您應該深刻理解查詢的工作原理,理解如何使用查詢在多個表之間鏈接數據,如何使用查詢對數據進行分組和匯總,以及如何在不需要以規范化格式顯示數據時使用交叉表查詢。 好的數據設計的最終目標就是要平衡兩個需要:既要隨著時間的推移有效地存儲數據,又要輕松地檢索和分析數據。理解查詢的功能對正確設計表很有幫助。 資料庫規范化概念這部分介紹資料庫規范化所涉及的基本概念,而不是對資料庫規范化進行理論性的探討。如何在您的實際情況中應用這些概念可能會隨著應用程序需要的不同而有所變化。這部分的目的是理解這些基本概念、根據實際需要應用它們,並理解偏離這些概念將會出現哪些問題。 將唯一信息存儲在一個地方大部分資料庫開發人員都理解資料庫規范化的基本概念。理想情況下,您希望將相同的數據存儲在同一個地方,並在需要引用時使用 ID 來進行引用。因此,如果某些信息發生了變化,則可以在一個地方進行更改,而整個程序中的相應信息也會隨之更改。 例如,客戶表會存儲每個客戶的記錄,包括姓名、地址、電話號碼、電子郵件地址以及其他特徵信息。客戶表中可能包含唯一的 CustomerID 欄位(通常是 Autonumber 欄位),這個欄位即該表的主鍵欄位,其他表使用它來引用該客戶。因此,發票表可以只引用客戶的 ID 值,而不是在每張發票中存儲客戶的所有信息(因為同一個客戶可能會持有多張發票),這樣利用客戶的 ID 值即可從客戶表中查找客戶的詳細信息。使用 Access 中功能強大的窗體(使用組合框和子窗體),可以輕松地完成這項工作。如果需要修改客戶信息(例如新增電話號碼),只需在客戶表中修改,應用程序中引用該信息的任何其他部分都會隨之自動更新。 使用正確規范化的資料庫,通過簡單的編輯即可輕松處理數據隨時間推移而發生的更改。使用未正確規范化的資料庫,通常需要利用編程或查詢來更改多條記錄或多個表。這不僅會增加工作量,還會增加由於未正確執行代碼或查詢而導致數據不一致的可能性。 記錄是免費的,而新欄位非常昂貴理想的資料庫應該只需要隨著時間的推移添加新的記錄,資料庫表應該能夠保存大量記錄。但是,如果您發現需要增加更多欄位,則可能會碰到設計問題。 電子表格專家經常會遇到上述問題,因為他們習慣於按照設計電子表格的方式設計資料庫。設計經常隨時間變化的欄位(例如,年、季度、產品和銷售人員)需要在將來添加新欄位。而正確的設計應該是轉換信息並將隨時間變化的數據放在一個欄位內,這樣就可以添加更多記錄。例如,只需創建「年」欄位,然後在該欄位中輸入各記錄相應的年份值即可,無需為每年創建一個單獨的欄位。 增加額外的欄位可能會產生問題,因為表結構的變化會對應用程序的其他部分產生影響。在表中添加更多欄位時,依賴該表的對象和代碼也需要更新。例如,查詢需要獲取額外的欄位,窗體需要顯示這些欄位,而報表則需要包含這些欄位,等等。但是,如果數據已經規范化,則現有對象會自動檢索新數據,並正確計算或顯示這些數據。查詢功能尤其強大,因為它允許您按「年」欄位進行分組,以逐年顯示摘要(不管表中包含哪些年份)。 但是,數據規范化並不意味著不能顯示或使用隨時間而變化或依賴時間的欄位。需要瀏覽或顯示這類信息的開發人員通常可以使用交叉表查詢來達到這一目的。如果您不熟悉交叉表查詢,應該學習如何使用它們。雖然它們與表有所不同(尤其是用戶無法編輯交叉表查詢的結果),但它們的確可以用於在數據表中顯示信息(最多可以達到 255 個欄位)。如果要在報表中使用它們,則會更加復雜,因為報表需要包含額外的或不斷變化的欄位名。這就是為什麼大多數報表將數據作為獨立的分組(而不是獨立的列)顯示的原因。對於那些別無選擇的情況,您必須花時間去解決這個問題。希望所有人都能夠理解這種決定會隨著時間的變化對其他資源產生的影響。 這就是為什麼增加記錄是免費的(這是資料庫的巨大優勢)而增加欄位是如此昂貴的原因。
G. 資料庫標准化
第一範式:確保每列的原子性.
如果每列(或者每個屬性)都是不可再分的最小數據單元(也稱為最小的原子單元),則滿足第一範式.
例如:顧客表(姓名、編號、地址、……)其中"地址"列還可以細分為國家、省、市、區等。
第二範式:在第一範式的基礎上更進一層,目標是確保表中的每列都和主鍵相關.
如果一個關系滿足第一範式,並且除了主鍵以外的其它列,都依賴於該主鍵,則滿足第二範式.
例如:訂單表(訂單編號、產品編號、定購日期、價格、……),"訂單編號"為主鍵,"產品編號"和主鍵列沒有直接的關系,即"產品編號"列不依賴於主鍵列,應刪除該列。
第三範式:在第二範式的基礎上更進一層,目標是確保每列都和主鍵列直接相關,而不是間接相關.
如果一個關系滿足第二範式,並且除了主鍵以外的其它列都不依賴於主鍵列,則滿足第三範式.
為了理解第三範式,需要根據Armstrong公里之一定義傳遞依賴。假設A、B和C是關系R的三個屬性,如果A-〉B且B-〉C,則從這些函數依賴中,可以得出A-〉C,如上所述,依賴A-〉C是傳遞依賴。
例如:訂單表(訂單編號,定購日期,顧客編號,顧客姓名,……),初看該表沒有問題,滿足第二範式,每列都和主鍵列"訂單編號"相關,再細看你會發現"顧客姓名"和"顧客編號"相關,"顧客編號"和"訂單編號"又相關,最後經過傳遞依賴,"顧客姓名"也和"訂單編號"相關。為了滿足第三範式,應去掉"顧客姓名"列,放入客戶表中。
H. 資料庫的基本特點是什麼
資料庫的基本特點是:數據結構化 ,數據之間具有聯系,面向整個系統;數據的共享性高,冗餘度低,易擴充;數據獨立性高。
數據實現集中控制,文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用資料庫可對數據進行集中控制和管理,並通過數據模型表示各種數據的組織以及數據間的聯系。
(8)數據的資料庫化擴展閱讀:
資料庫管理系統是資料庫系統的核心組成部分,主要完成對資料庫的操縱與管理功能,實現資料庫對象的創建、資料庫存儲數據的查詢、添加、修改與刪除操作和資料庫的用戶管理、許可權管理等。它的安全直接關繫到整個資料庫系統的安全,其防護手段主要有:
1、使用正版資料庫管理系統並及時安裝相關補丁。
2、做好用戶賬戶管理,禁用默認超級管理員賬戶或者為超級管理員賬戶設置復雜密碼;為應用程序分別分配專用賬戶進行訪問;設置用戶登錄時間及登錄失敗次數限制, 防止暴力破解用戶密碼。
3、分配用戶訪問許可權時,堅持最小許可權分配原則,並限制用戶只能訪問特定資料庫,不能同時訪問其他資料庫。
4、修改資料庫默認訪問埠,使用防火牆屏蔽掉對 外開放的其他埠,禁止一切外部的埠探測行為。
5、對資料庫內存儲的重要數據、敏感數據進行加密存儲,防止資料庫備份或數據文件被盜而造成數據泄露。
6、設置好資料庫的備份策略,保證資料庫被破壞後能迅速恢復。
7、對資料庫內的系統存儲過程進行合理管理,禁用掉不必要的存儲過程,防止利用存儲過程進行資料庫探測與攻擊。
8、啟用資料庫審核功能,對資料庫進行全面的事件跟蹤和日誌記錄。
I. 資料庫一體化的定義
也就說你無論使用什麼資料庫,都有一個可進行轉換識別的中轉站來達到共存。如數據源odbc
J. 如何初始化mysql資料庫
初始化mysql資料庫,在shell中運行以下命令:
cd /usr/local/mysql
mkdir sock
cd /usr/local/mysql/bin
初始化資料庫
./mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
或者# mysqld --initialize
(10)數據的資料庫化擴展閱讀
mysql資料庫的備份
1、物理冷備份,需要在資料庫關閉狀態下進行,能夠較好的保證資料庫的完整性。一般用於非核心業務,這類業務一般都允許終端,物理冷備份的特點就是速度快,恢復操作簡單。通常通過直接打包資料庫文件夾(如:/usr/local/mysql/data)來實現
2、通過啟用二進制日誌進行增量備份,MySQL支持增量備份,進行增量備份時必須啟用二進制日誌。二進制日誌文件為用戶提供復制,對執行備份點後進行的資料庫更改所需的信息進行恢復。如果進行增量備份,需要刷新二進制日誌。