創建數據庫與表----實驗一 SQL語句應用

一. 實驗目的

  1. 熟悉SQL Server Management Studio環境的使用。
  2. 瞭解SQL中的數據庫的類型。
  3. 掌握SQL Server Management Studio環境下創建數據庫和表的操作。
  4. 運用SQL語句創建數據庫;運用SQL語句創建表;
  5. 瞭解數據庫的結構,各種文件的擴展名。
  6. 查看數據庫和表。
  7. 創建並使用約束和默認值對象,掌握實現數據庫的完整性的方法。

二. 實驗內容

  1. 熟悉SQL Server 環境。
  2. 在 Management Studio環境下創建Study數據庫。
  3. 在Study數據庫中創建六個數據表:學生基本情況數據表Student、班級數據表Class、課程數據表Course、選修課程情況數據表Choice、教師數據表Teacher、教師任課情況表Teaching。
  4. 在創建的六個數據表中輸入數據。
  5. 創建各表的約束,默認值。
  6. 爲兩表建立關聯,實現參照完整性。
  7. 運用SQL語句重複上述實驗內容。
  8. 利用對象資源管理器的數據庫備份功能,將以上建立的數據庫Study備份到所建立的文件夾中,並將備份文件拷貝到U盤中,以備後面的實驗使用。

各表的結構如下:

① 學生基本情況數據表Student,結構如下:

 

字  段  名

字 段 類 型

約 束 控 制

字段含義說明

s_no

char(6)

primary key

學號

class_no

char(6)

not null

班級號

s_name

varchar(10)

not null

學生姓名

s_sex

char(2)

‘男’或‘女’

性別

s_birthday

datetime

 

出生日期

 

② 班級數據表Class,結構如下:

 

字  段  名

字 段 類 型

約 束 控 制

字段含義說明

class_no

char(6)

primary key

班級號

class_name

char(20)

not null

班級名稱

class_special

varchar(20)

 

所屬專業

class_dept

char(20)

 

系別

 

③ 課程數據表Course,結構如下:

 

字  段  名

字 段 類 型

約 束 控 制

字段含義說明

course_no

char(5)

primary key

課程號

course_name

char(20)

not null

課程名稱

course_score

numeric(6,2)

 

學分

 

④ 選修課程情況數據表Choice,結構如下:

 

字  段  名

字 段 類 型

約 束 控 制

字段含義說明

s_no

char(6)

 

學號

course_no

char(5)

 

課程號

score

numeric(6,1)

 

成績

 

⑤ 教師數據表Teacher,結構如下:

 

字  段  名

字 段 類 型

約 束 控 制

字段含義說明

t_no

char(6)

primary key

教師號

t_name

varchar(10)

not null

教師姓名

t_sex

char(2)

‘男’或‘女’

性別

t_birthday

datetime

 

出生日期

t_title

char(10)

 

職稱

 

⑥ 教師任課情況表Teaching,結構如下:

 

字  段  名

字 段 類 型

約 束 控 制

字段含義說明

couse_no

char(5)

 

課程號

t_no

char(6)

 

教師號

 

各表的數據記錄如下:

① 學生基本情況數據表Student的內容如下:

 

s_no

class_no

s_name

s_sex

s_birthday

991101

js9901

張彬

1981-10-1

991102

js9901

王蕾

1980-8-8

991103

js9901

李建國

1981-4-5

991104

js9901

李平方

1981-5-12

991201

js9902

陳東輝

1980-2-8

991202

js9902

葛鵬

1979-12-23

991203

js9902

藩桃芝

1980-2-6

991204

js9902

姚一峯

1981-5-7

001101

js0001

宋大方

1980-4-9

001102

js0001

許輝

1978-8-1

001201

js0002

王一山

1980-12-4

001202

js0002

牛莉

1981-6-9

002101

xx0001

李麗麗

1981-9-19

002102

xx0001

李王

1980-9-23

 

② 班級數據表Class的內容如下:

 

class_no

class_name

class_special

class_dept

js9901

計算機99-1

計算機

計算機系

js9902

計算機99-2

計算機

計算機系

js0001

計算機00-1

計算機

計算機系

js0002

計算機00-2

計算機

計算機系

xx0001

信息00-1

信息

信息系

xx0002

信息00-2

信息

信息系

 

③ 課程數據表Course的內容如下:

 

course_no

course_name

course_score

01001

計算機基礎

3

01002

程序設計語言

5

01003

數據結構

6

02001

數據庫原理與應用

6

02002

計算機網絡

6

02003

微機原理與應用

8

 

④ 選修課程情況數據表Choice的內容如下:

 

s_no

course_no

score

991101

01001

88.0

991102

01001

 

991103

01001

91.0

991104

01001

78.0

991201

01001

67.0

991101

01002

90.0

991102

01002

58.0

991103

01002

71.0

991104

01002

85.0

 

⑤ 教師數據表Teacher的內容如下:

 

t_no

t_name

t_sex

t_birthday

t_title

000001

李英

1964-11-3

講師

000002

王大山

1955-3-7

副教授

000003

張朋

1960-10-5

講師

000004

陳爲軍

1970-3-2

助教

000005

宋浩然

1966-12-4

講師

000006

許紅霞

1951-5-8

副教授

000007

徐永軍

1948-4-8

教授

000008

李桂菁

1940-11-3

教授

000009

王一凡

1962-5-9

講師

000010

田峯

1972-11-5

助教

 

⑥ 教師任課情況表Teaching的內容如下:

 

course_no

t_no

01001

000001

01002

000002

01003

000002

02001

000003

02002

000004

01001

000005

01002

000006

01003

000007

02001

000007

02002

000008

三.創建數據庫及基本表

1.建立一個屬於自己的新數據庫Study

​create database Studyon( 
 name=Study,
 filename='C:\Study.mdf', 
 size=5,
 maxsize=50,
 filegrowth=5)
log on( name=Study_log, 
 filename='C:\Study_log.ldf', 
 size=5, 
 maxsize=50, 
 filegrowth=5)​

2.建立表Class

create table Class( 
 class_no char(6) primary key, 
 class_name char(20) not null,
 class_special varchar(20), 
 class_dept char(20)
)

3.建立表Student

/*創建表Student*/
create table Student( 
s_no char(6) primary key, 
class_no char(6) not null foreign key references Class(class_no), 
s_name varchar(10) not null, 
s_sex char(2) check(s_sex='男' or s_sex='女'), 
s_birthday datetime 
)

4.建立表Course

/*創建表Course*/
create table Course( 
 course_no char(5) primary key,
 course_name char(20) not null, 
 course_score numeric(6,2)
)

5.建立表Choice

/*創建表Choice*/
create table Choice(
 s_no char(6) foreign key references Student(s_no), 
 course_no char(5) foreign key references Course(course_no), 
 score numeric(6,1)
)

6.建立表Teacher

/*創建表Teacher*/
create table Teacher(
 t_no char(6) primary key ,
 t_name varchar(10) not null,
 t_sex char(2) check(t_sex='男' or t_sex='女'), 
 t_birthday datetime, t_title char(10)
)

7.建立表Teaching

/*創建表Teaching*/
create table Teaching( 
course_no char(5) foreign key references Course(course_no), 
t_no char(6) foreign key references Teacher(t_no)
)

四.給建立好的表中插入相對應的數據

1.在Class表中插入數據

/*在Class表中插入數據*/
insert into Class(class_no,class_name,class_special,class_dept)
values('js9901','計算機99-1','計算機','計算機系'),
('js9901','計算機99-2','計算機','計算機系'),
('js0001','計算機00-1','計算機','計算機系'),
('js0002','計算機99-1','計算機','計算機系'),
('xx0001','信息00-2','信息','信息系'),
('xx0002','信息00-2','信息','信息系');

2.在Student表中插入數據

/*在Student表中插入數據*/
insert into Student(s_no,class_no,s_name,s_sex,s_birthday)
values('991101','js9901','張彬','男',1981-10-1),
('991102','js9901','王蕾','女',1980-8-8),
('991103','js9901','李建國','男','1981-4-5'),
('991104','js9901','李平方','男','1981-5-12'),
('991201','js9902','陳冬輝','男','1980-2-8'),
('991202','js9902','葛鵬','男','1979-12-23'),
('991203','js9902','藩桃芝','女','1980-2-6'),
('991204','js9902','姚一峯','男','1981-5-7'),
('001101','js0001','宋大方','男','1980-4-9'),
('001102','js0001','徐輝','女','1978-8-1'),
('001201','js0002','王一山','男','1980-12-4'),
('001202','js0002','牛莉','女','1981-6-9'),
('002101','xx0001','李麗麗','女','1981-9-19'),
('002102','xx0002','李王','男','1980-9-23');

3.在Course表中插入數據

/*在Course表中插入數據*/
insert into Course(course_no,course_name,course_score)
values('01001','計算機基礎',3),
('01002','程序設計語言',5),
('01003','數據結構',6),
('02001','數據庫原理及應用',6),
('02002','計算機網絡',6),
('02003','微機原理及應用',8);

4.在Choice表中插入數據

/*在Choice表中插入數據*/
insert into Choice(course_no,score)
values('991101','01001',88),
('991102','01001',null),
('991103','01001',91),
('991104','01001',78),
('991201','01001',67),
('991101','01002',90),
('991102','01002',58),
('991103','01002',71),
('991104','01002',85);

5.在Teacher表中插入數據

/*在Teacher表中插入數據*/
insert into Teacher(t_no,t_name,t_sex,t_birthday,t_title)
values('000001','李英','女',1964-11-3,'講師'),
('000001','王大山','男',1955-3-7,'副教授'),
('000001','張朋','男',1960-10-5,'講師'),
('000001','陳爲君','男',1970-3-3,'助教'),
('000001','宋浩然','男',1966-12-4,'講師'),
('000001','許紅霞','女',1951-5-8,'副教授'),
('000001','徐勇軍','男',1948-4-8,'教授'),
('000001','李桂青','女',1940-11-3,'教授'),
('000001','王一凡','女',1962-5-9,'講師'),
('000001','田峯','男',1972-11-5,'助教');

6.在Teaching表中插入數據

/*在Teaching表中插入數據*/
insert into Teaching(course_no,t_no)
values('01001','000001'),
('01002','000002'),
('01003','000002'),
('02001','000003'),
('02002','000004'),
('01001','000005'),
('01002','000006'),
('01003','000007'),
('02001','000007'),
('02002','000008');

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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