点歌系统.docx

上传人:b****8 文档编号:9746869 上传时间:2023-02-06 格式:DOCX 页数:40 大小:885.66KB
下载 相关 举报
点歌系统.docx_第1页
第1页 / 共40页
点歌系统.docx_第2页
第2页 / 共40页
点歌系统.docx_第3页
第3页 / 共40页
点歌系统.docx_第4页
第4页 / 共40页
点歌系统.docx_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

点歌系统.docx

《点歌系统.docx》由会员分享,可在线阅读,更多相关《点歌系统.docx(40页珍藏版)》请在冰豆网上搜索。

点歌系统.docx

点歌系统

数据库上机实验报告

学院化工学院

专业过程装备与控制工程

课程题目点歌系统

年级2009

成员李世铭3009207179

李苍亮3009207177

鲁佳3009207187

 

2010年12月3日

 

目录

1.题目1

2.变量及关系说明1

3.需求分析2

4.组员组成,任务分配3

5.E-R图展示4

6.关系图展示5

7.存储过程展示5

8.触发器展示16

9.总结经历学习不足18

10.附:

脚本展示19

 

1.题目

点歌系统

2.变量及关系说明

关系1:

歌手(实体集)

变量:

歌手ID,歌手姓名,性别,首字母,姓名长度,地域,类型

主键:

歌手ID

约束:

性别,地域,类型

关系2:

歌曲(实体集)

变量:

歌曲ID,歌曲名称,首字母,歌曲长度,语种,歌手

主键:

歌曲ID

约束:

语种

外键:

歌手

关系3:

管理员(实体集)

变量:

管理员ID,姓名,权限

主键:

管理员ID

约束:

权限

关系4:

用户(实体集)

变量:

用户ID,房间号,价格

主键:

用户ID

关系5:

会员继承(用户)

变量:

用户ID,房间号,价格,会员ID,会员等级

主键:

用户ID

关系6:

一般用户继承(用户)

变量:

用户ID,房间号,价格,排名

主键:

用户ID

关系7:

已选歌曲(实体集)

变量:

歌曲ID,时长,顺序

外键:

顺序

关系8;点歌(联系集)

 

关系9:

预约(联系集)

变量:

总时长

3.需求分析

点歌系统需求分析:

(1)点歌系统的主要特点:

●在系统中用户进行选择,通过管理员提出订单,然后对点歌系统进行访问

●对于每个用户,都会有当时的ID,房间号和价格属性,而用户可以分为普通用户和会员,普通用户可以被评判等级,会员如果出示具有卡号ID的不同级别的会员卡,可以享受不同级别的优惠政策,影响价格属性。

●歌曲信息包括歌曲ID,歌曲名称,首字母缩写,语种,歌名长度,歌曲时长和歌手。

●歌手信息包括歌手ID,歌手姓名,首字母缩写,歌手性别,歌手是单人还是组合,歌手来自大陆、港台、韩日抑或欧美国家。

●用户通过从歌手点歌或从歌名点歌来增加已选歌曲,已选歌曲按顺序排放并且播放,已选歌曲的总时间是所有已选歌曲单个时间的总长

●管理员有不同的权限,可以增加、删除或者更新歌曲,也可以安排用户进行开房等内容。

(2)分析点歌系统需求

系统中的功能模块可由四部分组成:

1)歌曲功能集合,2)歌手功能集合,3)用户管理员功能集合,4)已选歌曲功能集合。

4.组员组成,任务分配

组长:

李世铭

组员:

李苍亮

鲁佳

5.E-R图展示

6.关系图展示

7.存储过程展示

功能1;添加歌手

 

功能2:

添加类型

 

功能3:

添加区域

 

功能4:

添加语言

 

功能5:

添加歌曲

 

功能6:

添加预备会员卡等级

 

功能7:

添加顾客

 

功能8:

添加会员

 

功能9、10、11:

添加普通房间获取房间重新获取房间

 

功能12:

创建开始点歌

 

功能13:

定房间

 

功能14:

添加服务员

功能15:

点歌

 

功能16:

切歌

 

功能17、18、19:

结账添加时间价格添加附加价格

功能20添加清屏

 

8.触发器展示

1更新顾客

2停止点歌

9.总结经历学习不足

数据库系统是一个庞大的,覆盖面很广的系统,蕴含了很多很多相关的知识和内容,只有在不断的学习中,才可以逐渐领悟进而掌握数据库的相关知识和内容,而且数据库也是不断更新的,这更要求我们要尽可能的紧跟它更新的步伐,多学知识。

在编写程序的时候我们遇到了种种问题,有些问题是书本上的知识没有讲解的,这需要的门通过搜索相关资料进行学习,在搜索中,我们也得到了提高。

不过,我们还有很多不足,例如在选择这个课题之后,发现其并不像仓库管理等数据库一样更多依赖数据,而是需要我们更多的思考建立关系,在这个过程中,我们可能还是有所欠缺的。

在今后的学习中我们也会多锻炼这方面的能力。

10.附:

脚本展示

一、创建表脚本展示

1、创建区域表

CREATETABLE`area`(

`area`varchar(20)NOTNULL,

PRIMARYKEY(`area`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

2、创建预备会员卡等级

CREATETABLE`card_level`(

`level`int(11)NOTNULL,

`level_name`varchar(30)NOTNULL,

PRIMARYKEY(`level`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

3、创建国籍

CREATETABLE`stat`(

`stat`varchar(20)NOTNULL,

PRIMARYKEY(`stat`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

4.、创建服务员

CREATETABLE`waitor`(

`id`int(11)NOTNULL,

`name`varchar(100)NOTNULL,

`engage_time`int(11)NOTNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

5、创建类型

CREATETABLE`type`(

`type`varchar(50)NOTNULL,

PRIMARYKEY(`type`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

6、创建顾客

CREATETABLE`customer`(

`customer_id`int(11)NOTNULL,

`total_cost`int(11)NOTNULL,

PRIMARYKEY(`customer_id`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

7创建语言

CREATETABLE`language`(

`language`varchar(20)NOTNULL,

PRIMARYKEY(`language`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

8、创建歌手

CREATETABLE`singer`(

`singer_id`int(11)NOTNULL,

`singer_name`varchar(100)NOTNULL,

`first_letter`varchar(20)NOTNULL,

`type`varchar(50)DEFAULTNULL,

`length`int(11)NOTNULL,

`area`varchar(20)DEFAULTNULL,

PRIMARYKEY(`singer_id`),

KEY`type`(`type`),

KEY`area`(`area`),

CONSTRAINT`singer_ibfk_1`FOREIGNKEY(`type`)REFERENCES`type`(`type`),

CONSTRAINT`singer_ibfk_2`FOREIGNKEY(`area`)REFERENCES`area`(`area`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

9、创建歌曲

CREATETABLE`song`(

`song_id`int(11)NOTNULL,

`time`int(11)NOTNULL,

`song_name`varchar(100)NOTNULL,

`first_name`varchar(20)NOTNULL,

`length`int(11)NOTNULL,

`language`varchar(20)DEFAULTNULL,

`singer_id`int(11)DEFAULTNULL,

PRIMARYKEY(`song_id`),

KEY`language`(`language`),

KEY`singer_id`(`singer_id`),

CONSTRAINT`song_ibfk_1`FOREIGNKEY(`language`)REFERENCES`language`(`language`),

CONSTRAINT`song_ibfk_2`FOREIGNKEY(`singer_id`)REFERENCES`singer`(`singer_id`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

10、创建房间

CREATETABLE`room`(

`room_id`int(11)NOTNULL,

`in_use`tinyint

(1)NOTNULL,

PRIMARYKEY(`room_id`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

11、创建已选歌曲

CREATETABLE`chozen`(

`room_id`int(11)NOTNULL,

`sequence`int(11)NOTNULL,

`stat`varchar(20)NOTNULL,

`song_id`int(11)NOTNULL,

PRIMARYKEY(`room_id`,`sequence`),

KEY`song_id`(`song_id`),

KEY`stat`(`stat`),

CONSTRAINT`chozen_ibfk_1`FOREIGNKEY(`room_id`)REFERENCES`room`(`room_id`),

CONSTRAINT`chozen_ibfk_2`FOREIGNKEY(`song_id`)REFERENCES`song`(`song_id`),

CONSTRAINT`chozen_ibfk_3`FOREIGNKEY(`stat`)REFERENCES`stat`(`stat`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

12创建点歌

CREATETABLE`ordered`(

`room_id`int(11)NOTNULL,

`customer_id`int(11)NOTNULL,

PRIMARYKEY(`room_id`),

KEY`customer_id`(`customer_id`),

CONSTRAINT`ordered_ibfk_1`FOREIGNKEY(`room_id`)REFERENCES`room`(`room_id`),

CONSTRAINT`ordered_ibfk_2`FOREIGNKEY(`customer_id`)REFERENCES`customer`(`customer_id`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

13、创建会员

CREATETABLE`member`(

`card_id`int(11)NOTNULL,

`card_level`int(11)NOTNULL,

`customer_id`int(11)NOTNULL,

PRIMARYKEY(`card_id`),

KEY`card_level`(`card_level`),

KEY`customer_id`(`customer_id`),

CONSTRAINT`member_ibfk_1`FOREIGNKEY(`card_level`)REFERENCES`card_level`(`level`),

CONSTRAINT`member_ibfk_2`FOREIGNKEY(`customer_id`)REFERENCES`customer`(`customer_id`)

)ENGINE=InnoDBDEFAULTCHARSET=latin1;

 

二、插入数据脚本展示

1、插入地域信息

calladd_area('Mainland');

calladd_area('Malaysia');

calladd_area('HongKong');

calladd_area('Taiwan');

calladd_area('Japan');

calladd_area('America');

calladd_area('Korea');

calladd_area('Spain');

calladd_area('Sweden');

calladd_area('UK');

calladd_area('France');

calladd_area('Italy');

calladd_area('Germany');

calladd_area('Argentina');

calladd_area('Poland');

calladd_area('Austria');

calladd_area('Belgium');

calladd_area('Russia');

calladd_area('Other');

 

2、插入预备会员卡等级信息

calladd_card_level(@cl,'Fronze');

calladd_card_level(@cl,'Silver');

calladd_card_level(@cl,'Gold');

calladd_card_level(@cl,'Platina');

calladd_card_level(@cl,'Diamond');

calladd_card_level(@cl,'A');

calladd_card_level(@cl,'B');

calladd_card_level(@cl,'C');

calladd_card_level(@cl,'D');

calladd_card_level(@cl,'E');

calladd_card_level(@cl,'F');

calladd_card_level(@cl,'G');

calladd_card_level(@cl,'H');

calladd_card_level(@cl,'I');

calladd_card_level(@cl,'J');

calladd_card_level(@cl,'K');

calladd_card_level(@cl,'L');

calladd_card_level(@cl,'M');

calladd_card_level(@cl,'N');

calladd_card_level(@cl,'O');

 

3、插入顾客信息

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

calladd_customer();

 

4、插入语言种类信息

calladd_language('Mandarin');

calladd_language('English');

calladd_language('Japanese');

calladd_language('Korean');

calladd_language('Cantonese');

calladd_language('French');

calladd_language('Spanish');

calladd_language('German');

calladd_language('Italian');

calladd_language('Belge');

calladd_language(’Polish');

calladd_language('Russian');

calladd_language('Autrichien');

calladd_language('Hungarian');

calladd_language('Swedish');

calladd_language('Dialects');

calladd_language('Johab');

calladd_language('Thai');

calladd_language('Malay');

calladd_language('Other');

 

5、插入会员信息

calladd_member(20,1);

calladd_member(19,1);

calladd_member(18,1);

calladd_member(17,1);

calladd_member(16,1);

calladd_member(15,1);

calladd_member(14,1);

calladd_member(13,1);

calladd_member(12,1);

calladd_member(11,1);

calladd_member(10,1);

calladd_member(9,1);

calladd_member(8,1);

calladd_member(7,1);

calladd_member(6,1);

calladd_member(5,1);

calladd_member(4,1);

calladd_member(3,1);

calladd_member(2,1);

calladd_member(1,1);

 

6、插入歌手类型信息

calladd_type('femalesingle');

calladd_type('malesingle');

calladd_type('combination');

 

7、插入歌手信息

calladd_singer(@id,'zhoujielun','ZJL','malesingle',3,'Taiwan');

calladd_singer(@id,'liangjingru','LJR','femalesingle',3,'Malaysia');

calladd_singer(@id,'xusong','XS','malesingle',2,'Mainland');

calladd_singer(@id,'cangmumayi','CMMY','femalesingle',4,'Japan');

calladd_singer(@id,'backstreetsboys','BB','combination',2,'occident');

calladd_singer(@id,'westlife','WL','combination',2,'occident');

calladd_singer(@id,'chenyixun','CYX','malesingle',3,'HongKong');

calladd_singer(@id,'chenhuilin','CHL','femalesingle',3,'HongKong');

calladd_singer(@id,'ladygaga','LG','femalesingle',3,'occident');

calladd_singer(@id,'caiyan','CY','femalesingle',2,'Korea');

calladd_singer(@id,'taozhe','TZ','malesingle',2,'Taiwan');

calladd_singer(@id,'sunnan','SN','malesingle',2,'Mainland');

calladd_singer(@id,'hanhong','HH','femalesingle',2,'Mainland');

calladd_singer(@id,'liuhuan','LH','malesingle',2,'Mainland');

calladd_singer(@id,'tuhonggang','THG','malesingle',3,'Mainland');

calladd_singer(@id,'wangfei','WF','femalesingle',2,'Mainland');

calladd_singer(@id,'BY2','BY','combination',2,'TaiWan');

calladd_singer(@id,'xiaohudui','XHD','combination',3,'Mainland');

calladd_singer(@id,'wanglihong','WLH','malesingle',3,'Taiwan');

calladd_singer(@id,'linjunjie','LJJ','malesingle',3,'Singapore');

 

8、插入曲目信息

calladd_song(@id,301,'qinghuaci','QHC',3,'Mandarin',0);

calladd_song(@id,364,'daoxian

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1