shell練習題和資料庫基礎

2021-08-09 18:47:23 字數 2752 閱讀 8953

1、請用shell查詢file1 裡面空行的所在行號

grep -n '^$'   wh.txt

2、編寫shellscript查詢file1 以abc 結尾的行

grep  'abc$'  wh.txt

3、列印出file1 檔案第1 到第3 行

sed -n '1,3p' wh.txt

一、資料庫基礎

1. 資料抽象

:物理抽象、概念抽象、檢視級抽象,

內模式、模式、外模式

2. sql語言

包括資料定義、資料操縱(data manipulation),

資料控制

(data control)

資料定義:create table,alter table,drop table, craete/drop index

等資料操縱:select ,insert,update,delete,

資料控制:grant,revoke

3. sql常用命令:

create table student(

id number primary key,

name varchar2(50) not null);//建表

create view view_name as

select * from table_name;//建檢視

create unique index index_name on tablename(col_name);//建

索引insert into tablename  values(exp1,exp2,…);//插入

insert into viewname  values(exp1,exp2,…);//插入檢視實際影響表

update tablename set name=』zang 3』 condition;//更新資料

delete from tablename where condition;//刪除

grant (select,delete,…) on (物件

) to user_name [with grant option];//

授權revoke (許可權表

) on(

物件) from user_name [with revoke option] //

撤權列出工作人員及其領導的名字:

select e.name, s.name from employee e s 

where e.supername=s.name

4. 檢視

:5. 完整性約束

:實體完整性、參照完整性、使用者定義完整性

6. 第三正規化

:1nf:每個屬性是不可分的。 

2nf:

若關係r

是1nf,

且每個非主屬性都完全函式依賴於

r的鍵。例

slc(sid#, courceid#, sname,grade),

則不是2nf; 3nf:若r

是2nf

,且它的任何非鍵屬性都不傳遞依賴於任何候選鍵。

7. er(實體/聯絡

)模型8. 索引

作用9. 事務

:是一系列的

資料庫操作,是資料庫應用的基本邏輯單位。事務性質:原子性、

l原子性。即不可分割性,事務要麼全部被執行,要麼就全部不被執行。

l一致性或可串性。事務的執行使得

資料庫從一種正確狀態轉換成另一種正確狀態

l隔離性。在事務正確提交之前,不允許把該事務對資料的任何改變提供給任何其他事務,

l永續性。事務正確提交後,其結果將永久儲存在

資料庫中,即使在事務提交後有了其他故障,事務的處理結果也會得到儲存。

1、從a賬號中把餘額讀出來(500)。 

2、對a賬號做減法操作(500-100)。 

3、把結果寫回a賬號中(400)。 

4、從b賬號中把餘額讀出來(500)。 

5、對b賬號做加法操作(500+100)。 

6、把結果寫回b賬號中(600)。

10. 鎖:

共享鎖、互斥鎖 

兩段鎖協議:階段1:加鎖階段 階段2:解鎖階段

11. 死鎖及處理

:事務迴圈等待資料鎖,則會死鎖。 

死鎖處理:預防死鎖協議,死鎖恢復機制

12. 儲存過程

:儲存過程就是編譯好了的一些sql語句。

1.儲存過程因為

sql語句已經預編繹過了,因此執行的速度比較快。

2. 可保證資料的安全性和完整性。通過儲存過程可以使沒有許可權的使用者在控制之下間接地訪問

資料庫,從而保證資料的安全。通過儲存過程可以使相關的動作在一起發生,從而可以維護資料庫的完整性。

3.可以降低網路的通訊量。儲存過程主要是在

伺服器上執行,減少對客戶機的壓力。

4:儲存過程可以接受引數、輸出引數、返回單個或多個結果集以及返回值。可以向程式返回錯誤原因

5:儲存過程可以包含程式流、邏輯以及對

資料庫的查詢。同時可以實體封裝和隱藏了資料邏輯。

13. 觸發器

: 當滿足觸發器條件,則系統自動執行觸發器的觸發體。

觸發事件:有

insert,update,delete

三種。觸發型別:有行觸發、語句觸發

14.內聯接

,外聯接區別?

內連線是保證兩個表中所有的行都要滿足連線條件,而外連線則不然。

在外連線中,某些不滿

足條件的列也會顯示出來,也就是說,只限制其中乙個表的行,而不限制另乙個表的行。分左連線、右連線、全連線三種

資料庫練習題

一 設有一資料庫,包括四個表 學生表 student 課程表 course 成績表 score 以及教師資訊表 teacher 四個表的結構分別如表1 1的表 一 表 四 所示,資料如表1 2的表 一 表 四 所示。用sql語句建立四個表並完成相關題目。表1 1資料庫的表結構 表 一 student...

資料庫練習題

1 檢視原始資料庫information schema中的表,並顯示出views表的字段結構屬性資訊 show databases use information schema desc views 2 建立乙個offcn資料庫,並建立乙個students表,欄位為id,name,age,phone...

shell指令碼基礎練習題

1.設計乙個 shell 程式,新增乙個新組為 class1,然後新增屬於這個組的 30 個使用者,使用者名稱的形式為stuxx,其中 xx 從 01 到 30。在 tmp目錄下新建乙個shell指令碼std.sh root localhost tmp vim std.sh bin bash 新增乙...