建材加盟网-建材加盟,建材加盟费查询,国内权威的建材加盟费查询网!
当前位置:建材加盟网 > 知识宝典 > 范文大全 > qq群关系数据库下载

qq群关系数据库下载

来源:建材加盟网 | 时间:2017-05-01 15:28:49 | 移动端:qq群关系数据库下载

篇一:仿QQ聊天系统的数据库设计与实现_ForStudent

仿QQ聊天系统的数据库设计与实现

假如你要构建《即时通讯系统》

阅读第4部分 设计你的即时通讯系统中类的关系和数据库

20140522

1 引言

数据库课程设计是指对于一个给定的应用环境,构造设计优化的数据库逻辑模

式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足用户的应用需求。信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象要进行哪些操作,如查询、加入、删除、修改、统计等操作。数据库课程设计的目标是为了用户和各种应用系统提供一个信息基础设施和高效率的运行环境。高效率的运行环境包括:数据库的存取效率、数据库存储空间的利用率、数据库系统运行管理的效率都是高的。本次课程设计的目的是把所学的数据库的知识应用到实践中去。现今知识已越来越受到人们的重视,仿QQ聊天系统是参考腾讯公司发布的腾讯QQ,主要运用数据库知识和C#将其初步实现[1]。

1.1课题背景

现在的信息越来越发达,很多人都在使用QQ作为聊天工具,现根据腾讯公司的QQ聊天系统制造属于自己的聊天工具,表面上看上去是仿QQ聊天系统,其实等到时机成熟可以换成别的名字,相信在不远的将来在老师和同学们的帮助下,再借助互联网,我们一定可以打造出属于自己的聊天系统。当然系统存在着很多不足,需要老师的指点和帮助。

1.2系统需求分析

QQ聊天系统是大家广泛喜欢经常应用到CS应用程序软件[2],而现在仿QQ聊天系统开发工具,是本人对其程序的深感兴趣,不但可以了解从中的业务,而且还可以加强学习,以及对知识的回顾。同时也是尽快测试此聊天程序,以便和同学进行用自己的工具来交流聊天,由于好奇心促使和同学们一起来探讨此程序的开发,这样增强同学们之间的相互交流,相互学习。

该系统属于应用程序,需要对数据的处理,比如聊天信息要既是反馈给对方,故对数据的及时更新要求较高,保证数据的真实性.该系统在任何操作系统下都可以运行,但必须装有SQL2000数据库。

2 关键技术简介

2.1 SQL Server2000

SQL Server 2000 是Microsoft 公司2000年推出的SQL Server 数据库管理系统的版本。它是一个杰出的数据库平台,可用于大型联机事务处理、数据仓库、以及电子商务等。特点: 真正的客户机/服务器体系结构, 图形化用户界面, 丰富的编程接口工具。 SQL Server与Windows NT完全集成, 具有很好的伸缩性,支持Web技术。 SQL Server提供数据仓库功能[3]。

2.2 C#简介

C#是从C和C++派生来的一种简单、现代、面向对象和类型安全的编程语言。C#是用于创建运行在.NET公共语言运行库上的应用程序的语言之一,它从C语言和C++语言演化而来,是Microsoft专门使用.NET平台而创建的,并且考虑了其他语言的许多有点。

由于语法简单,使用C#开发应用程序比C++程序相对简单。但是,C#也是一种强大的语言,在C++中能完成的任务在C#中同样也能完成。C#的代码要比C++略长些,这是因为C#是一种类型安全的语言(与C++不同),虽然C#的代码略长但其代码更健壮,调试也比较简单。

C#是唯一为.NET Framework而设计的语言,是移植到其他操作系统上的.NET版本中使用的主要语言,能使用.NET Framework代码库提供的每种功能。反之,如果要使用VB.NET等语言尽可能与其以前的语言类似,而且仍然遵循CLR,这些语言就不能完全支持.NET代码库的某些功能。C#可以创建Windows应用程序,Web应用程序,Web服务这几种常见的应用程序[4]。具体实现如下:

1:首先根据对其业务逻辑的分析极其全面整合,加之我们所熟悉的QQ聊天技术。第一应该做的是界面,界面的美化程度直接反映着用户对此软件喜欢程度,所以借助了互联网搜索了一些好看的图片;

2:对界面的设计,这里所用到的就是C#里布局控件,精心的布局,这一点众所周之C#里丰富的控件为我们提供了方便,这样做就可以尽可能的让用户用起来比较舒服;

3:各个窗体画好后,接下来自然就是业务逻辑层的代码书写了,由于学习不够精,所以在书写代码方便并没有用到三层技术,但是本人对该系统考虑的比较全面,一些错误和异常都可以将其打印出来

书写代码比较规范,不管从类的书写,还是一些命名都非常规范;

C#里提供丰富的控件库,本来就可以自动生成一些代码,对业务逻辑比较明朗,对方法和类之间的命名比较规范,书写代码自然比较快,出错率比较少;方法就是增删改查,

最后结合数据库技术完成业务逻辑。

3 数据库概念结构设计

3.1 构思E-R图原则

原则1:能独立存在的事物,例如人、物、事、活动、事项等等,在其有多个基本项描述的特性需要关注时,就应把它作为实体。

根据原则1,分析本系统中的实体主要有用户、星座、信息类型、聊天信息、好友策略、好友和血型。

原则2:两个或多个实体间的关联与结合,如主管、从属、组成、占有、作用、配合、协同等等,当需要予以关注时,应作为联系。联系通常是某类行为动作,E-R图关注的是其状态与结果而非其过程。

根据原则2,对本系统间的实体之间的关联进行分析,用户与星座、血型、好友策略之间有组成与被组成的关系;在这里解释一下所谓的好友策略,我们在聊天时,别人可能会加我们为好友,我们可以不通过系统的提示,自动允许,这是一种策略。另外一种策略就是别人要加我们为好友时,先通过系统信息请求我们是否同意。此外,QQ消息和消息类型之间也有组成与被组成的关系。

原则3:实体的属性是实体的本质特征。实体应有标识属性,并指定其中一个作为主标识。联系的属性是联系的结果或状态。属性具有如下几个特点:非多值性、非复合性、非导出性。实体的属性还应有非关联性。

根据原则3,分析本系统中的实体属性。QQ用户的属性包括QQ号(标识属性)、QQ密码、用户昵称、用户真实姓名、性别和年龄等;星座的属性包括星座的编号(标识属性)和名称;血型的属性包括血型编号(标识属性)和名称;好友策略的属性包括策略编号(标识属性)和策略名称;消息类型包括消息类型编号(标识属性)和消息类型名称;QQ消息的属性包括消息记录编号(标识属性)、消息记录名称、消息接受状态和接发消息的时间

原则4:所有基本项在同一E-R图中作为属性要在仅在一个地方出现[5]。

3.2设计E-R图

根据构思E-R图的原则联系本系统的需求分析,将数据库中所涉及的各个实体与

它们各自的属性以及各个实体之间的关联用E-R图的形式表现出来,实体用方形表示,属性用椭圆表示,关联关系用没有箭头的直线连接,具体如下图3.1所示:

图3.1QQ系统E-R图

3.3 E-R图向关系模型转换原则

(1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关

系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是关系的候选码。如果与某一端实体对应的关系模式合并,则需要在改关系模式的属性中加入另一个关系模式的码和联系本身的属性。

(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

篇二:数据库基础作业答案

011-5-25 21:10中山市 23℃—30℃ 多云

数据库基础与应用作业答案

第一次作业

填空

1. 依赖于 2. 文件系统、数据库系统

3. 文件、数据库 4. 局部、全局

5. 主属性、非主属性 6. 多、多

7. 1、多 8. 型、值

9. 元组、属性 10. 关系定义、DBMS

11. 封装、继承、多态

12. 数据库管理员、数据库设计员、应用程序员、终端用户

13. 外模式和模式、模式和内模式 14. 建立、维护

15. 关系数据结构、关系完整性规则、关系运算 16. 单值、嵌套

17. 候选、属性 18. 主、非主

19. 空值、主码 20. 7、3、2

21. 选择、2 22. S、Π学生号 X

23. ?课程号(X)、C 24. X←→Y、决定因素

25. 非平凡、完全 26. 学号、系主任

27. X→Y、X→Z、分解性 28. X、候选码

29. (A,D)、2 30. (A,C,G)、3

31. 第一、不可再分 32. 数据冗余、操作异常(更新异常)

33. 第一、3 34. 第二、2

35. 第三 36. BC、决定因素

第二次作业

一、填空题

1. 视图、基本表 2. create schema、drop schema

3. 列级、表级 4. 列级、表级

5. 建立、修改、删除 6. values、select

7. 表、建立 8. 连接、安全

9. 没有影响、有影响 10. select、from、where

11. group by、order by 12. 需求分析、概念设计

13. 数据流图、数据字典、需求说明书 14. 需求分析、ER图

15. 商品实体、销售实体、收款实体 16. 全局模式、外模式

17. 1对1、1对多 18. 设计要求、功能完善、操作方便

19. 客房表、住宿表 20. 娱乐费表、催补款表

21. 客房表、 客房空闲表

二、根据主教材第四章所给的商品库和教学库,按照下列所给的每条SQL查询语句写出相应的功能。

1. 从商品库中查询出每一种商品的商品代号、分类名、数量和品牌等信息。

2. 从商品库中查询出所有商品的不同产地的总数。

3. 从教学库中查询出每门课程被选修的学生数。

4. 从教学库中查询出学生号为@s1的学生和学生号为@s2的学生所选修的共同课程的课

程号。

5. 从教学库中查询出所有已被学生选修的课程。

6. 从教学库中查询出最多选修了2门课程(含未选任何课程)的全部学生。

7. 从教学库中查询出每个学生选课的全部情况,并依次按学生号和成绩排序。

8. 从教学库中查询出选修了姓名为@a的学生的全部选课的所有学生。

三、根据教材第四章所给的商品库和教学库,按照下列所给的每种功能写出相应的查询语句。

1.select *

from 商品表1

where 数量 between 10 and 20 (或where 数量>=10 and 数量<=20)

2.select 分类名,sum(数量) as 总数量

from 商品表1

group by 分类名

3.select *

from 商品表1

where 单价>all(select avg(单价)

from 商品表1

)

4.select 商品表1.*,产地

from 商品表1,商品表2

where 商品表1.商品代号=商品表2.商品代号 and 产地 in (select 产地

from 商品表1 x,商品表2 y

where x.商品代号=y.商品代号

group by 产地 having count(*)=1

)

5.select distinct 学生.*

from 学生,选课

where 学生.学生号=选课.学生号 and 课程号=any(select 课程号

from 学生,选课

where 学生.学生号=选课.学生号 and 姓名=@m1

)

第三次作业

一、单选题

1. C 2. D 3. A 4. B 5. C 6. A

7. B 8. C 9. B 10. A 11. B 12. C

13. D 14. D 15. A 16. B 17. B 18. C

19. D 20. B 21. B 22. B

二、填空题

1. 数据库窗体 2. 工作状态

3. 下拉菜单 4. 8、4

5. 1、mdb 6. 名称、类型

7. 数据、数据库对象 8. 打印方式、显示方式

9. 窗体、报表、数据访问页 10. 更新

11. 页眉、主体、页脚 12. 1对多

13. 设计、预览、数据表 14. 报表页眉、页面页眉、主体

15. Access数据库、更高版本 16. HTML

17. 类模块、标准模块(次序无先后)

18. 工程资源管理器、模块属性窗口、代码编辑窗口

19. VBA 20. 模块

21. 大小写 22. 当前数据库、数据库对象

第四次作业

一、单选题

1. B 2. A 3. B 4. C 5. B 6. A

7. D 8. A 9. D 10. C 11. B 12. A

13. B 14. C 15. A 16. B 17. B 18. A

19. A 20. B 21. B 22. D

二、填空题

1. 客户机/服务器(或C/S) 2. 客户机(或客户端)

3. 数据封锁机制 4. 注册账号(或登录账号)

5. 系统管理员 6. 域用户账号

7. 暂停 8. 逻辑组件

9. 系统数据库、用户数据库 10. master、model、tempdb、msdb

11. GO 12. 局部变量

13. bit(或位) 14. ’ab’

15. 8、4、2、1 16. 数值、字符、日期时间(次序无先后)

17. 查询分析器 18. sp_renamedb

19. Null(空) 20. 删除、修改 (次序无先后)

21. SELECT 22. 索引

23. 自动 24. 插入、删除、修改

25. 可执行 26. 局部变量、全局变量

27. 存储过程 28. 数据、 日志

29. 2、USE 30. 打开、重建

31. CREATE INDEX、DROP INDEX 32. 聚集、非聚集

33. 建立(创建)、 索引 34. 主码、唯一值

35. @、@@ 36. DECLARE、逗号

37. 空格、分号、换行(次序无先后) 38. 2、多、一

39. BREAK、CONTINUE 40. OPEN、CLOSE

41. CURRENT、<游标名> 42. 并发控制、捆绑

43. 多、RETURN(返回) 44. 参数、过程体

45. CREATE TRIGGER、DROP TIRGGER 46. 检查、唯一值

47. 更新、检查 48. 琐、钥匙

49. GRANT、REVOKE 50. ON、FROM

51. Visual C++、Visual J++、Visual Basic

52. 可视化开发、事件驱动、面向对象编程

53. 关系、SQL 54. 控制中心、命令中心

55. 企业版(Enterprise Edition)

56. Oracle Enterprise Manager(OEM)

57. 层次结构、对象(Object)、继承(Inherientance)

58. 实例、属性、方法 59. Borland、Pascal

60. Microsoft、编程工具

三、根据下面所给的AAA数据库,写出下列每条查询语句的执行结果,或者写出下列每条语句或程序段的功能。

假设存在名为AAA的数据库,包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。

1. 889 ?888

2. 888 ?889

3. student

4. 学生号 课程号 0

5. 首先定义一个名为@MyNo的局部变量,并给它赋初值,如果@MyNo属于计算机软件专业,则显示出平均成绩,否则显示“学号为@MyNo的学生不存在或不属于软件专业”。

6. 求出score表中最高成绩与最低成绩的分数之差。

7. 从students表中统计出专业名开头为@a的值(即“计算机”)的所有学生人数。

8. 从students表中分组统计出每个月份入学的学生人数。

9. 显示出AAA库中所有学生的记录信息及选课成绩

10. 显示出AAA库中每个学生的平均成绩

11. 向score表中插入学号为@a的值、课程名为@b的值、成绩为@c的值的学生成绩记录。

12. 从score表中统计并显示出记录总数

13. 从score表中按成绩统计并显示出优秀、良好、及格、不及格各多少人。

14. 修改score表中学号为@a的值、课程名为@b的值的学生的成绩为@c的值。

15. 根据score表判断学号为@b值的学生是否选修了学号为@a值的学生的全部课程,或者说@a学生的全部课程是否被@b学生所全部选修,若是则返回0,否则返回-1。

四、根据下面所给的AAA数据库,按照下列每种功能写出相应的Transact-SQL语句或程序段。

假设使用名称为AAA的数据库,它包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。

1. SELECT UPPER(‘I am a student’)

2. SELECT * FROM [My Table]

3. select year(getdate()),month(getdate())

4. select left(学号,4)

fron Students

5. create table students (

学号 char(8) primay key,

姓名 varchar(8),

年龄 int,

专业 varchar(20),

入学日期 datetime)

6. ALTER DATABASE AAAMODIFY FILE (

NAME = AAA_data,SIZE = 5,

MAXSIZE=10

)

收起原文转为日志 | 删除 | 最后修改:2011-5-25 21:10 编辑

篇三:数据库实验1

南京邮电大学 计算机学院

《大型数据库技术》

实验一:MySQL数据库安装配置及基础使用

姓名:侯利萍 班级: 09 学号:B13040905

2016年 3 月21日 星期一

说明:斜体需要输出的部分。

下载安装MySQL

搜索MySQL下载页面

网址:

查看各种MySQL版本

MySQL主要版本及区别:

所下载版本及版本号:

安装配置MySQL

数据库基本操作

创建数据库

创建一个企业管理系统数据库,命名为enterprisedb,字符集选择utf8. SQL语句:create database enterprisedb;

set charset utf8;

输出截图:

创建关系表

创建一张雇员表,命名为employee,包括如下字段:雇员工号(从86001开始递增),姓名,性别,生日,部门名称。(请选择合适的数据类型) SQL语句:

create table employe (id int(10) primary key AUTO_INCREMENT,name varchar(10),sex varchar(10),birthday virchar(10))

AUTO_INCREMENT=86001;

输出截图:

插入数据操作

插入10条不同信息的雇员,信息自定,需要符合实际。

SQL语句:insert into employe

values("0","zhang","man","1996.1.2","mangager");

insert into employe values("0","张","man","1996.1.2","mangager"); insert into employe values("0","李","man","1995.1.2","mangager"); insert into employe values("0","胡","woman","1994.1.2","worker"); insert into employe values("0","周","woman","1995.1.1","worker"); insert into employe values("0","郑","woman","1995.3.1","worker"); insert into employe values("0","王","woman","1995.3.1","seller"); insert into employe values("0","吴","woman","1995.2.1","seller"); insert into employevalues("0","吴","man","1995.2.1","seller"); insert into employevalues("0","赵","man","1989.2.1","leader"); insert into employe values("0","田

","woman","19988.2.1","leader");

注释:在测试英文中文是否都正常时,多输入一个英文员工。

输出截图:

查询数据

显示所有雇员信息

SQL语句:select * from employe;

输出截图:

显示所有男雇员信息

SQL语句:select * from employe where sex='man';

输出截图:

显示所有1990年以后出生的雇员信息

SQL语句:select * from employe where YEAR(NOW())-YEAR(birthday)<26;

输出截图:

删除数据操作

删除雇员编号为86005的雇员。

SQL语句:delect * from employe where id=86005;

输出截图:

显示所有雇员信息

SQL语句:select * from employe;


qq群关系数据库下载》由:建材加盟网互联网用户整理提供;
链接地址:http://www.yuan0.cn/a/11260.html
转载请保留,谢谢!
相关文章