資料庫複習 5 關聯式資料庫標準語言SQL

2021-08-01 15:56:00 字數 2830 閱讀 5362

sql:結構化查詢語言,是關聯式資料庫的標準語言。

sql是乙個通用的、功能極強的關聯式資料庫語言。

結構化查詢語言sql是一種介於關係代數和關係演算之間的語言。

sql的主要特點包括:

一、綜合統一

使用者資料庫投入執行後,可根據需要隨時逐步修改模式,不影響資料的執行。

資料操作符統一

二、高度非過程化

模式的刪除

drop schema 《模式名》 < cascade|restrict>

cascade(級聯)

刪除模式的同時把該模式中所有的資料庫物件全部刪除。

restrict(限制)

如果該模式中定義了下屬的資料庫物件(如表、檢視等),則拒絕該刪除語句的執行。

當該模式中沒有任何下屬的物件時才能執行。

基本表的定義

一般格式如下:

create table 《表名》

( 《列名》 《資料型別》 [列級完整性約束條件]

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

…… [,《表級完整性約束條件》] );

完整性規則主要有三種子句:

主鍵子句(primary key):實體完整性

外鍵子句(foreign key):參照完整性

檢查子句(check):使用者定義完整性

資料型別

模式與表

建立基本表(其他資料庫物件也一樣)時,若沒有指定模式,系統根據搜尋路徑來確定該物件所屬的模式

rdbms會使用模式列表中第乙個存在的模式作為資料庫物件的模式名

若搜尋路徑中的模式名都不存在,系統將給出錯誤

顯示當前的搜尋路徑:show search_path;

搜尋路徑的當前預設值是:$user, public

dba使用者可以設定搜尋路徑,然後定義基本表

set search_path to 「s-t」,public;

create table student(……);

結果建立了s-t.student基本表。

rdbms發現搜尋路徑中第乙個模式名s-t存在,就把該模式作為基本表student所屬的模式。

修改基本表

alter table 《表名》

[ add 《新列名》 《資料型別》 [ 完整性約束 ] ]

[ drop 《完整性約束名》 ]

[ alter column《列名》 《資料型別》 ];

刪除基本表

drop table 《表名》[restrict| cascade];

cascade:刪除該錶沒有限制。

在刪除基本表的同時,相關的依賴物件一起刪除

誰維護索引

dbms自動完成?

使用索引

dbms自動選擇是否使用索引以及使用哪些索引

rdbms中索引一般採用b+樹、hash索引來實現

採用b+樹,還是hash索引,則由具體的rdbms來決定

索引是關聯式資料庫的內部實現技術,屬於內模式的範疇

createindex語句定義索引時,可以定義索引是唯一索引、非唯一索引或聚簇索引

建立索引

語句格式

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

on 《表名》(《列名》[《次序》][,《列名》[《次序》] ]…);

unique 表明此索引的每乙個索引值只對應唯一的資料記錄。

cluster 表示要建立的索引是聚族索引。

刪除索引

drop index 《索引名》;

刪除索引時,系統會從資料字典中刪去有關該索引的描述。

刪除student表的stusname索引

drop index stusname;

(三)關聯式資料庫標準語言 SQL

sql命令的分類 建立資料庫 create database 資料庫名稱 或者 create database 資料庫名 default character set 字符集 collate 校對集 檢視已有的資料庫 show databases 使用已建立的資料庫 use 資料庫名稱 例子 crea...

資料庫系統概論 關聯式資料庫標準語言SQL(3)

sql的資料插入語句insert通常有兩種形式。一種是插入乙個元組,另一種是插入子查詢的結果。後者可以一次插入多個元組。一 插入元組 插入元組 insert into 表名 屬性列1 屬性列2 values 常量1 常量2 其功能是將新元組插入到指定的表中。如果insert子句沒有指明任何屬性列名,...

資料庫複習 2 關聯式資料庫

關聯式資料庫由關係資料結構 關係操作集合和完整性約束組成。關係模型的資料結構只包含關係。具有相同資料型別值的集合 集合運算 關係是笛卡爾積的有限子集,關係也是乙個二維表。對每列起乙個名字,稱為屬性 關係中能唯一標識元組的屬性組稱為候選碼 候選碼的屬性稱為主屬性 選乙個候選碼作為主碼 所有屬性都是候選...