当前位置:   article > 正文

数据库设计_数据库课程设计

数据库课程设计

数据库课程设计

 

数据库课程设计是在学生系统的学习了数据库原理课程后,按照关系型数据库的基本原理,综合运用所学的知识,以小组为单位,设计开发一个小型的管理信息系统(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,'135892xxxxx')
  53. insert into AddressBook
  54. values(2,1,'158065xxxxx')
  55. insert into AddressBook
  56. values(3,1,'1377x0xxxxx')
  57. insert into AddressBook
  58. values(4,1,'1369xxxxxxx')
  59. insert into AddressBook
  60. values(1,2,'cnlht@126.com')
  61. insert into AddressBook
  62. values(1,3,'56280xxx')
  63. insert into AddressBook
  64. values(1,6,'0532-8228xxxx')


 

 

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

     

 

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

 

 

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

 

 

学生学籍管理系统

 

一、设计目的

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

 

二、设计内容

1.  主要的数据表

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

2. 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号