数据库课程设计

一、需求分析

(一)应用背景

  校史馆讲解管理是校史馆发展的重要保障,过去我们都是通过聊天消息发布讲解信息,利用文本管理讲解的信息,这样做既不方便,效率也很低。如何更快更好的管理讲解信息一直是我们关心的问题。上学期学到了数据库,利用计算机强大功能进行管理已经比较成熟了,不仅可以提高讲解员和管理者的信息管理效率,而且可以提高我们的综合管理能力。

(二)项目目标

  校史馆讲解管理软件主要实现了讲解员信息、参观者信息和讲解信息的录入、查找、删除和修改。同时针对不同的讲解员,可以看到操作信息不同。讲解员可以自行选择讲解,并查看自己的讲解信息。根据实际分析,该校史馆讲解系统主要满足以下功能:

1.系统管理功能

  管理员使用,讲解员信息,参观者信息和讲解信息的数据管理(增删改查)

2.讲解员信息管理功能

  讲解员使用,查看讲解和参观信息。并选择讲解后可查看自己的讲解信息。

二、解决方案设计

(一)功能设计

  该系统是一个半开放系统,在管理员和讲解员输入用户名和密码后,系统验证是否正确。如果正确显示系统功能界面,否则不给予显示。在登入以后管理员可以进行查询、删除、添加等操作。根据以上分析,按照实际要求,得到以下的功能模块图。
在这里插入图片描述

(二)E-R图分析

  该系统是只要涉及三个实体类,分别是讲解员,参观者和讲解类型。同时该系统涉及登入界面、管理员主界面、讲解员主界面和各种信息管理等二十多个界面。
在这里插入图片描述
  如图所示,各个表的主键是ID号,讲解员可选择多场讲解,选择的过程就是将讲解表的信息插入我的讲解表。参观者也可多次参观,每次参观录入的讲解ID号不同。

三、逻辑结构设计

  本数据库的设计包括四张表。以下是主要表的信息和各表之间的关系图。

(一)讲解员信息表

在这里插入图片描述

(二)参观者信息表

在这里插入图片描述

(三)讲解信息表/我的讲解表

在这里插入图片描述

四、具体实现

(一)创建数据库

  为了实现数据的保存,需要用到数据库,本系统采用SQLite数据库,在创建数据库时,是在DBHelper类里创建onCreate()方法来实现创建数据库和数据表,其中使用execSQL()方法实现数据表的创建。具体代码如下:

/*
		 * 创建tab_stu【学生表】
		 */
		String createTableStu = "create table tab_stu (stu_id int , stu_name varchar(10), "
				+ "stu_gender varchar(10), stu_telephone varchar(20),"
				+ " stu_password varchar(10), stu_academy varchar(20), "
				+ "stu_profession varchar(20), stu_grade int,primary key('stu_id')) ";

		db.execSQL(createTableStu);

		/*
		 * 创建tab_visitor【参观者表】
		 */
		String createTabVisitor = "create table tab_visitor (vis_id int, vis_grade varchar(10) ,"
				+ "people_number int , xueyuan varchar(25) ,"
				+ "phonenumber varchar(20) , primary key('vis_id') )";

		db.execSQL(createTabVisitor);
		/*
		 * 创建tab_work【讲解表】
		 */
		String createTabMeet = "create table tab_meet (meet_id int, meetTime varchar(25) ,"
				+ "meet_academy varchar(20),meet_people int ,"
				+ "meet_grade varchar(20), primary key('meet_id') )";

		db.execSQL(createTabMeet);

		/*
		 * 创建tab_mywork【我的讲解表】
		 */
		String createTabMyMeet = "create table tab_mymeet (meet_id int, meet_grade varchar(25) ,"
				+ "meetTime varchar(25) , meet_academy varchar(20) ,"
				+ "meet_people int , primary key('meet_id') )";

		db.execSQL(createTabMyMeet);

(二)编写数据库实体类

  创建student、meet和visitor文件夹用来存放类和他们对应的操作,数据模型是对数据表中所有字段的封装,主要通过getXXX()和setXXX()方法实现获取数据和存放数据。创建数据表所对应的数据库实体类代码如下:

public class Stu {
   
	private Integer id;
	private String name;
	private String gender;
	private String password;
	private String telephone;
	private String academy;
	private String profession;
	private Integer grade;

	public Stu(Integer id, String name, String gender, String password, String telephone, String academy, String profession, Integer grade) {
   
		super();
		this.id = id;
		this.name = name;
		this.gender = gender;
		this.password = password;
		this.telephone 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值