设有简单教学管理的6个关系模式如下:
系(系编号,系名称、系主任、联系电话、地址)
专业(专业编号、专业名称、所属系)
教师(教师编号、姓名、所在系、电话、电子信箱)
学生(学号、姓名、性别、出生日期、所学专业)
课程(课程号、课程名、学分、先修课)
学生选课(学号、课程号、成绩)
要求:在数据库EDUC中,创建对应的6个基本表,基本表的名称和属性名称由同学自行确定。
基本表的数据结构及完整性要求:
1. 系 (系编号,系名称、系主任、联系电话、地址)
系编号:字符型(定长),长度为4,主码系名称:字符型(变长),长度20,非空系主任:字符型(定长),长度为10联系电话:字符型(变长),长度20地址:字符型(变长),长度40
2. 专业 (专业编号、专业名称、所属系)
专业编号:字符型(定长),长度为2,主码专业名称:字符型(变长),长度40,非空所属系:字符型(定长),长度为4,外码
3. 教师 (教师编号、姓名、所在系、电话、电子信箱)
教师编号:字符型(定长),长度为10,主码姓名:字符型(定长),长度10,非空所在系:字符型(定长),长度为4,外码电话:字符型(变长),长度20电子信箱:字符型(变长),长度30
4. 学生 (学号、姓名、性别、出生日期、所学专业)
学号:字符型(定长),长度为10,主码姓名:字符型(变长),长度20,非空,唯一性别:字符型(定长),长度为2,性别只能为‘男‘ 或‘女’出生日期:日期型(datetime)所学专业:字符型(定长),长度为2,外码
5. 课程 (课程号、课程名、学分、先修课)
课程号:字符型(定长),长度为4,主码课程名:字符型(变长),长度30学分:数值型(长度为2,含1位小数)先修课:字符型(定长),长度为4,外码
6. 学生选课 (学号、课程号、成绩)
学号:字符型(定长),长度为10,外码课程号:字符型(定长),长度为4,外码成绩:数值型(长度为4,含1位小数),成绩必须在:0~100分之间。本表的主码为:(学号,课程号)。
-- 创建系表createtable department(dpt_id char(4)primarykey,dpt_name varchar(20)notnull,dpt_head char(10),dpt_phone varchar(20),dpt_address varchar(40))-- 创建专业表createtable major(mj_id char(2)primarykey,mj_name varchar(40)notnull,mj_dpt char(4)foreignkeyreferences department(dpt_id))-- 创建教师表createtable teacher(tc_id char(10)primarykey,tc_name char(10)notnull,tc_dpt char(4)foreignkeyreferences department(dpt_id),tc_phone varchar(20),tc_email varchar(30))-- 创建学生表createtable student(st_id char(10)primarykey,st_name varchar(20)notnullunique,st_sex char(2)check(st_sex in('男','女')),st_born datetime,tc_mj char(2)foreignkeyreferences major(mj_id))-- 创建课程表createtable course(cs_id char(4)primarykey,cs_name varchar(30),cs_credit numeric(2,1),cs_prerequisite char(4)foreignkeyreferences course(cs_id))-- 创建学生选课表createtable select_course(sc_id char(10)foreignkeyreferences student(st_id),sc_num char(4)foreignkeyreferences course(cs_id),sc_grade numeric(4,1)check (sc_grade>0 and sc_grade<100)primarykey(sc_id,sc_num))
用 Alter table 语句修改基本表的结构,以及完整性约束条件
1. 为学生表增加属性:班级,字符型(变长),长度20
-- 为学生表增加属性:班级,字符型(变长),长度20altertable student add st_class varchar(20)
2. 为课程表添加一条完整性约束条件:课程名不允许为空值
-- 为课程表添加一条完整性约束条件:课程名不允许为空值altertable course altercolumn cs_name varchar(30)notnull
3. 删除学生表中的班级属性
-- 删除学生表中的班级属性altertable student dropcolumn st_class
4. 删除学生表中对学生姓名的唯一值限制
-- 删除学生表中对学生姓名的唯一值限制altertable student dropconstraint 约束名--约束名通过图形化界面查看
-- 创建一个新的基本表createtable test(id char(10)primarykey,name varchar(10)notnull)-- 删除该表。droptable test
目前三星Note10系列已经正式发布,而接下来的9月份,苹果的iPhone11定在9月10日发布,而华为Mat
【www.altdl.com.cn--黑龙江】2018年本站提醒每个考生,填报志愿时候必须注意每个大学都有自己
继续昨天的问题,回顾一下相应的规则。1. 同学按座位号依次进行抽签;2. 抽签过程中抽到的同学不能为之前已
工作中经常会出现需要将数据按一定的条件拆分并分发给不同的收件人的情况,今天就来给大家分享一下如何使用pytho
本学习记录的代码,部分参考自gitee码云的如下工程。这个工程有详尽的Spingboot1.x教程。鸣谢!ht
40分钟前更新 | 70843人在看 |
谈到虎鲸,许多海洋科学家并没有说什么新鲜事 |
20分钟前更新 | 88065人在看 |
发现生命的故事:生物学的开端 作者:Joy Hakim — 评论 |
27分钟前更新 | 96523人在看 |
圣经所说的真正的非利士人是谁? |
19分钟前更新 | 25947人在看 |
气候变化使野火和烟雾变得更加严重。 |
46分钟前更新 | 14358人在看 |
6.4 级地震造成尤里卡附近北加州海岸人员伤亡、财产损失和停电 |
50分钟前更新 | 83601人在看 |
裸盖菇素可以帮助缓解晚期癌症患者的生存绝望吗?研究人员希望找出答案。 |
55分钟前更新 | 13804人在看 |
加州重新成为全国气候领导者 |
42分钟前更新 | 9204人在看 |
随着新冠肺炎疫情的增加,您的家庭检测可能需要更长的时间才能显示阳性结果 |
4分钟前更新 | 40930人在看 |
由植物制成的卫生产品可以帮助解决经期贫困问题 |
46分钟前更新 | 52891人在看 |
现场人员办公室工作指南 |