网站大量收购独家精品文档,联系QQ:2885784924

20071395-王蒙-综合文档.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
20071395-王蒙-综合文档.doc

数据库系统原理 课程设计文档 学号: 姓名: 王蒙 一、DBMS的实现方式 1.运行环境:Microsoft Visual C++6.0; 2.运用C++语言实现 二、DBMS的功能介绍 1.创建数据库及数据操作功能 (1)建立数据库表的结构的功能 用户可以使用create table 创建数据库表。数据库表以文件的形式保存,可以包含整型和字符型的属性,每个表有一个主属性。DBMS中还有一个数据字典,用来保存所有表的基本信息。 (2)输入数据库记录的功能 用户可以使用insert into向指定表中插入数据。插入数据时可以指定属性,如果不指定属性,DBMS自动的认为要插入的是表的全部属性值。 (3)删除数据库记录的功能 用户可以使用delete删除表中的指定元组。当用户输入的命令中不包含选择条件时,DBMS认为是删除表中的所有元组,但不删除表。如果包含选择条件,DBMS会查找表中满足条件的元组,将其删除。 (4)修改数据库记录的功能 用户可以使用update对表中的元组进行修改。DBMS根据用户的选择条件,有哪些信誉好的足球投注网站表中的元组,找到指定元组后修改其对应属性值。 (5)修改表结构的功能 用户可以使用alter add向表中添加新的属性,也可以使用alter drop删除表中的属性。删除属性时,也删除表中元组对应的属性值。 注意:表中的主属性无法删除。 (6)删除表的功能 用户可以使用drop table 删除指定的表。DBMS不仅将表的信息从数据字典中删除,还将表的全部属性以及数据删除。 2.查询功能 真实的DBMS能够做的查询功能非常多,包括group by分组,order by排序,以及一些统计函数如:count(),avg(),max(),min()等等。由于时间关系,该DBMS只模拟了简单的查询工作。功能如下: 实现全关系选择操作(select * from 关系名)。 实现单关系的投影操作。 实现单关系的选择操作(允许多条件)。 实现单关系的选择和投影操作(允许多条件)。 实现两个关系和多个关系的连接操作。 实现两个关系和多个关系的选择和连接操作。 实现多个关系的选择、投影和连接操作。 3.索引的创建以及查询 (1)创建索引的功能 用户可以使用create index为指定的表创建索引。真实的DBMS可以创建的索引种类非常多,如:为主属性建立索引,为非主属性建立索引,为某属性建立B树索引等。在这里只实现了为表的主属性和非主属性建立稠密索引,没有实现B树索引。 (2)利用索引进行查询的功能 利用索引属性完成选择操作,记录完成操作花费的时间,在建立索引前的关系上执行同样的选择操作并进行时间代价的比较。利用索引属性完成连接操作,记录完成操作花费的时间,在建立索引前的关系上执行同样的连接操作并进行时间代价的比较。 (3)删除索引的功能 用户可以使用drop index命令删除索引。 4.数据库保护功能 数据库的保护主要是安全性与完整性检查。即用户需要输入用户名和密码才能进入数据库,对数据库的表进行操作。用户可以使用create user创建新的用户,也可以使用grant和revoke将指定表的某项操作的权限赋值给某一个用户。 注意:以上操作的前提是该用户具有这些权限。 三、DBMS算法实现 算法描述 基本表的数据结构: 基本表的结构体: struct Table { char Name[20]; char type; bool flagi; char name[10][20]; int Number; bool flag; }table; 2表中属性的结构体: struct Property { char pro[20][20]; int type[20]; int primary; int count; }property; 3.表中元组的结构体 struct Data { char d[20][20]; bool flag; }data;//插入表中的数据 词法分析: 事先将sql语句的关键字存储在一个二维数组中key。具体关键字如下: char key[maxsize][20]={ {alter},{by},{contains},{drop},{exists}, {from},{group},{having},{in},{primary}, {minus},{not},{order},{select},{table}, {unique},{key},{view},{where},{is}, {char},{null},{add},{on}

文档评论(0)

xinshengwencai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档