此题应该是建表和插入数据的经典题目
1. 先建立表(Sno代表学号,sname代表姓名,ssex代表性别,sage代表年龄,sdept代表所在系,cno代表课号,cname代表课程名称,cpno代表先修课号,ccredit代表学分,grade代表成绩)
createtablestudent
(snochar(5),
snamevarchar(10)notnull,
ssexchar(2),
sagesmallintconstraintDF_student_sagedefault(20),
sdeptvarchar(20),
constraintPK_student_snoprimarykey(sno),
constraintCK_student_sagecheck(sage>0));
createtablecourse
(cnochar(2),
cnamevarchar(20)notnullconstraintUQ_course_cnameunique,
cpnochar(2),
ccreditsmallintconstraintDF_course_ccreditdefault(2),
constraintPK_course_cnoprimarykey(cno),
constraintCK_course_ccreditcheck(ccredit>0),
constraintFK_course_cpnoforeignkey(cpno)referencescourse(cno));
createtablesc
(snochar(5),
cnochar(2),
gradeint,
constraintPK_sc_sno_cnoprimarykey(sno,cno),
constraintFK_sc_snoforeignkey(sno)referencesstudent(sno),
constraintFK_sc_cnoforeignkey(cno)referencescourse(cno),
constraintCK_sc_cnocheck(grade>0));
2. 将记录插入到表中
insertintostudent(sno,sname,ssex,sage,sdept)values('95001','李勇','男',20,'CS');
insertintostudent(sno,sname,ssex,sage,sdept)values('95002','刘晨','女',19,'IS');
insertintostudent(sno,sname,ssex,sage,sdept)values('95003','王敏','女',18,'MA');
只要会建表语句和插入语句即可
CREATETABLE<表名>
(<列名><数据类型>[notnull][[constraint约束名]default(缺省值)][[constraint约束名]unique]
[,其他列的定义]…
[,[constraint约束名]primarykey(列名[,列名]…)]
[,[constraint约束名]foreignkey(列名[,列名]…)references表名(列名[,列名]…)]
[,[constraint约束名]check(条件)]);
INSERT[INTO]<表名>[(<列名>[,<列名>…])]VALUES(<表达式>[,<表达式>…]);
② 数据库中 表course 的先行课程号cpno的取值必须来源于课程编号cno的取值 要怎么做在线
Foreign key (cpno) reference kc(cno)
③ 数据库问题为什么提示:第 7 行: 'Cpno' 附近有语法错误。
CREATE TABLE Course
(
Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4) FOREIGN KEY REFERENCES Course(Cno),
Ccredit SMALLINT
);
④ 数据库系统概论
不知道你表怎么建的,目测是你数据有问题(第四个字段在这题里没什么用,就没写,另外:你第一个图的语句也不对,会多出来两个null关联起来的情况,所以最后我改了一下)
createtablecourse
(cnoint,
cnamevarchar(50),
cpnoint)
insertintocoursevalues(1,'数据库',5)
insertintocoursevalues(2,'数学',null)
insertintocoursevalues(3,'信息系统',1)
insertintocoursevalues(4,'操作系统',6)
insertintocoursevalues(5,'数据结构',7)
insertintocoursevalues(6,'数据处理',null)
insertintocoursevalues(7,'PASCA语言',6)
selectfirst.cno,second.cpnofromcoursefirst,coursesecondwherefirst.cpno=second.cnoandsecond.cpnoisnotnull
最好把你的插入数据语句发出来,才能看出来问题,我这个得执行结果:
⑤ 关于数据库外码问题
这是规范书写,没有为什么,列名需要加括号。 前面的cpno是个列名,虽然他忽略了表名。
⑥ Cpno在数据库中表示什么
课程号(Cno) 课程名(Cname) 先行课(Cpno) 学分(Ccredit)
⑦ 数据库代码解释
cpno 和cno都是course表中的字段
⑧ SQL Server 2000 初学者简单问题 各位大大帮忙解决一下 帮我运行一下,为啥16行中Cpno出错
foreign key Cpno REFERENCES Course(Cno)
改成
foreign key (Cpno) REFERENCES Course(Cpno)