《数据库课程设计说明书实现DBMS的创建表和修改表》由会员分享,可在线阅读,更多相关《数据库课程设计说明书实现DBMS的创建表和修改表(17页珍藏版)》请在金锄头文库上搜索。
1、课程设计说明书设计题目: 实现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) 数据库系
2、统概论(第四版),王珊、萨师煊等编著,高等教育出版社 三、 课程设计应解决的主要问题:(1) 可以重复新建表结构 (2) 可以对已经创建好的表结构进行修改 (3) 可以删除已创建的表 四、 课程设计相关附件(如:图纸、软件等):(1) 数据库课程设计.exe (2) 课程设计说明书.doc (3) 说明.txt 五、 任务发出日期: 2011-4-29 课程设计完成日期: 2011-7-1 指导教师签字: 系主任签字: 一、 设计要求:实现DBMS的创建表和修改表这个模块的功能要求就是实现创建表结构及插入、删除、修改表结构。要求:(1) 设计实现表的物理存储结构;(2) 语句以命令行或图形界面
3、实现。二、 需求分析:在以前的学习过程中已经学习了数据库的应用方面的知识,那时所学到的只是如何应用别人开发的软件,而对其入后台如何运行没有深刻的认识。通过这学期数据库系统概论的学习,我明白了数据库软件的后台运行情况,为了加深对数据库DBMS后台运行的理解,因此老师要求实现DBMS的某个模块的功能。而DBMS的创建表和修改表就是其中的一个模块。三、 设计思想:本课程设计中包括三个模块:1)新建表:新建一个表的表结构,其中包括表的实体完整性、参照完整性和部分自定义完整性(唯一性)的约束的框架的实现,每一个新建的表都以单独的XML文档来存储,并且新建的每个表都只能存储到指定的文件夹下。2)修改表:这
4、个模块包含新增字段、删除字段和修改已有字段。新增字段只需要在DataGridView中添加新的字段,然后保存就可以了;删除字段是要选中所要修改的字段所在的行,然后右击鼠标,选择快捷菜单中的“删除列”即可;修改字段的属性时不可以改变属性是否为主键和是否为空的属性。3)删除表:选中表单中已存在的表,然后单击“删除表”,即可实现删除本地文件夹下的表文件和TreeView中的该表的相应的节点。编写程序的环境是Microsoft Visual Studio 2008。程序的主界面如下:其中,右侧的DataGridView在程序开始运行时是隐藏的,当选择“创建表”或对已有表进行“设计表”操作时才会显示。其
5、中添加行的功能是DataGridView自带的功能。表中某一字段的各个属性的限制如下:(1) 一个表中的同一个字段不能同时设置成主键并要求唯一。(2) 列名可以是任意字符串,但不能为空。(3) 数据类型包括char、float和int类型,必须选其中的一种类型。(4) 数据长度要求必须是整型,且不能为空。(5) 主键不允许为空。(6) 外键参照要求当前字段所参照的属性是被参照表的主键,且当前字段的数据类型和数据长度要与被参照属性一致。若在程序运行过程中违反了上述限制的任一条,程序都会弹窗向用户提示,错误所在。程序的另一个界面就是选择表名的名称,界面如下图所示:在上图所示的文本框中输入表名,点击
6、“确定”即可保存,点击“取消”回到主程序页面。 不保存新建的表。四、 程序流程图:由于本课程设计所实现的是新建表和修改表,因此执行的先后顺序没有严格的区别,下图的程序流程图只是其中的一种执行次序,实际运行过程完全可以根据个人喜好自由选择。图1 程序流程图五、 主要源程序:1. 新建表private void 创建表ToolStripMenuItem_Click(object sender, EventArgs e) /清空gvTable gvTable.Rows.Clear(); /将gvTable设置为可见 gvTable.Visible = true; /表示目前所做的操作是创建表 fla
7、g = 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
8、(); /若是修改表并且生成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
9、都会改变,因此需要重新遍历 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) /删除
10、选中的节点的表的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表中的要一致,若不一致则报错。如果输入都正确则会弹出输入表名的对话框,输入表明后即提示
11、保存成功。运行结果如图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) 在新建表或为一个表添