Posts

Showing posts with the label database_ch

數據庫 - 數據之家

Image
數據庫,為某些組織及過程產生出來的數據,收集和存儲起來。 在數據庫管理中,某些數據庫會用作Operation或Analytics,所以被稱為操作類數據庫和分析類數據庫。 操作類數據庫 這種數據庫的設計應用在收集,修改和維護Application運作所產生的數據。因此,這些數據一般是動態的,和保持最新的。 最簡單的例子是庫存數據庫不斷更新並顯示庫存數量。 分析類數據庫 它用於存儲,查詢,分析數據。 這些靜態的數據在一段時間內被允許進行性能評估,決策和預測趨勢分析。 數據在正常情況不會被修改。 用來儲存交易的數據庫,某些企業會利用其數據分析營銷和營業表現等分析。 另外,數據庫內置了不同的模型,也被稱為數據庫模型,說到數據庫模型的歷史,在關聯式數據庫出現之前,分層數據庫和網絡數據庫都廣泛使用。 分層數據庫 (Hierarchical database) 它的構造為倒置的樹,每個Entity與另一個Entity只有一對多關係。 例如,產品由一個或多個供應商提供,由一個或多個會員購買, 會員進行一次或多次交易。 下圖顯示分層數據庫的結構: 每個Table之間有明確的連接。 此設計允許請求者/管理員快速檢索數據。例如, 如果產品不再銷售,該產品在Table的Parent或Child中相關的記錄也將被刪除。通常會出現一個問題,是Root Table下的實體,無法在沒有連接Table的實體的情況下存儲。 實際上,即使他們沒有購買任何東西,成員也可以存在。 然而,它可以通過在產品表中添加一個虛擬記錄來解決,或者將成員表與數據庫分開,以便成員可以寫入成員表中,但這個方法明顯是多了一個步驟,變得複雜了。 網絡數據庫 (Network database) 這種數據庫以節點和集合結構的形式表示。 這種設計有助解決分層數據庫的不足,並通過查詢快速訪問數據。 然而,用戶仍需要了解數據庫中的集合結構。 關聯式數據庫 (Relational database) 數據庫模型隨著時間和技術的發展而變化,為了解決數據不一致和完整性,關聯式數據庫模型因而誕生到今天仍是廣泛使用。 Table結構由Key,Attribute,Record和Relationship組成。Key被分類為主鍵(Primary Key)以及外鍵(Foreign...

MySQL - 性價比高的關聯式數據庫

Image
筆者初學資料庫的時候,第一個接觸的數據庫語言正正就是SQL(Structured Query Language),用作跟 關聯式數據庫(Relational Database) 溝通的程式語言,一開始接觸覺得它在眾多程式語言中較容易上手,因為那些Keywords Syntax比較直覺和容易掌握,到現在也發覺這貨根本就是易學難精,尤其是要擷取大量數據又要保持良好的性能。而MySQL是其中一個Open Source的關聯式數據庫系統,效能高、成本低、可靠性好成為了其流行的原因。它也是LA M P(開發Apps/Web服務)的其中一位成員,負責為系統的後台儲存應有的數據。 簡介 數據定義語言 (DDL) 用於定義數據結構的語法系列,例如:database schema CREATE: 建立新的Database, Table, Index or View ALTER: 修改已有的Database設計 DROP: 移除現有的Database, Table, Index or View 數據操作語言 (DML) 讀取和查詢的語法系列 SELECT: 查詢記錄 INSERT: 插入新記錄 UPDATE: 更新記錄 DELETE: 刪除記錄 數據控制語言 (DCL) 控制數據庫中存儲的數據的語法系列 COMMIT: 永久性地更改數據庫 GRANT: 允許用戶執行特定任務 REVOKE: 拒絕先前的批准 ROLLBACK: 若未完成回到最初的起點 Create, modify and Delete 指令 描述 CREATE DATABASE <database_name>; 建立新的Database RENAME DATABASE <old_db_name> TO <new_db_name>; 更新Database的名稱 DROP DATABASE <database_name>; 刪除現有的Database CREATE TABLE <database_name> (<column_name1> <format> NOT NULL PRIMARY KEY...