第一篇:數(shù)據(jù)庫(kù)總結(jié)
數(shù)據(jù)庫(kù)總結(jié):共三天的課程
數(shù)據(jù)庫(kù)的概念:數(shù)據(jù)庫(kù)是一組有序的數(shù)據(jù)的集合; 數(shù)據(jù)庫(kù)的作用:為了有效的管理數(shù)據(jù); 數(shù)據(jù)類型:
一 字符串相關(guān)的類型:一般用于人名、大于2147483647(10位數(shù))的數(shù)字、地址等字符信息
使用格式:字段名 char(存放字符的長(zhǎng)度)
或者
字段名
varchar(存放字符的長(zhǎng)度)Char:代表的是定長(zhǎng)的字符串類型,定義了多長(zhǎng),就分配多長(zhǎng)的存儲(chǔ)空間,只要不超過定義的長(zhǎng)度,分配給char的空間長(zhǎng)度就不會(huì)改變,余下的部分用空格代替;
Varchar:代表的是可變長(zhǎng)度的字符串類型,定義的長(zhǎng)度可以理解為是虛擬的空間,只要字符串的長(zhǎng)度不超過定義的長(zhǎng)度,那么varchar的分配空間長(zhǎng)度就是字符串實(shí)際的長(zhǎng)度,余下的部分自動(dòng)消失; 二 數(shù)字相關(guān)的類型:一般用于工資、人數(shù)統(tǒng)計(jì)等方面; 使用格式:字段名
int/float/double 【此處不用定義字段的長(zhǎng)度】 int :取值的范圍-2147483648~2147483647,后面可以設(shè)置主鍵及自增長(zhǎng);
float/double:用于帶有小數(shù)的數(shù)據(jù)定義 decimal:多用于金錢的數(shù)據(jù) 三 時(shí)間相關(guān)的數(shù)據(jù)類型:一般用于時(shí)間的統(tǒng)計(jì),例如登錄時(shí)間、修改時(shí)間、退出時(shí)間等;
使用格式:字段名
date/time/datetime/timestamp 【此處不用定義字段的長(zhǎng)度】,插入表的時(shí)候格式與字符串的插入格式一樣,都是用單引號(hào)插入
date:日期類型
格式:yyyy-MM-dd time:時(shí)間類型
格式:hh:mm:ss Datetime:日期時(shí)間
格式:yyyy-MM-dd hh:mm:ss Timestamp:時(shí)間戳
格式:yyyy-MM-dd hh:mm:ss 數(shù)據(jù)庫(kù)的操作:
一 查看所有數(shù)據(jù)庫(kù):select databases;二 查看所有表:select tables;三 創(chuàng)建數(shù)據(jù)庫(kù):create database 數(shù)據(jù)庫(kù)名稱;
use 數(shù)據(jù)庫(kù)名稱;
四 創(chuàng)建表:create table 表名(字段1
類型(長(zhǎng)度)[約束], 字段2
類型(長(zhǎng)度)[約束], 字段n
類型(長(zhǎng)度)[約束])注:字段n的結(jié)尾處不需要用逗號(hào)分隔
五 刪除當(dāng)前表/數(shù)據(jù)庫(kù):drop table 表名/ 數(shù)據(jù)庫(kù)名;
六 向表中插入數(shù)據(jù):insert into 表名(字段1,字段2,字段n)values(值1,值2,值n),(值1,值2,值n),(值1,值2,值n),(值1,值2,值n)...注:此處的插入數(shù)據(jù)可以用逗號(hào)隔開,想要插入幾條數(shù)據(jù)就插入幾個(gè)值。
七 查看當(dāng)前表的值:select * from 表名
注:*是通配符,代表全部的意思,此處*還可以用表中的字段名代替,那么查看就是相應(yīng)的字段名下的數(shù)據(jù)。
約束:
一 主鍵約束:primary key 代表的是唯
一、不重復(fù),非空的約束 使用格式: 字段名
類型(長(zhǎng)度)primary key 自增長(zhǎng):auto_increment 必須與主鍵約束一同使用,字段的類型是整型,插入數(shù)據(jù)的時(shí)候可以不用向設(shè)置自增長(zhǎng)的字段添加數(shù)據(jù),起始的默認(rèn)數(shù)字是:1 二 唯一約束:unique 不可以重復(fù),唯一 使用格式: 字段名
類型(長(zhǎng)度)unique 注:空格是不可以作為字符串使用的,空格相當(dāng)于null,如果向設(shè)置unique的字段內(nèi)插入數(shù)據(jù)是存在【‘空格’、null、(‘’)】當(dāng)中兩個(gè)或兩個(gè)以上的時(shí)候就會(huì)報(bào)錯(cuò)【’null’是字符串,不是空】 三 非空約束:not null 插入數(shù)據(jù)時(shí)必須要為設(shè)置not null的字段插入數(shù)據(jù),這個(gè)字段不能為空
使用格式: 字段名
類型(長(zhǎng)度)not null 注:空格是不可以作為字符串使用的,空格相當(dāng)于null,如果向設(shè)置not null的字段內(nèi)插入數(shù)據(jù)是存在【‘空格’、null、(‘’)】當(dāng)中一個(gè)或一個(gè)以上的時(shí)候就會(huì)報(bào)錯(cuò)
四 默認(rèn)約束:default 為字段設(shè)置默認(rèn)值,當(dāng)不為設(shè)置默認(rèn)約束的字段插入數(shù)據(jù)是,系統(tǒng)自動(dòng)將默認(rèn)值賦予這個(gè)字段 使用格式: 字段名
類型(長(zhǎng)度)default 值 五 檢查約束:check(檢查的內(nèi)容)使用格式: 字段名
類型(長(zhǎng)度)check(檢查的內(nèi)容)注:在SQL語句中沒有實(shí)際的含義,但是需要會(huì)用
六 外鍵約束:foreign key 必須是另一個(gè)表的主鍵(唯一的),設(shè)置了外鍵的字段,受到關(guān)聯(lián)表中相應(yīng)主鍵的字段的約束,當(dāng)要為外鍵約束插入數(shù)據(jù)的時(shí)候,必須先為被關(guān)聯(lián)的表插入相應(yīng)主鍵的數(shù)據(jù);
使用格式: 創(chuàng)建表時(shí)候就設(shè)置外鍵約束
字段名
類型(長(zhǎng)度),F(xiàn)oreign key(字段名)references 表名(對(duì)應(yīng)主鍵的字段名)表已經(jīng)創(chuàng)建完,插入外鍵約束
Alter table 表名 add constraint fk_f foreign key(要設(shè)置外鍵的字段名)references 被關(guān)聯(lián)的表名(被關(guān)聯(lián)的字段名);表的結(jié)構(gòu):
查看表結(jié)構(gòu):desc/describe 表名;修改表名:alter table 表名 rename 新表名 添加新字段:alter table 表名 add 字段名 類型(長(zhǎng)度)修改字段:alter table 表名 change 舊字段 新字段 新字段類型(長(zhǎng)度)刪除字段:alter table 表名 drop 字段名
記錄的操作:
一 插入記錄:insert into 表名(字段名1,字段名n)values(值1,值n)二 修改記錄:update 表名 set 字段名=值 where 條件
注:這里如果不加where條件,那么這個(gè)表的這個(gè)字段名下的數(shù)據(jù)全部賦值成為“值”
三 刪除記錄:delete from表名 where 條件
注:此處刪除的是表中的符合where條件的整條記錄 注意:使用delete和update的時(shí)候要千萬注意,必須要寫where條件語句,要不然就會(huì)將當(dāng)前表中的所有數(shù)據(jù)改變,在想改回來的話會(huì)非常非常費(fèi)勁?。?!
四 查詢記錄:select 字段名1,字段名n from 表名 where 查詢條件 查詢?nèi)サ糁貜?fù)的值:關(guān)鍵字 distinct 格式:select distinct 字段名1,字段名n from 表名命別名/賦值表: 關(guān)鍵字 as 命別名:select 字段名 as ‘自定義名’
from 表名 賦值表:create table 新表名 as select * from 舊表名 3 查詢條件語句的范圍:in(等值判斷)/not in select 字段名1,字段名n from 表名 where 字段名
in/not in(值1,值n)4 模糊查詢:like
匹配標(biāo)識(shí)符:’_’代表一個(gè)字符、%代表多個(gè)字符
Select 字段名 from 表名 where 字段名 like ‘_sth%’ 注:like后面的判斷值如果是數(shù)字的話要加單引號(hào),例如想要查詢的條件是12345,可以這樣寫:’%3%’,單引號(hào)必須加 5 區(qū)間查詢:limit m,n
查詢從第m個(gè)記錄開始,一共n條記錄,這里的m指的是類似Java數(shù)組里的下標(biāo),計(jì)數(shù)從0開始
Limit m
查詢從頭開始的一共m條記錄
Select */字段名 from 表名 limit m,n 6 查詢值是否存在某段區(qū)間內(nèi):between 最大值 and 最小值(int 型的最大值、最小值)Select 字段名1,字段名n from 表名
where 字段名 between 最大值
and 最小值:
注意這里面的條件含有等于最大值和等于最小值
字段名 between 最大值 and 最小值= 字段名>=最小值 and 字段名<=最大值
邏輯運(yùn)算符在此處可通用:<
<=
>
>=
=
!=
集合函數(shù): 使用方法與Java中的方法的使用類似,注意的是函數(shù)名后面緊跟著(),中間不能有空格 一 符合條件的記錄的個(gè)數(shù):countil
Select count(字段名)from 表名
where 查詢條件 二 求某個(gè)字段的值的總和:sum Select sum(字段名)from 表名
where 查詢條件 三 求某個(gè)字段的值的平均值:avg Select avg(字段名)from 表名
where 查詢條件 四 求某個(gè)字段的值的最大值:max Select max(字段名)from 表名
where 查詢條件 五 求某個(gè)字段的值的最大值:min Select min(字段名)from 表名
where 查詢條件
多表查詢:
笛卡爾積:select(字段1,字段n)from 表1,表n 自己想要的查詢(找到所有被查詢的表的相同的字段): Select(a.字段1,a.字段n,b.字段1,b.字段n)from 表名 as a,表名 as b where a.字段名=b.字段名;
聯(lián)合查詢:
左連接:select 字段名/* from 左表名
left join 右表名
on 左表名.字段名=右表名.字段名
查詢結(jié)果:左表全部顯示,右表與左表相同的字段名的部分顯示 右連接:select 字段名/* from 左表名
right join 右表名
on 左表名.字段名=右表名.字段名
查詢結(jié)果:右表全部顯示,左表與右表相同的字段名的部分顯示 內(nèi)連接:select 字段名/* from 左表名
inner join 右表名
on 左表名.字段名=右表名.字段名
查詢結(jié)果:只有左表與右表相同的部分才顯示
全連接:select 字段名/* from 左表名
full join 右表名 查詢結(jié)果:’*’的結(jié)果是笛卡爾積
‘字段名’的結(jié)果是這個(gè)字段名下的笛卡爾積
函數(shù):函數(shù)名與小括號(hào)之間不能有空格,字符串必須用單引號(hào)圈起來
一 求字符串長(zhǎng)度:length Select
length(字符串)二 字符串的截?。簊ubstring(字符串,m)/(字符串,m,n)Select
substring(字符串,m)/(字符串,m,n)三 小寫轉(zhuǎn)大寫:upper Select
upper(字符串)四 大寫轉(zhuǎn)小寫:lower Select
lower(字符串)五 加密:MD5 Select
MD5(字符串)六 顯示現(xiàn)在的時(shí)間:now Select
now()
迷糊中: group by
order by 子查詢
第二篇:數(shù)據(jù)庫(kù)總結(jié)
數(shù)據(jù)庫(kù)老師畫的重點(diǎn)
數(shù)據(jù)庫(kù):數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織、可共享的大數(shù)據(jù)集合。數(shù)據(jù)庫(kù)操縱功能:查詢select、插入insert、刪除delete、修改update 數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn):1數(shù)據(jù)結(jié)構(gòu)化2數(shù)據(jù)的共享高,冗余度低,易擴(kuò)充3數(shù)據(jù)獨(dú)
立性高4數(shù)據(jù)由DBMS統(tǒng)一管理和控制
數(shù)據(jù)模型的組成要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、完整性約束 概念模型:要出大體,畫圖 信息世界中的基本概念————
1、實(shí)體:客觀存在并可以相互區(qū)別的事物稱為實(shí)體
2、屬性:實(shí)體所具有的某一特性
3、碼(key):唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼
4、域(domain):域是一組具有相同數(shù)據(jù)類型的集合
5、實(shí)體型(entity type):具有相同屬性的實(shí)體必然具有共同的特征和性質(zhì)。用實(shí)體名
及屬性名集合來抽象和刻畫同類實(shí)體,稱為實(shí)體型。
6、實(shí)體集(entity set):同一類型的實(shí)體的集合
7、聯(lián)系:在現(xiàn)實(shí)世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中
反應(yīng)為實(shí)體(型)內(nèi)部的聯(lián)系和實(shí)體(型)之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指
組成實(shí)體的各屬性之間的聯(lián)系;實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系
最常用的數(shù)據(jù)模型:
1、層次模型(Hierarchical Model)
2、網(wǎng)狀模型(Network Model)
3、關(guān)系模型(Relational Model)
4、面向?qū)ο竽P停∣bject Oriented Model)
5、對(duì)象關(guān)系模型(Object Relational Model)其中層次模型和網(wǎng)狀模型統(tǒng)稱為格式化模型
數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu):
1、模式(scheme):模式也稱邏輯模式,是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。他是數(shù)據(jù)庫(kù)系統(tǒng)模式結(jié)構(gòu)的中間層,既不設(shè)計(jì)涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程
序、所使用的應(yīng)用開發(fā)工具及高級(jí)程序設(shè)計(jì)語言無關(guān)。
2、外模式(external schema):外模式也稱為子模式(subschema)或用戶模式,他是數(shù)
據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)能看見和使用
的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。
3、內(nèi)模式(internal scheme):內(nèi)模式也稱存儲(chǔ)模式(storage schema),一個(gè)數(shù)據(jù)庫(kù)只有
一個(gè)內(nèi)模式。他是數(shù)據(jù)庫(kù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是
數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表達(dá)方式。數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)庫(kù)獨(dú)立性————
為了能夠在系統(tǒng)內(nèi)部實(shí)現(xiàn)這3個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫(kù)管理系統(tǒng)在這三個(gè)模式之間提供了兩層映像:
·外模式/模式 映像 ·模式/內(nèi)模式 映像
正是這兩層映像保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性 關(guān)系(relation):D1*D2*D3··*Dn的子集叫做在域D1、D2、D3···Dn上的關(guān)系,表示
為R(D1、D2、D3···Dn)
這里的的R表示關(guān)系的名字,n是關(guān)系的目或度(degree)關(guān)系中每個(gè)元素是關(guān)系中的元組,通常用t表示 當(dāng)n=1時(shí),稱關(guān)系為單元關(guān)系(unary relation),或一元關(guān)系 當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(binary relation)
關(guān)系是笛卡爾積的有限子集,所以關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。由于域可以相同,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(attribute)。n目關(guān)系必有n個(gè)屬性。
若關(guān)系中的某一屬性組的值能夠唯一的標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼(candidate key)
若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(primary key)候選碼的諸屬性稱為主屬性(prime attribute)。不包含在任何候選碼中的屬性稱為非主屬性(non-prime attribute)或非碼屬性(non-key attribute)P46 沒有搞明白干嘛使得?。。。。。。。。。?!
關(guān)系的三類完整性約束:實(shí)體完整性、參照完整性、用戶定義的完整性 實(shí)體完整性和參照完整性被稱作關(guān)系的兩個(gè)不變性
1、實(shí)體完整性(entity integrity):主碼中的屬性即主屬性不能取空值
2、參照完整性(referential integrity):
若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼,它與基本關(guān)系S的的主碼K相對(duì)應(yīng)(基
本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:
·或者取空值(F的每個(gè)屬性值均為空值)·或者等于S中某個(gè)元組的主碼值
SQL(Structured Query Language),即結(jié)構(gòu)化查詢語言,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語言。SQL 的特點(diǎn):
1、綜合統(tǒng)一
2、高度非過程化
3、面向集合的操作方式
4、以同一種語法結(jié)構(gòu)提供多種使用方式
5、語言簡(jiǎn)潔、易學(xué)易用 SQL的動(dòng)詞:
數(shù)據(jù)查詢:select 數(shù)據(jù)定義:create、drop、alter(房間)修改表
數(shù)據(jù)操縱:insert、update(家具)修改數(shù)據(jù)、delete 數(shù)據(jù)控制:grant、revoke
繪制ER圖————
在ER圖中有如下四個(gè)成分:
矩形框:表示實(shí)體,在框中記入實(shí)體名。菱形框:表示聯(lián)系,在框中記入聯(lián)系名。
橢圓形框:表示實(shí)體或聯(lián)系的屬性,將屬性名記入框中。對(duì)于主屬性名,則在其名稱下
劃一下劃線。
連線:實(shí)體與屬性之間;實(shí)體與聯(lián)系之間;聯(lián)系與屬性之間用直線相連,并在直線上
標(biāo)注聯(lián)系的類型。(對(duì)于一對(duì)一聯(lián)系,要在兩個(gè)實(shí)體連線方向各寫1; 對(duì)于一對(duì)
多聯(lián)系,要在一的一方寫1,多的一方寫N;對(duì)于多對(duì)多關(guān)系,則要在兩個(gè)實(shí)體
連線方向各寫N,M。
基本表是本身獨(dú)立存在的表,在SQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)基本表。一個(gè)(或多個(gè))基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件,一個(gè)表可以帶若干索引,索引也可以放在存儲(chǔ)文件中。存儲(chǔ)文件的邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫(kù)的內(nèi)模式。存儲(chǔ)文件的物理結(jié)構(gòu)是任意的,對(duì)用戶是透明的。
視圖是從一個(gè)或幾個(gè)基本表導(dǎo)出的表。它本身不獨(dú)立存儲(chǔ)在數(shù)據(jù)庫(kù)中,即數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù)。這些數(shù)據(jù)仍存放在導(dǎo)出視圖的基本表中,因此視圖是一個(gè)虛表。視圖在概念上與基本表等同,用戶可以在視圖上再定義視圖。
基本表的定義、刪除與修改:
1、定義基本表:create table ***()
2、定義主鍵:Primary key == not null(中間不用連接符號(hào))unique
3、定義外碼的語句:foreign key(某個(gè)字段)references 某表(某字段)
4、定義主碼語句:primary key(***,***)
5、修改基本表:alter table 某表名 add 列名<數(shù)據(jù)類型>[完整性約束]
drop <完整性約束名>(字段名)
alter column<列名><數(shù)據(jù)類型>
6、刪除表:drop table 表名[restrict | cascade級(jí)聯(lián)刪除]
7、建立索引:create [unique] [clustered] index 索引名
on 表名(列名[asc | desc],······)·clustered 表示是聚簇索引
·unique表明此索引的每一個(gè)索引值只對(duì)應(yīng)唯一的數(shù)據(jù)記錄 ·用戶可以在最經(jīng)常查詢的列上建立聚簇索引以提高查詢效率 ·在一個(gè)基本表上只能建立一個(gè)聚簇索引
·建立局促索引后,更新該索引列上的數(shù)據(jù)時(shí),往往導(dǎo)致表中記
錄的物理順序的額變更,代價(jià)較大,因此對(duì)于經(jīng)常更新的列不
宜建立聚簇索引
8、刪除索引:drop index <索引名>
上機(jī)的時(shí)候不太一樣:drop index 表名。索引名字
9、數(shù)據(jù)的查詢:
select [all | distinct] <目標(biāo)列表達(dá)式>,······ from 表名或者視圖名,··· where 條件表達(dá)式
group by 列名1 [having 條件表達(dá)式] order by 列名2 [asc | desc] ·如果有g(shù)roup by 子句,則結(jié)果按“列名1”的值進(jìn)行分組,該屬性列值相
等的元組為一個(gè)組。通常會(huì)在每組中作用聚集函數(shù)。如果group by 子句帶
having短語,則只有滿足指定條件的組才予以輸出。
·如果有order by 子句,則結(jié)果表按“列名2”的值的升序或降序排序 ·select Sname Name,‘Year of Birth:’Birth,2013-Sage Birthday,lower
(Sdept)Department
from Student
lower表示小寫
常用的查詢條件————
比
較:大于、等于、小于、不等于(< >/!=)、大于/小于等于、不小于、不大于、not+上述比較運(yùn)算符
確定范圍:between and,not between and 確定集合:in,not in 字符匹配:like,not like 空
值:is null,is not null 多重條件(邏輯運(yùn)算):and,or,not
例子————
·select Sname,Sage
from Student
where Sdept(not)in(‘cs’,‘ma’,‘is’)
字符匹配:[not] like ‘字符串’[escape‘換嗎字符’] 百分號(hào)表示任意長(zhǎng)度、下劃線表
示任意單個(gè)字符 聚集函數(shù)————
count([distinct | all] *)
統(tǒng)計(jì)元組個(gè)數(shù) count([distinct| all] 列名)
統(tǒng)計(jì)一列中值的個(gè)數(shù) sum([distinct| all] 列名)
計(jì)算一列值的總和(此列必須是數(shù)值型)avg([distinct| all] 列名)
計(jì)算一列的平局值(此列必須是數(shù)值型)max([distinct| all] 列名)
求一列中的最大值 min ·如果指定distinct短語,則表示在計(jì)算時(shí)要取消指定列中的重復(fù)值。如果不指定distinct
短語或者指定all短語(all為缺省值),則表示不取消重復(fù)。
·注意在聚集函數(shù)遇到空值時(shí),除count(*)外,都跳過空值而只處理非空值?!ぷ⒁鈝here子句中不能用聚集函數(shù)作為條件表達(dá)式
group by子句————
where 子句與having 短語的區(qū)別在于作用對(duì)象不同。Where 子句作用對(duì)象作用于基本表或試圖,從中選擇條件的元組。Having短語作用于組,從中選擇滿足條件的組。
例子:select Sno from SC
group by Sno having count(*)>3 查詢了選修3門以上課程的學(xué)生學(xué)號(hào) 鏈接查詢—————— 例子:
非自然鏈接
·select Student.*,SC.*
from Student,SC
Where Student.Sno=SC.Sno
自然鏈接
·select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
from Student,SC
where Student.Sno=SC.Sno
自身鏈接
·select FIRST.Cno,SECOND.Cpno
from Course FIRST,Course SECOND
where FIRST.Cpno=SECOND.Cpno
外連接
·select Student.Sno,Sname,Sage,Sdept,Cno,Grade
from Student left outer join SC
on Student.Sno=SC.Sno ·左外鏈接列出左邊關(guān)系中所有的元組,右外連接列出右邊關(guān)系中的所有元組
嵌套查詢
·select Sname from Student
where Sno in(select Sno from SC where Cno=‘2’)
·找出每個(gè)學(xué)生超過他選修課程平均成績(jī)的課程號(hào)
Select Sno,Cno From SC x Where Grade >=(select avg(Grade)
From SC y Where y.Sno=x.Sno)
授權(quán)————
Grant 權(quán)限,····· On 對(duì)象類型 對(duì)象名,····· To 用戶,·····
[with grant option]只一句表示權(quán)限的傳遞
例子: ·Grant all privileges
On Student,Course
To U1,U2
·grant update(Sno),select
on Student
to u4
·revoke update(Sno)
on table Student
from u4
一個(gè)滿足BCNF的關(guān)系模式有:
·所有非主屬性對(duì)每一個(gè)碼都是完全函數(shù)依賴
3NF 編輯
3NF,即第三范式是要求一個(gè)數(shù)據(jù)庫(kù)表中不包含已在其它表中已包含的非主關(guān)鍵字信息。例如,存在一個(gè)部門信息表,其中每個(gè)部門有部門編號(hào)(dept_id)、部門名稱、部門簡(jiǎn)介等信息。那么在員工信息表中列出部門編號(hào)后就不能再將部門名稱、部門簡(jiǎn)介等與部門有關(guān)的信息再加入員工信息表中。如果不存在部門信息表,則根據(jù)第三范式(3NF)也應(yīng)該構(gòu)建它,否則就會(huì)有大量的數(shù)據(jù)冗余。簡(jiǎn)而言之,第三范式就是屬性不依賴于其它非主屬性。滿足第三范式(3NF)必須先滿足第二范式(2NF)
2NF(第二范式)
第二范式(2NF)是在第一范式(1NF)的基礎(chǔ)上建立起來的,即滿足第二范式(2NF)必須先滿足第一范式(1NF)。第二范式(2NF)要求數(shù)據(jù)庫(kù)表中的每個(gè)實(shí)例或行必須可以被唯一地區(qū)分。為實(shí)現(xiàn)區(qū)分通常需要為表加上一個(gè)列,以存儲(chǔ)各個(gè)實(shí)例的唯一標(biāo)識(shí)。如圖3-2 員工信息表中加上了員工編號(hào)(emp_id)列,因?yàn)槊總€(gè)員工的員工編號(hào)是唯一的,因此每個(gè)員工可以被唯一區(qū)分。這個(gè)惟一屬性列被稱為主關(guān)鍵字或主鍵、主碼。
第三篇:數(shù)據(jù)庫(kù)總結(jié)(簡(jiǎn)答題)
數(shù)據(jù)的定義 :描述事物的符號(hào)記錄
數(shù)據(jù)庫(kù)的定義:數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)集合
DBMS的定義:數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System,簡(jiǎn)稱DBMS):位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件(系統(tǒng)軟件)。
DBMS的用途:
(1)科學(xué)地組織和存儲(chǔ)數(shù)據(jù)(2)高效地獲取和維護(hù)數(shù)據(jù) DBMS的主要功能:
(1)數(shù)據(jù)定義功能:提供數(shù)據(jù)定義語言(DDL)定義數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象
(2)數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的基本操作(查詢、插入、刪除和修改)。
(3)數(shù)據(jù)庫(kù)的運(yùn)行管理:在數(shù)據(jù)庫(kù)建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng) 一控制,以保證數(shù)據(jù)的完整性、安全性、并在多用戶同時(shí)使用數(shù)據(jù)庫(kù)時(shí)進(jìn)行并發(fā)控制,且在數(shù)據(jù)庫(kù)系統(tǒng)發(fā)生故障后對(duì)系統(tǒng)進(jìn)行恢復(fù)。
(4)數(shù)據(jù)庫(kù)的建立和維護(hù)功能(實(shí)用程序):數(shù)據(jù)庫(kù)數(shù)據(jù)批量裝載、數(shù)據(jù)庫(kù)轉(zhuǎn)儲(chǔ)、恢復(fù)、數(shù)據(jù)庫(kù)的重組織、性能監(jiān)視等
(5)數(shù)據(jù)庫(kù)系統(tǒng)(Database System,簡(jiǎn)稱DBS):指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng) 在不引起混淆的情況下常常把數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)稱為數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)成(1)數(shù)據(jù)庫(kù)
(2)數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)
應(yīng)用系統(tǒng)
數(shù)據(jù)庫(kù)管理員(DBA)和用戶
數(shù)據(jù)管理是指對(duì)數(shù)據(jù)的組織、分類、編碼、存儲(chǔ)、檢索和維護(hù)。數(shù)據(jù)管理技術(shù)的發(fā)展過程 人工管理階段特點(diǎn):
(1)數(shù)據(jù)不保存
(2)系統(tǒng)沒有專用的軟件對(duì)數(shù)據(jù)進(jìn)行管理
(3)數(shù)據(jù)不共享
(4)數(shù)據(jù)不具有獨(dú)立性 文件系統(tǒng)階段特點(diǎn):
(1)數(shù)據(jù)以文件形式長(zhǎng)期保存(2)數(shù)據(jù)由文件系統(tǒng)統(tǒng)一管理(3)應(yīng)用程序直接訪問數(shù)據(jù)文件(4)數(shù)據(jù)的存取基本上以記錄為單位 缺點(diǎn):(1)數(shù)據(jù)冗余度大(2)數(shù)據(jù)獨(dú)立性低(2)數(shù)據(jù)一致性差
數(shù)據(jù)庫(kù)系統(tǒng)階段特點(diǎn):(1)數(shù)據(jù)共享性高、冗余少(2)數(shù)據(jù)結(jié)構(gòu)化(3)數(shù)據(jù)獨(dú)立性高
(4)由DBMS進(jìn)行統(tǒng)一的數(shù)據(jù)控制功能 A)數(shù)據(jù)的安全性(security)控制 B)數(shù)據(jù)的完整性(integrity)控制 C)并發(fā)(concurrency)控制 D)數(shù)據(jù)恢復(fù)(recovery)
數(shù)據(jù)模型分成兩個(gè)不同的層次:
(1)概念模型(概念層數(shù)據(jù)模型,也稱信息模型):它是按用戶的觀點(diǎn)來 對(duì)數(shù)據(jù)和信息建模。
(2)數(shù)據(jù)模型(組織層數(shù)據(jù)模型):它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,主要用于DBMS的實(shí)現(xiàn)。
抽象過程---兩步抽象
(1)現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;
(2)把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。
數(shù)據(jù)模型通常由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的約束條件三個(gè)要素組成(7)聯(lián)系(Relationship)
實(shí)體內(nèi)部的聯(lián)系:組成實(shí)體的各屬性之間的聯(lián)系。實(shí)體之間的聯(lián)系:不同實(shí)體集之間的聯(lián)系。(1)一對(duì)一(2)一對(duì)多(3)多對(duì)多 目前最常用的數(shù)據(jù)模型有
層次模型(Hierarchical Model)網(wǎng)狀模型(Network Model)關(guān)系模型(Relational Model)面向?qū)ο蟮臄?shù)據(jù)模型(5)關(guān)系模型的優(yōu)缺點(diǎn) 優(yōu)點(diǎn):
1)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上
2)數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、清晰,用戶易懂易用實(shí)體和各類聯(lián)系都用關(guān)系來表示。
3)關(guān)系模型的存取路徑對(duì)用戶透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)開發(fā)建立的工作 缺點(diǎn)
1)存取路徑對(duì)用戶透明, 導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型 2)為提高性能,必須對(duì)用戶的查詢請(qǐng)求進(jìn)行優(yōu)化 三級(jí)模式結(jié)構(gòu): 外模式:是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述
概念模式:是數(shù)據(jù)庫(kù)用戶使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述 內(nèi)模式:是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述
二級(jí)映象
(1)外模式/模式映象:定義外模式與模式之間的對(duì)應(yīng)關(guān)系 用途: 保證數(shù)據(jù)的邏輯獨(dú)立性
(2)模式/內(nèi)模式映象:模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。
用途:保證數(shù)據(jù)的物理獨(dú)立性 關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論主要包括三個(gè)方面的內(nèi)容: 函數(shù)信賴
范式(Normal Form)模式設(shè)計(jì)和模式分解
進(jìn)行數(shù)據(jù)庫(kù)的操作時(shí),會(huì)出現(xiàn)以下幾方面的問題: 1.數(shù)據(jù)冗余
2.插入異常 3.刪除異常 4.更新異常
一個(gè)好的關(guān)系模式應(yīng)該具備以下四個(gè)條件: 1.盡可能少的數(shù)據(jù)冗余 2.沒有插入異常 3.沒有刪除異常 4.沒有更新異常
1.第一范式
第一范式(First Normal Form)是最基本的規(guī)范形式,即關(guān)系中每個(gè)屬性都是不可再分的簡(jiǎn)單項(xiàng)。
2.第二范式
定義:如果關(guān)系模式R∈1NF,并且R中的每個(gè)非主屬性都完全函數(shù)依賴于主碼,則R∈2NF。存在問題:(1)數(shù)據(jù)冗余
(2)插入異常(3)刪除異常(4)更新異常
之所以存在這些問題,是由于在S-L表中存在著非主屬性對(duì)主碼的傳遞依賴。3.第三范式
定義:如果R(U,F)∈2NF,并且所有非主屬性都不傳遞依賴于主碼,則 R(U,F)∈3NF。
關(guān)系模式S-L由2NF分解為3NF后,既沒有非主屬性對(duì)主碼的部分依賴,也沒有非主屬性對(duì)主碼的傳遞依賴,解決了2NF中存在的四個(gè)問題。(1)數(shù)據(jù)冗余降低(2)不存在插入異常(3)不存在刪除異常(4)不存在更新異常值
4.BC范式
(BCNF)
定義:若關(guān)系模式R∈1NF,對(duì)于關(guān)系R的每個(gè)函數(shù)依賴X→Y且Y?X,X必含有候選碼,則R∈BCNF。
即每個(gè)決定屬性集都包含候選碼。
關(guān)系規(guī)范化的目的:解決關(guān)系模式中存在的插入、刪除、更新操作異常,數(shù)據(jù)冗余問題.關(guān)系規(guī)范化的方法:圍繞函數(shù)依賴的主線,對(duì)一個(gè)關(guān)系模式進(jìn)行分解,使關(guān)系從較低級(jí)范式變換到較高級(jí)范式。模式分解的準(zhǔn)則:(1)無損連接性(2)保持函數(shù)依賴 SQL語言特點(diǎn)
(1)高度非過程化的語言(2)面向集合的語言(3)能以多種方式使用
(4)具有查詢、操作、定義和控制四種語言一體化的特點(diǎn)(5)語言簡(jiǎn)潔、易學(xué)易用
SQL按其功能可分為四大部分:數(shù)據(jù)定義功能、數(shù)據(jù)控制功能、數(shù)據(jù)查詢功能和數(shù)據(jù)操縱功能。
(1)數(shù)據(jù)定義功能用于定義、刪除和修改數(shù)據(jù)庫(kù)中的對(duì)象;(2)數(shù)據(jù)查詢功能用于實(shí)現(xiàn)查詢數(shù)據(jù)的功能;
(3)數(shù)據(jù)操縱功能用于實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的增加、刪除和修改;(4)數(shù)據(jù)控制功能用于實(shí)現(xiàn)控制用戶對(duì)數(shù)據(jù)庫(kù)的操作權(quán)限 索引:記錄的關(guān)鍵字與其相應(yīng)地址的對(duì)應(yīng)表。
視圖(view): 是從一個(gè)或者多個(gè)表或視圖中導(dǎo)出的表。它與基本表不同的是:
(1)基本表(base table):獨(dú)立存在的表, 基本表中的數(shù)據(jù)是存在數(shù)據(jù)庫(kù)中。(2)視圖是一個(gè)虛表。即視圖所對(duì)應(yīng)的數(shù)據(jù)不實(shí)際存放在數(shù)據(jù)庫(kù)中
(3)在數(shù)據(jù)庫(kù)中只存放視圖的定義,不存放視圖包含的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。
(4)基表中的數(shù)據(jù)發(fā)生變化,從視圖中查詢出的數(shù)據(jù)也隨之改變。視圖作用
(1)簡(jiǎn)化數(shù)據(jù)查詢語句
(2)使用戶能從多角度看到同一數(shù)據(jù)(3)提高了數(shù)據(jù)的安全性
(4)提供了一定程度的邏輯獨(dú)立性
一、SQL嵌入到主語言要解決的問題 ①如何識(shí)別SQL ②數(shù)據(jù)傳遞
③解決SQL一次一集合的操作與主語言一次一記錄操作的矛盾.用游標(biāo)解決。
四、使用游標(biāo)的步驟
1、說明游標(biāo)
格式:exec SQL declear <游標(biāo)名> cursor for
2、打開游標(biāo)
格式:exec SQL open <游標(biāo)名>
3、推進(jìn)游標(biāo)
格式:
exec SQL fetch <游標(biāo)名> into <主變量1>,<主變量2>?
4、關(guān)閉游標(biāo)
格式:exec SQL close <游標(biāo)名>
1.什么是數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)、管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)2 ,數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容
數(shù)據(jù)庫(kù)設(shè)計(jì)包括數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)的行為設(shè)計(jì)兩方面的內(nèi)容。
一、需求分析的任務(wù)
1.詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等)充分了解原系統(tǒng)工作概況(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng)),明確用戶的各種需求
2.確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計(jì)數(shù)據(jù)庫(kù)
3.編寫需求分析說明書
(1)信息要求
(2)處理要求
(3)安全性與完整性要求 需求分析的方法
自頂向下的結(jié)構(gòu)化分析方法(簡(jiǎn)稱SA方法)該方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。
數(shù)據(jù)流圖(Data Flow Diagram,DFD):是一種最常用的結(jié)構(gòu)化分析工具,它從數(shù)據(jù)傳遞和加工角度,以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程。
數(shù)據(jù)字典(Data Dictionary,簡(jiǎn)稱DD)的用途
數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)的詳細(xì)描述的集合
進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果
數(shù)據(jù)字典的內(nèi)容
(1)數(shù)據(jù)結(jié)構(gòu)(2)數(shù)據(jù)流(3)數(shù)據(jù)存儲(chǔ)(4)處理過程
概念結(jié)構(gòu)設(shè)計(jì):通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型(E-R圖)邏輯結(jié)構(gòu)設(shè)計(jì):將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,如關(guān)系模型,形成數(shù)據(jù)庫(kù)邏輯模式與外模式。
物理結(jié)構(gòu)設(shè)計(jì):設(shè)計(jì)數(shù)據(jù)的存取方法和存儲(chǔ)結(jié)構(gòu),是形成 數(shù)據(jù)庫(kù)的內(nèi)模式,如數(shù)據(jù)庫(kù)文件或目錄、索引等
2.概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)
(1)有豐富的語義表達(dá)能力。(2)易于交流和理解。
(3)易于更改
(4)易于向各種數(shù)據(jù)模型轉(zhuǎn)換 3.概念結(jié)構(gòu)設(shè)計(jì)的策略
(1)自低向上
(2)自頂向下(3)由里向外
(4)混合策略
4.采用E-R模型方法的概念結(jié)構(gòu)設(shè)計(jì) 1)設(shè)計(jì)局部E-R模型。2)設(shè)計(jì)全局E-R模型。3)優(yōu)化全局E-R模型。
將現(xiàn)實(shí)世界中的事物進(jìn)行數(shù)據(jù)抽象 三種常用抽象方法:
(1)分類(2)概括(3)聚集 1)設(shè)計(jì)局部E-R模型
利用抽象機(jī)制對(duì)需求分析階段收集的數(shù)據(jù)進(jìn)行分析,標(biāo)定局部應(yīng)用中的實(shí)體、屬性、碼,實(shí)體間的聯(lián)系,設(shè)計(jì)局部E-R圖(2)設(shè)計(jì)全局E-R模型
(1)一次集成(2)逐步累積式
關(guān)鍵:合理消除各局部E-R圖合并時(shí)產(chǎn)生的的沖突(1)屬性(2)命名(3)結(jié)構(gòu)(3)優(yōu)化全局E-R模型
(1)實(shí)體個(gè)數(shù)盡可能少;
(2)實(shí)體所包含的屬性盡可能少;(3)實(shí)體間聯(lián)系無冗余。1.E-R模型向關(guān)系模型的轉(zhuǎn)換(1)一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式
(2)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端所對(duì)應(yīng)的關(guān)系模式合并。
(3)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意n端所對(duì)應(yīng)的關(guān)系模式合并。
(4)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,(5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。2.數(shù)據(jù)模型的優(yōu)化
通常的兩種分解方法:水平分解和垂直分解。數(shù)據(jù)庫(kù)的物理設(shè)計(jì)的步驟:(1)確定數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)
1)確定存取方法
索引方法,聚簇(Cluster)方法,HASH方法 2)確定數(shù)據(jù)的存放位置
基本原則:根據(jù)應(yīng)用情況將易變部分與穩(wěn)定部分分開存放
存取頻率較高部分與存取頻率較低部分分開存放。(2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率 數(shù)據(jù)庫(kù)實(shí)施的工作內(nèi)容:
(1)用DDL定義數(shù)據(jù)庫(kù)結(jié)構(gòu)
(2)組織數(shù)據(jù)入庫(kù)
(3)編制與調(diào)試應(yīng)用程序
(4)數(shù)據(jù)庫(kù)試運(yùn)行
DBMS對(duì)數(shù)據(jù)庫(kù)的安全保護(hù):
(1)即安全性控制(2)完整性控制(3)并發(fā)性控制
(4)數(shù)據(jù)庫(kù)恢復(fù)。
數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù),以防止非法使用所造成數(shù)據(jù)的泄露、更改或破壞。安全性控制的一般方法
(1)對(duì)有意的非法活動(dòng)可采用加密存、取數(shù)據(jù)的方法控制;
(2)對(duì)有意的非法操作可使用用戶身份驗(yàn)證、限制操作權(quán)來控制;(3)對(duì)無意的損壞可采用提高系統(tǒng)的可靠性和數(shù)據(jù)備份等方法來控制。二.完整性規(guī)則的組成
具體地說,完整性規(guī)則主要由以下三部分構(gòu)成:
1. 觸發(fā)條件:規(guī)定系統(tǒng)什么時(shí)候使用規(guī)則檢查數(shù)據(jù);
2. 約束條件:規(guī)定系統(tǒng)檢查用戶發(fā)出的操作請(qǐng)求違背了什么樣的完整性約束條件;
3. 違約響應(yīng):規(guī)定系統(tǒng)如果發(fā)現(xiàn)用戶的操作請(qǐng)求違背了完整性約束條件,應(yīng)該采取一定的動(dòng)作來保證數(shù)據(jù)的完整性,即違約時(shí)要做的事情。
關(guān)系模型的完整性:實(shí)體完整性,參照完整性和用戶定義完整性。三.完整性約束條件的作用對(duì)象
完整性約束條件的作用對(duì)象可以是表、元組和列。
1.列級(jí)約束:即對(duì)數(shù)據(jù)類型、數(shù)據(jù)格式、取值范圍等進(jìn)行規(guī)定。2.元組約束 3.關(guān)系約束 1.事務(wù)的定義
事務(wù)是用戶定義的數(shù)據(jù)操作系列,這些操作作為一個(gè)完整的工作單元事務(wù)的特征 原子性(Atomic)一致性(Consistency)隔離性(Isolation)持久性(Durability)(1)丟失修改(2)污讀(3)不可重讀(4)產(chǎn)生“幽靈”數(shù)據(jù) 三.并發(fā)控制措施
并發(fā)控制的主要方式是封鎖機(jī)制,即加鎖(Locking)。排它鎖和共享鎖
在同時(shí)處于等待狀態(tài)的兩個(gè)或多個(gè)事務(wù)中,其中的每一個(gè)在它能夠進(jìn)行之前,都等待著某個(gè)數(shù)據(jù)、而這個(gè)數(shù)據(jù)已被它們中的某個(gè)事務(wù)所封鎖,這種狀態(tài)稱為死鎖。(1)一次封鎖法(2)順序封鎖法
數(shù)據(jù)庫(kù)備份指定期或不定期地對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行復(fù)制,可以將數(shù)據(jù)復(fù)制到本地機(jī)器上,也可以復(fù)制到其它機(jī)器上,備份的介質(zhì)可以是磁帶也可以是磁盤。
事務(wù)故障、系統(tǒng)故障和介質(zhì)故障。四.恢復(fù)技術(shù)
(1)利用備份技術(shù)(2)利用事務(wù)日志(3)利用鏡像技術(shù)
QL Server 2000常用工具簡(jiǎn)介 1.企業(yè)管理器
2.查詢分析器(Query Analyaer)3.服務(wù)管理器(Service Manager)4.分布式事務(wù)處理協(xié)調(diào)器(DTC)5.性能監(jiān)視器(Performance Monitor)
6.導(dǎo)入和導(dǎo)出數(shù)據(jù)(Imput and Export Data)7.事件探查器
SQL Server的數(shù)據(jù)庫(kù)由兩種文件組成:數(shù)據(jù)文件和日志文件。SQL Server的用戶有兩種類型:Windows授權(quán)用戶,SQL授權(quán)用戶
一、SQL Server的安全控制
Windows身份驗(yàn)證模式 混合驗(yàn)證模式 2.權(quán)限管理 授予權(quán)限 收回權(quán)限
拒絕訪問
SQL Server 2000四種備份方式 完全備份 差異備份 事務(wù)日志備份 文件和文件組備份
第四篇:【數(shù)據(jù)庫(kù)知識(shí)點(diǎn)總結(jié)】
數(shù)據(jù)庫(kù)概念總結(jié)
第一章 緒論
1、數(shù)據(jù):描述事物的符號(hào)記錄稱為數(shù)據(jù)??梢允菙?shù)字也可以是文字、圖形、圖像聲音、語言等。
2、數(shù)據(jù)庫(kù):是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。具有永久存儲(chǔ)、有組織和可共享三個(gè)基本特點(diǎn)。
3、數(shù)據(jù)庫(kù)管理系統(tǒng):位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。用于科學(xué)地組織和存儲(chǔ)數(shù)據(jù),高效地獲取和維護(hù)數(shù)據(jù)。
4、數(shù)據(jù)庫(kù)管理系統(tǒng)主要功能:數(shù)據(jù)定義功能、數(shù)據(jù)組織存儲(chǔ)和管理、數(shù)據(jù)操縱功能、數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理、數(shù)據(jù)庫(kù)的建立和維護(hù)功能、其他。
5、數(shù)據(jù)庫(kù)系統(tǒng):是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng),一般由數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)管理員構(gòu)成。
特點(diǎn):數(shù)據(jù)結(jié)構(gòu)化(與文件系統(tǒng)的本質(zhì)區(qū)別)、數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充、數(shù)據(jù)獨(dú)立性高(通過三級(jí)模式和二級(jí)映像功能來保證)、數(shù)據(jù)由DBMS統(tǒng)一管理和控制
6、DBMS須提供以下幾方面的數(shù)據(jù)控制功能:數(shù)據(jù)的安全性保護(hù)、數(shù)據(jù)的完整性檢查、并發(fā)控制、數(shù)據(jù)庫(kù)恢復(fù)。
7、數(shù)據(jù)管理技術(shù)的發(fā)展過程:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫(kù)系統(tǒng)階段
8、數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)為三級(jí)結(jié)構(gòu),它們是存儲(chǔ)層、概念層和外部層。
9、在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講,數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬。
兩類數(shù)據(jù)模型:概念模型、邏輯模型和物理模型。
10、數(shù)據(jù)模型的組成要素:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作、數(shù)據(jù)的完整性約束條件。
11、模式:是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。
外模式/模式映像:保證了數(shù)據(jù)的邏輯獨(dú)立性 模式/ 內(nèi)模式映像:保證了數(shù)據(jù)的物理獨(dú)立性。
12、什么是數(shù)據(jù)庫(kù)的邏輯獨(dú)立性?物理獨(dú)立性?為什么數(shù)據(jù)庫(kù)系統(tǒng)具有數(shù)據(jù)與程序的獨(dú)立性?
邏輯獨(dú)立性是指用戶的用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的,使得當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)變了,用戶程序可以不變。物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)是相互獨(dú)立的,使得當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)改變了,應(yīng)用程序也可以不變。數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別,將數(shù)據(jù)的具體組織留給DBMS 管理,使用戶能邏輯地組織數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)上的具體表示方式和存儲(chǔ)方式。為了能夠在內(nèi)部實(shí)現(xiàn)三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫(kù)系統(tǒng)在三級(jí)模式之間提供了兩級(jí)映像:外模式/模式映像、模式/ 內(nèi)模式映,保證了數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性。
13、數(shù)據(jù)庫(kù)系統(tǒng)的組成:硬件平臺(tái)及數(shù)據(jù)庫(kù),軟件,人員
人員:數(shù)據(jù)庫(kù)管理員,系統(tǒng)分析員和數(shù)據(jù)庫(kù)設(shè)計(jì)人員,應(yīng)用程序員,最終用戶
數(shù)據(jù)庫(kù)管理員:決定數(shù)據(jù)庫(kù)中的信息內(nèi)容和結(jié)構(gòu),決定數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)和存取策略,定義數(shù)據(jù)的安全性要求和完整性約束條件,監(jiān)控?cái)?shù)據(jù)庫(kù)的使用和運(yùn)行,數(shù)據(jù)庫(kù)的改進(jìn)和重組重構(gòu)
第二章 關(guān)系數(shù)據(jù)庫(kù)
1、關(guān)系模型主要是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。
2、選擇、投影、并、差、笛卡爾積是5 種基本操作。
3、專門的關(guān)系運(yùn)算包括選擇、投影、連接、除運(yùn)算等。
第三章 SQL
1、SQL 特點(diǎn):綜合統(tǒng)一、高度非過程化、面向集合的操作方式、以同一種語法結(jié)構(gòu)提供多種使用方式、語言簡(jiǎn)潔,易學(xué)易用。
2、聚集函數(shù):COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<列名>)SUM([DISTINCT|ALL]<列名>)AVG([DISTINCT|ALL]<列名>)MAX([DISTINCT|ALL]<列名>)MIN([DISTINCT|ALL]<列名>)
3、視圖的作用:
1、能夠簡(jiǎn)化用戶的操作
2、使用戶能以多種角度看待同一數(shù)據(jù)
3、對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性
4、能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù)
5、適當(dāng)?shù)睦靡晥D可以更清晰的表達(dá)查詢
4、WHERE 子句與HAVING 短語的區(qū)別在于作用對(duì)象不同。前者作用于基本表或視圖,從中選擇滿足條件的元組。后者作用于組,從中選擇滿足條件的組。
5、=ANY 等價(jià)于IN 謂詞, 第四章 數(shù)據(jù)庫(kù)安全性 1、數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用所造成的數(shù)據(jù)泄露,更改或破壞。 2、計(jì)算機(jī)系統(tǒng)的三類安全性問題:技術(shù)安全、管理安全、政策法律。 3、常用的安全技術(shù)有:1.用戶識(shí)別和鑒別2.存取控制機(jī)制3.自主存取控制4.強(qiáng)制存取控制(MAC)5.視圖機(jī)制。6.審計(jì)(Audit)功能7.數(shù)據(jù)加密 4、視圖的好處:簡(jiǎn)化用戶操作、使用戶能以多種角度看待同一數(shù)據(jù)、對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性、對(duì)機(jī)密數(shù)據(jù)提供安全保護(hù)、適當(dāng)利用可以更清晰的表達(dá)查詢。 5、實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)安全性的技術(shù)和方法 — 最重要的是存取控制技術(shù)、視圖技術(shù)和審計(jì)技術(shù) 第五章 數(shù)據(jù)庫(kù)完整性 1、數(shù)據(jù)庫(kù)完整性是指數(shù)據(jù)的正確性和相容性。 2、數(shù)據(jù)的完整為了防止數(shù)據(jù)庫(kù)中存在不符合語義的數(shù)據(jù),即防止數(shù)據(jù)庫(kù)中存在不正確的數(shù)據(jù)。安全性是保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的存取。因此數(shù)據(jù)完整性防范的是合法用戶的無意操作導(dǎo)致的數(shù)據(jù)錯(cuò)誤,數(shù)據(jù)安全性防范的是非法用戶的惡意操作導(dǎo)致的數(shù)據(jù)錯(cuò)誤。 3、實(shí)體完整性:若屬性(指一個(gè)或一組屬性)A 是基本關(guān)系R 的主屬性,則A 不能取空值。 4、參照完整性:若屬性(或?qū)傩越M)F 是基本關(guān)系R 的外碼,它與基本關(guān)系S 的主碼K 相對(duì)應(yīng)(基本關(guān)系R 和S 不一定是不同的關(guān)系),則對(duì)于R 中每個(gè)元組在F 上的值必須為: 或者取空值(F 的每個(gè)屬性值均為空值); 或者等于S 中某個(gè)元組的主碼值。 5、觸發(fā)器是用戶定義在關(guān)系表上的一類由事件驅(qū)動(dòng)的特殊過程。 6、在參照完整性中,為什么外碼的屬性值也可以為空?什么時(shí)候可以為空? 若F 是基本關(guān)系R 的外碼,它與基本關(guān)系S 的主碼K,相對(duì)應(yīng)(基本關(guān)系R 和S 不一定是不同的關(guān)系)則對(duì)于R 中每個(gè)元組在F 上的值可以取空值,或者等于S 中某個(gè)元組的主碼值。即,如果F 本身不是一個(gè)主屬性,則能取空值,否則不能取空值。 第六章 關(guān)系數(shù)據(jù)理論 1、數(shù)據(jù)依賴是一個(gè)關(guān)系內(nèi)部屬性與屬性之間的一種約束關(guān)系。 2、函數(shù)依賴:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y 是U 的子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r 中不可能存在兩個(gè)元組在X 上的屬性值相等,而在Y 上的屬性值不等,則稱X 函數(shù)確定Y 或Y 函數(shù)依賴于X,記作X →Y。 3、多值依賴:設(shè)R(U)是屬性集U 上的一個(gè)關(guān)系模式。X,Y,Z 是U 的子集,并且Z=U-X-Y。關(guān)系模式R(U)中多值依賴成立,當(dāng)且僅當(dāng)對(duì)R(U)的任一關(guān)系r,給定的一對(duì)(x,z)值,有一組Y 的值,這組值僅僅決定于x 值而與z 值無關(guān)。4、1NF:每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)。2NF:R ∈1NF,且每一個(gè)非主屬性完全依賴于碼 3NF:關(guān)系模式R中若不存在這樣的碼X,屬性組Y 及非主屬性 Z(ZY)使得XY,YZ 成立,YX,則稱R3NF。 BCNF:關(guān)系模式R ∈1NF。XY 且YX 時(shí)X 必含有碼,則稱RBCNF。4NF :關(guān)系模式 R ∈1NF,如果對(duì)于R 的每個(gè)非多值依賴X Y(YX),X 都含有碼,則稱R4NF。 5、規(guī)范化小結(jié):1NF—2NF 消除非主屬性對(duì)碼的部分函數(shù)依賴 ——3NF 消除非主屬性對(duì)碼的傳遞函數(shù)依賴—BCNF消除主屬性對(duì)碼的部分和傳遞函數(shù)依賴—4NF 消除非平凡且非函數(shù)依賴的多值依賴。 第七章 數(shù)據(jù)庫(kù)設(shè)計(jì) 1、數(shù)據(jù)庫(kù)設(shè)計(jì)定義:對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。 2、特點(diǎn):三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)。結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為(處理)設(shè)計(jì)相結(jié)合。 3、基本步驟:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)實(shí)施、數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)。 4、需求分析階段任務(wù):信息要求、處理要求、安全性與完整性要求。 5、需求分析階段:綜合各個(gè)用戶的應(yīng)用需求 概念設(shè)計(jì)階段:形成獨(dú)立于機(jī)器特點(diǎn),獨(dú)立于各個(gè)DBMS產(chǎn)品的概念模式(E-R圖)邏輯設(shè)計(jì)階段:將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫(kù)產(chǎn)品支持的數(shù)據(jù)模型,形成數(shù)據(jù)庫(kù)邏輯模式;再建立必要的視圖,形成數(shù)據(jù)的外模式 物理設(shè)計(jì)階段:進(jìn)行物理存儲(chǔ)安排,建立索引,形成數(shù)據(jù)庫(kù)內(nèi)模式 6、數(shù)據(jù)字典:系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理 5 部分。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫(kù)中數(shù)據(jù)的描述,即元數(shù)據(jù),而不是數(shù)據(jù)本身。 7、概念結(jié)構(gòu)設(shè)計(jì)方法:自頂向下、自底向上、逐步擴(kuò)張、混合策略。 8、確定數(shù)據(jù)庫(kù)物理結(jié)構(gòu):確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括:確定關(guān)系、索引、聚簇、日志、備份等的存儲(chǔ)安排和存儲(chǔ)結(jié)構(gòu)。確定系統(tǒng)配置。 第八章 數(shù)據(jù)庫(kù)編程 1、游標(biāo)是系統(tǒng)為用戶開設(shè)的一個(gè)數(shù)據(jù)緩沖區(qū),存放SQL 語句的執(zhí)行結(jié)果,每個(gè)游標(biāo)區(qū)都有一個(gè)名字。用戶可以通過游標(biāo)逐一獲取記錄,并賦給主變量,交由主語言進(jìn)一步處理。 2、嵌入式SQL語句與主語言之間的通信:向主語言傳遞SQL語句的執(zhí)行狀態(tài)信息,使主語言能夠據(jù)此控制程序流程,主要用SQL通信區(qū)(SQLCA)實(shí)現(xiàn)。主語言向SQL語句提供參數(shù),主要用主變量實(shí)現(xiàn)。將SQL語句查詢數(shù)據(jù)庫(kù)的結(jié)果交主語言處理,主要用主變量和游標(biāo)實(shí)現(xiàn)。 3、存儲(chǔ)過程是由PL/SQL 語句書寫的過程,這個(gè)經(jīng)編譯和優(yōu)化后存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器中,因此稱它為存儲(chǔ)過程,使用時(shí)只要調(diào)用即可。優(yōu)點(diǎn):運(yùn)行效率高、降低了客戶機(jī)和服務(wù)器之間的通信量、有利于集中控制,方便維護(hù)。 4、ODBC的工作流程:配置數(shù)據(jù)源,初始化環(huán)境,建立連接,分配語句句柄,執(zhí)行SQL語句,結(jié)果集處理,中止 第九章 關(guān)系查詢處理和查詢優(yōu)化 1、查詢處理步驟:查詢分析 對(duì)查詢語句進(jìn)行掃描、詞法分析和語法分析。 查詢檢查 根據(jù)數(shù)據(jù)字典對(duì)合法的查詢語句進(jìn)行語義檢查根據(jù)數(shù)據(jù)字典中的用戶權(quán)限和完整性約束定義對(duì)用戶的存取權(quán)限進(jìn)行檢查 查詢優(yōu)化 選擇一個(gè)高效執(zhí)行的查詢處理策略 查詢執(zhí)行 依據(jù)優(yōu)化器得到的執(zhí)行策略生成查詢計(jì)劃,由代碼生成器生成執(zhí)行這個(gè)查詢計(jì) 劃的代碼。 2、連接操作的實(shí)現(xiàn) 嵌套循環(huán)方法 排序-合并方法 索引連接方法 Hash Join方法 3、查詢優(yōu)化的總目標(biāo) 是選擇有效的策略,求得給定關(guān)系表達(dá)式的值,使得查詢代價(jià)最小(實(shí)際上是較小)。 第十章 數(shù)據(jù)庫(kù)恢復(fù)技術(shù) 1、事務(wù)是用戶定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做要么全不做,是一個(gè)不可分割的工作單位。特性:原子性、一致性、隔離性、持續(xù)性。 2、故障種類:事務(wù)內(nèi)部故障、系統(tǒng)故障、介質(zhì)故障、計(jì)算機(jī)病毒 3、數(shù)據(jù)轉(zhuǎn)儲(chǔ)是數(shù)據(jù)庫(kù)恢復(fù)中采用的基本技術(shù)即DBA 定期地將整個(gè)數(shù)據(jù)庫(kù)復(fù)制到磁帶或另一個(gè)磁盤上保存起來的過程。 4、日志文件是用來記錄事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新操作的文件。主要有兩種格式:以記錄為單位的日志文件和以數(shù)據(jù)塊為單位的日志文件。 5、數(shù)據(jù)庫(kù)鏡像即根據(jù)DBA 的要求,自動(dòng)把整個(gè)數(shù)據(jù)庫(kù)或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)磁盤上。 第十一章 并發(fā)控制 1、并發(fā)控制機(jī)制的任務(wù):對(duì)并發(fā)操作進(jìn)行正確調(diào)度,保證事務(wù)的隔離性,保證數(shù)據(jù)庫(kù)的一致性 2、并發(fā)操作帶來的數(shù)據(jù)不一致性主要包括丟失修改、不可重復(fù)讀和讀“臟”數(shù)據(jù)等。 3、封鎖就是事務(wù)T 在對(duì)某個(gè)數(shù)據(jù)對(duì)象操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖?;镜姆怄i類型在兩種:排它鎖(X 鎖,寫鎖)和共享鎖(S 鎖,讀鎖)。 4、預(yù)防死鎖的方法:一次封鎖法,順序封鎖法 死鎖的診斷與解除 超時(shí)法 等待圖法 5、可串行化調(diào)度:多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行地執(zhí)行這些事務(wù)時(shí)的結(jié)果相同,稱這種調(diào)度策略為可串行化的調(diào)度。 6、兩段鎖協(xié)議是指事務(wù)必須分兩個(gè)階段對(duì)數(shù)據(jù)項(xiàng)加鎖和解鎖。在對(duì)任何數(shù)據(jù)進(jìn)行讀、寫操作之前,首先要申請(qǐng)?jiān)摂?shù)據(jù)的封鎖;在釋放一個(gè)封鎖之后,事務(wù)不再申請(qǐng)和獲得任何其他封鎖.7、封鎖對(duì)象的大小稱為封鎖粒度。 8、選擇封鎖粒度的原則:需要處理多個(gè)關(guān)系的大量元組的用戶事務(wù):以數(shù)據(jù)庫(kù)為封鎖單位; 需要處理大量元組的用戶事務(wù):以關(guān)系為封鎖單元; 只處理少量元組的用戶事務(wù):以元組為封鎖單位 篇一:數(shù)據(jù)庫(kù)課程設(shè)計(jì)個(gè)人總結(jié) 數(shù)據(jù)庫(kù)課程設(shè)計(jì)個(gè)人總結(jié) 姓名:邢王秀 學(xué)號(hào):200924101215 班級(jí):09計(jì)本<2>班 一個(gè)月的時(shí)間非??炀瓦^去了,這一個(gè)月我不敢說自己有多大的進(jìn)步,獲得了多少知識(shí),但起碼是了解了項(xiàng)目開發(fā)的部分過程。雖說上過數(shù)據(jù)庫(kù)相關(guān)的課程,但是沒有親身經(jīng)歷過相關(guān)的設(shè)計(jì)工作細(xì)節(jié)。這次課程設(shè)計(jì)給我提供了一個(gè)很好的機(jī)會(huì)。 通過這次課程設(shè)計(jì)發(fā)現(xiàn)這其中需要的很多知識(shí)我們沒有接觸過,上網(wǎng)查找資料的時(shí)候發(fā)現(xiàn)我們以前所學(xué)到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時(shí)也發(fā)現(xiàn)有很多已經(jīng)學(xué)過的東西我們沒有理解到位,不能靈活運(yùn)用于實(shí)際,不能很好的用來解決問題,這就需要自己不斷的大量的實(shí)踐,通過不斷的自學(xué),不斷地發(fā)現(xiàn)問題,思考問題,進(jìn)而解決問題。在這個(gè)過程中我們將深刻理解所學(xué)知識(shí),同時(shí)也可以學(xué)到不少很實(shí)用的東西。 這次的數(shù)據(jù)庫(kù)課程設(shè)計(jì),我們組負(fù)責(zé)的企業(yè)信息文檔管理系統(tǒng)的設(shè)計(jì)。這課題是自擬的。我們組實(shí)行的分工合作。我主要是負(fù)責(zé)數(shù)據(jù)庫(kù)功能模塊設(shè)計(jì)這部分。 從各種文檔的閱讀到需求分析、概要設(shè)計(jì)、數(shù)據(jù)庫(kù)總體設(shè)計(jì)、代碼編寫與調(diào)試,我們都準(zhǔn)備了好長(zhǎng)時(shí)間。組內(nèi)分工合作的整個(gè)過程,我親身體驗(yàn)了一回系統(tǒng)的設(shè)計(jì)開發(fā)過程,分工合作的好處。很多東西書上寫的很清楚,貌似看著也很簡(jiǎn)單,思路非常清晰。但真正需要自己想辦法去設(shè)計(jì)一個(gè)系統(tǒng)的時(shí)候才發(fā)現(xiàn)其中的難度。經(jīng)常做到后面突然就發(fā)現(xiàn)自己一開始的設(shè)計(jì)有問題,然后又回去翻工,在各種反復(fù)中不斷完善自己的想法。 我想有這樣的問題不止我一個(gè),事后想想是一開始著手做的時(shí)候下手過于輕快,或者說是根本不了解自己要做的這個(gè)系統(tǒng)是給誰用的。因?yàn)闆]有事先做過仔細(xì)的用戶調(diào)查,不知道整個(gè)業(yè)務(wù)的流程,也不知道用戶需要什么功能就忙著開發(fā),這是作為設(shè)計(jì)開發(fā)人員需要特別警惕避免的,不然會(huì)給后來的工作帶來很大的麻煩,甚至可能會(huì)需要全盤推倒重來。所以以后的課程設(shè)計(jì)要特別注意這一塊的設(shè)計(jì)。 經(jīng)過組內(nèi)討論,我們確定的課題是企業(yè)信息文檔管理系統(tǒng)。說實(shí)話,我對(duì)這個(gè)系統(tǒng)不是很了解。通過上網(wǎng)查找資料、相關(guān)文獻(xiàn)的閱讀,我對(duì)該系統(tǒng)有了大體的了解。 在需求分析過程中,我們通過上網(wǎng)查資料,去圖書館查閱相關(guān)資料,結(jié)合我們的生活經(jīng)驗(yàn),根據(jù)可行性研究的結(jié)果和用戶的需要,分析現(xiàn)有情況及問題。在一個(gè)月的時(shí)間里,不斷地對(duì)程序及各模塊進(jìn)行修改、編譯、調(diào)試、運(yùn)行,其間遇到很多問題,經(jīng)過組內(nèi)討論。最終把它解決了。通過這次課程設(shè)計(jì),我對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)更加熟練了。 通過本次課程設(shè)計(jì),對(duì)sql語言,數(shù)據(jù)庫(kù)的創(chuàng)建、修改、刪除方法有了一定的了解,通過導(dǎo)入表和刪除表、更改表,學(xué)會(huì)了數(shù)據(jù)庫(kù)的基本操作。很多事情不是想象中的那么簡(jiǎn)單的,它涉及到的各種實(shí)體、屬性、數(shù)據(jù)流程、數(shù)據(jù)處理等等。很多時(shí)候感覺后面的設(shè)計(jì)根本無法繼續(xù),感覺像是被前面做的各種圖限制了。在做關(guān)系模型轉(zhuǎn)換的時(shí)候碰到有些實(shí)體即可以認(rèn)為是實(shí)體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。 通過本次課程設(shè)計(jì),我覺得不管做什么,始終都要相信自己。不要畏懼,不要怕遇到困難,什么都要去嘗試,有些你開始認(rèn)為很難的事在你嘗試之后你可能會(huì)發(fā)現(xiàn)原來它并沒有你你想象的那么難。如果沒有自信,沒有目標(biāo),沒有信心就很難把事情做好,當(dāng)其他人都在迷茫的時(shí)候,自己一定要堅(jiān)信目標(biāo)。從學(xué)習(xí)這個(gè)專業(yè),到以后從事這方面的工作都需要不斷地去學(xué)習(xí)去實(shí)踐,這次實(shí)踐可以給我們敲一個(gè)警鐘,我們面臨畢業(yè),面臨擇業(yè),需要這些實(shí)踐經(jīng)驗(yàn),在困難面前要勇于嘗試,這是這次課程設(shè)計(jì)給我的最大感想! 通過這次畢業(yè)設(shè)計(jì)的完成,使我對(duì)自己所學(xué)知識(shí)進(jìn)一步的了解,同時(shí)通過實(shí)踐發(fā)現(xiàn)自己的不足,對(duì)知識(shí)的掌握及運(yùn)用存在諸多的不完善。本系統(tǒng)也存在著很多不足,如系統(tǒng)十分簡(jiǎn)單,實(shí)現(xiàn)功能也不夠完善,安全性問題也沒有很好的解決。所以在今后的學(xué)習(xí)中我會(huì)繼續(xù)努力,完善自我,同學(xué)的幫助、指導(dǎo)老師的用心輔導(dǎo)和學(xué)校的精心安排使這個(gè)課題能夠順利進(jìn)行。但是,由于時(shí)間倉(cāng)促以及本人水平有限,本系統(tǒng)還有很多不完善之處,也難免存在錯(cuò)漏,懇請(qǐng)老師諒解。篇二:數(shù)據(jù)庫(kù)課程設(shè)計(jì)總結(jié)報(bào)告 漳州師范學(xué)院 數(shù)據(jù)庫(kù)課程設(shè)計(jì) 個(gè)人日程管理系統(tǒng) 姓 名: 某某 學(xué) 號(hào): 系 別: 計(jì)算機(jī)科學(xué)與工程 專 業(yè): 計(jì)算機(jī)科學(xué)技術(shù)專業(yè) 年 級(jí): 08級(jí) 指導(dǎo)教師: 陳志翔、王桃發(fā) 2011年 05 月 23 4 篇三:數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告 《數(shù)據(jù)庫(kù)類課程設(shè)計(jì)》 系統(tǒng)開發(fā)報(bào)告 學(xué) 號(hào):111007133 姓 名:邢小迪 題 目: 企業(yè)員工薪資管理 指導(dǎo)教師: 王紅梅 提交時(shí)間: 2013年6月01日 計(jì)算機(jī)科學(xué)與應(yīng)用系 目 錄 一 緒論 二 員工薪資管理系統(tǒng)概述·······························1 ? 現(xiàn)狀分析········································1 ? 系統(tǒng)目標(biāo)········································2 ? 系統(tǒng)特點(diǎn)········································3 三 員工薪資管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)·························3 ? 需求分析 ·······································3 ? 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)分析 ····························4 ? 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì) ····························6 ? 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)····························9 四 員工薪資管理系統(tǒng)數(shù)據(jù)庫(kù)功能模塊的創(chuàng)建···········12 五 總結(jié)·············································21 ? 體會(huì)·········································21 ? 參考文獻(xiàn)·····································22 一 緒論 隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和經(jīng)濟(jì)體制改革的不斷深入,傳統(tǒng)企業(yè)管理方法、手段以及工作效率已不能適應(yīng)新的發(fā)展需要,無法很好地完成員工工資管理工作。提高公司企業(yè)管理水平的主要途徑是更新管理者的思想,增強(qiáng)對(duì)管理活動(dòng)的科學(xué)認(rèn)識(shí)?;?sql server數(shù)據(jù)庫(kù)技術(shù)建立一個(gè)通用工資管理系統(tǒng),該系統(tǒng)為提供了查詢、增加記錄、刪除等功能,功能比較的齊全,并對(duì)工資進(jìn)行了統(tǒng)計(jì)如津貼管理、報(bào)表統(tǒng)計(jì)等?;旧夏軡M足管理員和公司的要求。此次數(shù)據(jù)庫(kù)課程設(shè)計(jì)的主要設(shè)計(jì)如下: 原理分析、程序設(shè)計(jì)過程、程序?qū)崿F(xiàn)和程序調(diào)試以及數(shù)據(jù)庫(kù)的設(shè)計(jì)。 需求分析、概要結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)的實(shí)施和維護(hù)。 二 員工薪資管理系統(tǒng)概述 1、現(xiàn)狀分析 隨著企業(yè)人員數(shù)量增加,企業(yè)的工資管理工作也變得越來越復(fù)雜。早期的工資統(tǒng)計(jì)和發(fā)放都是使用人工方式處理紙質(zhì)材料,不僅花費(fèi)財(cái)務(wù)人員大量的時(shí)間且不易保存,往往由于個(gè)人的因素抄寫不慎或計(jì)算疏忽,出現(xiàn)工資發(fā)放錯(cuò)誤的現(xiàn)象。早期工資管理多采取紙質(zhì)材料和具有較強(qiáng)的時(shí)間限制。隨著我國(guó)國(guó)民經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展和具有中國(guó)特色的社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制的迅速完善,各個(gè)行業(yè)都在積極使用現(xiàn)代化的手段,不斷改善服務(wù)質(zhì)量,提高工作效率,這些都在很大程度上給企業(yè)提出越來越嚴(yán)峻的挑戰(zhàn),對(duì)企業(yè)體系無論是在行政職能、企業(yè)管理水平以及優(yōu)質(zhì)服務(wù)上都提出更高的要求。建設(shè)一個(gè)科學(xué)高效的信息管理系統(tǒng)是解決這一問題的必由之路。企業(yè)內(nèi)部財(cái)務(wù)管理是該企業(yè)運(yùn)用現(xiàn)代化技術(shù)創(chuàng)造更多更高的經(jīng)濟(jì)效益的主要因素之一。工資管理作為企業(yè)內(nèi)部的一種財(cái)務(wù)管理也是如此,由于企業(yè)職工人數(shù)較多,每一位職工的具體實(shí)際情況也不盡相同,各項(xiàng)工資條款的發(fā)放,如果沒有一個(gè)完整的管理系統(tǒng)對(duì)企業(yè)和員工的工作都帶來許多的不便?;谝陨显颍髽I(yè)工資管理系統(tǒng)使用電腦安全保存、快速計(jì)算、全面統(tǒng)計(jì),實(shí)現(xiàn)工資管理的系統(tǒng)化、規(guī)范化、自動(dòng)化。 2、系統(tǒng)目標(biāo) 員工薪資管理系統(tǒng)的主要目的是利用計(jì)算機(jī)對(duì)員工的各種工資信息進(jìn)行日常的管理,如查詢、修改、添加、刪除以及存儲(chǔ)等,迅速準(zhǔn)確地完成各種工資信息的統(tǒng)計(jì)計(jì)算和匯總工作,針對(duì)系統(tǒng)服務(wù)對(duì)象的具體要求,設(shè)計(jì)了企業(yè)工資管理系統(tǒng)。企業(yè)工資管理系統(tǒng)主要有以下幾大功能: (1)對(duì)單位人員的變動(dòng)進(jìn)行處理。一個(gè)單位的職工不會(huì)是一成不變的,總是在不斷的變化:有調(diào)出、有調(diào)入、也有職工在本單位內(nèi)部調(diào)動(dòng)。因此,設(shè)計(jì)系統(tǒng)是應(yīng)考慮到這些情況。(2)對(duì)職工的工資進(jìn)行計(jì)算、修改??梢詫?duì)職工的工資檔案進(jìn)行個(gè)別、部分和批量修改,同時(shí),能對(duì)各職工的工資進(jìn)行計(jì)算,即計(jì)算基本工資、崗位工資及實(shí)發(fā)金額等。(3)查詢統(tǒng)計(jì)功能。要求即可以單項(xiàng)查詢,比如查看某個(gè)職工的工資情況等;也可以多項(xiàng)查詢,比如某個(gè)部門所有的員工的工資信息。 (4)對(duì)用戶管理功能。一個(gè)系統(tǒng)的應(yīng)用有管理員和普通用戶,他們對(duì)系統(tǒng)的權(quán)限受到限制。 3、系統(tǒng)特點(diǎn) (1)本系統(tǒng)使工資管理基本實(shí)現(xiàn)了信息化,系統(tǒng)設(shè)計(jì)的各種查詢要求代替了原來了人工查詢,即節(jié)省了人力,又減輕了員工的工作量,最重要的是由計(jì)算機(jī)操作,可以提高數(shù)據(jù)的準(zhǔn)確性,避免人為的錯(cuò)誤,方便管理。 (2)本系統(tǒng)設(shè)置了系統(tǒng)數(shù)據(jù)備份功能,定期的系統(tǒng)備份可以在數(shù)據(jù)庫(kù)受到意外的或有意的破壞的情況下,系統(tǒng)得以恢復(fù),減少損失。(3)本系統(tǒng)的界面設(shè)計(jì)簡(jiǎn)潔明了,采用了流行的菜單設(shè)計(jì),對(duì)于不是計(jì)算機(jī)專業(yè)的管理人員,只需閱讀操作說明書,就能方便的使用本系統(tǒng)。 三 員工薪資管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 1、需求分析 本系統(tǒng)定位于中小型單位,暫時(shí)考慮單機(jī)環(huán)境下的實(shí)現(xiàn);第五篇:數(shù)據(jù)庫(kù)課程設(shè)計(jì)總結(jié)