實驗四資料庫物件

2022-12-13 04:09:05 字數 3633 閱讀 2982

(cid char(9) primary key,

cname char(20) unique,

ccredit int(6)

)create table teacher

(tid char(20) primary key,

tname char(20) ,

tdept char(20),

tstartdate char(20)

)create table class

(classid char(20) primary key,

classdept char(10)

) create table classroom

(roomid char(10) primary key,

building char(8) default('tb1'),

roomtype char(8)

) create table department

(deptid char(4) primary key,

dname char(20),

dchairman char(20),

)create table enrollment

(sid char(12) ,

cid char(9) ,

grade int check(grade>0 and grade<100) ,

type char(10),

semester smallint,

primary key(sid,cid),

foreign key(sid)references student(sid),

foreign key (cid) references course(cid)

)create table classassign

(classid char(20),

roomid char(10),

ctime char(20)

)alter table classassign add constraint roomid foreign key (roomid) references classroom(roomid)

alter table classassign add constraint callsid foreign key (classid) references class(classid)

alter table student drop constraint snameunique

為各表建立一基於主碼的非聚簇索引

create index stusid on student(sid)

create index coucid on course(cid)

create index teatid on teacher(tid)

create index claclassid on class(classid)

create index claroomid on classroom(roomid)

create index depdeptid on department(deptid)

create index enrsid on enrollment(sid)

create index enrcid on enrollment(cid)

create index claclassid on classassign(classid)

create index claroomid on classassign(roomid)

為course表建立一基於課程名(cname)的唯一索引.

create unique index coecname on course(cname)

為department表基於系名(dname) 建立一唯一索引.

create unique index depdname on department(dname)

為student表基於姓名(sname)和年齡(sage)建立一非聚簇索引,使資料基於姓名的公升序和年齡的降序排列。

create unique index stusnamesage on student(sname asc, sage desc)

建立一檢視ma_student_view,用於以後維護數學系的學生資訊,只需顯示除係別外的其他學生屬性。

create view ma_student

asselect sid,sname,sage,s***,classid

from student

where deptid='ma';

刪除student表中基於sname和sage的非聚簇索引。

drop index

通過檢視為數學系插入一學生, 基本資訊如下:

2012120345, 於藍英,女,21, 資訊1班

insert

into ma_student

values('2012120345','於藍英','21','女','資訊班')

insert

into student(sid,sname,s***,sage,classid,deptid)

values('2012120345','於藍英','女','21','資訊班')

修改檢視ma_student_view,使之只顯示學生的姓名和學號

delete

from ma_student

where

查詢數學系(ma)全體學生的學號,姓名和年齡

select sid,sname,sage

from ma_student

查詢計算機系(cs)小於歲的學生的學號

select sid

from student

where sage<19 and deptid='cs'

查詢資訊班的學生的平均年齡。

select **g(sage)

from student

查詢取得課程最好成績的學生的學號和成績

select cid,max(ccredit)

from course

where cname='1'

group by cid

查詢選修了ma001,ma002,cs005,is003,en004號課程中任一課程的學生的學號及姓名

select sid sname

from student

where deptid='ma001'or deptid='ma002'or deptid='cs005'or deptid='is003'or deptid='en004'

查詢所有至少有三門課程不及格的學生的學號,姓名。

select sid sname

from student

where

查詢金融班全體學生課程ma001的平均成績

select **g(ccredit)

from course

where cname='ma001' and cid=(select deptid from student where deptid='金融班')

查詢所有課程平均成績高於分的學生的學生的姓名,學號及年齡。

在檢視ma_student_view中查詢劉威的學號及年齡。

select sid,sage

from student

where sname='劉威' and deptid='ma'

資料庫實驗

實驗名稱 關係查詢與連線 一 實驗目的 1 理解select語句的操作和基本使用方法,熟練掌握簡單查詢。2 掌握select語句的巢狀使用,實現表的複雜查詢,進一步理解select語句的高階使用方法。3 理解join語句的操作和基本使用方法,掌握內連線 外連線 自連線的概念和使用。二 實驗環境 使用...

資料庫實驗

淮海工學院計算機工程學院 實驗報告書 課程名 資料庫原理及應用 題目資料操縱 班級g計算機131班 學號2013150233 姓名顧建雲 一 目的與要求 1 鞏固資料庫的基礎知識。2 掌握資料操縱的各種方法。二 實驗內容 1 利用企業管理器向職工表和職工工資表中輸入教材p117中的資料 2 用sql...

資料庫實驗

實驗二 sql server資料庫更新操作 1.為companyinfo資料庫的各表錄入記錄 sql語言 insert category values 1,飲料 軟飲料 咖啡 茶 啤酒和淡啤酒 insert category values 2,計算機耗材 列印紙等 insert category v...