基于数据库技术及应用实验:实验一 教学管理数据库设计与实现原理

实验一 教学管理数据库设计与实现原理

一、实验目的

掌握数据库基本操作;

掌握创建表结构、修改表结构、查看表结构;

掌握设置主键、外键约束,创建表联系;

掌握插入、修改、删除表记录、查看表记录。

二、实验内容

1.创建教学管理数据库tms

2.按下面关系模式图创建数据表,设计合理表结构,并创建联系。

要求:五个表分别命名为:学生表tms_stu,课程表tms_cou,教师表tms_tea,选课表tms_sc,授课表tms_tc

图1 教学管理数据库关系模式图

3.创建并导入txt文档中的记录要求:txt文档命名与数据表名一致,如学生表为tms_stu,则学生记录txt文档为tms_stu。没有外键的表中记录至少5条,有外键的表中记录至少10条。百度解决有bom的utf8开头有标记问题。

三、实验结果

要求:仅截图,不写代码。仅截取结果部分,不要截取整个窗口,注意截图中文字大小与word文档中文字大小保持一致,图片不清晰,可双击图片对其进行锐化处理

1.tms_stu表结构和表记录 

2.tms_cou表结构和表记录

3.tms_tea表结构和表记录

4.tms_sc表结构和表记录

 

5.tms_tc表结构和表记录

四、实验中遇到的问题及解决方法、总结

1.遇到的第一个问题就是在导入txt文档里面的数据时候,输入load data  infile 'C:Users/lh/Desktop/tms_cou.txt'into table tms_cou lines terminated by '\r\n';会给我提示报一个错误ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

后面我在data后面加上一个local就能成功导入进去了。

2.遇到的第二个问题是在txt文档里面

原本txt文档里面有内容,但是提示表中没有数据,后面发现在tms_tc文档里面回车多了一行,所以系统自动检查多了一行记录,最后把txt文档里面多的一行删除掉就可以了,系统也不在报warning了。

3.遇到的第三个问题就是txt文档里面出现空格的情况

如图所示,在电话那一条记录里面少了两条数据,并且在电子邮件哪里出现记录混乱,后面发现是在tab前面多了一个空格,后面删掉后就可以了。

总结:这次实验问题多出现在txt文档里面,下次可以不用tab,可用逗号分割开,避免出现今天类似的错误。


五、附件(创建表结构相关代码)

CREATE TABLE `tms_stu` (
  `snum` varchar(20) NOT NULL COMMENT '学号',
  `name` varchar(20) NOT NULL COMMENT '姓名',
  `sex` enum('男','女') DEFAULT NULL COMMENT '性别',
  `birthday` date NOT NULL COMMENT '出生日期',
  `leaguemenbers` enum('是','否') DEFAULT NULL COMMENT '是否团员',
  `enroltime` date NOT NULL COMMENT '入学时间',
  `classnum` varchar(20) NOT NULL COMMENT '班级编号',
  `speciality` varchar(20) NOT NULL COMMENT '专业',
  `score` varchar(20) NOT NULL COMMENT '入学成绩',
  `photo` varchar(20) NOT NULL COMMENT '照片',
  PRIMARY KEY (`snum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 CREATE TABLE `tms_cou` (
  `coursename` varchar(20) NOT NULL COMMENT '课程名称',
  `coursenum` varchar(20) NOT NULL COMMENT '课程编码',
  `class` varchar(20) NOT NULL COMMENT '课时',
  `credits` varchar(20) NOT NULL COMMENT '学分',
  PRIMARY KEY (`coursenum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


 CREATE TABLE `tms_tea` (
  `teachernum`varchar(20) NOT NULL COMMENT '教师编号',
  `teateachername` varchar(20) NOT NULL COMMENT '姓名',
  `sex` enum('男','女') DEFAULT NULL COMMENT '性别',
  `worktime` date NOT NULL COMMENT '工作时间',
  `political` varchar(20) NOT NULL COMMENT '政治面貌',
  `degree` varchar(20) NOT NULL COMMENT '学历',
  `job` varchar(20) NOT NULL COMMENT '职称',
  `department` varchar(20) NOT NULL COMMENT '系别',
  `phone` varchar(20) NOT NULL COMMENT '联系电话',
  `email` varchar(20) NOT NULL COMMENT '电子邮箱',
  PRIMARY KEY (`teachernum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 CREATE TABLE `tms_tc` (
  `coursenum` varchar(20) NOT NULL COMMENT '课程编码',
  `teachernum` varchar(20) NOT NULL COMMENT '教师编号',
  `classnum` varchar(20) NOT NULL COMMENT '班级编号',
  `syear` varchar(20) NOT NULL COMMENT '学年',
  `term` varchar(20) NOT NULL COMMENT '学期',
  `place` varchar(20) NOT NULL COMMENT '授课地点',
  `teachtime` varchar(20) NOT NULL COMMENT '授课时间',
  KEY `coursenum` (`coursenum`),
  KEY `teachernum` (`teachernum`),
  CONSTRAINT `tms_tc_ibfk_1` FOREIGN KEY (`coursenum`) REFERENCES `tms_cou` (`coursenum`),
  CONSTRAINT `tms_tc_ibfk_2` FOREIGN KEY (`teachernum`) REFERENCES `tms_tea` (`teachernum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `tms_sc` (
  `snum` varchar(20) NOT NULL COMMENT '学号',
  `syear` varchar(20) NOT NULL COMMENT '学年',
  `term` varchar(20) NOT NULL COMMENT '学期',
  `coursenum` varchar(20) NOT NULL COMMENT '课程编码',
  `score` varchar(20) NOT NULL COMMENT '成绩',
  KEY `snum` (`snum`),
  KEY `coursenum` (`coursenum`),
  CONSTRAINT `tms_sc_ibfk_1` FOREIGN KEY (`snum`) REFERENCES `tms_stu` (`snum`),
  CONSTRAINT `tms_sc_ibfk_2` FOREIGN KEY (`coursenum`) REFERENCES `tms_cou` (`coursenum`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值