DBMS实验报告模板Word文档格式.doc

上传人:wj 文档编号:6854999 上传时间:2023-05-07 格式:DOC 页数:16 大小:1.30MB
下载 相关 举报
DBMS实验报告模板Word文档格式.doc_第1页
第1页 / 共16页
DBMS实验报告模板Word文档格式.doc_第2页
第2页 / 共16页
DBMS实验报告模板Word文档格式.doc_第3页
第3页 / 共16页
DBMS实验报告模板Word文档格式.doc_第4页
第4页 / 共16页
DBMS实验报告模板Word文档格式.doc_第5页
第5页 / 共16页
DBMS实验报告模板Word文档格式.doc_第6页
第6页 / 共16页
DBMS实验报告模板Word文档格式.doc_第7页
第7页 / 共16页
DBMS实验报告模板Word文档格式.doc_第8页
第8页 / 共16页
DBMS实验报告模板Word文档格式.doc_第9页
第9页 / 共16页
DBMS实验报告模板Word文档格式.doc_第10页
第10页 / 共16页
DBMS实验报告模板Word文档格式.doc_第11页
第11页 / 共16页
DBMS实验报告模板Word文档格式.doc_第12页
第12页 / 共16页
DBMS实验报告模板Word文档格式.doc_第13页
第13页 / 共16页
DBMS实验报告模板Word文档格式.doc_第14页
第14页 / 共16页
DBMS实验报告模板Word文档格式.doc_第15页
第15页 / 共16页
DBMS实验报告模板Word文档格式.doc_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

DBMS实验报告模板Word文档格式.doc

《DBMS实验报告模板Word文档格式.doc》由会员分享,可在线阅读,更多相关《DBMS实验报告模板Word文档格式.doc(16页珍藏版)》请在冰点文库上搜索。

DBMS实验报告模板Word文档格式.doc

1.1基本目标

DBMS的设计与实现:

设计并实现一个DBMS原型系统,可以接受基本的SQL语句,对其进行词法分析、语法分析,然后解释执行SQL语句,完成对数据库文件的相应操作,实现DBMS的基本功能。

目的:

1.加深编译原理基础知识的理解:

词法分析、语法分析、语法制导翻译等;

2.加深相关基础知识的理解:

数据库系统、数据结构、操作系统等。

1.2完成情况

已经实现的功能、语句。

CREATEDATABASEDB;

USEDB;

//CREATE测试

CREATETABLESTUDENT(SNAMECHAR(8),SAGEINT,SSEXCHAR(4));

CREATETABLECOURSE(CNAMECHAR(9),CCREDITINT);

CREATETABLESC(SNAMECHAR(8),CNAMECHAR(9),GRADEINT);

//INSERT测试

INSERTINTOSTUDENTVALUES(HUANG,22,M);

INSERTINTOSTUDENTVALUES(HAI,21,M);

INSERTINTOSTUDENTVALUES(BING,23,W);

SELECTSNAME,SAGE,SSEXFROMSTUDENT;

INSERTINTOCOURSEVALUES(DB,3);

INSERTINTOCOURSEVALUES(SA,4);

SELECTCNAME,CCREDITFROMCOURSE;

INSERTINTOSCVALUES(HUANG,DB,85);

INSERTINTOSCVALUES(WANG,SA,90);

SELECTSNAME,CNAME,GRADEFROMSC;

//SHOW测试

SHOWTABLE;

//SELECT测试

SELECT*FROMSTUDENT;

selectSNAMEfromSTUDENT;

//小写

SELECTSNAMEFROMSTUDENTWHERESAGE=21;

SELECTCNAME,CCREDITFROMCOURSEWHERECNAME=DB;

SELECTCNAMEFROMCOURSEWHERECCREDIT=5;

//没有匹配情况

//UPDATE测试

UPDATESTUDENTSETSSEX=WWHERESAGE=22;

UPDATECOURSESETCCREDIT=5WHERECNAME=DB;

//DELETE测试

DELETEFROMSTUDENTWHERESAGE=22;

DELETEFROMCOURSEWHERECNAME=AB;

//删除失败情况

//DROP测试

DROPTABLESC;

//EXIT测试

EXIT;

//退出系统

2.项目实现方案

2.1逻辑结构与物理结构

为了要实现增加的SQL语句,通过文件db.db保存所创建的数据库,通过文件***table.db和***field.db保存用户所创建表的信息和列的信息,对每一个表建立单独文件保存所插入的记录。

Db.db文件需要保存所创建的数据库名称。

***table.db文件用来保存所建立的表名以及列的个数。

***field.db文件用来保存每个表的列名、序号、类型、长度。

这样做的优点当然是简化DBMS编程难度,减少数据库物理存储方面的编程。

但是没有真正实现DBMS的物理存储。

2.2语法结构与数据结构

createsql正规式:

CREATETABLEtable'

('

fieldsdefinition'

)'

'

;

'

createsql语句的产生式语法结构:

struct Createfieldsdef{ /*createsql中的字段定义*/

char *field;

//字段名称

inttype;

//字段类型

int length;

//字段长度

structCreatefieldsdef*next_fdef;

//下一字段

};

struct Createstruct{ /*createsql语法树根节点*/

char *table;

//基本表名称

structCreatefieldsdef *fdef;

//字段定义

例如:

CREATETABLEStudent

(SnoCHAR(9),SnameCHAR(20),SsexCHAR

(2),SageINT);

对应的数据结构如下图所示:

图1createsql对应的数据结构

Selectsql正规式:

SELECTtable_fieldsFROMtables'

|SELECTtable_fieldsFROMtablesWHEREconditions'

selectsql语句的产生式语法结构:

struct Conditions{ /*条件*/

structConditions *left;

//左部条件

structConditions *right;

//右部条件

char comp;

/*'

a'

是and,'

o'

是or,'

<

'

>

='

‘!

*/

int type;

/*0是字段,1是字符串,2是整数*/

char *value;

/*根据type存放字段名、字符串或整数*/

intnumvalue;

char *table;

/*NULL或表名*/

struct Selectfields{/*select语句中选中的字段*/

char *table;

//字段所属表

char *field;

//字段名称

struct Selectfields *next_sf;

//下一个字段

struct Selecttables{ /*select语句中选中的表*/

char *table;

//基本表名称

structSelecttables*next_st;

//下一个表

structSelectstruct

{ /*select语法树的根节点*/

structSelectfields *sf;

//所选字段

structSelecttables *st;

//所选基本表

structConditions *cons;

//条件

SELECTSno,SnameFROMstudentWHERESsex='

男'

ANDSage=20;

图2selectsql对应的数据结构

insertsql正规式:

INSERTINTOtableVALUES'

table_values'

insertsql语句的产生式语法结构:

structInsertstruct

{

char*table;

structInsertvalue*next_val;

structInsertvalue

intnumval;

char*charval;

structInsertvalue*next;

图3insertsql对应的数据结构

updatesql正规式:

UPDATEtableSETexpsWHEREconditions'

updatasql语句的产生式语法结构:

structUpdatevalue

char*field;

char*field_value;

structUpdatevalue*next;

showsql正规式:

showtable:

SHOWTABLE'

dropsql正规式:

dropsql:

DROPTABLEtable'

Usesql正规式:

USEdatabasename'

exitsql正规式:

EXIT'

Databasesql正规式:

CREATEDATABASEdatabasename'

Deletesql正规式:

DELETEFROMtableWHEREconditions'

2.3功能测试

测试所实现的SQL语句的基本功能:

测试1

输入:

输出:

测试2

测试3

测试4

测试5

测试6

测试7

测试8

测试9

测试10

测试11

3.总结与未来工作

3.1未完成功能

1)sql连接查询

2)sql多条件查询

3.2未来实现方案

1)对于sql连接查询,可以将连接产生的数据库存放在临时文件中,通过遍历查询,找出符合条件的结果并打印显示出来。

2)对于sql多条件查询,可以通过中序遍历conditions将条件保存在数组中,再通过查找,找出符合条件的结果并打印显示出来。

16

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2