用SQL定義語句創建符合如下條件的數據庫: 數據庫名爲:學生數據庫,模式:默認模式 數據文件的物理文件名爲:主數據文件Students_data.mdf(邏輯文件同名),日誌文件:Students

一、SQL定義語句

1.用SQL定義語句創建符合如下條件的數據庫:

數據庫名爲:學生數據庫,模式:默認模式

數據文件的物理文件名爲:主數據文件Students_data.mdf(邏輯文件同名),日誌文件:Students_log.ldf(邏輯文件同名),存放在D:\Data文件夾下(若D:盤中無此文件夾,請先建立此文件夾,然後再創建數據庫。)

2.選用已建立的“學生數據庫”,用SQL定義語句創建符合如下條件的表C-1到C-4(注意各種完整性約束)

上述兩題,界面方式或命令方式均需要熟練掌握

表C-1 Student表結構

列名

說明

數據類型

約束

Sno

學號

普通編碼定長字符串,長度爲7

主鍵

Sname

姓名

普通編碼定長字符串,長度爲10

 

Ssex

性別

普通編碼定長字符串,長度爲2

 

Sage

年齡

微整型(tinyint)

 

Sdept

所在系

普通編碼不定長字符串,長度爲20

 

Sid

身份證號

普通編碼定長字符串,長度爲10

 

Sdate

入學日期

日期

 

表C-2 Course表結構

列名

說明

數據類型

約束

Cno

課程號

普通編碼定長字符串,長度爲10

主鍵

Cname

課程名

普通編碼不定長字符串,長度爲20

 

Credit

學時數

整型

 

Semester

學分

小整型

 

 

表C-3 SC表結構

列名

說明

數據類型

約束

Sno

學號

普通編碼定長字符串,長度爲7

主鍵,引用Student的外鍵

Cno

課程號

普通編碼定長字符串,長度爲10

主鍵,引用Course的外鍵

Grade

成績

小整型

 

 

表C-4 Teacher表結構

列名

說明

數據類型

約束

Tno

教師號

普通編碼定長字符串,長度爲8

 

Tname

教師名

普通編碼定長字符串,長度爲10

 

Salary

工資

定點小數,小數點前4位,小數點後2位

 

 

3. 寫出實現如下功能的SQL語句,並執行所寫代碼,查看執行結果。

(1) 在Teacher表中添加一個職稱列,列名爲:Title,類型爲nchar(4)。

(2) 將Course表中Credit列的類型改爲:tinyint。

(3) 刪除Student表中的Sid和Sdate列。

(4) 爲Teacher表添加主鍵約束,其主鍵爲:Tno。

 

表C-1 Student表中的記錄,本次上機使用窗口方式錄入數據

錄入數據時請務必保證數據格式與定義的數據類型一致,否則會報錯。

學號

姓名

性別

年齡

系別

身份證號

入學日期

0811101

李勇

21

計算機系

 

 

0811102

劉晨

20

計算機系

 

 

0811103

王敏

20

計算機系

 

 

0811104

張小紅

19

計算機系

 

 

0821101

張立

20

信息管理系

 

 

0821102

吳賓

19

信息管理系

 

 

0821103

張海

20

信息管理系

 

 

0831101

錢小平

21

通信工程系

 

 

0831102

王大力

20

通信工程系

 

 

0831103

張姍姍

19

通信工程系

 

 

 

表C-2 Course表中的記錄

Cno

Cname

Credit

Semester

C001

高等數學

4

1

C002

大學英語

3

1

C003

大學英語

3

2

C004

計算機文化學

2

2

C005

VB

2

3

C006

數據庫基礎

4

5

C007

數據結構

4

4

C008

計算機網絡

4

4

 

表C-3 SC表中的記錄

Sno

Cno

Grade

0811101

C001

96

0811101

C002

80

0811101

C003

84

0811101

C005

62

0811102

C001

92

0811102

C002

90

0811102

C004

84

0821102

C001

76

0821102

C004

86

0821102

C005

73

0821102

C007

NULL

0821103

C001

50

0821103

C004

80

0831101

C001

50

0831101

C004

80

0831102

C007

NULL

0831103

C004

78

0831103

C005

65

0831103

C007

NULL

 

表C-4 Teacher表中的記錄

Tno

Tname

Salary

T001

張美霞

5000

T002

王洪林

5500

T003

李麗芬

4800

T004

周良水

6000

T005

吳翔

7000

三.實驗結果

Student表

sql語句:

create table Student(

    Sno char(7) primary key,

    Sname char(10),

    Sex char(2),

    Sage tinyint,

    Sdept varchar(20),

    Sid  char(10),

    Sdate date

);

Course表

sql語句:

create table Course(

    Cno char(10) primary key,

    Cname varchar(20),

    Credit int,

    Semester smallint

     

);

 

Sc

Sql語句:

create table SC(

    Sno char(7),

    Cno char(10),

    Grade smallint,

    foreign key(Sno) references Student(Sno),

    foreign key(Cno) references Course(Cno),

    primary key(Sno,Cno)

);

Teacher

Sql語句:

create table Teacher(

    Tno char(8) primary key,

    Tname char(10),

    Salary numeric(6,2)

   

);

 

寫出實現如下功能的SQL語句,並執行所寫代碼,查看執行結果。

  1. 在Teacher表中添加一個職稱列,列名爲:Title,類型爲nchar(4)
ALTER table Teacher add  Title nchar(4);

  1. 將Course表中Credit列的類型改爲:tinyint。  
ALTER table Course alter column Credit tinyint;

 

  1. 刪除Student表中的Sid和Sdate列。

 

ALTER table Student drop column Sid,Sdate;

  1. 爲Teacher表添加主鍵約束,其主鍵爲:Tno

 

ALTER table Teacher add unique(Tno);

 

Student表插入數據

INSERT INTO Student(Sno,Sname,Sex,Sage,Sdept) VALUES

('0811101','李勇','男',21,'計算機系'),

('0811102','劉晨','男',20,'計算機系'),

('0811103','王敏','女',20,'計算機系'),

('0811104','張小紅','女',19,'計算機系'),

('0821101','張立','男',20,'信息管理系'),

('0821102','吳賓','女',19,'信息管理系'),

('0821103','張海','男',20,'信息管理系'),

('0831101','錢小平','男',21,'信息管理系'),

('0831102','王大力','女',20,'計算機系'),

('0831103','張姍姍','男',19,'計算機系');

 

Course表插入數據

INSERT INTO Course(Cno,Cname,Credit,Semester) VALUES

('C001','高等數學',4,1),

('C002','大學英語',3,1),

('C003','大學英語',3,2),

('C004','計算機文化學',2,2),

('C005','VB',2,3),

('C006','數據庫基礎',4,5),

('C007','數據結構',4,4),

('C008','計算機網絡',4,4);

SC表插入數據

INSERT INTO SC(Sno,Cno,Grade) VALUES

('0811101','C001',96),

('0811101','C002',80),

('0811101','C003',84),

('0811101','C005',62),

('0811102','C001',92),

('0811102','C002',90),

('0811102','C004',84),

('0821102','C001',76),

('0821102','C004',86),

('0821102','C005',73),

('0821102','C007',NULL),

('0821103','C001',50),

('0821103','C004',80),

('0831101','C001',50),

('0831101','C004',80),

('0831102','C007',NULL),

('0831103','C004',78),

('0831103','C005',65),

('0831103','C007',NULL); 

 

Teacher表插入數據

INSERT INTO Teacher(Tno,Tname,Salary) VALUES

('T001','張美霞',5000),

('T002','王洪林',5500),

('T003','李麗芬',4800),

('T004','周良水',6000),

('T005','吳翔',7000);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章