数据库实验报告
专业班级: 姓名: 学号: 日期:
一、实验名称:数据库模式设计和数据库的建立 二、实验目的和要求:
(1)熟悉SQL SERVER 2000 环境。
(2)根据一个具体应用,独自完成数据库模式设计。
(3)熟练使用企业管理器和SQL语句创建数据库、表、索引和修改表结构。 (4)熟练使用企业管理器向数据库输入数据、修改数据和删除数据的操作。 三、实验程序源代码:此次实验还没有用。 四、总结与体会: 思考题目的回答:
(1) 学生选课数据库的主码、外码和数据约束。
主码:Cno 和Sno。 外码:学生表中的Sno和课程表中的Cno为选课表的外码。 数据约束:Sname Sdept 为非空、数值取值的范围。 (2)为什么不能随意删除被参照中的主码。
各个表之间由码联系,比如,F是R的一个属性,是与表B中的C主属性对应的。所以F可以取空或者为C中的数值。所以不能随意删除被参照表中的主码。 (3)为什么要建立索引,建立多少个索引较为合适。 索引的功能表现在以下3个方面:
使用索引可以明显地加快数据查询的速度;使用索引可以保证数据的唯一性;可以加快连接速度。
对于一个基本表,不要建立过多的索引。索引文件要占用文件目录和存储空间,索引过多会使系统负担加重。 索引需要自身维护,当基本表的数据增加、删除或修改时,索引文件要随之变化,以便于基本表保持一致。显然,索引过多会影响数据增加、删除、修改的速度。所以我认为应该建立两个索引。
(4) 在学生选课数据库的选课表中,属性学号采用数值型,课程号采用字符型的较好。 总结:通过实验课我发现,自己对于SQL环境非常不了解,对于要建立两个表之间的关系层次分析不清楚。开始,并没有注意到属性的数值类型的选取和主外码的一致,以及可空值的条件。做过了这次试验后,我知道,自己还有很多东西要学习,首先要熟悉这个环境,弄清楚各个表和视图的建立方法。以便后边熟练地编辑。