一、创建学生表、课程表和选课表(15分)。
学生-课程-选课模式 S-T:
学生表:Student(Sno, Sname, Ssex, Sbirth, Stel, Sdept)(5分)
课程表:Course(Cno, Cname, Cpno, Ccredit)(5分)
选课表:Sc(Sno, Cno, Grade)(5分)
说明:SC中Sno,Cno为组合主键,Sno和Cno分别为外键;且 Grade取值范围为0-100之间,课程表中要求Cname不为空;
使用sql命令行建Oracle表
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
为了构建上述描述的学生-课程-选课模式的数据库结构,我们首先需要在Oracle数据库中创建三个表:
Student
、Course
和Sc
。以下是详细的SQL语句,用于创建这三个表,并确保它们之间的关系正确设置。创建学生表(Student)
CREATE TABLE Student ( Sno VARCHAR2(10) PRIMARY KEY, -- 学号 Sname VARCHAR2(20) NOT NULL, -- 姓名 Ssex CHAR(1), -- 性别 Sbirth DATE, -- 出生日期 Stel VARCHAR2(15), -- 电话 Sdept VARCHAR2(20) -- 所在系 );
创建课程表(Course)
CREATE TABLE Course ( Cno VARCHAR2(10) PRIMARY KEY, -- 课程号 Cname VARCHAR2(30) NOT NULL, -- 课程名 Cpno VARCHAR2(10), -- 先修课程号 Ccredit NUMBER(2), -- 学分 CONSTRAINT FK_Course FOREIGN KEY (Cpno) REFERENCES Course(Cno) );
创建选课表(Sc)
CREATE TABLE Sc ( Sno VARCHAR2(10), Cno VARCHAR2(10), Grade NUMBER CHECK (Grade BETWEEN 0 AND 100), -- 成绩 PRIMARY KEY (Sno, Cno), -- 组合主键 CONSTRAINT FK_Student FOREIGN KEY (Sno) REFERENCES Student(Sno), CONSTRAINT FK_Course FOREIGN KEY (Cno) REFERENCES Course(Cno) );
这些SQL语句将创建三个表,并设置必要的约束来维护数据完整性。
Student
表包含学生的详细信息,Course
表存储课程信息,而Sc
表则用于记录学生选课情况以及成绩,同时通过外键约束确保了数据的一致性和关联性。此外,
CHECK
约束被用于限制Grade
的取值范围,确保其在0到100之间。NOT NULL
约束保证了Cname
在Course
表中的非空属性,而PRIMARY KEY
和FOREIGN KEY
则分别定义了主键和外键,以建立表间的关系。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 如果要做一个老年人平板有哪些需求
- ¥15 k8s生产配置推荐配置及部署方案
- ¥15 matlab提取运动物体的坐标
- ¥15 人大金仓下载,有人知道怎么解决吗
- ¥15 一个小问题,本人刚入门,哪位可以help
- ¥15 python安卓开发
- ¥15 使用R语言GD包一直不出结果
- ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
- ¥15 如何根据一个截图编写对应的HTML代码
- ¥15 stm32标准库的PID角度环