
crete table student(
student_no varchar(20) not null prinary key,
student_name varchar(20) not null,
stucent_sex varchar(6),
student_age int,
class_no varchar(10) not null
)
insert into student
select '8101','张三','男','18' ,'101'
union
select '8102 ','钱四','女','16','121'
union
select '8103','王玲','女','17','131'
union
...
不全写了,往下都一样.
=====================================
班级表
create table class(
class_no varchar(10) not null prinary key,
class_name varchar(50) not null,
department_name varchar(50),
ruxue_time datetime
)
insert into class
select '101' ,'软件','机电工程系', '2005 '
union
select '102' ,'微电子','机电工程系', '2006 '
union
...
=================
系表
create table department(
department_no varchar(10) not null,
department_name varchar(50) not null prinary key
)
insert into department
select '1','电子信息系'
union
select '02','机电工程系'
union
...
如果用的话,建议你自己手写一遍,以上内容可能有全角或带有中文空格.
#11
--创建数据库create database 1班
go
use 1班
go
--创建宿舍表宿舍号主键 电话长度7只能输入数字
create table 宿舍表
(
宿舍号 int identity(1,1) primary key,
电话 varchar(7)
check(len(电话)=7 and 电话 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)
go
--创建同学表
create table 同学表
(学号 varchar(8),
姓名 varchar(8) UNIQUE,
性别 varchar(8) check(性别='男' or 性别='女'),
民族 varchar (8),
身份z varchar(20) UNIQUE,
宿舍号 int foreign key(宿舍号) REFERENCES 宿舍表(宿舍号)
)
insert into 宿舍表(电话) values('6333333')
insert into 同学表 values('123,''张三','女','汉','210106198107084018',1)
CREATE DATABASE 教师数据库ON
(
NAME = 'jiaoshi_DATA',
FILENAME = 'E:\jiaoshi_DATA.MDF',
SIZE = 5 MB,
MAXSIZE = 20 MB,
FILEGROWTH = 5 MB
)
LOG ON
(
NAME = 'jiaoshi_LOG',
FILENAME = 'E:\jiaoshi_LOG.LDF',
SIZE = 1 MB,
MAXSIZE = 5 MB,
FILEGROWTH = 1 MB
)
go
create table 教师表
(教师编号 char(6) primary key,
姓名 char(4) not null,
性别 char(2) check([性别] in ('男', '女')),
民族 char(8) default '汉族' not null,
职称 char(12),
身份z号 char(18) unique
)
create table 课程表
(课号 char(6) primary key,
名称 char(40) not null
)
create table 任课表
(ID IDENTITY(1, 1),
教师编号 char(6) foreign key references 教师表(教师编号),
课号 char(6) foreign key references 课程表(课号),
课时数 integer check(课时数 between 0 and 200)
)
2.
insert 课程表 values('100001', 'SQL Server数据库')
insert 课程表 values('100002', '数据结构')
insert 课程表 values('100003', 'VB程序设计')
update 课程表 set 名称='Visual Basic程序设计' where 课号='100003'
delete 课程表 where 课号='100003'
3.
create view 任课表视图 as
select 教师编号,姓名,课号, 课程名称,课时数 from 教师表,任课表
where 教师表.编号=任课表.教师编号
4.
create function 某门课任课教师(@课程名 varchar(15))
returns table as
return (select 课程名称, 课时数, 教师姓名=姓名 from 任课表视图
where 课程名=@课程名)
go
select * from [某门课任课教师]('SQL Server数据库')
5.
create procedure 统计课时数
as
select 最大课时数=max(课时) ,最小课时数=min(课时),平均课时数=avg(课时) from 任课表
go
execute 统计课时
6.
create procedure 统计课时
@教师名 nchar(16),
as
begin
declare @总课时 int
select @总课时=sum (课时) from 任课表视图
where 姓名 = @教师名
end
go
execute 统计课时 '郭老师'
7.
select 编号, 姓名 from 教师表
where编号 in (select distinct 教师编号 from 任课表 where课时数>=90)
8.
create rule zhicheng _rule
as @zhicheng in ('教授','副教授','讲师', '助教')
go
sp_bindrule zhicheng_rule, '教师表.职称'
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)