内容正文:
3.1.2 建立关系数据库
1
某公司要开发一个“云课堂学习平台”项目,该项目已完成系统的E-R图,如何通过逻辑结构设计,创建数据库,将相关数据保存至数据库中呢?
项目情境
2
活动一:
数据库管理系统产品繁多、各具特色 ,常见的有Oracle、DB2、SQL Server、 MySQL等。
通过网络检索相关信息,讨论几种数据库管理系统的特点,判断该项目使用哪种数据库管理系统.
数据库管理系统
3
数据库管理系统 特点
sql server
是微软的展品,最大特点是操作方便上手容易简单,适合新手学习,一般用于.Net程序
oracle 是中大型数据库,体积大,可以支持多个实例同时运行
DB2 在大型企业得到广泛应用,向下兼容性好,风险小
Mysql 是开源的、免费的,体积小,可以并发的,一般用于网站和小型系统,PHP+mysql被誉为完美结合。
在该项目中,我们选择Mysql
4
课程
实体
属性
联系
关系模式
数据表
5
课程实体的关系模式为:(课程编号、简介、名称)
总结:一个实体 一个关系模式
实体的属性 关系的属性
实体的码 关系的码
课程
课程编号
名称
简介
关系名:课程
实体
关系模式
关系属性:
(课程编号、简介、名称)
关系的码: 课程编号
6
思考:
请将E-R图中的其它实体转为关系模式。
学习视频(视频编号,名称,视频地址)
讲师(讲师账号,密码,姓名,个人简介)
视频编号
名称
视频地址
学习视频
密码
账号
讲师
姓名
个人简介
交流展示:
在线测评(在线测评编号,测评内容,名称)
在线测评
名称
测评内容
在线测评编号
邮箱
手机
头像
密码
账号
学员
性别
身份证
姓名
学员(账号,密码,身份证,姓名,性别,头像,手机,邮箱)
交流展示:
思考:
有哪几种联系,分别是什么联系?并将结果填入下表。
10
1:1
1:n
m:n
课程与在线测试
课程与学习视频
讲师与课程
学员实体与课程实体
学员实体与学习视频实体
学员实体与在线测评实体
E-R图中的联系
11
1对1联系
课程关系模式: ,简介,名称
在线测评关系模式:
1对1联系转化为关系模式方法:
1个1对1联系可以与任意一端对应的关系模式合并,在关系模式属性中,加入另一个关系模式的码及
联系本身的属性
课程
包含
l
l
在线测评
课程编码
在线测评编号,测评内容,名称
课程编码
新的课程关系模式:
课程编号,简介,名称,在线测评编号
12
活动二:
阅读书本材料,将E-R图中的1对n联系转为关系模式
课程
讲师
发布
1
n
学习视频
课程
包含
1
n
13
学习视频
课程
包含
1
n
学习视频( 视频编号,名称,视频地址,课程编码)
课程(课程编号,简介,名称,学习视频)
1对n联系转化为关系模式方法:
一个 1对n联系可以与n端对应的关系模式合并,
1端关系的码成为n端实体的属性
14
课程
讲师
发布
1
n
课程(课程编号,简介,名称,讲师账号)
15
活动三:
探讨如何将E-R图中的m对n联系转为关系模式。
m对n联系
观看进度
评价
评分
学习
学习视频
学员
n
m
16
学员学习视频(账号,密码,身份证,姓名,性别,头像,手机,邮箱,视频编号)?
观看进度
评价
评分
学习
学习视频
学员
n
m
学员学习视频
(视频编号,名称,视频地址,学员账号)?
展示交流
17
名称
评分
邮箱
手机
头像
密码
账号
观看进度
评价
视频地址
学习
学习视频
学员
性别
身份证
姓名
n
m
学员学习视频:
( )
多对多联系转化为关系模式时,与m对n联系相连的各实体的码以及联系本身属性均转化为关系的属性,各实体的码组成关系的码或关系码的一部分。
视频编号
视频编号
账号
视频编号
评价
观看进度
评分
“学员学习视频”关系模式如下:
学员学习视频(账号,视频编号,评价,
观看进度,评分)
18
展示交流
价格
购买
课程
学员
m
n
学员购买课程(学员账号,课程编码,价格)
学员在线测评(学员账号,在线测评编号,答案,评分)
在线测评
评分
学员
答题
n
m
答案
19
建立关系数据库
20
建立关系数据库
使用phpMyAdmin图形化客户端
21
建立关系数据库
关系模式与对应数据表
关系模式:课程 数据表:courses
课程编号 Code
名称 Name
简介 IntroDuction
下面我们观看关于“建立数据库及数据表”的视频。
22
1 活动体验一
1.请同学们建立关系数据库,使用phpmyadmin的导入功能导入“数据1”数据。
23
2 活动体验二
1. 使用Python语言编程导入 “数据1/数据2”的数据,运行程序,是否能将数据导入数据库中?
数据1
数据2
24
1 探究原因
数据1
数据2
结构化比较好的数据
每行数据结构差异性大
25
判断前四位是数字的,取学校代码和学校名称。
找到带“批”字的,然后取批次信息。
如果不符合前面条件,把前面获取的批次信息,学校代码和学校名称赋值给数据表的第六列,第七列第八列。
26
将Python处理好的结构化的数据导入到数据库中
27
2 对比试验结果分析
数据导入到数据库过程中,结构化特别好的可以直接导入,结构化相对较差的,经过python处理后导入数据库,最后用数据库管理数据。
28
评价条目 自评(1~5分) 互评(1~5分)
区分数据库管理系统的特点
1:1关系模式转化
1:n关系模式转化
m:n关系模式转化
使用软件导入数据方式
使用程序导入数据的方式
对自己和同伴的学习及任务完成情况进行评价
(5=优秀,4=超出一般水平,3=满意,2=有待进步,1=不太理想)
项目评价
29
$$