全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计综合实验学号:20124122 班级:12计科3 姓名:张翔一 问题定义利用java做一个简单SQL数据定义语言DDL的解释器二 设计描述基于java的简单的SQL 解析器,从而实现SQL的DDL用来定义关系数据的模式、外模式和内模式,实现对模式、基本表、视图以及索引的定义、修改和删除操作。如下:Create schema ;(1) 数据库模式删除语句格式:drop schema ;(2) 创建表的语句格式:Create table ( , , , , ,);(3) 修改表的语句格式:Alter table add 完整性约束alter column ;(4) 删除表的语句格式:Drop table ;(5) 显示表结构的语句格式:Describe table ;三 编码与验证程序的主界面;各个函数的伪代码或流程图;程序的使用说明;程序功能上的验证性测试;验证结果,包含这些测试数据和运行结果。代码如下:package test;import java.io.IOException;import java.text.MessageFormat;import java.util.ArrayList;import java.util.Date;import java.util.LinkedHashSet;import java.util.LinkedList;import java.util.List;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;import jxl.read.biff.BiffException;import jxl.write.WriteException;import scheme.Scheme;import table.Table;import column.Column;public class Test public static String getSQL()System.out.println(请输入要解释的SQL语句:);Scanner scanner=new Scanner(System.in);String sql=scanner.nextLine();while(sql.charAt(sql.length()-1)!=;)sql=sql+ +scanner.nextLine();return sql;public static List getMessage(String sql)String results=sql.split( +| +( +);List list=new ArrayList();for(int i=0;iresults.length;i+)if(resultsi!=)list.add(resultsi);list.remove();return list;public static String getOperate(List list)return list.get(0);public static String getDBObject(List list)return list.get(1);public static void main(String args) throws IOException, BiffException, WriteExceptionString sql=getSQL();List list=getMessage(sql);String operate=getOperate(list);String DBObject=getDBObject(list);if(!operate.equalsIgnoreCase(create)&!operate.equalsIgnoreCase(drop)&!operate.equalsIgnoreCase(alter)&!operate.equalsIgnoreCase(describe)System.out.println(ERROR:+operate+不合法);if(!DBObject.equalsIgnoreCase(scheme)&!DBObject.equalsIgnoreCase(table)System.out.println(ERROR:+DBObject+不合法);if(operate.equalsIgnoreCase(create)if(DBObject.equalsIgnoreCase(scheme)String schemeName=Scheme.getName(sql);Scheme.createScheme(schemeName);else if(DBObject.equalsIgnoreCase(table)String tableName=Table.getNameOfCreateOrAlter(sql);List Columnslist=Table.getColumns(sql);Table.createTable(tableName,Columnslist);else if(operate.equalsIgnoreCase(drop)if(DBObject.equalsIgnoreCase(scheme)String schemeName=Scheme.getName(sql);Scheme.dropScheme(schemeName);else if(DBObject.equalsIgnoreCase(table)String tableName=Table.getNameOfDescOrDrop(sql);Table.dropTable(tableName);else if(operate.equalsIgnoreCase(alter)if(DBObject.equalsIgnoreCase(table)String tableName=Table.getNameOfCreateOrAlter(sql);Table.alterTable(tableName, sql);else if(operate.equalsIgnoreCase(describe)String tableName=Table.getNameOfDescOrDrop(sql);Table.descTable(tableName);创建模式create scheme tables;创建模式zxcreate scheme zx;创建表create table student (sno char(10) primary key,sna varchar(20) not null,birth date);重新创建一个student,显示已存在描述表describe table student;修改表alter table table1 add column1 int;修改表,显示已存在删除表drop table student;删除表,显示不存在四 总结 利用java解决问题相对来说工作量不大,但是要求要有总体的设计和优化代码。从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年马鞍山市第二中学博望分校招聘教辅人员1名笔试备考试卷带答案解析
- 中国科学院半导体研究所2026年度招聘备考题库附答案
- 2025四川南充市公路管理局南充市水务局遴选3人笔试模拟试卷附答案解析
- 2025民生银行总行资产经营管理部社会招聘笔试备考试卷带答案解析
- 2026芜湖造船厂校园招聘历年真题汇编附答案解析
- 2025江西吉安吉州区古南镇街道社区卫生服务中心招募就业见习人员2人参考题库附答案解析
- 全南县2025年公开选调机关事业单位工作人员笔试备考试卷带答案解析
- 2025年周口市投资集团有限公司下属子公司工作人员公开选聘2人备考题库附答案解析
- 2026年陕西省选调生招录(面向中南大学)备考公基题库附答案解析
- 2025中国诚通控股集团有限公司所出资企业招聘336人备考题库带答案解析
- DB31/T 661-2012绿化用表土保护和再利用技术规范
- 建筑工程施工纠纷课件
- 2023年陕西省考公务员考试公考行测试卷试题历年真题答案解析
- 微信群合作合同协议
- 《整合营销传播策略》课件
- 婴幼儿功能性消化不良综合征非药物干预专家共识(2024)解读
- 2025-2030中国TPV行业市场发展分析及前景趋势与投资研究报告
- 2025年高中语文必背古诗文72篇和60篇必背古诗文+12篇选修文言文
- 大学生职业生涯规划书环境设计专业概述
- 2025年静电喷涂考试题及答案
- TWAA 007-2024 家庭场景WLAN设备组网性能及体验技术要求
评论
0/150
提交评论