sql基本語句學習
1.create表:自增長 identity(0,1)從0開始1爲增加量 (對比mysql類似於auto_increment=1 //省略不寫默認自增1)
primary key 可以像mysql直接用或者create table test(id int identity(0,1),name varchar(10),primary key(id))
2.主碼屬性必須非空和唯一(可以多個屬性值合一起作爲主鍵)
3.delete from test刪除所有值,表還在 drop test連表一起刪除
4.alter table r add A D 爲表r添加A屬性類型爲D alter table r drop A 刪除表r中A屬性
5.select distinct dept_name from instructor去重查詢
6.select 語句可以加上算術運算 對原來的表不產生影響
7. natural join?
8.更名運算:select distinct T.name from instructor as T,instructor as S where T.salary>S.salary and S.dept_name=’biology’
- 運算順序:from,where,select
數據庫與文件系統
使用文件處理數據的一些問題
* 數據的冗餘和不一致。冗餘指同一個數據在不同文件出現。不一致:同一數據有不同的副本
* 數據訪問困難。傳統的文件處理環境不能方便高效的訪問數據。
* 原子性問題。某些操作要麼一起發生要麼不發生。文件系統很難保持原子性。
* 併發訪問異常:併發環境下的數據可能被多個不同的應用程序訪問,
* 完整性問題:數據庫中的所存儲數據的值必須滿足某些特定的一致性約束。
數據抽象
- 物理層:描述數據實際上是怎麼樣存儲的。物理層詳細描述複雜的底層數據結構。
- 邏輯層:描述數據庫中儲存什麼數據及這些數據間存在什麼關係
- 視圖層:只描述整個數據庫的某個部分
事務的性質:
- 原子性:即不可分割性。事務要麼全部完成,要麼不執行。
- 一致性:無論如何操作,對數據正確性的保證。
- 隔離性:事務正確提交之前,不允許把該事務對數據的改變提交給其他事務
- 持久性:事務正確提交後,其結果將永遠保存在數據庫中。