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

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

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

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

河海大学计算机及信息工程学院,常州,

学年学期 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.5

5.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_name

nchar(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);Initial

Catalog=db_keshe;Integrated

Security=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 where

pname='" + 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());

相关主题
文本预览
相关文档 最新文档