当前位置:文档之家› 个人信息管理系统数据库设计

个人信息管理系统数据库设计

个人信息管理系统数据库设计河海大学计算机及信息工程学院,常州,学年学期 2012第二学期项目名称个人信息管理项目组员曹清云、陈天昊指导教师景雪琴组号:8 ..目录一、课题背景及意义 ..................................................................... .......................................... 3 二、需求分析 ..................................................................... ...................................................... 3 三、概要设计 ..................................................................... ...................................................... 7 四、数据库实施阶段 ..................................................................... .......................................... 7 五、详细设计 ..................................................................... ...................................................... 8 六、总结 ..................................................................... ............................................................ 20 七、参考文献 ..................................................................... . (20)..一、课题背景及意义近些年来,随着社会的不断发展与进步,人们对于信息化工作的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,信息管理工作的重要性已经逐渐被人们所认识,而为了方便个人对日常事务进行信息化管理,使得信息存储达到准确,快速完善并且加快速度反馈进行信息处理加工,我们想设计出了个人信息管理系统,系统实现了资料管理信息化,提供快速准确的处理通讯录删减,改存,搜索,盘点等多种功能模式,并且支持多种查看方式。

而个人信息管理的系统的实施,可以逐步提高个人对自身综合信息的管理水平。

二、需求分析软件的具体功能:1 修改登录信息:用户能更改自己的登录名和密码2 行程管理:用户能添加,删除自己的将要做的事包括内容,时间,备注。

在该界面也能查找日历表,还能提醒用户将要做的事。

3 通讯录管理:用户能添加,删除,修改自己通讯录里的信息包括名字,联系方式,地址。

用户还能使用模糊查询,查找自己不确定的名字的通讯信息。

4 财务管理:用户能添加,删除,修改自己财务表里的信息包括财务名,资金数,去向,备注。

还能单独显示所有支出或收入的钱,也能显示所有钱的总和。

5 个人信息管理:用户能修改自己的姓名,爱好,座右铭。

业务需求:..个人信息管理登录N验证信息Y行程管行程管普通用户VIP用户理理通讯录通讯录管理管理个人信财务管息管理理登录信个人信息管理息管理功能需求:登录信编号功能名称功能说明息管理0 登录用户输入用户名和密码登录系统 1.1 修改用户名修改用户的登录名1.2 修改密码用户密码的修改2 修改个人信息修改个人姓名、爱好、座右铭 3.1 添加财务信息增加一条财务信息3.2 删除财务信息删除选定的财务信息3.3 更改财务信息更改选定的财务信息4.1 通讯录信息添加添加通讯录4.2 通讯录信息删除删除选定的通讯录信息4.3 通讯录信息修改修改选定的通讯录信息4.4 搜索通讯录信息根据输入的关键字模糊查询通讯录5.1 添加行程信息行程信息的添加5.2 删除行程信息删除选定的行程信息..数据需求:系统的处理对象有:用户:姓名、爱好、座右铭、用户名、密码个人管理:姓名、爱好、座右铭行程管理:行程内容、时间、备注通讯录管理:朋友名、联系方式1、联系方式2、地址财务管理:财务名、资金数、去向、备注事务:增加、删除、修改、查询顶层数据流图:管理个人信息管用户理系统更新信息0层图:1修改登录信用户表事务息事务2事务修改个人信用户表息事务事务用户3事务财务表管理财务事务4通讯录表事务通讯录管理事务5事务行程表行程管理..第三层图:3.1添加3.2删除3财务管理3.3 修改3.4查询4.1添加4.2删除4通讯录管理4.3 修改4.4查询4.55.1模糊查添加询5.2删除5财务管理5.3查询..三、概要设计功能模块图:登录系统普通用户VIP用户个人信息登录信息行程管理通讯录财务管理管理管理E_R图:姓名喜好座右铭用户名密码修改登录信修改个人信11用户息息111!1管理管理N管理N行程财务N备注通信录行程内容财务名备注时间资金去向朋友姓名地址联系方式1联系方式2 四、数据库实施阶段数据库的完整性和安全性设计,根据业务规则设计的触发器、存储过程。

..用户表db_person列名数据类型取值约束索引否主键/外键可否为空说明 name vachar(50) Clustered 主键 not null 用户名 pwd nchar(10) not null 密码 p_namenchar(10) not null 用户真名 p_favour nchar(50) not null 爱好 p_motto nchar(50) not null 座右铭 vip int null 是否为VIP行程表 db_xingcheng列名数据类型取值约束索引否主键/外键可否为空说明 id int 自增Clustered 主键 not null 编号 xingcheng varchar(max) not null 行程名字date datetime 日期格式 not null 行程时间 beizhu varchar(max) not null 行程备注 pname varchar(50) 外键 not null 用户名通讯录表db_phonebook列名数据类型取值约束索引否主键/外键可否为空说明 id int 自增Clustered 主键 not null 编号 name ntext not null 好友姓名 phone nchar(14) not null 联系方式1 phone2 nchar(14) null 联系方式2 address nchar(20)null 好友地址 pname varchar(50) 外键 not null 用户姓名财务表db_account列名数据类型取值约束索引否主键/外键可否为空说明 id int 自增Clustered 主键 not null 编号 account nchar(10) not null 账户名 sum float not null 所用资金数 inout nchar(10) not null 进或出 remarks nchar(10)null 备注 pname varchar(50) not null 用户姓名五、详细设计1、登录模块:界面..关键代码:private void enter_Click(object sender, EventArgs e){if (string.Empty != username.Text.Trim()){Class1 sql_form1 = new Class1();sql_form1.SelectDs("select * from tb_person where name='" + username.Text.Trim() + "'", "aa");if (string .Compare(sql_form1.ds.Tables["aa"].Rows[0][0].ToString().Trim (), username.Text.Trim())==0 &&(sql_form1.ds.Tables["aa"].Rows[0][1].ToString().Trim () == password.Text.Trim())){this.Hide();Form2 Form2 = new Form2();Form2.str_form2 = username.Text.Trim();Form2.Show();}else{MessageBox.Show("用户名或密码错误!", "错误提示"); password.Clear();}}}2、主界面:..3、个人备忘录:关键代码:Class1 select1 = new Class1();SqlCommand comm5;comm5 = select1.Select("*", "tb_xingcheng", "date>=getdate() and pname='" +str_form2 + "'");SqlDataReader dr1 = comm5.ExecuteReader();if (dr1 != null)..{dr1.Read();listBox1.Items.Add("行程:"+dr1[1].ToString ());listBox1.Items.Add("日期:"+dr1[2].ToString());listBox1.Items.Add("备注:" + dr1[3].ToString());}dr1.Close();select1.con_close();listView3.Columns[0].Width = 0;String connstr = "Data Source=(local);InitialCatalog=db_keshe;IntegratedSecurity=True";SqlConnection conn = new SqlConnection(connstr);conn.Open();SqlCommand comm4 = new SqlCommand("select id from tb_xingcheng where pname='" + str_form2 + "'", conn);SqlDataReader dr = comm4.ExecuteReader();if (dr != null){while (dr.Read()){listView3.Items.Add(dr[0].ToString());}}dr.Close();SqlCommand comm = new SqlCommand("select xingcheng from tb_xingcheng where pname='" + str_form2 + "'", conn);dr = comm.ExecuteReader();if (dr != null){i = 0;while (dr.Read()){listView3.Items[i++].SubItems .Add (dr[0].ToString ());}}dr.Close();SqlCommand comm2 = new SqlCommand("select date from tb_xingcheng wherepname='" + str_form2 + "'", conn);..dr = comm2.ExecuteReader();if (dr != null){i = 0;while (dr.Read()){listView3.Items[i++].SubItems.Add(dr[0].ToString());}}dr.Close();SqlCommand comm3 = new SqlCommand("select beizhu from tb_xingcheng where pname='" + str_form2 + "'", conn);dr = comm3.ExecuteReader();if (dr != null){i = 0;while (dr.Read()){listView3.Items[i++].SubItems.Add(dr[0].ToString()); }}dr.Close();conn.Close();4、行程的添加界面:关键代码:private void button1_Click(object sender, EventArgs e) {string xingcheng = textBox1.Text.Trim();string time = textBox2.Text.Trim(); ..string remark = textBox3.Text.Trim();Class1 insert = new Class1();if (string.Empty != textBox1.Text.Trim()){if (insert.Insert("tb_xingcheng", xingcheng, time, remark, str_form3) == 1){MessageBox.Show("添加成功!", "提示");textBox1.Clear();textBox2.Clear();textBox3.Clear();this.Close();}}else{MessageBox.Show("请输入行程内容~", "提示");}}5、通讯录界面:关键代码:listView4.Columns[0].Width = 0;int i = 0;Class1 select = new Class1();SqlCommand comm1;comm1 = select.Select("id", "tb_phonebook", "pname='" + str_form2 + "'");SqlDataReader dr;..dr = comm1.ExecuteReader();if (dr != null){i = 0;while (dr.Read()){listView4.Items.Add(dr[0].ToString());}}dr.Close();SqlCommand comm2;comm2 = select.Select("name", "tb_phonebook", "pname='" + str_form2 +"'");dr = comm2.ExecuteReader();if (dr != null){i = 0;while (dr.Read()){listView4.Items[i++].SubItems.Add(dr[0].ToString());}}dr.Close();SqlCommand comm3;comm3 = select.Select("phone", "tb_phonebook", "pname='" + str_form2 +"'");dr = comm3.ExecuteReader();if (dr != null){i = 0;while (dr.Read()){listView4.Items[i++].SubItems.Add(dr[0].ToString());}}dr.Close();SqlCommand comm4;comm4 = select.Select("phone2", "tb_phonebook", "pname='" + str_form2 +"'");dr = comm4.ExecuteReader();if (dr != null)..{i = 0;while (dr.Read()){listView4.Items[i++].SubItems.Add(dr[0].ToString());}}dr.Close();SqlCommand comm5;comm5 = select.Select("address", "tb_phonebook","pname='"+str_form2+"'");dr = comm5.ExecuteReader();if (dr != null){i = 0;while (dr.Read()){listView4.Items[i++].SubItems.Add(dr[0].ToString());}}dr.Close();select.con_close();6、通讯录添加界面关键代码:if (string.Empty != textBox1.Text.Trim() && button1.Text == "添加") {string str1 = textBox1.Text.Trim();string str2 = textBox2.Text.Trim(); ..string str3 = textBox3.Text.Trim();string str4 = textBox4.Text.Trim();Class1 insert = new Class1();if (1 == insert.Insert("insert into tb_phonebook(name,phone,phone2,address,pname) values('" + str1 + "','" + str2 + "','" + str3 + "','" + str4 + "','"+ str_form4 + "')")){MessageBox.Show("添加成功~", "提示");insert.con_close();this.Close();}else{MessageBox.Show("添加失败~", "提示");}}7、个人理财界面:关键代码:int sum=0;int sum2=0;listView2.Columns[0].Width = 0;if (1 == sql.SelectDs("select * from tb_account where pname='" + str_form2 +"'", "tb_account")){listView2.Items.Clear(); ..for (int i = 0; i < sql.ds.Tables[0].Rows.Count; i++){listView2.Items.Add(sql .ds .Tables["tb_account"].Rows[i][0].ToString ());listView2.Items[i].SubItems.Add(sql.ds.Tables["tb_account"].Rows[i][ 1].ToString ());listView2.Items[i].SubItems.Add(sql.ds.Tables["tb_account"].Rows[i][ 2].ToString());listView2.Items[i].SubItems.Add(sql.ds.Tables["tb_account"].Rows[i][ 3].ToString());listView2.Items[i].SubItems.Add(sql.ds.Tables["tb_account"].Rows[i][ 4].ToString());if ((int)(sql.ds.Tables[0].Rows[i][2]) > 0){sum = sum + (int)(sql.ds.Tables["tb_account"].Rows[i][2]);}else{sum2 = sum2 + (int)(sql.ds.Tables["tb_account"].Rows[i][2]);}}listView1.Items[0].SubItems.Add(sum.ToString ());listView1.Items[1].SubItems.Add(sum2.ToString());sum=sum + sum2;listView1.Items[2].SubItems.Add(sum.ToString ());}else{MessageBox.Show("导入数据出错","提示");}7、增加账户信息:..关键代码:if ("添加" == button1.Text && string.Empty != textBox1.Text.Trim()) {str[1] = textBox1.Text.Trim();str[2] = textBox2.Text.Trim();str[3] = textBox3.Text.Trim();str[4] = textBox4.Text.Trim();if (1 == sql_form5.Insert("insert into tb_account(account,sum,inout,remarks,pname) values('" + str[1] + "','" + str[2] + "','" + str[3] + "','" + str[4] +"','" + str_form5 + "')")){this.Close();MessageBox.Show("添加成功", "提示");}else{MessageBox.Show("添加失败", "提示");}}8、个人信息管理:..关键代码:private void button1_Click(object sender, EventArgs e){if (pare(button1.Text, "修改个人信息") == 0){button1.Text = "修改完成";textBox5.Enabled = true;textBox6.Enabled = true;textBox4.Enabled = true;}else{button1.Text = "修改个人信息";sql.Update("update tb_person set p_name='"+textBox5.Text .Trim()+"',p_motto='"+textBox4.Text .Trim()+"',p_favour='"+textBox6.Text .Trim ()+"' wherename='"+str_form2 +"'");textBox5.Enabled = false;textBox6.Enabled = false;textBox4.Enabled = false;}}..六、总结下面我简单的谈谈对此次设计的感想、收获和体会。

相关主题