数据库课程设计.doc
《数据库课程设计.doc》由会员分享,可在线阅读,更多相关《数据库课程设计.doc(23页珍藏版)》请在咨信网上搜索。
课 程 设 计 说 明 书 设计题目: 数据库课程设计 专 业: 计算机科学与技术 班级: 设 计 人: 山 东 科 技 大 学 2015 年 07 月 24 日 山 东 科 技 大 学 课 程 设 计 任 务 书 计算机科学与技术 专业 2013 级 1班 一、 课程设计题目: 数据库系统课程设计 二、 设计原始资料: 数据库系统概论 三、 设计应解决下列各主要问题: 1、选择一种高级语言实现下列语句的功能: CREATE TABLE <表名> (<列名><数据类型>[<列完整性约束条件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约束条件>] ) ALTER TABLE <表名> [ADD <新列名><数据类型>[<列完整性约束>]] [DROP<列完整性约束名>][MODIFY <列名><数据类型>] 四、 设计说明书应有下列图纸: 1.实现界面图 2.流程图 3.功能结构图 五、命题发出日期: 2015年05月26日 设计应完成日期: 2015年07月24日 设计指导教师(签章): 2015年 月 日 指导教师对课程的评语 指导教师(签章): 年 月 日 摘要 本次课程设计采用C++来实现各语句的功能,即实现表的创建, 关键词: 目录 1 设计题目……………………………………………………1 1.1 所选题目……………………………………………1 1.2 题目要求……………………………………………1 1.3 开发环境……………………………………………1 2 需求分析……………………………………………2 2.1题目分析 ……………………………………………2 2.2 功能需求分析 ……………………………………………4 2.3 数据流程分析 ……………………………………………6 3 设计………………………………………………………………8 3.1 设计思想……………………………………………………8 3.2 整体设计…………………………………………………10 3.3详细设计…………………………………………………12 1 设计题目 1.1所选题目 1、选择一种高级语言实现下列语句的功能: CREATE TABLE <表名> (<列名><数据类型>[<列完整性约束条件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约束条件>] ) ALTER TABLE <表名> [ADD <新列名><数据类型>[<列完整性约束>]] [DROP<列完整性约束名>][MODIFY <列名><数据类型>] 要求: (1) 能够以命令方式执行; (2) 能够以程序方式执行; (3) 提供课程设计报告。 1.2 设计要求 (1) 能够以命令方式执行; (2) 能够以程序方式执行; (3) 提供课程设计报告。 1.3 开发环境 操作系统: Windows 7.0; 集成开发工具:Codeblocks; 编译环境: Codeblocks; 开发语言: C++。 2 需求分析 2.1题目分析 课程设计题目要求采用高级语言实现创建表,添加,修改表,删除表等功能。 根据题目要求可采用C++编程来实现题目所要实现的功能。SQL语言使用CREATE TABLE语句定义基本表,其基本格式为CREATE TABLE <表名> (<列名><数据类型>[<列完整性约束条件>][,<列名><数据类型>[<列完整性约束条件>]…][,<表完整性约束条件>] )建表的同时通常还要定义与该表有关的完整性约束条件,这些完整性约束条件被存入系统的数据字典中,当用户操作表中数据时由关系数据库管理系统自动检查该操作是否违背这些完整性约束条件。所以我们所建的表应包含表名,表中应包含列名即属性名,数据类型,列完整性约束条件等。 创建表完成后,题目要求严能对表进行修改,删除,添加等,SQL语言用ALTER TABLE语句修改基本表,其一般格式为ALTER TABLE <表名> [ADD <新列名><数据类型>[<列完整性约束>]] [DROP<列完整性约束名>][MODIFY <列名><数据类型>],其中表名是要修改的基本表的名,ADD子句用于增加新列即新的属性列、新的列级完整性约束条件;DROP子句用于删除表中的列完整性约束名;而MODIFY子句则用于修改表中的数据类型。 题目要求要能够以命令方式执行,即用户输入一条SQL语言中的CREATE TABLE语句或ALTER TABLE语句,程序系统能够自动识别该语句所应执行的功能。 以程序方式运行是将实现的程序源码做成可执行文件,脱离编程语言环境,自动运行。用户可直接在可执行文件中输入SQL命令,系统自动识别该命令,完成各项操作。 2.2功能需求分析 题目要求创建一个表,并且实现在表中添加,删除,修改等功能。 2.2.1 录入功能 (1) 创建功能 根据题目要求创建一个表,则需创建的表包含表名,表的内容还有属性名,属性类型以及完整性约束条件等。采用C++语言来完成对新表的创建。 (2)修改功能 根据题目要求在所创建的表中实现对表的添加,删除,修改等功能。其中添加功能应包含对一个新表的添加,即创建一个新表以及在表中添加新的属性。而删除功能则是用于删除完整约束性约束条件。修改功能即应该做到能修改属性类型。 (3)保存功能 将所创建的表存到文件中方便用户查找过去所建的表。 (4)读取功能 打开程序,要求能做到读取文件,即读取一个表,然后可直接对表进行添加,删除,修改等功能。 2.2.2 识别功能 程序自动识别输入命令是否匹配,以及获取匹配规则中定义的其他功能,该命令所要求执行哪个功能。读取当前命令,命令结束后可继续输入下一个命令,循环执行以上步骤。 2.2.3 显示功能 一个良好的程序需要有一个简介清晰的界面,打开可执行性文件首页应有一个整体的界面,引导用户进行一下步。每输入一条命令,应能显示出其正确与否以及显示提示用户可使用的功能,输入的命令方式。当用户输入命令错误时,可显示提醒用户该命令输入错误,要求其重新输入正确的命令。 2.3 数据流程分析 开始 运行程序 输入命令,判读命令要求执行的功能 Create创建表 Alter修改表 读取表 添加新属性 删除约束条件 修改数据类型 存储到文件中 退出 图2.3 数据流图 根据图2.3数据流图所示,当程序开始运行时,输入一条命令,输入后程序自动识别该命令格式是否正确,不正确则返回,重新输入一条命令,继续判断。通过对语句进行语法解析,分离关键字,正确则判断该命令所要求的执行功能,这些功能包括创建表,修改表,读取文件等。若判断该命令要求要创建一个表,根据程序所提醒的步骤依次输入表中所包含的内容,创建完毕后,该表自动存储到文件中;若该命令要求修改已存在的表,判断应具体做怎么样的修改操作,操作包括有:ADD添加新属性列、DROP删除约束条件以及MODIFY修改数据类型等。不同的操作所得到的结果是不同的,每进行一项操作完成后,依然自动将结果存储在文件;若命令要求读取已存在的表,根据所输入的命令判断所读取的是哪个表,将该表的全部信息显示出来。操作全部完毕结束后,退出该程序。 3 设计 3.1 设计思想 该课程设计主要要完成的任务是创建表以及修改,添加,删除表中的内容,因此程序中包含五个可选项“创建新表”,“添加新属性”,“删除约束条件”,“修改属性类型”,以及“退出”来退出程序。另外,还需要将建立好的表储存在文件中。为了方便查看,当创建表完成或对表进行任何修改完成后,不需人工输入命令查看该表,而是自动将表的所有信息显示出来,方便用户查看表的信息。 (1)、创建表: 在创建一个新表时,若表名已经存在,则显示表已经存在,若表不存在则继续执行以下命令。根据提示输入命令,输入列名即属性名,属性类型以及约束条件,根据所输入的命令判断,若创建表命令格式错误,即显示创建失败,并要求重新输入命令;再输入数据类型,输入完以上信息,则继续输入该属性的列完整性约束条件,根据表中属性要求判断选择该属性是否为primary key,或者为unique,或者不为空以及其他约束条件,当列完整性约束条件输入完成后,程序可自动判断该命令是否正确,若该命令是正确的,则表明该属性添加成功。如果还要继续输入添加新的属性,则用户可按照上述步骤继续再依次输入命令,完成属性的添加;如果没有新的属性要输入添加,则表明创建表已经完成,表的创建结束,将表的全部信息显示出来。 (2)、存储表: 在创建表完成后,将表存储在文件中,我采用的是将所有表的信息都存储在一个文件当中。 (3)、修改表: 读取一个表,根据要求对该表进行修改,可修改操作有:添加新属性,删除完整性约束条件以及修改数据类型。 (3.1)添加新属性:若输入的命令要求添加新的属性,则类似于上述创建表时添加属性的步骤,依次输入属性名,属性类型以及属性的完整性约束条件,输入后同样需要检查其正确性,检查过程也如建表时类似。若输入的命令不正确,添加新属性失败;若正确,则成功。 (3.2)删除约束条件:若输入命令要求要删除约束条件,则输入命令对约束条件进行删除,输入完成后检查其正确性,若命令正确,则删除成功,若命令不正确,删除失败。 (3. 3)修改属性类型:若输入命令要求的是修改属性类型,则判断需要选择修改哪个属性的类型,输入之后程序自动进行判断。若输入不正确(可能是输入命令格式错误,也可能是无改属性等),则显示错误,重新输入其他命令;若输入的命令正确,则显示修改成功。 3.2 整体设计 数据库课程设计 创建表 修改表 存储表到文件中 添加新属性 删除约束条件 修改属性类型 图3.2 程序的功能结构图 如图3.2程序的功能结构图所示,以图框形式简单的表示出该系统的关键环节。将程序系统功能就行分解,按功能从属关系表示,分解为多个功能较单一的模块:该程序先分为四个模块,分别是“创建表”模块,“修改表”模块,“存储表到文件”模块以及“读取文件”模块。再将“修改表”模块划分为3个小模块,分别为“添加新属性”、“删除约束条件”、“修改属性类型”这3个模块,清晰地表示出该程序应编写哪些部分。各模块具有相对独立性,可以分别加以设计实现,另一方面,模块之间还具有相互关系(如信息交换、调用关系)。各模块在这些关系的约束下共同构成统一的整体,完成系统的各项功能。 利用划分功能结构图,可以更加明确体现内部组织关系,更加清晰的理清内部逻辑关系,做到一目了然规范各自功能部分,使之条理化。 3.3 详细设计 图3.3 程序流程图 打开程序界面,界面显示如下: 图4.1、程序首页图 根据需要,如若需要查看实例输入a,输入结果如下图4.2所示: 图4.2、实例查看图 如果无需查看实例直接输入SQL语句,则输入b,结果如图4.3 图4.3 接下来正式开始输入SQL语句,完成各项功能,首先建立一个新的表。例如: create table student (sno char primary key, sname char unique, ssex char, sdept char not null ); 改命令所得到的结果如下图4.4所示: 图4.4、创建表图 接下来对表进行修改,若要添加新的属性,例如输入: alter table tudent add date char not null;结果如下图4.5所示: 图4.5、 添加属性图 如果对表中的属性类型进行修改,例如修改输入为: Alter table student modify ssex int;结果如图4.6所示: 图4.6 修改属性类型图 如果要删除表中的列完整性约束条件,例如输入命令为: Alter table student drop unique;结果如图4.7所示: 图4.7 删除约束条件图 如果已经没有需要执行的功能,则可输入:exit退出程序: 如图4.8所示: 图4.8 退出程序 程序执行完毕。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文