SQL数据库的设计题,T-SQL语言。高分求解答!

对于数据库scd,库中包含一下系、学生、班级各表:student(学号,姓名,年龄,班号)class(班号,专业名,系名,入学年份)department(系号,系名)请使... 对于数据库scd,库中包含一下系、学生、班级各表:
student(学号,姓名,年龄,班号)
class(班号,专业名,系名,入学年份)
department(系号,系名)

请使用T-SQL语言完成一下题。
1.为数据库scd建立一个默认对象,使其对应于年龄为18,将其绑定到student表的年龄列上。

2.修改class表为其建立一个CHECK约束,检查入学年份是否小于2008.
展开
 我来答
xuwuting
2009-09-25 · TA获得超过6849个赞
知道大有可为答主
回答量:1274
采纳率:0%
帮助的人:1581万
展开全部
1.
use scd
go
create default df_年龄 as '18'
sp_bindefault 'df_年龄','student.年龄'

2.
use scd
go
alter table class
with nocheck /*现有数据不强制这个约束*/
add constraint ck_入学年份
check(入学年份>=2008) /*你的提法“是否”有问题,到底是约束使其小于2008,还是约束使其大于等于2008,这句是指约束使入学年份>=2008,如果输入的值<2008就违反了约束*/
奔驰M888
2009-09-14 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2712万
展开全部
一:
1、使用数据库scd
use scd;
2、创建规则
create rule age_rule
as
@age = 18
3、帮定规则
exec sp_bindrule 'age_rule',student.年龄';

二:
alter table class add constraint year_check check(入学年份 >=2008);

---
以上,希望对你有所帮助。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
學有止境
2009-09-14 · TA获得超过194个赞
知道答主
回答量:143
采纳率:0%
帮助的人:0
展开全部
use master
go
create database scd --建立scd资料库
go
use scd
go
create rule age_rule --建立规则
as @age = 18
go
create table student --建立资料表student
( student_id varchar(16) null,
student_name varchar(16) null,
age int null,
class_no varchar(16))
go
exec sp_bindrule age_rule, [student.age] --绑定规则
go
create table class --建立资料表class
( class_no varchar(16) null,
specialties_name varchar(32) null,
department_name varchar(32) null,
enrolment_name int check(enrolment_name <2008) null) --加入入学年份check约束
go
create table department --建立资料表department
( department_no varchar(16) null,
department_name varchar(32) null)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lijinglong6140
2009-09-14 · TA获得超过138个赞
知道答主
回答量:103
采纳率:100%
帮助的人:80万
展开全部
1题
use scd;
go
create rule AgeRule @年龄=18;
go
exec sp_bindrule 'AgeRule', 'student.年龄';

2题
/*
创建一个insert触发器,以确保现有的class表中
的入学年份列不会大于2008的值。
*/

use scd
select * from class
go
create trigger secd
on class
for insert
as
if (select 入学年份 from class)>2008
begin
print '不能指定大于2008的入学年份'
rollback tran
End
go
可能写的有点复杂....
咋两人的题还一样呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
森林敏
2009-09-14
知道答主
回答量:48
采纳率:0%
帮助的人:13.6万
展开全部
select 年龄,18 from student full join class on student.班号=class.班号 full join department on class.系名=department.系名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式