数据库系统原理实验大纲 课程内容 1 实验内容 1) SQL Server的体系结构 2) 数据定义语言 3) 数据操纵与数据控制语言 4) 完整性控制 5) 事务 6) 数据库备份与恢复、数据的导入与导出 7) 安全性控制 8) 嵌入式SQL以及DBMS与高级语言的接口 2 实验环境 1) Windows 2000/XP操作系统,Server版或Professional版; 2) Microsoft SQL Server 2000标准版或个人版; 3) PowerBuilder 9/Delphi 7/Visual C++ 6/JAVA/.NET环境。 3 实验课时 课内8学时,课外16学时。 实验目的与要求 通过上机实践,了解DBMS的体系结构,熟练掌握SQL的数据定义、数据操纵和数据控 制语言的运用。 考核知识点与考核要求 1. SQL Server的体系结构. 1) SQL Server的逻辑组件 熟练掌握数据类型和表的概念 熟练掌握视图的概念 理解存储过程的作用 理解函数的用法 理解约束、规则与默认值等概念 了解排序规则 熟练掌握索引的概念及其作用 理解登录、用户、角色与组等组件及其关系 2) SQL Server的管理架构 熟练掌握SQL Server企业管理器的功能及用法 熟练掌握SQL 查询分析器的功能及用法 掌握数据导入与导出工具的用法 理解SQL事件探查器的功能及简单用法 掌握SQL Server服务管理器的用法 掌握客户端网络实用工具的用法,熟练掌握客户网络的配置 掌握服务器网络实用工具的使用 了解SQL的自动管理架构 理解备份/还原架构的工作原理,掌握备份/还原的操作 2. 数据定义语言. 熟练掌握数据库的创建与维护 熟练掌握表的创建与维护 熟练掌握索引的创建与维护 熟练掌握视图的创建与维护 了解存储过程的创建与维护 了解触发器的创建与维护 了解函数的创建维护 3. 数据操纵与数据控制语言. 熟练掌握数据的查询操作 掌握数据更新操作(插入、修改与删除) 理解安全授权与权限回收语句 4. 完整性控制. 熟练掌握主键约束 熟练掌握外键约束 熟练掌握UNIQUE约束 熟练掌握空值约束 理解CHECK约束的作用 掌握增、删、改被参照关系主键值时,对参照关系产生影响的几种策略,如受限 删除、级联删除、置空等策略。 5. 事务. 掌握BEGIN TRANS,COMMIT,ROLLBACK等语句的使用 6. 数据库备份与恢复、数据的导入与导出 掌握数据库的备份与恢复策略 掌握数据的导入与导出方法 7. 安全性控制 理解登录、用户、角色、组等安全性控制机制 掌握权限的管理方法 8. 嵌入式SQL以及DBMS与高级语言的接口 了解嵌入式SQL在PowerBuilder中的使用方法 了解SQL Server与各种开发工具的接口,包括PowerBuilder, Delphi, Visual C++, 以及ASP架构、DOT.NET架构等各种环境下对数据库的访问技术。 实验步骤 1.数据库及表的创建 创建一个名为school的数据库,数据库的各参数取默认值,但该数据库的恢复模式必 须设为"完全恢复"。在这个数据库之下创建教学管理中的三个表: Students(S#,SNAME,AGE,SEX) 学生(学号,姓名,年龄,性别) Courses(C#,CNAME,SCORE,PC#) 课程(课程号,课程名,学分,先行课号) SC(S#,C#,GRADE) 选修(学号,课程号,成绩) 要求如下: (1) 除age, score, grade为int型外,其余为定长字符型,请自行设置合理的长度; (2) 三表的主键依次为S#,C#,(S#,C#); (3) 三表存在参照引用关系:SC.S#引用自Students.S#,SC.C#引用自Courses.C#,请定义参 照完整性约束;并定义被参照表主键值发生变化时,对参照表的影响如下:更改课程编 号C#时,级联修改SC表中的课程编号C#;更改学号S#时,级联修改SC表中的学号S# ;删除Students和Courses时,如对应的S#或C#被SC引用时,删除被拒绝; (4) 定义CHECK约束: 成绩Grade必须在0到100之间; (5) 定义空值约束: SNAME,CNAME及SCORE不允许为空值; (6) 为SNAME列建立合适的索引。 记下完成上述任务的数据定义语句。 2. 数据插入操作 (1) 为前述所建三表插入适当的有意义的数据:Students表不少于5行,Courses表不少于5行 ,SC表不少于15行。所构造的数据中,课程名中至少包括"数据库"、"物理"、"数学"三 门课程,至少有一个名叫"李勇"的学生。记下你所插入的数据; (2) 分别构造违反PRIMARY KEY约束
【数据库系统原理实验大纲】
本实验大纲主要涵盖了数据库系统的基础理论和实践操作,旨在通过上机实践帮助学生深入了解数据库管理系统(DBMS)的体系结构,掌握SQL语言的应用,包括数据定义、操纵和控制,以及数据库的安全性和恢复机制。实验内容包括SQL Server的各个组成部分、数据完整性、事务处理、备份与恢复等多个方面。
1. **SQL Server的体系结构**
- **逻辑组件**:学习数据类型、表、视图、存储过程、函数、约束、规则和默认值,以及排序规则。重点在于理解和掌握索引的概念和作用,以及登录、用户、角色和组的管理。
- **管理架构**:熟悉SQL Server企业管理器和查询分析器的使用,掌握数据导入导出工具,理解SQL事件探查器、服务管理器和网络工具的使用,以及备份/还原架构的工作原理。
2. **数据定义语言**
- 学习如何创建和维护数据库、表、索引和视图,同时涉及存储过程、触发器和函数的基本概念。
3. **数据操纵与数据控制语言**
- 掌握查询操作,以及插入、修改和删除数据的方法。理解授权和权限回收的语句。
4. **完整性控制**
- 熟练使用主键、外键、唯一性约束和空值约束,理解CHECK约束的作用,以及参照完整性的不同处理策略。
5. **事务**
- 学习使用BEGIN TRANS、COMMIT和ROLLBACK等语句来处理事务。
6. **数据库备份与恢复、数据的导入与导出**
- 掌握不同的备份策略和数据恢复方法,以及数据导入导出的实践操作。
7. **安全性控制**
- 理解登录、用户、角色和组的安全控制机制,以及权限的管理。
8. **嵌入式SQL与DBMS与高级语言的接口**
- 了解如何在PowerBuilder等开发环境中使用嵌入式SQL,以及SQL Server与其他开发工具(如Delphi、Visual C++、JAVA和.NET)的接口。
**实验步骤**:
实验要求学生创建一个名为"school"的数据库,包含三个表——Students、Courses和SC,分别代表学生、课程和选修记录。这些表需要符合特定的完整性约束,如主键、外键和参照完整性。此外,还需定义CHECK和空值约束,并创建索引。实验还涉及向这些表中插入数据,以及违反主键约束的尝试,以检验数据库的约束处理。
实验目的是通过实际操作,使学生能够深入理解数据库系统的运作机制,掌握SQL语句的编写,以及数据库设计、管理、安全性控制和数据恢复等核心技能。