数据库课程设计

数据库课程设计通过小组合作,设计并实现了一个基于MS SQL Server 2000的通讯录管理系统。系统包括用户登录、成员分组、通讯方式管理等功能,并涉及ER图设计和数据库表的创建。学生通过此项目,提升了解决实际问题和团队协作的能力。
摘要由CSDN通过智能技术生成
 

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

 

总体设计要求:

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

 

 

通讯录

1、功能需求:

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

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

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

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

 

2、数据分析:

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

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

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

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

 

ER图:

 

关系模式:

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

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

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

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

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

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

 

 

          MS SQL Server2000 实现:

  1. /*---------创建数据库-------------*/
  2. create database txl
  3. go
  4. use txl
  5. go
  6. /*-----------用户表---------------*/
  7. create table users
  8. (Uid int identity(1,1) primary key,
  9.  Uname char(16) unique not null,
  10.  Upassword char(16) not null,
  11.  Ulevel int check(Ulevel in(1,2,3)) default 1
  12. )
  13. /*-----------成员表---------------*/
  14. create table membership
  15. (Mid int identity(1,1) primary key,
  16.  Mname char(16) unique not null,
  17.  Msex char(2) check(Msex='男' or Msex='女'),
  18.  Mbirthday datetime
  19. )
  20. /*-----------分组方式表---------------*/
  21. create table PacketMode
  22. (Pid int identity(1,1) primary key,
  23.  Pname char(16) unique not null
  24. )
  25. go
  26. /*-----------分组表---------------*/
  27. create table Relations
  28. (
  29.  Uid int references users(Uid),
  30.  Mid int references membership(Mid),
  31.  Pid int references PacketMode(Pid),
  32.  primary key (Uid,Mid,Pid)
  33. )
  34. /*-----------联系方式表---------------*/
  35. create table Contact
  36. (
  37.  Cid int identity(1,1) primary key,
  38.  Cname char(16) unique not null
  39. )
  40. /*-----------通讯录表---------------*/
  41. create table AddressBook
  42. (
  43.  Mid int references membership(Mid),
  44.  Cid int references Contact(Cid),
  45.  ADate char(60) not null,
  46.  primary key (Mid,Cid)
  47. )

录入数据库数据

  1. /*-----插入用户------------------------------*/
  2. insert into users(uname,upassword,ulevel)
  3. values('cnlht','123456',1)
  4. /*-----插入成员------------------------------*/
  5. insert into membership(Mname,Msex)
  6. values('梁宏涛','男')
  7. insert into membership(Mname,Msex)
  8. values('王海章','男')
  9. insert into membership(Mname,Msex)
  10. values('梁宏伟','男')
  11. insert into membership(Mname,Msex)
  12. values('王怡强','男')
  13. /*-----插入分组方式--------------------------*/
  14. insert into PacketMode(Pname)
  15. values('本人')
  16. insert into PacketMode(Pname)
  17. values('亲人')
  18. insert into PacketMode(Pname)
  19. values('朋友')
  20. insert into PacketMode(Pname)
  21. values('同学')
  22. insert into PacketMode(Pname)
  23. values('同事')
  24. /*-----插入联系方式--------------------------*/
  25. insert into contact(cname)
  26. values('手机')
  27. insert into contact(cname)
  28. values('E-Mail')
  29. insert into contact(cname)
  30. values('QQ')
  31. insert into contact(cname)
  32. values('家庭住址')
  33. insert into contact(cname)
  34. values('邮政编码')
  35. insert into contact(cname)
  36. values('办公电话')
  37. insert into contact(cname)
  38. values('工作单位地址')
  39. insert into contact(cname)
  40. values('工作单位邮编')
  41. /*-----插入用户-成员关系---------------------*/
  42. insert into relations
  43. values(1,1,1)
  44. insert into relations
  45. values(1,2,5)
  46. insert into relations
  47. values(1,3,2)
  48. insert into relations
  49. values(1,4,4)
  50. /*-----插入成员-联系方式(通讯录)------------*/
  51. insert into AddressBook
  52. values(1,1,'1358920xxxx')
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值