資料庫系統概論三

2021-09-01 16:03:33 字數 4544 閱讀 4951

1sql語言的特點

1、綜合統一。                         2、高度非過程化。

3、面向集合的操作方式。               4、以同一種語法結構提供多種使用方式

5、語言簡潔、易學易用。

2sql語言的資料查詢,資料定義,資料操縱功能,這些分別有哪些sql語句?

1、資料定義:定義資料庫中的基本物件、模式(架構)定義、表定義、檢視和索引。

注意:sql(oracle除外)一般不提供修改檢視定義和索引定義的操作,需要先刪除再重建

(1)模式:

定義模式:create schema <模式名》 authorization <使用者名稱》[<表定義子句》|<檢視定義子句》|<授權定義子句》]

例:createschematest authorization zhang

createtabletab1(col1 smallint, col2 int,col3 char(20),col4 numeric(10,3),col5 decimal(5,2));

為使用者zhang建立了乙個模式test,並在其中定義了乙個表tab1。

刪除模式:drop schema <模式名》

cascade(級聯):刪除模式的同時把該模式中所有的資料庫物件全部刪除

restrict(限制); 沒有任何下屬的物件時 才能執行。

(2)表:

定義基本表:create table <表名》

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

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

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

列級完整性約束--涉及到該錶的乙個屬性

表級完整性約束--涉及到該錶的乙個或多個屬性。

例:建立「學生」表student,學號是主碼,姓名取值唯一

create table student         

(sno   char(9) primary key,/*主碼*/                 

sname  char(20) unique,     /* sname取唯一值*/

s***    char(2),sage   smallint,sdept  char(20));

資料型別

修改基本表:alter table <表名》

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

[ drop <列名》 |<完整性約束名》 ]

[ alter column<列名》 <資料型別》 ]

例:向student表增加「入學時間」列,其資料型別為日期型

alter table studentadds_entrance date;

不論基本表中原來是否已有資料,新增加的列一律為空值

將年齡的資料型別由字元型(假設原來的資料型別是字元型)改為整數

alter table studentalter columnsage int;

注:修改原有的列定義有可能會破壞已有資料

增加課程名稱必須取唯一值的約束條件。

alter table course add unique(cname);

直接刪除屬性列:(新標準) 例: alter table studentdrop sage

刪除基本表:drop table <表名》[restrict| cascade];

restrict:(受限) 欲刪除的基本表不能被其他表的約束所引用,如果存在依賴該錶的物件(觸發器,檢視等),則此表不能被刪除。

例:刪除student表      drop table  student  cascade ;

基本表定義被刪除,資料被刪除;表上建立的索引、檢視、觸發器等一般也將被刪除 。

(3)索引:

建立索引的目的:加快查詢速度。

dba 或 表的屬主(即建立表的人)(顯式);dbms一般會自動建立以下約束列上的索引(隱式)primary  key             unique      建立索引。

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

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

用《次序》指定索引值的排列次序,公升序:asc,降序:desc。預設:asc。

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

cluster表示要建立的索引是聚簇索引。索引項順序與表中記錄的物理順序一致。

聚簇索引 cluster

例:create cluster index stusname   on   student(sname);

在student表的sname(姓名)列上建立乙個聚簇索引,而 且student表中的記錄將按照sname值的公升序存放。

乙個基本表上最多只能建立乙個聚簇索引;在最經常查詢的列上建立聚簇索引以提高查詢效率;經常更新的列不宜建立聚簇索引。

唯一值索引 unique

例:為學生-課程資料庫中的student,course,sc三個表建 立索引

create unique index  scno on sc(sno asc,cno desc);

對於已含重複值的屬性列不能建unique索引 。對某個列建立unique索引後,插入新記錄時dbms會自動檢查新記錄在該列上是否取了重複值。這相當於增加了乙個unique約束。

刪除索引 :drop index <索引名》

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

例: 刪除student表的stusname索引:drop index stusname

2、資料查詢:基本格式

select a1,a2,…,an

from r1,r2,.., rm

where f

資料庫系統概論 緒論 資料庫系統概論(一)

1.1 資料庫系統概論 1.1.1 資料庫系統概論 1.資料 描述事物的符號記錄稱為是資料 資料的解釋叫做語義,他與資料時密不可分的 記錄是計算機中表示和儲存資料的一種格式或者乙個方法 2.資料庫 把資料以一定的格式存放在計算機儲存裝置上的倉庫就是資料庫 共享性 有組織 永久儲存是資料庫的三大特徵 ...

資料庫系統概論總結(三)

繼續以下面的兩個表為例子 city表 country表 2.4 檢視 檢視的建立 1 預設與表一致 create view is city asselect country,country id from country 2 選擇表中的列進行建立 檢視的刪除 drop view is city2 如...

資料庫系統概論實驗三

實驗內容 一 建立sct資料庫 1.建立sct資料庫,資料庫的兩個檔案放在d data資料夾下,2.資料庫資料檔案的初始大小為50m,日誌檔案的初始大小為10m,都按10 增長。建立資料庫語法 create database scton name sct data,filename d data s...