數據庫介紹
DBMS:數據庫管理系統html
DB :數據庫java
二維表格式存儲數據(IBM提出的) mysql
![](http://static.javashuo.com/static/loading.gif)
RDBMS:關係型數據庫管理系統。sql
RDB :關係型數據庫。基於二維表的數據庫,方便管理組織數據數據庫
主流的關係型數據庫管理系統:編程
-
- 商業型數據庫(公司用要錢,我的免費):
- oracle :公司:甲骨文 市場佔有率50%以上 (2G)(版本有9i 10g 11g)
- DB2 :公司:IBM 市場佔有率不到20%
- sqlserver :公司:微軟 市場佔有率15%
-
- 開源免費的:
- mysql :公司:SUN(生產java的公司,其服務器、操做系統等是主流)
(java是其分支產業,後來SUN被甲骨文收購了)服務器
功能很強大,幾乎和oracle同樣,可是軟件很小(50M)oracle
(咱們只要會一個就行,本次學習學的是oracle,其餘的一通百通)編程語言
RDBMS 術語
- 數據庫: 數據庫是一些關聯表的集合。.
- 數據表: 表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。
- 列: 一列(數據元素) 包含了相同的數據, 例如郵政編碼的數據。
- 行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。
- 冗餘:存儲兩倍數據,冗餘可使系統速度更快。(表的規範化程度越高,表與表之間的關係就越多;查詢時可能常常須要在多個表之間進行鏈接查詢;而進行鏈接操做會下降查詢速度。例如,學生的信息存儲在student表中,院系信息存儲在department表中。經過student表中的dept_id字段與department表創建關聯關係。若是要查詢一個學生所在系的名稱,必須從student表中查找學生所在院系的編號(dept_id),而後根據這個編號去department查找系的名稱。若是常常須要進行這個操做時,鏈接查詢會浪費不少的時間。所以能夠在student表中增長一個冗餘字段dept_name,該字段用來存儲學生所在院系的名稱。這樣就不用每次都進行鏈接操做了。)
- 主鍵:主鍵是惟一的。一個數據表中只能包含一個主鍵。你可使用主鍵來查詢數據。
- 外鍵:外鍵用於關聯兩個表。
- 複合鍵:複合鍵(組合鍵)將多個列做爲一個索引鍵,通常用於複合索引。
- 索引:使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構。相似於書籍的目錄。
- 參照完整性: 參照的完整性要求關係中不容許引用不存在的實體。與實體完整性是關係模型必須知足的完整性約束條件,目的是保證數據的一致性。
Mysql數據庫
Mysql是最流行的關係型數據庫管理系統,在WEB應用方面MySQL是最好的RDBMS(Relational Database Management System:關係數據庫管理系統)應用軟件之一。由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不一樣的表中,而不是將全部數據放在一個大倉庫內,這樣就增長了速度並提升了靈活性。函數
- Mysql是開源的,因此你不須要支付額外的費用。
- Mysql支持大型的數據庫。能夠處理擁有上千萬條記錄的大型數據庫。
- MySQL使用標準的SQL數據語言形式。
- Mysql能夠容許於多個系統上,而且支持多種語言。這些編程語言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
- Mysql對PHP有很好的支持,PHP是目前最流行的Web開發語言。
- MySQL支持大型數據庫,支持5000萬條記錄的數據倉庫,32位系統表文件最大可支持4GB,64位系統支持最大的表文件爲8TB。
- Mysql是能夠定製的,採用了GPL協議,你能夠修改源碼來開發本身的Mysql系統。
數據庫語句
SQL (struct query language)
- DDL語句:數據定義語句(data define language)
- create table 表名(建立)
- drop table 表名(刪)
- alter table 表名(改)
- DML語句:數據操做語言(語句)
- 關鍵字:insert(插入) delete(刪除) update(修改)
- TCL語句:事務控制語句(transaction control language)
- commit(提交)
- rollback(回滾)
- savepoint(保存點)
Mysql安裝
http://www.cnblogs.com/alex3714/articles/5950372.html
sql語句使用說明目錄
說明:這是我以前的學習筆記,當時是在oracle上測試的,因此如下的內容的學習測試環境是oracle,而不是mysql。不過,這兩個數據庫幾乎沒有太大的使用區別。我在使用mysql時,若是遇到了不同的地方,我會及時更新,並標識說明。