1. 資料庫都有哪些
常用資料庫有mysql、oracle、sqlserver、sqlite等。mysql性能較好,適用於所有平台,是當前最流行的關系型資料庫之一。sqlserver資料庫具有擴展性和可維護性,且安全性較高,是比較全面的資料庫。
2. 資料庫有哪些類型
資料庫有兩種類型,分別是關系型資料庫與非關系型資料庫。
資料庫,簡而言之可視為電子化的文件櫃——存儲電子文件的處所,用戶可以對文件中的數據進行新增、截取、更新、刪除等操作。
關系型資料庫主要有:
Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等等。
非關系型資料庫主要有:
NoSql、Cloudant、MongoDb、redis、HBase等等。
(2)結構化資料庫有哪些擴展閱讀:
非關系型資料庫的優勢:
1、性能高:NOSQL是基於鍵值對的,可以想像成表中的主鍵和值的對應關系,而且不需要經過SQL層的解析,所以性能非常高。
2、可擴展性好:同樣也是因為基於鍵值對,數據之間沒有耦合性,所以非常容易水平擴展。
關系型資料庫的優勢:
1、可以復雜查詢:可以用SQL語句方便的在一個表以及多個表之間做非常復雜的數據查詢。
2、事務支持良好:使得對於安全性能很高的數據訪問要求得以實現。
3. 資料庫有哪幾種
一、關系資料庫
關系型資料庫,存儲的格式可以直觀地反映實體間的關系。關系型資料庫和常見的表格比較相似,關系型資料庫中表與表之間是有很多復雜的關聯關系的。
常見的關系型資料庫有Mysql,SqlServer等。在輕量或者小型的應用中,使用不同的關系型資料庫對系統的性能影響不大,但是在構建大型應用時,則需要根據應用的業務需求和性能需求,選擇合適的關系型資料庫。
雖然關系型資料庫有很多,但是大多數都遵循SQL(結構化查詢語言,Structured Query Language)標准。 常見的操作有查詢,新增,更新,刪除,求和,排序等。
查詢語句:SELECT param FROM table WHERE condition 該語句可以理解為從 table 中查詢出滿足 condition 條件的欄位 param。
新增語句:INSERT INTO table (param1,param2,param3) VALUES (value1,value2,value3) 該語句可以理解為向table中的param1,param2,param3欄位中分別插入value1,value2,value3。
更新語句:UPDATE table SET param=new_value WHERE condition 該語句可以理解為將滿足condition條件的欄位param更新為 new_value 值。
刪除語句:DELETE FROM table WHERE condition 該語句可以理解為將滿足condition條件的數據全部刪除。
去重查詢:SELECT DISTINCT param FROM table WHERE condition 該語句可以理解為從表table中查詢出滿足條件condition的欄位param,但是param中重復的值只能出現一次。
排序查詢:SELECT param FROM table WHERE condition ORDER BY param1該語句可以理解為從表table 中查詢出滿足condition條件的param,並且要按照param1升序的順序進行排序。
總體來說, 資料庫的SELECT,INSERT,UPDATE,DELETE對應了我們常用的增刪改查四種操作。
關系型資料庫對於結構化數據的處理更合適,如學生成績、地址等,這樣的數據一般情況下需要使用結構化的查詢,例如join,這樣的情況下,關系型資料庫就會比NoSQL資料庫性能更優,而且精確度更高。
由於結構化數據的規模不算太大,數據規模的增長通常也是可預期的,所以針對結構化數據使用關系型資料庫更好。關系型資料庫十分注意數據操作的事務性、一致性,如果對這方面的要求關系型資料庫無疑可以很好的滿足。
二、非關系型資料庫(NoSQL)
隨著近些年技術方向的不斷拓展,大量的NoSql資料庫如MongoDB、Redis、Memcache出於簡化資料庫結構、避免冗餘、影響性能的表連接、摒棄復雜分布式的目的被設計。
指的是分布式的、非關系型的、不保證遵循ACID原則的數據存儲系統。NoSQL資料庫技術與CAP理論、一致性哈希演算法有密切關系。所謂CAP理論,簡單來說就是一個分布式系統不可能滿足可用性、一致性與分區容錯性這三個要求,一次性滿足兩種要求是該系統的上限。
而一致性哈希演算法則指的是NoSQL資料庫在應用過程中,為滿足工作需求而在通常情況下產生的一種數據演算法,該演算法能有效解決工作方面的諸多問題但也存在弊端,即工作完成質量會隨著節點的變化而產生波動,當節點過多時,相關工作結果就無法那麼准確。
這一問題使整個系統的工作效率受到影響,導致整個資料庫系統的數據亂碼與出錯率大大提高,甚至會出現數據節點的內容遷移,產生錯誤的代碼信息。
但盡管如此,NoSQL資料庫技術還是具有非常明顯的應用優勢,如資料庫結構相對簡單,在大數據量下的讀寫性能好;能滿足隨時存儲自定義數據格式需求,非常適用於大數據處理工作。
NoSQL資料庫適合追求速度和可擴展性、業務多變的應用場景。
對於非結構化數據的處理更合適,如文章、評論,這些數據如全文搜索、機器學習通常只用於模糊處理,並不需要像結構化數據一樣,進行精確查詢,而且這類數據的數據規模往往是海量的,數據規模的增長往往也是不可能預期的;
而NoSQL資料庫的擴展能力幾乎也是無限的,所以NoSQL資料庫可以很好的滿足這一類數據的存儲。
NoSQL資料庫利用key-value可以大量的獲取大量的非結構化數據,並且數據的獲取效率很高,但用它查詢結構化數據效果就比較差。
目前NoSQL資料庫仍然沒有一個統一的標准,它現在有四種大的分類:
1、鍵值對存儲(key-value):代表軟體Redis,它的優點能夠進行數據的快速查詢,而缺點是需要存儲數據之間的關系。
2、列存儲:代表軟體Hbase,它的優點是對數據能快速查詢,數據存儲的擴展性強。而缺點是資料庫的功能有局限性。
3、文檔資料庫存儲:代表軟體MongoDB,它的優點是對數據結構要求不特別的嚴格。而缺點是查詢性的性能不好,同時缺少一種統一查詢語言。
4、圖形資料庫存儲:代表軟體InfoGrid,它的優點可以方便的利用圖結構相關演算法進行計算。而缺點是要想得到結果必須進行整個圖的計算,而且遇到不適合的數據模型時,圖形資料庫很難使用。
安全
資料庫安全涉及保護資料庫內容、其所有者和用戶的所有各個方面。它的范圍從防止有意的未經授權的資料庫使用到未經授權的實體(例如,個人或計算機程序)無意的資料庫訪問。
資料庫訪問控制涉及控制誰(一個人或某個計算機程序)可以訪問資料庫中的哪些信息。該信息可以包括特定的資料庫對象(例如,記錄類型、特定記錄、數據結構);
對特定對象的特定計算(例如,查詢類型或特定查詢),或者使用到前者的特定訪問路徑(例如,使用特定索引)或其他數據結構來訪問信息)。
資料庫訪問控制由使用專用受保護安全 DBMS 介面的特別授權(由資料庫所有者)人員設置。
這可以在個人基礎上直接管理,或者通過將個人和特權分配給組,或者(在最復雜的模型中)通過將個人和組分配給角色,然後授予權利。數據安全可防止未經授權的用戶查看或更新資料庫。使用密碼,用戶可以訪問整個資料庫或它的子集,稱為「子模式」。
例如,員工資料庫可以包含有關單個員工的所有數據,但一組用戶可能僅被授權查看工資數據,而其他用戶僅被允許訪問工作歷史和醫療數據。如果 DBMS 提供了一種互動式輸入和更新資料庫以及查詢資料庫的方法,則此功能允許管理個人資料庫。
數據安全通常涉及保護特定的數據塊,包括物理保護(即免受損壞、破壞或移除;例如,參見物理安全),或將它們或它們的一部分解釋為有意義的信息(例如,通過查看它們組成的位串,得出特定的有效信用卡號;例如,參見數據加密)。
更改和訪問日誌記錄誰訪問了哪些屬性、更改了什麼以及何時更改。日誌服務通過保留訪問發生和更改的記錄,允許以後進行取證資料庫審計。有時應用程序級代碼用於記錄更改而不是將其留給資料庫。可以設置監控以嘗試檢測安全漏洞。
以上內容參考網路-資料庫
4. 請問資料庫有哪些種類呢
資料庫共有3種類型,為關系資料庫、非關系型資料庫和鍵值資料庫。
1、關系資料庫
MySQL、MariaDB(MySQL的代替品,英文維基網路從MySQL轉向MariaDB)、Percona Server(MySQL的代替品·)、PostgreSQL、Microsoft Access、Microsoft SQL Server、Google Fusion Tables、FileMaker、Oracle資料庫、Sybase、dBASE、Clipper、FoxPro、foshub。
幾乎所有的資料庫管理系統都配備了一個開放式資料庫連接(ODBC)驅動程序,令各個資料庫之間得以互相集成。
2、非關系型資料庫(NoSQL)
BigTable(Google)、Cassandra、MongoDB、CouchDB。
3、鍵值(key-value)資料庫
Apache Cassandra(為Facebook所使用):高度可擴展、Dynamo、LevelDB(Google)。
(4)結構化資料庫有哪些擴展閱讀:
資料庫模型:對象模型、層次模型(輕量級數據訪問協議)、網狀模型(大型數據儲存)、關系模型、面向對象模型、半結構化模型、平面模型(表格模型,一般在形式上是一個二維數組。如表格模型數據Excel)。
資料庫的架構可以大致區分為三個概括層次:內層、概念層和外層。