首先,打开程序,弹出的一定是登陆界面,登陆界面需要输入用户名与密码,这时如果用户还没注册怎么办呢?所以登陆界面上一定要链接到用户注册界面。如果用户在登陆时忘记了密码怎么办?所以登陆界面也要有可以跳转到修改密码界面的按钮。管理员管理用户权限是一个经常要使用的功能,管理员不需要进入查询界面再去寻找修改权限的功能,所以在登陆界面上还有一个小按钮可以让管理员直接跳转到修改用户权限界面。
完成登录后用户跳转到最主要的查询界面,因为本程序的主要功能是按照各种分类条件查询东方同人音乐信息的功能。在查询界面上有菜单栏,其中编辑数据栏目里可以跳转到添加数据界面、从文件导入数据界面、修改数据界面、删除数据界面、添加原曲界面。菜单栏中还可以链接到显示用户帮助信息的帮助界面、显示版本信息和版权信息的关于界面以及退出程序的按钮。
3 数据库设计
整个后台数据库是这个系统的核心,根据数据的特性,设计好数据库结构是让这个程序成功的关键。为了系统将来的发展,尽量减少数据冗余,否则数据库会变得很庞大。
另一方面,在毕业设计程序快完成的时候,笔者向朋友借到了他服务器的使用权,然后将程序的数据库移植到朋友服务器上,这样可以是实现远程连接,才能更方便的测试和以后正式使用。
3.1 E-R图
图3.1 E-R图可以形象地看出各个表与其他表的关系,以及它们之间的关系。比如本设计数据库中社团与专辑的关系是一对多的,形象地描述了一个社团制作多张专辑还有一个社团创作多首歌曲、一张专辑中包含多首歌曲、一首歌曲可以使用多首原曲等关系。
图 3.1 E-R图
3.2 数据字典
建立表时最常使用nvarchar,这是一种长度可变的Unicode字符串类型,可根据数据而改变字符串长度,从而达到节省空间的目的。
专辑表:
为了节省数据库容量,对于包含图片信息的数据表,设计数据库时应将专辑和歌曲信息分开保存,通过连接表来做到关联。因为图片信息远大于文字信息,所以不能有重复信息产生。
表 3.2 专辑表(album)
列名 数据类型 字长 是否允许为空 描述 主键
acode nvarchar 50 不允许 专辑代码 P
aname nvarchar 50 不允许 专辑名
time nvarchar 50 允许 首发展会
cover image / 不允许 专辑封面图片
社团表:
表 3.2 社团表(group)
列名 数据类型 字长 是否允许为空 描述 主键
gcode nvarchar 50 不允许 社团代码 P
gname nvarchar 50 不允许 社团名
歌曲表:
因为东方同人音乐的特殊性,每首曲子都有对应的原曲,而原曲数远小于歌曲数,所以将字符较多的原曲名存入另一张表,通过简略的原曲编号来连接,这样可以减少数据库中的字符数。
表 3.3 歌曲表(song) C#在线音乐信息查询和管理系统设计(4):http://www.751com.cn/jisuanji/lunwen_8171.html