讀書筆記 資料庫之關聯式資料庫語言(SQL3)

2021-09-30 06:34:24 字數 2095 閱讀 8282

結構化查詢語言sql(structured query language)是基於關係代數與關係演算的語言,是通用的、功能極強的,高度非過程化的關聯式資料庫語言。其資料定義、查詢、操縱、控制的核心功能只用了九個動詞:

sql功能

核心動詞

資料查詢

select

資料定義

create alter drop

資料操控

insert update delete

資料控制

grant revoke

1.sql模式(schema)

乙個sql模式是所屬基本表、檢視等的集合。sql模式由模式名和模式擁有者的使用者名稱或賬號來確定,幷包含模式中的每乙個元素(表、檢視、索引等)的定義。定義了乙個sql模式就是定義了乙個儲存空間。

2.sql模式的定義

create schema 《模式名》 authorization 《使用者名稱》[3.sql模式的刪除drop schema 《模式名》
create table [模式名.]《表名》《列名》《資料型別》[列級完整性約束]

[,《列名》《資料型別》[列級完整性約束]……]

[,《表級完整性約束》]

附:

列級完整性約束

not null

default 《預設值》

check ( 《約束條件》)

例如:

primary key

表級完整性約束

primary key (《列表》)

foreign key (《列表》) references [《表名》] [《約束選型》]

例如:

drop table 《表名》 [cascade|restrict]
alter table 《表名》 add (《列名》《資料型別》,……)
alter table 《表名》 drop 《列名》 [cascade|restrict]
alter table 《表名》 modify 《列名》《資料型別》
alter table 《表名》  add primary key(《列名表》)
alter table 《表名》 drop primary key
域定義(domain definition)是乙個特定的資料型別,用於建立使用者自定義的屬性列的資料型別,它由資料型別、預設值和域約束一起構成。

create domain 《網域名稱》 [as] 《資料型別》 [default 《預設值》] [《域約束》]
例如:

create domain item_id numeric(4) default 0 check(value is not null)

在基本表上建立乙個或多個索引,可以提供多種訪問路徑,加快查詢速度。

create [unique] [cluster] index 《索引名》

on 《表名》(《列名》[asc|desc],……

)

drop index  [on 《表名》] 《索引名》

資料庫筆記(關聯式資料庫相關)

關聯式資料庫由被稱為關係 relation 的 組成。關係中的每乙個列被稱為屬性 attribution 每一行被稱為一條記錄 record 每乙個儲存了實際資料的關係被稱為關係例項 relation instance 在關係的屬性中,每一條記錄的某個屬性被約束在某個特定的資料型別上,這個型別被稱為...

資料庫學習筆記 關聯式資料庫

關係模型由關係資料結構,關係操作集合,關係完整性約束三部分組成 基數 m 候選碼 某一屬性值能唯一確定乙個元組 全碼 關係模型中所有屬性組都是候選碼 外碼 r的乙個屬性f是s的主碼,稱f為r的外碼 r為參照關係,s為被參照關係 外碼取空值表示尚不存在,不取空值表示是另乙個表的主碼值。分量必須取原子值...

關聯式資料庫與非關聯式資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...