数据库课程设计----个人通讯录系统

 

1.需求分析

我们都有许多的好友,要把他们的各项信息都记录清楚可不是一件简单的事情,所以我决定设计一个个人简单通讯录数据库,用来存储好友各类信息。

 

实际中,各模块包涵的数据结构如下:

主程序,在可视化的界面对各个模块的调度,在下拉菜单中激活各个子窗口

添加联系人,通过程序,向数据库中添加联系人的基本信息,姓名,联系电话,地址等。

删除联系人,通过程序,从数据库中删除联系人的基本信息,姓名,联系电话,地址等。

修改信息,通过程序,操作数据库,修改联系人的基本信息,姓名,联系电话,地址等。

查询联系人,通过程序,从数据库中查找联系人的基本信息,姓名,联系电话,地址等。

2. 数据库概念设计

在现实世界中,事物内部以及事物之间是有联系的。实体内部的联系通常是指组成实体的各属性之间的联系,实体之间的联系通常是指不同实体型的实体集之间的联系。

两个实体型之间的联系可以分为3种。

1. 一对一联系(1:1)

2. 一对多联系(1:n)

3. 多对多联系(m:n)

具体在这个数据库中,因为一个人的各类信息都是确定的,一个人的基本信息与他的学校信息,家庭信息,联系方式信息之间都是一一对应的关系,一个人只能有一个姓名,一个编号,一个学号,一个性别,一个年龄,一个年级等。所以实体型之间联系方式应该为一对一联系(1:1)。

本设计根据上面的设计规划出的实体,各个实体的E-R图及其关系描述如下:

局部E-R图如图2.1、2.2、2.3所示。

 

 

 

 

 

全局E-R图如图2.4所示

 

3.数据库逻辑设计

  

基本信息表Person用来保存联系人姓名、编号、性别、年龄。

结构如表3.1所示

属性名称

数据结构

说明

约束

name

Varchar(20)

联系人姓名

不可重复

cno

Int

联系人编号

主码

sex

Char(2)

联系人性别

男或者女

age

Int

联系人年龄

                    表3.1 基本信息表Person结构表

 

学校信息表School用来保存编号、宿舍、学号、专业、年级。

结构如表3.2所示

属性名称

数据结构

说明

约束

cno

Int

联系人编号

主码引用person外码

sno

Varchar(20)

联系人学号

Not null

sd

Varchar(20)

联系人宿舍

major

Varchar(20)

联系人专业

grade

Varchar(10)

联系人年级

                   表3.2 学校信息表School结构表

 

家庭信息表Home用来保存编号、省份、详细住址、家庭电话。

结构如表3.3所示

属性名称

数据结构

说明

约束

cno

Int

联系人编号

主码引用person外码

province

Varchar(10)

联系人省份

address

Varchar(40)

联系人详细地址

tele

Varchar(12)

联系人家庭电话

                 表3.3 家庭信息表Home结构表

 

联系方式表Information用来保存编号、电话号码、QQ、微信、E-mail。

结构如表3.4所示

属性名称

数据结构

说明

约束

cno

Int

联系人编号

主码引用person外码

pnum

Char(11)

联系人电话号码

qq

Varchar(10)

联系人QQ

wx

Varchar(20)

联系人微信

email

Varchar(20)

联系人E-mail

               表3.4 联系方式表Information结构表

4.创建数据库

   

/*创建基本信息表*/

Create table person(

name varchar (20)NULL unique,

cno int primary key,

age int null,

sex char (2) null,

check(sex in ('男','女')),

)

 

/*创建学校信息表*/

CREATE TABLE school(

cno int not null,

sno varchar (20) NOT NULL primary key,  

major varchar (20) NULL,       

grade varchar (6) NULL,

sd varchar (20) NULL,

foreign key(cno) references person(cno))

 

 

/*创建家庭信息表*/

CREATE TABLE home(

cno int not null primary key,

province varchar (20) NULL,  

address varchar (30) NULL,

tele varchar(12) NULL,

foreign key(cno) references person(cno)

)

/*创建联系方式表*/

create table Information(

cno int not null primary key,

pnum char(11) null,

QQ varchar (10) NULL,

wx varchar(20) null,

email varchar (20) NULL,

foreign key(cno) references person(cno)

)

 

 

 

创建结果如图4所示

                                                图4.1  创建数据库

5.客户端设计

   

注:课程设计作业,方便以后需要时查看。

 

评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎曼猜想·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值