資料庫基礎

2022-09-17 18:57:11 字數 2695 閱讀 1868

資料庫即存放資料的倉庫,按一定格式從存放。

解決檔案和程式存放在一台機器上的不合理,和更加方便的操作檔案。

程式穩定性:這樣任意一台服務所在的機器崩潰了都不會影響資料和另外的服務。

資料一致性:所有的資料都儲存在一起,搜友的程式操作的資料都是統一的,就不會出現資料一一至的現象。

併發:資料庫可以良好的支援併發,搜友的程式運算元據庫都是通過網路,而資料庫本身支援併發的網路操作,不惜要我們自己寫socket

效率:使用資料庫隊資料進行增刪改查的小路要高出我自己處理檔案很多。

在了解了資料(data)和資料庫(db)的概念後,如何科學的組織和儲存資料,如何高效獲取和維護資料成了關鍵。

這就用到了乙個系統軟體——資料庫管理系統,如mysql,oracle,sqlite,access,mssql server。

oracle主要用於銀行、鐵路、飛機場等。該資料庫功能強大,軟體費用高。也是甲骨文公司的產品。

sql server是微軟公司的產品,狐妖應用於大中型企業,如聯想、方正等。

而對資料庫管理的人員一般稱之為:資料庫管理員dba(database administrator)

記錄:1 老王 15201413111 22(多個欄位的資訊組成一條記錄,即檔案中的一行內容)

表:userinfo,studentinfo,courseinfo(即檔案)

資料庫:db(即資料夾)

資料庫管理系統:如mysql(是乙個軟體)

資料庫伺服器:一台計算機(對記憶體要求比較高)

總結:20世紀50年代中期以前,計算機主要用於科學計算。

當時的硬體水平:外存只有紙帶、卡片、磁帶,沒有磁碟等直接訪問的儲存裝置當時的軟體狀況:沒有作業系統,沒有管理資料的軟體,資料的處理方式是批處理。

人工管路資料具有以下特點:

資料不儲存:計算機主要用於科學計算,資料臨時用,臨時輸入,不儲存

應用程式管理資料:資料要有應用程式直接管理,應用程式需要處理資料的邏輯+物理結構,開發負擔很重

資料不共享:一組資料只對應乙個程式,多個程式之間涉及相同資料時,必須個自定義,造成資料的大量冗餘。

資料不具有獨立性:資料的邏輯結構或物理結構發生變化後,必須對應用程式作出相應的修改,開發負擔進一步加大。

20世紀50年代後期到60年代中期

硬體水平:有了磁碟、磁鼓等可直接訪問的儲存裝置

軟體水平:有了作業系統,並且作業系統中已經有了專門的資料管理軟體,即檔案系統;處理方式上不僅有了批處理,而且能夠聯機實時處理

檔案系統管理資料具有以下優點:

資料可以長期儲存:計算機大量用於資料處理,因而資料需要長期儲存,進行增刪改查操作

由檔案系統管理資料:檔案系統這個軟體,把資料組織成相對獨立的資料檔案,利用按檔名,按記錄進行訪問。實現了記錄內的結構性,但整體無結構。並且程式與資料之間由檔案系統提供訪問方法進行轉換,是應用程式與資料之間有了一定的獨立性,程式設計師可以不必過多考慮物理細節。

檔案系統管理資料具有以下缺點:

資料共享性差,冗餘度大:乙個檔案對應乙個應用程式,不同應用有相同資料時,也必須建立各自的檔案,不能共享相同的資料,造成資料冗餘,浪費空間,且相同的資料重複儲存,各自管理,容易造成資料不一致性

資料獨立性差:一旦資料的邏輯結構改變,必須修改應用程式,修改檔案結構的定義。應用程式的改變,也將引起檔案的資料結構的改變。因此資料與程式之間缺乏獨立性。可見,檔案系統仍然是乙個不具有彈性的無結構的資料集合,即檔案之間是孤立的,不能反映現實世界事物之間的記憶體聯絡。

20世紀60年代後期以來,計算機用於管理的規模越來越大,應用越來越廣泛,資料量急劇增長,同時多種應用,多種語言互相覆蓋地共享資料結合要求越來越強烈

硬體水平:有了大容量磁碟,硬體架構下降

軟體水平:軟體**上公升(開發效率必須提公升,必須將程式設計師從資料管理中解放出來),分布式的概念盛行。

資料庫系統的特點:

資料結構化(如上圖odboy_stu)

資料共享,冗餘度低,易擴充

資料獨立性高

資料由dbms統一管理和控制

資料的安全性保護

資料的完整性檢查

併發控制

資料庫恢復

管理資料的工具有很多種,不止mysql乙個。關於分類其實可以從各個緯度來進行劃分,但是我們最常使用的分類還是根據他們訪問資料的特點來劃分的,主要分為關係型和非關係型。

關係型資料庫需要有表結構,表與表之間有聯絡。

非關係型資料庫是key-value儲存的,沒有表結構。

關係型:如sqllite,db2,oracle,access,sql server,mysql

非關係型:mongodb(介於關係與非關係),redis,memcache

注意:sql語句通用。

硬碟:資料可以永久儲存 - mysql、mongodb

記憶體:資料的訪問效率極高 - redis、memcache

sql:資料庫操作通過sql語句

nosql:資料庫操作就是key-value形式(value就是一條記錄)

sql:

stu -

nosql:

stus - [, ]

資料庫 資料庫基礎

什麼是sql 結構化查詢語言 structtured query language sql的作用 啟動mysql.exe,連線伺服器後,就可以使用sql來操作伺服器了。類似php中操作mysql的語句就是sql語句 sql標準 由國際標準化組織 iso 制定的,對dbms 資料庫管理系統 的統一操作...

資料庫基礎 資料庫設計

一 資料庫生命週期 1.週期 需求分析,概念結構設計,邏輯設計,物理設計,系統實施,系統執行和維護。2.響應的文件 二 正規化 一般資料庫要求規範化到第三正規化,視具體需求重新調整。第一正規化 1nf 強調列的原子性,即列不能分為多列。第二正規化 2nf 關係屬於第一正規化,且每乙個非主屬性完全函式...

資料庫基礎

一.資料庫事物特徵 1.atomic 原子性 不可分割 2.consistency 一致性 參照完整 3.isolation 隔離性 防止併發 4.durability 永續性 永久儲存資料 二.事物和併發 1.併發問題 第一類丟失,髒讀,虛讀,不可重複讀,第二類丟失更新 不可重複讀的特例 2.鎖的...