数据库实验讲义
更新时间:2023-11-30 03:00:01 阅读量: 教育文库 文档下载
实验一 用SQL Server实现数据库设计 实验目的:
1. 掌握使用企业管理器创建和管理SQL Server数据库及相关数据库对象。 2. 掌握使用SQL语言中的SELECT命令实现查询功能。 上机准备:
1.复习有关关系数据库的基本知识和概念; 2.复习有关SQL语言中SELECT命令的使用; 3.了解有关SQL Server系统的组成;
4.复习有关SQL Server服务器的使用和管理; 5.复习有关企业管理器的基本操作; 6.复习有关查询分析器的基本操作;
7.了解有关SQL Server服务器的登陆账号,密码;
实验内容: 本实验将建立一个学校教学管理数据库,在这个数据库中,存储以下信息:
1.有关学生的信息,包括学生的学号,姓名,班级,性别,出生时间,政治面貌,籍
贯,入学时间,联系电话,简历; 2.有关班级的信息,包括班级的班名,专业,年级,人数,班主任;
3.有关课程的信息,包括课程编号,课程名称,课程类别(是指该课程为必修,指选
还是任选),适用专业,适用年级,开课时间(是指在每个学年的第一学期,还是第二学期),学分,周学时;
4.有关学年课程安排的信息,包括课程编号,开设课程的学年(例如:2002学年),开设课程的班级,任课教师;
5.有关学生选课的信息,包括课程编号,学生的学号,成绩; 一、熟悉开发环境 练习:
1.启动和停止SQL Server服务 2.注册服务器
3.使用企业管理器和查询分析器
二、使用企业管理器完成数据库及数据库对象的创建和管理 实验步骤:
1.创建数据库
(1)要求参数:
数据库名称:teaching 数据库逻辑文件名:teaching_data
日志逻辑文件名:teaching_log
操作系统日志文件名:e:\\xxx\\teaching.ldf 日志文件初始大小:1MB 日志文件最大大小:2MB
操作系统数据文件名:e:\\xxx\\teaching.mdf 数据文件初始大小:1MB 数据文件最大大小:5MB
数据文件增长增量:10% 日志文件增长增量:10% (2)创建后在database节点查看是否已包含了刚创建的数据库teaching; (3)展开teaching 节点,以下的所有对象均创建在teaching 数据库中; 2.创建用户定义的数据类型
(1)练习按要求创建以下数据类型
数据类型名称 数据描述 student_no 长度为10且不允许空值的字符型;
1
member_no 整数,且存储的值不超过30000
shortstring 最多15个字符的可变长字符型
(2)考虑在该数据库中可能使用的自定义数据类型(例如:学号的数据类型),并创建 3.创建表
(1)根据上述数据库存储的信息,决定创建几个表,并给每一个表指定一个有意义的表名;
(2)根据每个表中每列存储的数据的情况,为每个列指定列名,数据类型,数据的长度,是否允许为空等列的属性;
(3)使用企业管理器建立所有的表;
(4)创建之后,还可以根据具体情况,再对表的结构进行修改;(包括添加列,删除列,
修改已存在的列)
4.实现数据完整性
(1)针对每一个表分析并定义主码(Primary Key) (2)定义UIQUE约束
用来规定一个列中的两行不能有相同的值; 例如:希望学生的姓名是唯一的;
(3)针对每一个表分析外部码,并利用“关系图”定义外部码(Foreign Key),建立表
之间的参照关系; (4)定义缺省值
方法1:直接在表设计时,定义列的default属性; 例如:练习在定义“性别”列时,定义它的缺省值位“男”;
方法2:创建一个缺省值对象,然后绑定到任何一个需要的列; 例如:练习创建并绑定一个缺省值到学生的联系电话,缺省值为“unkown”; (5)定义check约束
check约束用来限制用户输入的某一列数据;
例如:成绩输入的值应该限制为0-100之间的数值
(6)定义规则(rule)
rule也可以用来限制用户输入的数据,但它只定义一次,可以绑定到一列或多列; 例如:创建一个规则,保证只允许输入指定的课程类别:“必修”,“任选”,“指选”,然后把此规则绑定到“课程类别”;
(7)创建以上约束后,练习修改约束的操作(包括增加,修改和删除以上约束); 5.根据自己所在班级的情况,对已经创建的表自己输入一些相关示例数据,在输入的过程中,特地输入一些违反上述约束条件的数据,观察处理的效果;
(1)使用企业管理器,完成一些记录的插入、修改和删除; (2)练习使用INSERT、UPDATE、DELETE命令完成记录的插入、修改和删除;如果
对该命令的使用不是很清楚,请练习查找“帮助系统”完成上述命令的学习; (3)练习使用TRUNCATE TABLE命令删除表数据;
(4)在练习使用命令删除数据之前,可以使用SELECT INTO命令把数据保存到一个新建的表中;
三、使用企业管理器创建和管理索引
1.利用表的属性对话框,观察每个表已经自动创建的索引; 2.针对学生选课信息表创建如下索引
(1) 按学号+课程编号建立主键索引,索引组织方式为聚簇索引;
2
(2) 按学号建立索引,考虑是否需要创建唯一索引,索引组织方式为非聚簇索引; (3) 按课程编号建立索引,考虑是否需要创建唯一索引,索引组织方式为非聚簇索引; (4) 再针对学生选课信息表输入一些数据,观察表中记录位置的变化;通过观察比较
非聚簇索引和聚簇索引的不同之处;
3.针对其它表,练习创建索引;(考虑:是否对每个列都应创建索引?应该从哪些方面考虑是否应为此列创建索引?) 4.练习索引的修改和删除操作
四、创建和管理视图
1.创建视图: 使用企业管理器或使用CREATE VIEW命令 例1:创建视图,包含所有通信工程专业的学生的信息;
例2:创建视图,包含所有学生的学号,姓名,选课的课程名和成绩; 例3:创建视图,包含所有课程的课程号,名,班级名称及每班选课的人数; 2.练习修改视图的定义
第一个视图,包括with check option 选项
第二个视图,包括with encryption选项;(查看视图的属性,观察和以前有和不同) 3.利用已经创建的视图进行查询;
4.利用已经创建的视图修改数据(观察是否所有通过视图的修改都能实现?) 5.练习删除视图
五、对于上述所创建的所有数据库对象产生其脚本文件,并保存在磁盘上; 六、使用查询分析器实现以下查询 1.练习课堂上举例介绍的几类查询;
2.实现以下查询 (1) 检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。 (2) 检索姓“王”的所有学生的姓名和年龄。 (3) 检索没有考试成绩的学生姓名和课程名。
(4) 检索年龄大于女同学平均年龄的男学生姓名和年龄。 (6) 统计有学生选修的课程门数。
(7) 求选课在四门以上的学生所选课程的平均成绩(不统计不及格的课程)。最后按降序列出
平均成绩名次名单来。
(8) 统计每门指选课程的学生选修人数(超过10人的课程才统计),要求输出课程号,课程名和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 (9) 检索所学课程包含了s3所选所有课程的学生姓名。
注:上述查询中所用的课程号和学号的值,可以根据自己表中的数据作修改;为了验证查询
的正确,可能还需要输入或修改表中的示例数据; 七、在企业管理器中利用数据导入,导出向导练习数据的导入导出;把每个表中的数据导出
到指定的文本文件中; 八、在企业管理器中,练习数据库的完整性备份和恢复;
九、把实验中生成的脚本文件,数据导出的文本文件以及数据库的备份文件复制到软盘中; 十、选作:存储过程和触发器的实现
1. 存储过程 (1)使用CREATE PROCEDURE命令创建存储过程
例1:定义存储过程,实现学生学号,姓名,课程名和成绩的查询; 例2:定义存储过程,实现按某人指定课程的成绩;
例3:定义存储过程,在查询某人所选修的课程和成绩,指定姓名时,可以只给出姓;
3
例4:定义存储过程,计算并查看指定学生的总学分
(2)使用EXEC命令执行上述存储过程 2.触发器
(1)使用CREATE TRIGGER命令对学生选课信息表创建插入触发器,实现的功能是:当向学生选课信息表中插入一记录时,检查该记录的学号在学生表中是否存在,检查该记录的课程编号是否在课程表中存在,若有一项为否,则提示“违背数据的一致性”错误信息,并且不允许插入。
(2)使用CREATE TRIGGER 命令对学生信息表创建删除触发器,实现的功能是:当在学生信息表中删除一条记录时,同时删除学生选课信息表中相应的记录。 (2)向课程信息表插入数据,在学生信息表删除记录,验证触发器的执行; 十一、 在实验老师验收所有的项目后,删除所创建的数据库;
4
实验二 在PB中实现第一个应用程序 实验目的:
1.熟悉PB8.0的集成开发环境
2.在PB8.0中连接SQL Server数据库,并使用数据库画笔进行操作; 3.通过一个应用实例,了解PB应用程序的对象以及应用程序开发步骤; 上机准备
1.了解在PB开发环境中操作数据库;(阅读教材:第四章)
2.了解在PB集成环境和开发应用程序的流程;(阅读教材:第二、三章) 实验步骤:
一、进入PB8.0集成环境; 二、在数据库画板中完成以下工作
1. 定义ODBC数据源,它指向实验一中所创建的SQL Server数据库; 2. 建立DB Profile;
3. 在PB环境中连接数据库
4. 在PB环境中操作数据库:浏览数据,更新数据,浏览和修改表结构等 5. 断开数据库的连接
三、建立第一个PB应用程序 1.使用实验一所创建的数据库
2.实现的详细步骤见教材:p127, 第六章 《第一个PB应用程序》;
3.通过该实例理解PB建立一个应用程序的过程和方法;了解画板环境和视窗操作;
4.记录在该应用程序的实现过程中遇到的问题,不清楚的问题,在后面的学习和实验中解决;
5
正在阅读:
数据库实验讲义11-30
实验三 查询数据库原理实验12-06
水污染控制课程设计--垃圾填埋场渗滤液处理站设计方案01-12
石英石板材生产项目可研报告 - 图文05-12
共青团济南市委2017年重点及亮点工作05-07
初三化学讲义 第十二讲03-15
企业节后复工复产方案07-30
建筑结构抗震性能分析 - 图文09-16
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 讲义
- 实验
- 数据库
- 招聘与甄选
- 企业内部控制五要素
- 小额贷款公司考试试卷B
- 威伦通屏的常见问题及解决方法
- 信息编码习题答案或提示
- 2016年上海外国语大学新闻传播学院(广告学)传播学综合之《现代广告通论》复试笔试仿真模拟题
- 中国海洋石油公司介绍1
- C语言基础练习题(含答案)
- 八年级物理导学案--平面镜成像
- 水利水电工程设计概预算编制规定
- 深圳市保障性住房轮候申请表
- 附1:“为留守儿童设计”公益项目申请书
- 理赔申请书- PICC人保寿险首页
- 沪科版八年级物理下册第十一章 小粒子与大宇宙 第三节 探索宇宙(学案)
- 中国社会学史课程习题及参考答案
- 大客户运营合作协议
- 建筑施工技术知识点 最新 -
- 2014年房地产经纪人《业务操作》精选复习题及答案每日一讲(11月23日)
- 外研版必修三短语句型总结
- 住院病历的内容及要求