資料庫學習總結

2021-10-27 17:22:34 字數 3985 閱讀 8011

目錄 1

第一章資料庫系統概論 2

1.1.1 er模型的有關概念 2

第二章關聯式資料庫 3

2.1 關係完整性 3

第三章結構化查詢語言—sql 4

3.1 資料庫模式的建立和刪除 4

3.2 表結構的建立,修改和刪除 4

3.3修改基本表 6

3.4 刪除基本表 7

3.5 設計、建立和維護索引 7

3.5.1索引的作用 7

(沒有理解透,需琢磨,索引的作用,索引的應用) 7

3.5.2建立索引 8

3.5.3 刪除索引 8

3.6 表內容的插入,修改和刪除 8

3.6.1 插入記錄 8

3.6.2 修改,刪除記錄 9

3.7 檢視的建立修改和刪除 9

3.8 sql查詢 11

3.8.1 sql查詢一般格式 11

3.8.2 選擇運算(比較範圍集合空值字元匹配邏輯排序查詢) 12

3.8.3 分組查詢 12

3.8.4資料表連線及連線查詢 13

3.8.5 自表連線 13

3.8.6 使用exists 14

第四章 ttransact—sql資料庫程式設計 14

4.1 t—sql基礎 14

4.1.1 t—sql運算子 14

4.1.2 t—sql常量與變數 15

4.2 函式 16

4.3 流控制語句(while迴圈 break continue case waitfor ) 18

4.4 游標 20

4.5儲存過程 22

4.6觸發器 24

4.7 sql動態語句 28

實體:是現實世界存在的,可以相互區別的事物或活動

實體集:是指同一類實體的集合

實體型:是對同類實體的共有特性的抽象定義

實體值:就是符合實體型定義的,對乙個實體的具體描述

聯絡:是指實體之間的相互關係,她通常表示一種活動

聯絡集:同一類聯絡的集合

聯絡型:是對同類聯絡的共有特徵的抽象定義

碼:是實體間相互區別的一種唯一標示

在實體中能作為碼的屬性成為主屬性,否則稱為非主屬性

關係模型的完整性規則是對關係的某種約束條件。

關係完整性就是關係模型中資料的正確性,一致性和有效性。

實體完整性和參照完整性是關係模型必須滿足的完整性約束條件,被稱作是關係的兩個不變性,應該由關係系統自動支援。

關係模型中三類完整性約束:

1.實體完整性

2.參照完整性

3.使用者定義的完整性

實體完整性規則:關係的主碼不能為空值,或者說任何關係中每個元祖的主碼不能為空。

注意:乙個關係的任何候選碼都可以作為主碼被使用,所以實體完整性規則就等價於定義不允許關係中的任何主屬性的值為空。

引申:候選碼是關係中能唯一標識每個元祖的最少屬性或屬性組

在乙個關係中,包含在任何候選碼中的屬性都稱為該關係的主屬性,出了主屬性歪都是非主屬性,或稱為非碼屬性

參照完整性規則:在兩個參照和被參照關係中,參照關係中每個元祖的外碼或者為空,或者等於被參照關係中某個元祖的主碼

引申:外碼參照關係設f是基本關係r的乙個或一組屬性,但不是關係r的碼。如果f與基本關係s的主碼ks相對應,則稱f是基本關係r的外碼基本關係r稱為參照關係(referencingrelation)基本關係s稱為被參照關係(referencedrelation)或目標關係(target relation

注意:關係r和s不一定是不同的關係

目標關係s的主碼ks 和參照關係的外碼f必須定義在同乙個(或一組)域上

外碼並不一定要與相應的主碼同名當外碼與相應的主碼屬於不同關係時,往往取相同的名字,以便於識別 (有待理解)

使用者定義的完整性規則:包括對每個關係中每個屬性的取值限制(或稱為約束)的具體定義,她同其他兩個完整性規則一樣也被記錄在dbms的資料字典中,在資料庫操作時候,dbms會自動根據各種完整性規則進行操作監控,拒絕不符合要求的資料進入資料庫。

create < 資料庫名》 [authorization 《所有者名》]

create database --> 建立乙個資料庫

create schema --> 建立乙個構架

當你在 sql server 裡面, 使用 create database 建立乙個資料庫以後。

你可以不必額外的去建立 schema

因為 sql server 會自動的建立乙個名字叫 dbo(date base owner) 的schema

刪除資料庫模式

drop < 資料庫名》

1.create table 《表名》(《列定義》)

《表名》是合法識別符號,最多可有128個字元,如s,sc,c,不允許重名。

《列定義》:《列名》《資料型別》[default]

default:若是某欄位設定有預設值,當該字段未被輸入資料時,則以該預設值自動填入該欄位。

例3.4 建立一學生表

use student

create table s

(sno char(8) ,

sn varchar(20),

age int,

*** char(2) default '男' ,

dept varchar(20));

其中,***列的預設值為「男」。

2. 定義完整性約束

在sql server中可以定義五種型別的完整性約束,下面分別加以介紹:

(1)null/not null

是否允許該字段的值為null。

null值不是0也不是空白,更不是填入字串「null」,而是表示「不知道」、「不確定」或「沒有資料」的意思。

只能用於定義列約束,

其語法格式如下:

[constraint 《約束名》 ][null|not null]

約束不指定名稱時,系統會給定乙個名稱。

(2)unique

單值約束,又稱唯一值約束,該列所有取值必須不同

唯一鍵允許為空,但系統為保證其唯一性,最多隻可以出現乙個null值。

unique既可用於列約束,也可用於表約束。

unique用於定義列約束時,其語法格式如下:

[constraint 《約束名》] unique

unique用於定義表約束時,其語法格式如下:

[constraint 《約束名》] unique(《列名》)

例:constraint s_uniq unique(sn,***));

(3)primary key約束

主碼約束,著名該列為關係的主碼,乙個關係只能著名乙個主碼,當然可以無主碼,乙個關係唄著名主碼後。其所有徐元祖將按主碼值的公升序排列

primary key既可用於列約束,也可用於表約束。

primary key用於定義列約束時,其語法格式如下:

constraint 《約束名》 primary key

primary key用於定義表約束時,即將某些列的組合定義為主鍵,其語法格式如下:

[constraint 《約束名》]s primary key (《列名》)

例:constraint sc_prim primary key(sno,cno));

(4)foreign key約束

foreign key約束指定某乙個列或一組列作為外部鍵,其中,包含外部鍵的表稱為從表,包含外部鍵所引用的主鍵或唯一鍵的表稱主表。

系統保證從表在外部鍵上的取值要麼是主表中某乙個主鍵值或唯一鍵值,要麼取空值。以此保證兩個表之間的連線,確保了實體的參照完整性。

foreign key既可用於列約束,也可用於表約束,

其語法格式為:

[constraint 《約束名》] foreign keyreferences 《主表名》 (《列名》)

ORACLE資料庫學習總結

資料庫學習總結 marlon 目錄一 oracle 簡介 1 二 oracle 簡單查詢 2 三 oracle標量函式和算數運算 5 四 oracle 多表查詢 9 五 oracle 列函式和分組 10 六 oracle 子查詢 12 七 oracle 表的更新操作 13 八 oracle 表與檢視...

Oracle資料庫Spfile學習總結

建立spfile 預設的,oracle使用pfile啟動資料庫,spfile必須由pfile建立,新建立的spfile在下一次啟動資料庫時生效,create spfile需要sysdba或者sysoper的許可權 create spfile spfilename from pfile pfilena...

資料庫種類與資料庫結構

2 網狀結構模型 某醫院醫生 病房和病人之間的聯絡。即每個醫生負責 三個病人,每個病房可住一到四個病人。如果將醫生看成是乙個資料集合,病人和病房分別是另外兩個資料集合,那麼醫生 病人和病房的比例關係就是m n p 即m個醫生,n個病人,p間病房 這種資料結構就是網狀資料結構,它的一般結構模型,記錄r...