数据库设计

数据库课程设计

 

数据库课程设计是在学生系统的学习了数据库原理课程后,按照关系型数据库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的管理信息系统(MIS)。通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。

 

总体设计要求:

四到五人为一个小组,小组成员既要有相互合作的精神,又要分工明确。每个学生都必须充分了解整个设计的全过程。

 

 

通讯录

1、功能需求:

       1)网络版,用户登录,合法使用,非法拒绝。

       2)合法用户(以下简称:用户)可以添加通讯录成员。

       3)用户点击不同的组,显示该用户相对应的成员通讯方式。

       4)用户点击一个成员,将会得到他响应的各种通讯方式。

 

2、数据分析:

1)有管理员,进行数据维护

2)通讯录用户有多个人。每个用户因与通讯录成员关系不同,所以对同一个成员可能有不同的分组方式。

3)通讯录成员可以分组,每个组包含多成员,一个成员可以属于多个组。

4)通讯录成员都有通讯方式,其中每个成员可以有多种通讯方式,一个通信数据可能属于多个成员

 

ER图:

 

关系模式:

           用户表(用户编号,用户名,密码,等级)

           成员表(成员编号,姓名,性别,出生日期)

           分组方式表(分组编号,分组方式)

           分组表(用户编号,成员编号,分组编号

           联系方式表(联系方式编号,联系方式)

           通讯录表(成员编号,联系方式编号,数据)

 

 

          MS SQL Server2000 实现:

/*---------创建数据库-------------*/
create database txl
go

use txl
go

/*-----------用户表---------------*/
create table users
(Uid int identity(1,1) primary key,
 Uname char(16) unique not null,
 Upassword char(16) not null,
 Ulevel int check(Ulevel in(1,2,3)) default 1
)

/*-----------成员表---------------*/
create table membership
(Mid int identity(1,1) primary key,
 Mname char(16) unique not null,
 Msex char(2) check(Msex='男' or Msex='女'),
 Mbirthday datetime
)

/*-----------分组方式表---------------*/
create table PacketMode
(Pid int identity(1,1) primary key,
 Pname char(16) unique not null
)
go

/*-----------分组表---------------*/
create table Relations
(
 Uid int references users(Uid),
 Mid int references membership(Mid),
 Pid int references PacketMode(Pid),
 primary key (Uid,Mid,Pid)
)


/*-----------联系方式表---------------*/
create table Contact
(
 Cid int identity(1,1) primary key,
 Cname char(16) unique not null
)

/*-----------通讯录表---------------*/
create table AddressBook
(
 Mid int references membership(Mid),
 Cid int references Contact(Cid),
 ADate char(60) not null,
 primary key (Mid,Cid)
)


 

      录入数据库数据

/*-----插入用户------------------------------*/
insert into users(uname,upassword,ulevel)
values('cnlht','123456',1)

/*-----插入成员------------------------------*/
insert into membership(Mname,Msex)
values('梁宏','男')

insert into membership(Mname,Msex)
values('王海','男')

insert into membership(Mname,Msex)
values('梁伟','男')

insert into membership(Mname,Msex)
values('王强','男')

/*-----插入分组方式--------------------------*/
insert into PacketMode(Pname)
values('本人')

insert into PacketMode(Pname)
values('亲人')

insert into PacketMode(Pname)
values('朋友')

insert into PacketMode(Pname)
values('同学')

insert into PacketMode(Pname)
values('同事')

/*-----插入联系方式--------------------------*/
insert into contact(cname)
values('手机')

insert into contact(cname)
values('E-Mail')

insert into contact(cname)
values('QQ')

insert into contact(cname)
values('家庭住址')

insert into contact(cname)
values('邮政编码')

insert into contact(cname)
values('办公电话')

insert into contact(cname)
values('工作单位地址')

insert into contact(cname)
values('工作单位邮编')

/*-----插入用户-成员关系---------------------*/
insert into relations
values(1,1,1)

insert into relations
values(1,2,5)

insert into relations
values(1,3,2)

insert into relations
values(1,4,4)

/*-----插入成员-联系方式(通讯录)------------*/
insert into AddressBook
values(1,1,'135892xxxxx')

insert into AddressBook
values(2,1,'158065xxxxx')

insert into AddressBook
values(3,1,'1377x0xxxxx')

insert into AddressBook
values(4,1,'1369xxxxxxx')

insert into AddressBook
values(1,2,'cnlht@126.com')

insert into AddressBook
values(1,3,'56280xxx')

insert into AddressBook
values(1,6,'0532-8228xxxx')


 

 

查询:1、用户cnlht的所有成员

     

 

     2、用户cnlht的所有成员的手机

 

 

   3.查询cnlht用户的相关通讯录(含所有组的,所有通讯方式)

 

 

学生学籍管理系统

 

一、设计目的

学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。

 

二、设计内容

1.  主要的数据表

学生基本情况数据表,学生成绩数据表,课程表,代码表等。

2. 

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值