实验报告在我的上传资源免费领取
*《数据库应用开发技术》*
*课程报告*
足球联赛信息管理系统
班级:马赛克_______________
学号:马赛克___________
姓名:马赛克_______________
时间:2020-11-21_______________
教师: 马赛克
环境:Oracle 11g R2 64位 、亿图图示(ER图作图工具)
一、*说明* 作为世界最火热的运动非足球莫属,开发一套足球的信息管理系统, 对球队、球员、教练、场地和比赛等信息进行管理。
*二、需求分析* (1)系统维护队员、球队、场地、训练、裁判等信息。 队员信息:球员编号、姓名、身高、年龄、体重、是否替补 、球队编号。
球队信息: 球队编号、球队名称、代表地区、成立时间、教练编号。(常用)
教练信息:教练编号、姓名、性别、年龄。
场地信息:场地编号、场地名称、场地规模、场点。
训练信息:球队编号、场地编号、训练时间。
裁判信息:裁判编号、年龄、姓名、性别、级别。
比赛信息:比赛编号、比赛时间、组别、比分、裁判编号、甲方球队编号、 乙方球队编号、场地编号。
(2)每支球队有一名主教练和若干名球员。
(3)球队和场地 多对多关系。
(4)一场比赛 两个球队,一个主裁判,一块场地。
****三、E-R图设计

*四、数据库表分析与设计*
队员表(playerTable)
满足第一范式,每列保持原子性,不可再分。将球队编号作为外键,一对多关系,将一放进多。
playerTable
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| pid | Varchar2(5) | PRIMARY KEY |
| pname | Varchar2(15) | 长度需要在大点吗,外国人名字长>_<.NOT NULL |
| height | float | ----- |
| weight | float | ----- |
| alternate | Char(2) | Check ‘Y’ or ‘N’ |
| tid | Varchar2(10) | 外键 |
球队表(teamTable)
满足第一范式,每列保持原子性,不可再分。将教练编号作为外键,是因为查找球队的多,方便。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| tid | Varchar2(10) | PRIMARY KEY |
| tname | Varchar2(25) | NOT NULL |
| tdeputy | Varchar2(20) | ------ |
| establish | date | ------ |
| cid | Varchar2(10) | 外键 |
教练表(coachTable)
满足第一范式,每列保持原子性,不可再分。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| cid | Varchar2(10) | PRIMARY KEY |
| cname | Varchar2(25) | NOT NULL |
| sex | Char2 | Check ‘W’ or ‘M’ |
| age | number |
场地表(areaTable)
满足第一范式,每列保持原子性,不可再分。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| aid | Varchar2(10) | PRIMARY KEY |
| aname | Varchar2(25) | ------- |
| asize | Varchar2(10) | ------- |
| position | Varchar2(20) | ------- |
训练表(trainTable)
满足第二范式,每列都和主键相关。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| tid | Varchar2(10) | 外键 |
| aid | Varchar2(10) | 外键 |
| Trtime | Date | ---- |
裁判表(refereeTable)
满足第一范式,每列保持原子性,不可再分。
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| rid | Varchar2(10) | PRIMARY KEY (这里的rid 使用sequence sq1) |
| age | number | ----- |
| rname | Varchar2(25) | ----- |
| sex | Char2 | Check ‘W’ or ‘M’ |
| grade | Char2 |
比赛表(gameTable)
满足第三范式,减少数据冗余
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| gid | Varchar2(10) | PRIMARY KEY |
| time | Date | |
| group | Varchar2(10) | |
| score | Varchar2(5) | |
| rid | Varchar2(10) | 外键 |
| tidA | Varchar2(10) | 外键 |
| tidB | Varchar2(10) | 外键 |
| aid | Varchar2(10) | 外键 |
触发器表(LogTable)
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| pid | Varchar2(10) | ----- |
| pname | Varchar2(15) | ----- |
| tid | Varchar2(10) | ----- |
| tname | Varchar2(25) | ----- |
| cid | Varchar2(10) | ----- |
| cname | Varchar2(25) | ----- |
| time | date | ----- |
*建表:*





序列号从1001开始
//教练表插入数据

//球队表插入数据

//球员插入数据
//场地添加数据
//训练添加数据
//裁判表
//比赛表
//创建视图



//使用游标
//procedure
//function

*五、PL/SQL*
*六、总结*
问题记录:
\1. 在一个user中 constraint名唯一。
\2. 字段名称命名与group 重复,一直以为是拼写有误,果真试了三次,确实是这里有错误。
3.日期类型插入数据需要to_date()格式化
4.队伍的号会重复,所以以字符串来表球员ID 可以在前面加队伍的简称拼写来解决。
5.logTable初步设计没有日期,log怎么能没有日期呢?
unction
[外链图片转存中…(img-k4x5D05a-1606533880716)]
*五、PL/SQL*
*六、总结*
问题记录:
\1. 在一个user中 constraint名唯一。
\2. 字段名称命名与group 重复,一直以为是拼写有误,果真试了三次,确实是这里有错误。
3.日期类型插入数据需要to_date()格式化
4.队伍的号会重复,所以以字符串来表球员ID 可以在前面加队伍的简称拼写来解决。
5.logTable初步设计没有日期,log怎么能没有日期呢?
本文档介绍了足球联赛信息管理系统的数据库设计,包括队员、球队、场地等信息的管理,并详细阐述了各表的设计思路及字段说明。
1462

被折叠的 条评论
为什么被折叠?



