数据库课程设计说明书实现DBMS的创建表和修改表

上传人:仙*** 文档编号:28325476 上传时间:2021-08-26 格式:DOC 页数:17 大小:378KB
返回 下载 相关 举报
数据库课程设计说明书实现DBMS的创建表和修改表_第1页
第1页 / 共17页
数据库课程设计说明书实现DBMS的创建表和修改表_第2页
第2页 / 共17页
数据库课程设计说明书实现DBMS的创建表和修改表_第3页
第3页 / 共17页
点击查看更多>>
资源描述
课程设计说明书设计题目: 实现DBMS的创建表和修改表 _专 业: 信息管理与信息系统 班 级: _设 计 人: _山东科技大学2011年7月1日山东科技大学学生课程设计课程设计任务书学院 信息科学与工程学院 专业 信息管理与信息系统 班级 08级1班 姓名一、 课程设计题目:(1) 运用C#语言实现DBMS中创建表的功能 (2) 运用C#语言实现DBMS中修改表结构的功能 (3) 运用C#语言实现DBMS中删除表的功能 二、 课程设计主要参考资料:(1) Microsoft SQL Server 2008 (2) Microsoft Visual Studio 2008文档 (3) 数据库系统概论(第四版),王珊、萨师煊等编著,高等教育出版社 三、 课程设计应解决的主要问题:(1) 可以重复新建表结构 (2) 可以对已经创建好的表结构进行修改 (3) 可以删除已创建的表 四、 课程设计相关附件(如:图纸、软件等):(1) 数据库课程设计.exe (2) 课程设计说明书.doc (3) 说明.txt 五、 任务发出日期: 2011-4-29 课程设计完成日期: 2011-7-1 指导教师签字: 系主任签字: 一、 设计要求:实现DBMS的创建表和修改表这个模块的功能要求就是实现创建表结构及插入、删除、修改表结构。要求:(1) 设计实现表的物理存储结构;(2) 语句以命令行或图形界面实现。二、 需求分析:在以前的学习过程中已经学习了数据库的应用方面的知识,那时所学到的只是如何应用别人开发的软件,而对其入后台如何运行没有深刻的认识。通过这学期数据库系统概论的学习,我明白了数据库软件的后台运行情况,为了加深对数据库DBMS后台运行的理解,因此老师要求实现DBMS的某个模块的功能。而DBMS的创建表和修改表就是其中的一个模块。三、 设计思想:本课程设计中包括三个模块:1)新建表:新建一个表的表结构,其中包括表的实体完整性、参照完整性和部分自定义完整性(唯一性)的约束的框架的实现,每一个新建的表都以单独的XML文档来存储,并且新建的每个表都只能存储到指定的文件夹下。2)修改表:这个模块包含新增字段、删除字段和修改已有字段。新增字段只需要在DataGridView中添加新的字段,然后保存就可以了;删除字段是要选中所要修改的字段所在的行,然后右击鼠标,选择快捷菜单中的“删除列”即可;修改字段的属性时不可以改变属性是否为主键和是否为空的属性。3)删除表:选中表单中已存在的表,然后单击“删除表”,即可实现删除本地文件夹下的表文件和TreeView中的该表的相应的节点。编写程序的环境是Microsoft Visual Studio 2008。程序的主界面如下:其中,右侧的DataGridView在程序开始运行时是隐藏的,当选择“创建表”或对已有表进行“设计表”操作时才会显示。其中添加行的功能是DataGridView自带的功能。表中某一字段的各个属性的限制如下:(1) 一个表中的同一个字段不能同时设置成主键并要求唯一。(2) 列名可以是任意字符串,但不能为空。(3) 数据类型包括char、float和int类型,必须选其中的一种类型。(4) 数据长度要求必须是整型,且不能为空。(5) 主键不允许为空。(6) 外键参照要求当前字段所参照的属性是被参照表的主键,且当前字段的数据类型和数据长度要与被参照属性一致。若在程序运行过程中违反了上述限制的任一条,程序都会弹窗向用户提示,错误所在。程序的另一个界面就是选择表名的名称,界面如下图所示:在上图所示的文本框中输入表名,点击“确定”即可保存,点击“取消”回到主程序页面。 不保存新建的表。四、 程序流程图:由于本课程设计所实现的是新建表和修改表,因此执行的先后顺序没有严格的区别,下图的程序流程图只是其中的一种执行次序,实际运行过程完全可以根据个人喜好自由选择。图1 程序流程图五、 主要源程序:1. 新建表private void 创建表ToolStripMenuItem_Click(object sender, EventArgs e) /清空gvTable gvTable.Rows.Clear(); /将gvTable设置为可见 gvTable.Visible = true; /表示目前所做的操作是创建表 flag = 0; 2. 保存新建表或对表结构的修改private void 保存新建表ToolStripMenuItem_Click(object sender, EventArgs e) int k=SaveXML(); /如果是新建表并且生成xml文档成功,则保存新的xml文档 if (flag = 0 & k = 1) /创建一个窗体SaveAsXML类的实体,将创建好的XML文档传过去 SaveAsXML table = new SaveAsXML(doc); /弹出保存窗口 table.ShowDialog(); /将新建的表添加到左侧的Treeview表单中 AppendToTreeV(); /若是修改表并且生成xml文档成功,则修改已有的xml文档并保存 else if (flag = 1 & k = 1) /用修改后的xml文档替换已有的 doc.Save(.table + tvMenu.SelectedNode.Text + .xml); MessageBox.Show(修改表结构成功!); 3. 删除选中的字段private void 删除列ToolStripMenuItem_Click_1(object sender, EventArgs e) for (int i = 0; i gvTable.Rows.Count; i+) /每删除一行DataGridView都会改变,因此需要重新遍历 if (gvTable.Rowsi.Selected) gvTable.Rows.Remove(gvTable.Rowsi); i = 0; /若DataGridView中只剩一行,即表中字段为空时 if (gvTable.Rows.Count = 1) /删除选中的表 删除表ToolStripMenuItem1_Click(sender, e); /同时删除这个表的树节点 DeleTreeNode(); 4. 删除选中的表private void 删除表ToolStripMenuItem1_Click(object sender, EventArgs e) /删除选中的节点的表的xml文件 System.IO.File.Delete(.table + tvMenu.SelectedNode.Text + .xml); DeleTreeNode(); gvTable.Visible = false; 六、 运行结果:1、按照程序要求正常输入的运行结果:(1) 初始界面图1.1所示:图1.1 初始界面(2) 新建表sc,其中sno为外键,参照表student中的sno字段,要求sno必须是student表中的主键,并且sc表中sno的数据类型和数据长度都要与student表中的要一致,若不一致则报错。如果输入都正确则会弹出输入表名的对话框,输入表明后即提示保存成功。运行结果如图1.2所示。图1.2 新建表(3) 选中表sc,然后点击“设计表”,即在DataGridView中显示出当前表的结构,如图1.3.1所示。a. 在表sc中添加一个字段:列名为score,数据类型为float,数据长度为8,允许为空,执行结果如图1.3.2。b. 将sno字段名改为stuno,执行结果如图1.3.3所示。c.删除选中字段score,执行结果如图1.3.4所示。图1.3.1 设计表初始界面图1.3.2 插入字段图1.3.3 修改字段图1.3.4 删除字段(4) 删除选中的表,执行结果是删除本地存储文件,同时删除选中的表的树节点。图1.4是删除表r的执行结果。图1.4 删除选中的表2、部分输入与程序要求不符的处理结果:(1) 在新建表或为一个表添加字段时,同时选中“设置主键”和“是否唯一”两个属性,运行结果如图2.1所示。图2.1 异常处理一(2) 在新建表或为一个表添加字段时,同时选中“设置主键”和“允许null值”两个属性,运行结果如图2.2所示。图2.2 异常处理二(3) 在新建表或添加一个新字段时,若某个字段有外键约束,则这个字段的参照字段必须是被参照表中的主键,且数据类型和数据长度必须相同,若不同,则会报错。运行结果如图2.3所示。图2.3 异常处理三七、 参考资料:1. Microsoft SQL Server 2008中的SQL Server Management Studio;2. Microsoft Visual Studio 2008文档;3. 数据库系统概论(第四版),王珊、萨师煊等编著,高等教育出版社4. c#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)_.NET教程_编程技术:八、 总结:通过这次课程设计的实践,我有以下几点收获:1. 更加明确了数据库管理系统与数据库应用系统的区别,之前在上课的过程中听到这两个概念的时候感觉很困惑,虽然老师也讲解了多次,但始终分不清两者的区别,而做这个课程设计之前首先就是明确了DBMS的功能是什么。2. 对数据库的三种完整性约束(即实体完整性约束、参照完整性约束、自定义完整性约束)有了更加全面深入的认识。其中的实体完整性要求表中的主码值必须唯一,且主码的各个属性不能为空,这个比较容易理解;而参照完整性约束中要求必须参照的是其他表的主码,这是在以前的学习中我没有注意到的;自定义完整性中的CHECK短语在图形界面中实现起来比较复杂,因此我没有实现,也没有很深刻的了解,而非空和唯一性约束都是很容易实现的。3. 对XML文档的操作更加熟练。在以前的学习过程中很少会接触到XML文档,因此对其使用也不是很了解,在这次实践中通过课本上的介绍以及在网上查找的资料,使我对XML文档的特性及优点更加了解,我发现在高级编程语言中对XML文档的操作要比TXT文档的操作要简单的多,且更加直观。4. 对C#语言了解的更深入一些。我没有系统的学习过C#,只是在实训的过程中才开始学习了一点,现在再次使用这个语言,感觉更加熟练了。第 16 页
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!