《西華大學(xué)數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告(二)》由會(huì)員分享,可在線閱讀,更多相關(guān)《西華大學(xué)數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告(二)(12頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第2次作業(yè)
一、環(huán)境
運(yùn)行SQL Server,并創(chuàng)建名為student數(shù)據(jù)庫(kù)
二、實(shí)訓(xùn)內(nèi)容
1.使用企業(yè)管理器創(chuàng)建“學(xué)生信息”表。并插入學(xué)生數(shù)據(jù)。
“學(xué)生信息”表的結(jié)構(gòu)
列名
數(shù)據(jù)類型
長(zhǎng)度
是否允許空
說明
學(xué)號(hào)
字符型
7
不允許空
主鍵
姓名
字符型
20
不允許空
性別
字符型
2
允許空
年齡
整型
4
允許空
所在系
字符型
15
允許空
“學(xué)生信息”表記錄的數(shù)據(jù)
學(xué)號(hào)
姓名
性別
年齡
所在系
9056215
趙燕
女
20
計(jì)算機(jī)系
9056219
李勇
男
21
計(jì)
2、算機(jī)系
9057123
張輝
男
19
管理系
9057436
王鵬
男
17
管理系
9056213
李靜
女
21
計(jì)算機(jī)系
use student --調(diào)用數(shù)據(jù)庫(kù)
go
create table 學(xué)生信息_蒲強(qiáng)林 --創(chuàng)建表
(
學(xué)號(hào) char(7) primary key,
姓名 char(20) not null,
性別 char(2),
年齡 int,
所在系 char(15)
)
go
use student --調(diào)用數(shù)據(jù)庫(kù)
go
--插入數(shù)據(jù)
insert 學(xué)生信息_蒲強(qiáng)林
values (9056
3、215,趙燕,女,20,計(jì)算機(jī)系)
insert 學(xué)生信息_蒲強(qiáng)林
values (9056219,李勇,男,21,計(jì)算機(jī)系)
insert 學(xué)生信息_蒲強(qiáng)林
values (9057123,張輝,男,19,管理系)
insert 學(xué)生信息_蒲強(qiáng)林
values (9057436,王鵬,男,17,管理系)
insert 學(xué)生信息_蒲強(qiáng)林
values (9056213,李靜,女,21,計(jì)算機(jī)系)
go
結(jié)果截圖:
使用SQL語言編程序?qū)崿F(xiàn):
(1.1)在“學(xué)生信息”表中添加 “電話”、“電子郵箱”字段,類型分別為定長(zhǎng)字符(11長(zhǎng)度)、可變字符型(40長(zhǎng)度),允
4、許為空
use student --調(diào)用數(shù)據(jù)庫(kù)
go
alter table 學(xué)生信息_蒲強(qiáng)林 --添加屬性
add 電話 char(11)
alter table 學(xué)生信息_蒲強(qiáng)林 --添加屬性
add 電子郵箱 varchar(40)
go
運(yùn)行結(jié)果截圖:
(1.2)將“性別”字段的類型改為不允許為空
use student
go
--修改字段
alter table 學(xué)生信息_蒲強(qiáng)林
alter column 性別 char(2) not null
go
運(yùn)行結(jié)果截圖:
(1.3)將“學(xué)生信息”表中的 “電子郵箱”字段名改為“email地址”
5、use student
go
exec sp_rename 學(xué)生信息_蒲強(qiáng)林.電子郵箱,email地址,column
go
運(yùn)行結(jié)果截圖:
(1.4)刪除“學(xué)生信息”表中的 “email地址”字段
use student
go
alter table 學(xué)生信息_蒲強(qiáng)林
drop column email地址
go
運(yùn)行結(jié)果截圖:
(1.5)試圖刪除“學(xué)生信息”表中的“學(xué)號(hào)”字段,出現(xiàn)什么情況?為什么?
use student
go
alter table 學(xué)生信息_蒲強(qiáng)林
drop column 學(xué)號(hào)
go
運(yùn)行結(jié)果截圖:
因?yàn)?“學(xué)號(hào)”字段為
6、“學(xué)生信息_蒲強(qiáng)林”表中的主鍵,有主鍵約束,不能刪除。
2.使用CREATE TABLE語句創(chuàng)建“課程”表,表結(jié)構(gòu)如表1所示,寫出程序代碼。
表1 “課程”表的結(jié)構(gòu)
列名
數(shù)據(jù)類型
長(zhǎng)度
是否允許空
說明
課程號(hào)
字符型
7
不允許空
主鍵
課程名稱
字符型
20
不允許空
學(xué)分
字符型
15
不允許空
use student
go
create table 課程_蒲強(qiáng)林
(
課程號(hào) char(7) primary key,
課程名稱 nvarchar(20) not null,
學(xué)分 char(15) not null
7、 )
Go
運(yùn)行結(jié)果截圖:
3.使用CREATE TABLE語句創(chuàng)建“成績(jī)”表,表結(jié)構(gòu)如表2所示,寫出程序代碼。
表2 “成績(jī)”表的結(jié)構(gòu)
列名
數(shù)據(jù)類型
長(zhǎng)度
是否允許空
說明
學(xué)號(hào)
字符型
7
不允許空
主鍵,外鍵
課程號(hào)
字符型
7
不允許空
主鍵,外鍵
分?jǐn)?shù)
整型
4
允許空
use student
go
create table 成績(jī)_蒲強(qiáng)林
(
學(xué)號(hào) char(7) not null,
課程號(hào) char(7) not null,
成績(jī) int
constraint pk_Score primary key
8、 (學(xué)號(hào),課程號(hào))
constraint fk_Score
foreign key(學(xué)號(hào)) references 學(xué)生信息_蒲強(qiáng)林(學(xué)號(hào)),
constraint fk_Score01
foreign key(課程號(hào)) references 課程_蒲強(qiáng)林(課程號(hào))
)
Go
運(yùn)行結(jié)果截圖:
(3.4)使用命令方式查看“學(xué)生信息”表的定義信息。
use student
go
exec sp_help 學(xué)生信息_蒲強(qiáng)林
go
運(yùn)行結(jié)果截圖:
(3.2)在“課程”表中添加“先修課程”字段,數(shù)據(jù)類型為字符型,長(zhǎng)度7,允許空。寫出相應(yīng)的程序代碼。
9、use student
go
alter table 課程_蒲強(qiáng)林
add 先修課程 char(7) null
go
運(yùn)行結(jié)果截圖:
(3.3)將“課程”表中“課程名稱”字段的長(zhǎng)度修改為30.
use student
go
alter table 課程_蒲強(qiáng)林
alter column 課程名稱 nvarchar(30) not null
go
運(yùn)行結(jié)果截圖:
(3.4)將“成績(jī)”表中的表名更改為“學(xué)生成績(jī)”表。
use student
go
exec sp_rename 成績(jī)_蒲強(qiáng)林,學(xué)生成績(jī)_蒲強(qiáng)林
go
(3.5)使用企業(yè)管理器,建立
10、上述3張表的關(guān)系圖。
表3 “課程”表記錄的數(shù)據(jù)
課程號(hào)
課程名稱
先修課程
學(xué)分
0000001
C語言
6
0000002
SQL server程序設(shè)計(jì)
6
0000003
VB.NET
0000001
4
0000004
數(shù)據(jù)結(jié)構(gòu)
4
0000005
數(shù)據(jù)庫(kù)原理及應(yīng)用
0000003
4
0000006
管理信息系統(tǒng)
0000002
3
0000007
軟件工程
0000004
3
(3.6)使用INSERT語句,將表3中的數(shù)據(jù)插入“課程”表。
use student
go
insert 課程_蒲強(qiáng)林(課
11、程號(hào),課程名稱,先修課程,學(xué)分)
values (0000001,C語言,null,6)
insert 課程_蒲強(qiáng)林(課程號(hào),課程名稱,先修課程,學(xué)分)
values (0000002,SQL server程序設(shè)計(jì),null,6)
insert 課程_蒲強(qiáng)林(課程號(hào),課程名稱,先修課程,學(xué)分)
values (0000003,VB.NET,0000001,4)
insert 課程_蒲強(qiáng)林(課程號(hào),課程名稱,先修課程,學(xué)分)
values (0000004,數(shù)據(jù)結(jié)構(gòu),null,4)
insert 課程_蒲強(qiáng)林(課程號(hào),課程名稱,先修課程,學(xué)分)
values (0000005,
12、數(shù)據(jù)庫(kù)原理及應(yīng)用,0000003,4)
insert 課程_蒲強(qiáng)林(課程號(hào),課程名稱,先修課程,學(xué)分)
values (0000006,管理信息系統(tǒng),0000002,3)
insert 課程_蒲強(qiáng)林(課程號(hào),課程名稱,先修課程,學(xué)分)
values (0000007,軟件工程,0000004,3)
go
運(yùn)行結(jié)果截圖:
(3.7)使用INSERT語句,將表4中的數(shù)據(jù)插入“學(xué)生成績(jī)”表。
use student
go
insert 學(xué)生成績(jī)_蒲強(qiáng)林(學(xué)號(hào),課程號(hào),成績(jī))
values (9056215,0000001,87)
insert 學(xué)生成績(jī)_蒲強(qiáng)林(學(xué)號(hào),課程
13、號(hào),成績(jī))
values (9056219,0000002,93)
insert 學(xué)生成績(jī)_蒲強(qiáng)林(學(xué)號(hào),課程號(hào),成績(jī))
values (9057123,0000003,89)
insert 學(xué)生成績(jī)_蒲強(qiáng)林(學(xué)號(hào),課程號(hào),成績(jī))
values (9057436,0000004,56)
insert 學(xué)生成績(jī)_蒲強(qiáng)林(學(xué)號(hào),課程號(hào),成績(jī))
values (9056213,0000005,78)
insert 學(xué)生成績(jī)_蒲強(qiáng)林(學(xué)號(hào),課程號(hào),成績(jī))
values (9056219,0000006,65)
insert 學(xué)生成績(jī)_蒲強(qiáng)林(學(xué)號(hào),課程號(hào),成績(jī))
values (
14、9057123,0000007,98)
go
運(yùn)行結(jié)果截圖:
(3.8)使用UPDATE語句,將“學(xué)生成績(jī)”表中,“分?jǐn)?shù)”列小于60分的成績(jī)改為60分。
use student
go
update 學(xué)生成績(jī)_蒲強(qiáng)林
set 成績(jī)=60
where 成績(jī)<60
go
運(yùn)行結(jié)果截圖:
表4 “學(xué)生成績(jī)”表
學(xué)號(hào)
課程號(hào)
分?jǐn)?shù)
9056215
0000001
87
9056219
0000002
93
9057123
0000003
89
9057436
0000004
56
9056213
0000005
78
9056219
0000006
65
9057123
0000007
98
二、實(shí)訓(xùn)小結(jié)
總結(jié)創(chuàng)建表的方法和步驟。掌握并理解如何創(chuàng)建、管理、維護(hù)表和表中的數(shù)據(jù)