现要建立关于系、学生、班级的数据库,关系模式为

现要建立关于系、学生、班级的数据库,关系模式为,第1张

学生表

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, '教师表.职称'


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6471612.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-23
下一篇2023-03-23

发表评论

登录后才能评论

评论列表(0条)

    保存