连接服务器19216813135
连接服务器192.168.131.35,用户名sa,密码et2002。
建立数据库,用自己的姓名命名,数据库文件初始大小是5M,最大
50M,增长速度为2M。
1. 数据库中包含三个
:
(1)学生表(学号、姓名、性别、出生日期、班级编号、学分、顺序),学号定义为主键。
:? 至少有5条记录,而且有同名的学生记录;
? “顺序”列是标识符列,初始值为1,列值增量为1;
? “出生日期”列上创建规则,范围属于1960.1.1--1985.1.1,并绑定到“出生日期”字段上。
(2)课程表(课程号、课程名、学时、学分),课程号定义为主键。 要求:? 至少有5条记录,
? 创建一个存储过程,当运行此过程时,执行课程表中所有记录的查询操作。 (3)成绩表(学号、课程号、课程名、成绩),学号定义为主键。
要求:? 至少有5条记录,
? 将一个新学生记录(学号:0206;课程号:3;课程名:计算机;成绩:80)插入成绩表中;
? 创建一个触发器,当用户试图向成绩表中添加或修改数据时,该触发器向客户端显示一条信息“你插入或更新了数据库”。
2. 建立完成后,创建视图:
(1)创建基于学生表的学生信息视图1,包含学生表的前三条记录; (2)创建基于学生表和成绩表的学生信息视图2,包含学生表的学号、姓名,成绩表的课程名、成绩;
(3)创建基于学生表和成绩表学生信息视图3,包含学生表中的所有记录,并包含成绩表中和学生表中学号相同的记录。
(4)创建基于成绩表学生信息视图4,包含选修了3号课程的学生的学号及其成绩。 (5)创建基于学生表的学生信息视图5,包含学生表中同名的学生记录(包括所有字段)。 3.备份你所做的数据库,备份设备名为姓名。
一、创建数据库:
create database 梁贵媛
on primary
(
name='梁贵媛',
Filename = 'd:\sqlmdb\MSSQL\Data\梁贵媛.mdf',
size = 5,maxsize=50,filegrowth = 2
)
Go
use 梁贵媛
create table 学生表
(
学号 char(6) not null primary key,
姓名 char(10) not null,
性别 char(2) not null,
出生日期 datetime not null,
班级编号 char(5) not null,
学分 int not null,
顺序 int not null identity(1,1),
)on [primary]
Go
create rule birth_data_rule
as @出生日期<='1985-01-01'and @出生日期>='1960-01-01' go
sp_bindrule birth_data_rule,'学生表.出生日期' go
insert into 学生表 (学号,姓名,性别,出生日期,班级编号,学分)values ('0201','朱明许','男
','1984-1-23','01','133')
insert into 学生表 (学号,姓名,性别,出生日期,班级编号,学分)values ('0202','周文豹','男
','1983-10-02','01','140')
insert into 学生表 (学号,姓名,性别,出生日期,班级编号,学分)values ('0203','黎明','男
','1984-04-05','03','128')
insert into 学生表 (学号,姓名,性别,出生日期,班级编号,学分)values ('0206','朱明许','女
','1969-02-21','02','143')
insert into 学生表 (学号,姓名,性别,出生日期,班级编号,学分)values ('0207','关羽','男
','1979-10-11','02','150')
go
create table 课程表
(
课程号 char(6) not null,
课程名 char(12) not null,
学时 char(3) not null,
学分 numeric(2) not null,
constraint pk_grade_id primary key (课程号)
)on [primary]
go
create proc 存储
as
select * from 课程表
go
insert into 课程表 values ('1','教育技术学','80 ','2') insert into 课程表 values ('2','教育心理学','72','4') insert into 课程表 values ('3','计算机','68','4') insert into 课程表 values ('4','电视编导与制作','72','4') insert into 课程表 values ('5','绩效技术','44','3') insert into 课程表 values ('6','数据结构','68','4')
create table 成绩表
(
学号 char(6) not null primary key,
课程号 char(6) not null ,
课程名 char(12) not null,
成绩 int not null
)on [primary]
Go
insert into 成绩表 values ('0201','1','教育技术学','75') insert into 成绩表 values ('0202','2', '教育心理学','83') insert into 成绩表 values ('0303','3',' 计算机' ,'68') insert into 成绩表 values ('0306','3',' 计算机','92') insert into 成绩表 values ('0208','5','绩效技术','95') insert into 成绩表 values('0206','3','计算机','80')
use 梁贵媛
go
create trigger chengji
on 成绩表
for insert,update
as print ' 你插入或更新了数据库'
go
创建视图
create view 学生信息视图1
as
select top 3 * from 学生表
go
create view 学生信息视图2
as
select 学生表.学号,学生表.姓名,成绩表.课程名,成绩表.成绩 from 学生表 ,成绩表
where 学生表.学号=成绩表.学号
go
create view 学生信息视图3
as
select 学生表.*,成绩表.成绩,成绩表.课程名,成绩表.课程号
from 学生表 left outer join 成绩表 on 学生表.学号=成绩表.学号
go
create view 学生信息视图4
as
select 成绩表.学号,成绩表.成绩 from 成绩表
where 成绩表.课程号=3 go
create view 学生信息视图5
as
select * from 学生表
where 学生表.姓名
go
create view 学生信息视图5
as
select distinct 学生表.学号,学生表.姓名,学生表.性别,学生表.出生日期,学生表.班级编号,学生
表.学分,学生表.顺序
from 学生表 inner join 学生表 学生表_1 on 学生表.姓名=学生表_1.姓名
go
sp_addumpdevice 'disk','梁贵媛','d:\MSSQL\BACKUP\梁贵媛.dat'
backup database 梁贵媛 to 梁贵媛 go