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