数据库系统概念学习笔记2
視圖 view
直接操作數(shù)據(jù)庫時(shí),是在邏輯模型層操作的,即給定的集合中的關(guān)系都是實(shí)實(shí)在在存儲在數(shù)據(jù)庫中的
出于安全考慮,我們要隱藏特定的數(shù)據(jù)
在SQL中,允許定義虛關(guān)系,他在概念上包含查詢的結(jié)果,虛關(guān)系并不預(yù)先進(jìn)行計(jì)算并存儲,而是使用虛關(guān)系的時(shí)候才通過執(zhí)行查詢,被計(jì)算出來
不是邏輯模型的一部分,但作為虛關(guān)系對用戶可見的 關(guān)系稱為視圖
定義視圖
mysql> create view abc as #定義視圖-> select ID,name,dept_name-> from instructor; Query OK, 0 rows affected mysql> select * from abc; #SQL查詢中使用視圖事務(wù)
一、事務(wù)概念
事務(wù)是一種機(jī)制、是一種操作序列,它包含了一組數(shù)據(jù)庫操作命令,這組命令要么全部執(zhí)行,要么全部不執(zhí)行。因此事務(wù)是一個(gè)不可分割的工作邏輯單元。在數(shù)據(jù)庫系統(tǒng)上執(zhí)行并發(fā)操作時(shí)事務(wù)是作為最小的控制單元來使用的。這特別適用于多用戶同時(shí)操作的數(shù)據(jù)通信系統(tǒng)。例如:訂票、銀行、保險(xiǎn)公司以及證券交易系統(tǒng)等。
二、事務(wù)屬性
事務(wù)4大屬性:
1 原子性(Atomicity):事務(wù)是一個(gè)完整的操作。不可分割
2 一致性(Consistency):當(dāng)事務(wù)完成時(shí),數(shù)據(jù)必須處于一致狀態(tài)。
3 隔離性(Isolation):對數(shù)據(jù)進(jìn)行修改的所有并發(fā)事務(wù)是彼此隔離的。
4 持久性(Durability):事務(wù)完成后,它對于系統(tǒng)的影響是永久性的。
三、創(chuàng)建事務(wù)
T-SQL中管理事務(wù)的語句:
1 開始事務(wù): begin transaction
2 提交事務(wù):commit transaction
3 回滾事務(wù): rollback transaction
事務(wù)分類:
1 顯式事務(wù):用begin transaction明確指定事務(wù)的開始。
2 隱性事務(wù):打開隱性事務(wù):set implicit_transactions on,當(dāng)以隱性事務(wù)模式操作時(shí),SQL Servler將在提交或回滾事務(wù)后自動(dòng)啟動(dòng)新事務(wù)。無法描述事務(wù)的開始,只需要提交或回滾事務(wù)。
3 自動(dòng)提交事務(wù):SQL Server的默認(rèn)模式,它將每條單獨(dú)的T-SQL語句視為一個(gè)事務(wù)。如果成功執(zhí)行,則自動(dòng)提交,否則回滾。
完整性約束
防止對數(shù)據(jù)的意外破壞,通常被看作是數(shù)據(jù)庫模式設(shè)計(jì)過程的一部分
eg:表中 教師姓名不能為空 not null
* not nullname varchar(20) not null* unique* checkmysql> create table hehehe (id varchar(10),choice varchar(10),check (choice in ('a','b','c','d'))); Query OK, 0 rows affectedSQL的數(shù)據(jù)類型和模式
日期和時(shí)間類型
* date 年月日 * time 時(shí)分秒 * timestamp date和 time 的組合 date '2016-07-29' time '09:03:52' timestamp '2001-04-25 03:02:01'默認(rèn)值
SQL允許屬性指定默認(rèn)值
創(chuàng)建索引:
索引是一種數(shù)據(jù)結(jié)構(gòu),允許數(shù)據(jù)庫系統(tǒng)高效的找到關(guān)系中的那些在索引屬性上給定值的元祖
而不用掃描所有元祖
創(chuàng)建表的擴(kuò)展:
create table stu1 like student; #創(chuàng)建一個(gè)模式相同的表create table stu2 as ( #將查詢結(jié)果新建為一個(gè)表select name,sexfrom student)授權(quán):
GRANT語句的一般格式:
GRANT <權(quán)限>[,<權(quán)限>]…
[ON <對象類型> <對象名>]
TO <用戶>[,<用戶>]…
[WITH GRANT OPTION];
語義:將對指定操作對象的指定操作權(quán)限授予指定的用戶
收回權(quán)限用 revoke
與創(chuàng)建角色 結(jié)合
create role teacher;
角色可以像用戶那樣被授予權(quán)限
grant select on takes to teacher
觸發(fā)器 trigger
指定的事情發(fā)生,相應(yīng)的條件滿足,執(zhí)行觸發(fā)器
兩個(gè)要求
* 指明什么條件下執(zhí)行觸發(fā)器 * 觸發(fā)器執(zhí)行的動(dòng)作觸發(fā)器不能執(zhí)行數(shù)據(jù)庫以外的更新
觸發(fā)器可以用來復(fù)制或者備份數(shù)據(jù)庫
轉(zhuǎn)載于:https://www.cnblogs.com/tyzZ001/p/5754769.html
總結(jié)
以上是生活随笔為你收集整理的数据库系统概念学习笔记2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云直播PHP SDK如何使用
- 下一篇: 贪心分治