首页 > 精品范文库 > 15号文库
数据库原理与应用SQL教学纲要
编辑:独坐青楼 识别码:24-972205 15号文库 发布时间: 2024-04-23 01:43:43 来源:网络

第一篇:数据库原理与应用SQL教学纲要

《数据库原理与应用》课程教学纲要

一、课程概述

(一)课程学时与学分

课程代码:,计算机网络技术专业,第2学期开课;

课程总学时:48学时(理论讲授学时:24学时;实践学时:24学时)课程总学分:3学分。

(二)课程性质

本门课程是高等院校计算机网络技术专业的必修课程之一,选用当前主流数据库管理系统软件SQL Server 202_为教学内容。本课程较系统地介绍了数据库的基础知识和提高部分。基础部分介绍SQL Server数据库的特点和数据库的创建、修改、删除、查询等基本操作;提高部分主要介绍SQL Server的存储过程、触发器以及数据库的完整性和数据库的维护。整个学习过程由浅入深、逐层推进,使不同层次的学生都能很容易找到自己的切入点,轻松地学习。

(三)教学目的

通过本门课程的教学,使学生对数据库技术有一个比较全面地了解,掌握当前主流数据库SQL Server的应用,从而具有数据库管理及开发网络数据库应用系统的初步能力。

(四)本课程与其他课程的联系与分工

本课程的先修课程包括《计算机文化基础》和《程序设计基础》等,同时本门课程又是学习《面向对象程序设计》等后续课程的先导课。

二、课程教学的基本内容与要求

(一)数据库系统概述 1.信息、数据与数据处理

2.数据库技术的产生、发展与研究领域 3.数据库系统的组成和结构 4.数据库管理系统 5.数据模型

教学要求:熟悉信息、数据和数据处理的基本概念;了解数据库技术的产生和发展;掌握数据库系统的结构和组成以及有关数据模型的技术,包括数据模型的三要素、概念模型;理解三种主要的数据库模型;了解面向对象的数据库技术和其它相关技术。

教学重点:数据库系统的组成和结构;数据库管理系统;数据模型。教学难点:数据库中有关的基本概念;数据库三级模式结构和两级映射 授课学时:3学时

(二)SQL Server 202_的安装和配置

1.SQL Server 202_简介 2.SQL Server 202_的安装

3.使用SSMS配置SQL Server 202_服务器 4.配置SQL Server 202_服务

教学要求:了解SQL Server中的重要内容;掌握可视化工具的使用;掌握服务器的启动和停止、服务器的连接、服务器的注册。

教学重点:可视化工具的使用及作用;服务器的注册。教学难点:各种情况下服务器的注册及注意事项 授课学时:2学时(理论0学时,实验2学时)

(三)SQL Server 202_数据类型 1.7类系统数据类型 2.用户自定义数据类型

教学要求:掌握SQL Server 202_数据类型的分类、使用方法和使用时的注意事项 教学重点:各种系统内置数据类型的特点和基本用法。教学难点:各种系统内置数据类型的特点和基本用法。授课学时:2学时(理论2学时,实验0学时)

(四)数据库和表 1.创建和管理数据库 2.创建和管理表 3.数据完整性

教学要求:了解关系数据库的定义及表的定义;掌握使用图形化工具和T-SQL语句两种方法创建和管理数据库及表;牢记T-SQL语句创建和管理数据库及表的SQL命令;掌握数据操纵;掌握域完整性、实体完整性、引用完整性的作用及实现。

教学重点:数据库信息的显示、扩充数据库容量、配置数据库、重命名数据库、删除数据库,分离和附加数据库;表的创建及相关约束操作、表结构的修改、重新命名表、删除表,数据增删改;理解数据完整性,约束、默认和规则的创建和管理。

教学难点:用命令方式创建含各种约束的表;数据操纵的相应命令格式;null值的操作及理解;约束、默认和规则的创建和管理。

授课学时:6学时(理论2学时,实验4学时)

(五)数据库的查询 1.基本子句查询 2.数据汇总 3.多表联接查询 4.联合查询 5.嵌套查询

教学要求:熟练掌握数据检索命令格式 教学重点:数据检索 教学难点:多表查询

授课学时:6学时(理论4学时,实验2学时)

(六)索引与视图 1.索引的定义与类别 2.索引的创建与删除 3.索引的分析与维护 4.视图的概念及作用 5.视图的创建与修改 6.通过视图修改数据库信息

教学要求:了解索引和视图的定义;掌握使用图形化工具和Transact-SQL语句两种方法创建索引和视图。

教学重点:创建视图和索引 教学难点:视图操作。

授课学时:4学时(理论2学时,实验2学时)

(七)Transact-SQL程序设计 1.概述

2.批处理

3.注释语句

4.标识符

5.全局变量与局部变量

6.运算符和表达式

7.流程控制语句

8.游标的声明、打开与读取、关闭与释放

教学要求:掌握Transact-SQL程序设计的基本要素。

教学重点:批处理的编写及执行;局部变量的定义及使用;流程控制语句的使用。教学难点:流程控制语句的使用。

授课学时:5学时(理论3学时,实验2学时)

(八)存储过程 1.存储过程概述 2.存储过程的创建和管理

教学要求:了解存储过程的作用及存储过程的程序结构;熟练掌握存储过程的创建与管理。掌握使用图形化工具和Transact-SQL语句两种方法创建存储过程。

教学重点:存储过程的创建和执行。

教学难点:含参数存储过程的创建与执行。授课学时:4学时(理论2学时,实验2学时)

(九)触发器 1.触发器的工作机制 2.触发器创建和管理

教学要求:了解触发器的概念和工作原理;掌握使用图形化工具和Transact-SQL语句两种方法创建触发器。

教学重点:触发器的工作机制。教学难点:触发器的工作机制。

授课学时:4学时(理论2学时,实验2学时)

(十)用户自定义函数与事务 1.用户自定义函数简介

2.用户自定义函数的创建及执行 3.事务处理 4.锁

教学要求:注意区分三种用户自定义函数的不同功能;主要掌握标量函数及表值函数的定义格式及函数执行;记住4个事务语句及其功能;了解锁的工作机制。

教学重点:标量函数及表值函数的定义格式及执行;事务与锁的合理配合。教学难点:标量函数及表值函数的定义格式及执行。授课学时:2学时(理论2学时,实验0学时)

(十一)SQL Server 202_管理 1.安全管理 2.数据的导入导出 3.数据库备份 4.数据库恢复

教学要求:熟练掌握SQL Server的访问控制;熟练掌握数据库权限管理;熟练掌握数据库角色管理;掌握与安全有关的Transact-SQL语句;掌握常用的数据库的日常维护和管理方法。

教学重点:权限,角色;数据库的备份和还原;数据导入和导出。

教学难点:用T-SQL命令进行权限管理;引入角色的作用;数据库的备份和还原。授课学时:6学时(理论2学时,实验4学时)

(十二)数据库综合开发应用 1.系统需求分析 2.系统总体设计 3.系统具体实现

教学要求:了解数据库设计的基本过程;了解数据库概念设计,掌握概念设计所用的数据模型以及概念设计的基本方法;掌握数据库的逻辑设计,重点掌握E-R图到关系模式的转换方法。

授课学时:4学时(理论0学时,实验4学时)

三、教学方式与方法

教学中将各章知识点融入相应案例当中进行讲解,增加知识点的直观性,更易于接受;各章知识点与上机操作题紧密结合,帮助学生理解、巩固;课程最后给出一个综合案例课题,向学生展现数据库整体开发的全过程,引导学生对各知识点融会贯通,培养、启发学生的创新思维能力。

注重上机实验环节,通过实验要求学生熟悉数据库语言的基本用法。实验环境为SQL Server 202_数据库环境。

要尽量采用现代化、多样化手段实施教学。充分利用投影仪、多媒体等现代化电子教学手段。

四、课程考核方式与要求

本课程考核分实验考核和期末考试两部分(缺课1/3取消期末考试资格直接进入二次考试)。

平时成绩5%:依据平时考勤、课堂提问情况评定。

实验考核占15%:每个实验题目15分,取平均成绩作为总评成绩。

期末考试占80%:采取笔试方式,考试时间90分钟,主要考核数据库原理与应用的相关知识。

五、课程使用的教材与教学参考资料

(一)教材

1.杜兆江《SQL Server 202_实用教程》 人民邮电出版社

(二)参考资料

1.陈志泊,《数据库原理与应用教程》,人民邮电出版社

(三)其他参考资料

1.萨师煊,《数据库系统概论》,高等教育出版社

2.刘遵仁,《SQL Server 中文版基础培训教程》,人民邮电出版社

3.王珊、罗运模,《SQL Server 202_》(重点大学计算机应用教材),高等教育出版社

第二篇:SQL Server数据库及应用教学大纲

《SQL Server数据库及应用》课程教学

大纲

一、课程的性质与任务

本课程是计算机相关专业一门重要的专业技术课。通过本课程的学习,应使学生从理论和实践上掌握数据库开发技巧,选择前端开发环境与后端SQL Server数据库系统的集成,使学生在数据库开发应用方面能提出正确的解决方案。

二、课程教学目标

(一)知识目标

1.SQL Server 202_涉及的概念和范围较多较广,因此要强调基本概念和基本操作,从更多的实践环节中理解SQL Server 202_的体系和特点。2.课程应注重Transact-SQL的教学和实践,在掌握SQL Server图形管理工具的同时,加强isql/osql公用程序的使用。3.本课程综合性较高,教学中可酌情安排一定时数的课程设计(结合前端开发工具),使学生对于SQL Server及其它数据库有更全面的理解。

(二)能力目标

培养学生具备数据库应用程序开发能力,能够根据实际需要自行开发以SQL Server 202_为后台的Windows数据库应用程序,具有分析和调试程序的能力。

(三)德育目标

将德育教育寓于专业知识的教学中,教育学生热爱生活、热爱学习、热爱自己的专业,刻苦学习,学风严谨,使学生养成理论联系实际的良好习惯。

三、课程内容及教学要求

(一)SQL Server概述

1.教学内容:(1)数据库的基本概念(2)SQL语言的特点

(3)Microsoft SQL Server的特点 2.教学要求:

掌握Microsoft SQL Server的结构、功能和性能特点;理解SQL语言的特点;了解数据库的基本概念、SQL Serve的演变过程。

(二)安装SQL Server 202_系统

1.教学内容:

(1)安装预准备工作

(2)Microsoft SQL Server 202_的安装过程(3)验证系统是否按装成功 2.教学要求:

掌握Microsoft SQL Server安装的软、硬件要求及安装过程;了解 SQL Serve的版本类型。

(三)注册和配置服务器

1.教学内容:(1)注册服务器(2)配置服务器 2.教学要求:

掌握注册和配置服务器的各种方法和技术;了解注册和配置服务器的作用。

(四)SQL Server的安全管理

1.教学内容:

(1)认证模式和认证进程(2)管理登录账号

(3)管理数据库用户账号(4)管理角色(5)管理许可 2.教学要求:

掌握设置认证模式技术、管理惧色、许可技术;理解数据库安全模式、认证模式及账号管理;了解许可类型。

(五)管理数据库

1.教学内容

(1)数据库对象(2)创建、删除、修改数据库(3)设置数据库选项 2.教学要求:

掌握数据库的基本操作和属性技术;了解数据库的基本概念。

(六)管理表

1.教学内容:

(1)表的基本概念和特点(2)数据类型(3)管理表 2.教学要求:

掌握表的基本概念和系统数据类型,表的基本操作;了解自定义数据类型。

(七)操纵表中的数据

1.教学内容:

(1)插入、修改和删除数据(2)检索表中的数据(3)高级检索技术 2.教学要求:

掌握表数据的基本操作及各种检索技术。

(八)索引

1.教学内容:

(1)索引的类型和访问数据的方式(2)创建索引技术(3)维护索引 2.教学要求:

掌握创建、维护索引技术;理解索引的类型;了解索引的作用。

(九)数据库的备份和恢复

1.教学内容:(1)备份技术(2)恢复技术 2.教学要求:

掌握备份操作和恢复操作技术;了解备份和恢复的概念和作用;

(十)视图、存储过程和触发器 1.教学内容:(1)视图(2)存储过程(3)触发器 2.教学要求:

掌握创建、修改和使用视图技术,创建触发器技术;了解视图的概念和特点,触发器的特点和作用。

(十一)Transact-SQL语言

1.教学内容:

(1)Transact-SQL语言的特点(2)Transact-SQL语言的组成元素(3)执行Transact-SQL语句的工具 2.教学要求:

掌握使用数据控制、定义和操作语言及T-SQL语句;了解Transact-SQL语言的特点。

(十二)SQL Server的并发性

1.教学内容:

(1)并发性的概念(2)事务(3)使用锁 2.教学要求:

掌握事务管理和锁技术;理解锁的作用;了解并发性的概念。

(十三)数据互操作性技术

1.教学内容:

(1)数据互操作性技术工具(2)数据转换服务 2.教学要求:

掌握使用DTS工具;理解DTS工具的特点;了解数据互操作性技术的概念。

(十四)数据完整性

1.教学内容:

(1)数据完整性的概念(2)约束管理(3)缺省管理(4)规则管理

(5)完整性技术比较研究 2.教学要求:

掌握如何选择数据完整性的方法,对象管理技术;了解数据完整性的概念和类型。

(十五)数据复制

1.教学内容:

(1)数据复制的特点

(2)复制代理、复制类型和模型(3)建立数据复制的各种技术(4)在异构环境中复制数据(5)监视和维护复制 2.教学要求:

掌握建立数据复制的各种技术和复制代理、复制类型和模型;了解数据复制的概念和特点。

(十六)管理作业和警报

1.教学内容:

(1)管理作业技术(2)管理警报技术(3)故障诊断 2.教学要求:

掌握作业管理、警报管理和故障诊断技术;了解任务自动化的原因。

(十七)性能监测和调整

1.教学内容:

(1)SQL Profiler(2)性能监视器 2.教学要求:

掌握使用SQL Profiler工具监视性能即T-SQL语句监视系统性能;了解影响系统性能的因素和监测工具。

(十八)向导和工具

1.教学内容:

(1)服务器注册向导(2)数据库类向导工具(3)系统管理类向导(4)数据转换服务向导工具(5)复制类向导工具 2.教学要求:

掌握数据库各类向导工具的用法;了解向导工具的分类。

(十九)管理ODBC数据源

1.教学内容:(1)ODBC技术

(2)配置ODBC数据源 2.教学要求:

掌握创建和配置ODBC数据源的过程;了解ODBC的概念和特点。

四、课时分配

总学时 授课时数 上机时数

(一)SQL Server概述 2 2

(二)安装SQL Server 202_系统 4 2 2(三)注册和配置服务器 2 1 1(四)SQL Server的安全管理 2 1 1(五)管理数据库 2 1 1(六)管理表 2 1 1(七)操纵表中的数据 2 1 1(八)索引 4 2 2(九)数据库的备份和恢复 2 1 1(十)视图、存储过程和触发器 14 10 4(十一)Transact-SQL语言 12 8 4(十二)SQL Server的并发性 2 1 1(十三)数据互操作性技术 4 2 2(十四)数据完整性 4 1 1(十五)数据复制 2 1 1(十六)管理作业和警报 2 1 1(十七)性能监测和调整 2 1 1(十八)向导和工具 2 1 1(十九)管理ODBC数据源 2 1 1 机 动

4 0 合 计

45 27 序号

五、实践环节

1.实验(25学时,包含在上机时间内),可根据授课内容安排,建议项目:创建和使用数据库;创建和使用表;Transact-SQL;索引;视图;数据库完整性;存储过程;触发器;SQL Server的安全管理;数据备份与还原;数据转换;用ADO操作SQL Server数据库;VB的数据环境和数据报表;数据库系统设计实例。2.综合性大作业,可根据实际课时安排在实训内容来进行,建议1~2次。

六、大纲说明

1.本大纲适用于三年制高职高专计算机各专业使用。

2.本课程与其它编程语言课程是相辅相成的,并且作为程序设计的提高课程,应在《程序设计基础》之后开设。

3.考核方式:平时考核占40%,期末考核占60%。考核及格后获得3学分。4.参考教材:《SQL Server 202_数据库及应用》 徐人凤、曾建华编著高等教育出版社。

第三篇:数据库原理与应用课程总结

数据库原理与应用课程总结

两部分内容组成:数据库的理论知识、SQL Sever 202_的使用

数据库的理论知识包括三篇,第1篇:基础篇;第2篇:设计篇;第3篇:系统篇,三部分内容之间的关系是基础篇是基础是重点,必须全面掌握;设计篇是方法论,是应用系统开发过程中的方向指南,对基础篇的应用;系统篇:是对DBMS的四性的详细解释,丰富了基础篇的内容。

一、名词概念

1、信息、数据、数据处理

2、数据库

3、数据库管理系统

4、数据库系统

5、概念模型

6、逻辑模型

7、模式

8、外模式

9、内模式

10、数据库独立性(逻辑独立性、物理独立性)

11、概念模型有关概念:实体、属性、码、域、实体型、实体集、联系、联系方式

12、关系模型的有关概念(元组、属性、主码、域、分量、关系模式)

13、函数依赖

14、完全函数依赖

15、部分函数依赖

16、传递函数依赖

17、码

18、主属性

19、非主属性 20、视图

21、可恢复性

22、并发控制性

23、安全性

24、完整性

25、关系

26、关系模式

27、实体完整性

28、参考完整性

29、自定义完整性 30、游标

二、基本理论

1、计算机数据管理三个阶段的特点(数据组织(保存)与管理、共享、数据与应用程序的独立性、数据冗余等),特别要掌握数据库系统的特点(数据组织结构化、共享性高、数据独立性强,数据由DBMS统一管理和控制)。

2、DBMSE 的数据控制功能

(1)可恢复性(2)并发控制

(3)安全性

(4)数据的完整性

结合第3篇 系统篇,掌握好如下问题

事务的概念和特点、掌握系统发生故障、并发控制出现异常的实质?

可恢复性部分

什么是可恢复性

故障类型

故障恢复实现技术(数据转储与建立日志文件,掌握数据转储的形式和特点,日志文件中包含的内容)

各种类型故障的排除方法

(1)事务故障(Undo处理,反向扫描日志文件)(2)系统故障(对未完成的事务Undo处理,已完成的事务Redo处理)

(3)介质故障()

并发控制

并发操作的三类数据的不一致性

并发控制的主要技术(封锁技术)

锁的类型及特点

封锁协议

并发操作的可串行性(概念、什么样的调度是正确的(所有的串行调度、具有并发操作的可串行化的调度是正确的、如何保证调度是正确的。)

安全性

保证系统安全的途径

存取控制机制的组成(定义权限、合法权限检查)

自主存取控制方法的基本操作(授权和撤销权限)

理解视图机制如何保证数据的安全

完整性

完整性的概念 完整性约束条件

完整性控制(3点:定义、检查和违约反应、完整性五元组定义)

参考完整性的三个问题(外码是否为空、被参考关系中删除和插入元组时)

3、数据模型

(1)数据模型的三要素

(2)计算机信息处理的三大世界(与数据库设计步骤的对应关系)

(3)概念模型及其表示方法()

(4)逻辑模型的三种类型及其特点(数据结构、数据操作和约束条件,特别是关系模型的特点)

4、数据库系统结构(三模式、两映射和数据独立性)

5、关系及关系操作

(1)关系模型组成(数据结构、操作和完整性;关系数据操作表示形式(代数方式、逻辑方式和SQL))

(2)关系数据结构及其有关定义(域、笛卡儿积、关系、关系模式、关系数据库)

(3)关系的完整性

(4)关系代数(传统的集合运算、专门关系运算(投影、选择、连接和除法运算)、关系代数的写法(注意三个问题、7个例题)

(5)SQL 语言

DDL语言(数据库、数据表、索引和视图)

DML语言(查询()、插入、删除和修改)

DCL语言(授权和撤销权限)

嵌入式SQL(存在问题及其对策、共享变量、游标(概念、操作步骤和打开游标的含义、游标的使用)

(6)数据规范化

基本概念(函数依赖、完全函数依赖、部分函数依赖和传递函数依赖、码、主属性和非主属性)

三类数据异常以及好模式的标准

数据规范化的原则、方法和步骤。

三、基本技术数据库设计

1、数据库设计概述

2、数据库设计的基本步骤及每个阶段的任务、方法

3、重点掌握(需求分析阶段、概念设计和逻辑设计三个阶段)

四、基本技能-SQL Server 202_的基本操作 第1部分 基本理论

一、与数据库有关的4个重要概念和1个常识

1、数据

2、数据库

3、数据库管理系统:

DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。

主要功能:数据定义、数据操纵、数据运行管理(4性)

DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。

4、数据库系统 结构组成与人员组成、理解图1.1 数据库技术 :是一门研究数据库结构、存储、管理和使用的软件学科。

5、一个常识

(1)三个阶段 每个阶段的优缺点

(2)理解数据库系统的特点(数据结构化、数据的共享性、冗余度低以及数据的独立性、数据的统一管理和控制)

二、数据模型

1、计算机信息处理的三大世界、两类模型(概念模型、结构模型),理解计算机信息处理的基本步骤。

2、数据模型(结构模型)的三要素(逻辑模型)

3、概念模型(结合数据库概念设计理解)

(1)特点

(2)基本概念(实体、属性、码、实体型、实体集、联系及联系方式)(3)表示方法 ER模型(画法)

4、常用的模型(数据结构化的基础)

(1)层次、网状和关系

(2)每种模型的数据结构、数据操作、约束和存取特点。(3)重点在关系模型(详细见第2章)

数据结构(从用户的观点:二维表)常用术语:关系、元组、属性、主码、关系模式

关系模式的表示方法

关系模型必须是规范化的数据操纵与完整性

关系数据模型的存储结构

优缺点

三、数据库系统结构

1、不同的角度(从数据库管理系统和从最终用户)

2、三模式(模式、外模式和内模式)

3、二级映象与数据独立性

4、重要概念(模式、外模式、内模式、数据的逻辑独立性与物理独立性)

四、关系数据库及其操作

1、关系模型的数学依据(建立在集合代数的基础上)

2、从集合论的角度谈关系数据结构(笛卡儿积的子集)

3、关系及关系操作

(1)关系数据结构及其有关定义(域、笛卡儿积、关系、关系模式、关系数据库)

(2)关系操作:查询操作和更新

查询操作:关系代数查询、关系演算和具有双重特点的SQL

4、关系的完整性

5、关系代数(传统的集合运算、专门关系运算(投影、选择、连接和除法运算)、关系代数的写法(注意3个问题、7个例题)、关系优化。

6、关系数据库操作的标准-SQL 语言

 DDL语言(数据库、数据表、索引和视图) DML语言(查询、插入、删除和修改) DCL语言(授权和撤销权限)

 嵌入式SQL(存在问题及其对策、共享变量、游标(概念、操作步骤和打开游标的含义、游标的使用)

7、什么是视图,怎样理解?有什么作用

五、数据规范化

1、基本概念(函数依赖、完全函数依赖、部分函数依赖和传递函数依赖、码、主属性和非主属性)

2、三类数据异常以及好模式的标准

3、数据规范化的原则、方法和步骤。

六、DBMSE的数据控制功能(系统篇)

结合第3篇,掌握好如下问题

1、事务的概念和特点、掌握系统发生故障、并发控制出现异常的实质?

2、可恢复性

什么是可恢复性、故障类型、故障恢复实现技术(数据转储与建立日志文件,掌握数据转储的形式和特点,日志文件中包含的内容)、各种类型故障的排除方法。

(1)事务故障(Undo处理,反向扫描日志文件)(2)系统故障(对未完成的事务Undo处理,已完成的事务Redo处理)(3)介质故障

3、并发控制

并发操作的三类数据的不一致性、并发控制的主要技术(封锁技术)、锁的类型及特点、封锁协议、并发操作的可串行性(概念、什么样的调度是正确的(所有的串行调度、具有并发操作的可串行化的调度是正确的、如何保证调度是正确的)

4、安全性:保证系统安全的途径、存取控制机制的组成(定义权限、合法权限检查)、自主存取控制方法的基本操作(授权和撤销权限)、理解视图机制如何保证数据的安全

5、完整性:完整性的概念、完整性约束条件、完整性控制(3点:定义、检查和违约反应、完整性五元组定义)

参考完整性的三个问题(外码是否为空、被参考关系中删除和插入元组时)

6、区别数据库的一致性、完整性和安全性。

第二部分 基本技术-数据库设计

1、数据库设计概述

2、数据库设计的基本步骤及每个阶段的任务、方法

3、重点掌握(需求分析阶段、概念设计和逻辑设计三个阶段)

第三部分 基本技能-SQL Server 202_的基本操作

1、数据库服务器环境配置

2、数据库及数据库对象的基本操作

3、SQL 202_的安全控制策略

4、数据库备份与还原操作

5、脚本文件

6、数据的导入与导出

需要掌握的概念

1、信息、数据、数据处理

2、数据库

3、数据库管理系统

4、数据库系统

5、概念模型

6、逻辑模型

7、模式

8、外模式

9、内模式

10、数据库独立性(逻辑独立性、物理独立性)

11、概念模型有关概念:实体、属性、码、域、实体型、实体集、联系、联系方式

12、关系模型的有关概念(元组、属性、主码、域、分量、关系模式)

13、函数依赖

14、完全函数依赖

15、部分函数依赖

16、传递函数依赖

17、码

18、主属性

19、非主属性 20、视图

21、可恢复性

22、并发控制性

23、安全性

24、完整性

25、关系

26、关系模式

27、实体完整性

28、参考完整性

29、自定义完整性 30、游标

第四篇:数据库原理与应用实验教案

实验报告格式 《数据库原理》实验报告

(实验名称:)

 专业

 班级级()班  学号  学生姓名  指导老师

 攀枝花计算机学院 年月日

一、实验目的

 本次实验所涉及并要求掌握的知识点。根据老师实验前的讲授自行撰写。(小四号字,宋体)

二、实验内容:

 本次实验的内容及相关题目描述(小四号字,宋体)

三、SQL语句及运行结果  创建数据库:

在数据库节点右键新建数据库,增加和修改数据文件名,设置增长方式以及数据库逻辑名称

文件组添加Slave文件组  修改数据库:

利用SQL语句修改,删除,添加数据库文件

 删除数据库:

 

 按照实验内容编写的SQL语句或程序代码与结果显示(小四号字,宋体)

四、实验总结

 1 .实验中遇到的问题及解决过程  2 .实验中产生的错误及原因分析  3 .实验体会和收获。

实验一 创建数据库(操作型)1.1 实验目的

(1)理解并掌握数据库的基本概念;

(2)理解并掌握数据文件、日志文件、文件组的基本概念;

(3)熟练掌握和使用SQL Server Management Studio管理器创建、删除、更改(包括文件组、文件大小、文件增长方式等参数)数据库;(4)熟练使用DDL语句来创建、删除、更改(包括文件组、文件大小、文件增长方式等参数)数据库。

1.2 实验内容

件组,分别是主文件组和“Slave”文件组。数据库包含两个数据文件,分别是“mymaster.mdf”和“myslave.ndf”,其中数据文件“mymaster.mdf”属于主文件组,存放在d:data目录下,文件初始大小50M,文件属性为自动增长,每次增长10%。数据文件“myslave.ndf”存放在e:data目录下,属于Slave文件组,文件大小固定为50M。该数据库有一个日志文件,日志文件名称“mylog.ldf”,文件位于c:log目录中,日志文件初始大小为50M,文件属性为自动增长,每次增长10M,最大文件大小为100M(实验时一定要保证c:Log、d:data和e:data目录存在,否则会发生错误,如果计算机d:盘或e:盘不存在,实验时须将路径调整到已存在的磁盘下);(1)创建数据库:待创建的数据库逻辑名称为“MyDB”。该数据库有两个文(2)修改数据库:将刚才创建的数据库“MyDB”的名称修改为“TESTDB”,并删除数据文件“myslave.ndf”,同时增加一个数据文件,该数据文件逻辑名称为“test“,文件名称为“test.ndf”,数据文件位于e:data(在e盘存在的情况下,如果e盘不存在,可指定道其他磁盘位置下),其他参数默认;

(3)删除刚刚创建的“TESTDB”数据库。

1.3 实验步骤

对数据库的管理(包括创建、修改、删除)可以有两种方式完成,使用SQL Server Management Studio管理器可以完成数据库的日常管理,还可以通过查询窗口输入DDL语句完成数据库的管理。

1.3.1 数据库创建

(1)使用SQL Server Management Studio创建数据库(2)使用SQL语句创建数据库

1.3.2 修改数据库

1.3.3 删除数据库“TESTDB”

(1)使用Management Studio删除“TESTDB”(2)使用SQL语句删除数据库

1.4 思考与练习

答:(1)什么是数据库?数据库的组成有哪些?

(2)什么是文件组?如何创建文件组?主文件组可以删除吗?

答:

(3)数据文件,日志文件各有什么作用?

答:

(4)文件增长方式有哪些?如何设置?

答:1)在新建数据库的界面中设置自动增长方式

2)利用SQL语句size设置大小,filegrowth设置增长类型,maxsize设置最大文件.(5)SQL Server Management Studio与数据库的关系是什么

答:

第五篇:SQL数据库编程学习应用语句

SQL数据库编程学习应用语句大全

1as 的用处

as可以对表和列取别名

在开发过程中经常遇到开始给某一个的字段去field1的名称,但后来有感觉field1字段指定不确切,于是又把此字段改成了field2,由于开始认为field1是常量,于是到处使用字符串field1,而且程序中又含有大量对field1的处理,此时就可以使用as

例如原来的 select field1 from tableA,改为selectfield2 asfield1 from tableA 代码基本就可以不动了。

2自增长的字段的插入

开发中经常遇到某个字段类型为IDENTITY,也就是自增长类型,但由于特殊需要,又要插入数据

需要临时去掉,可以使用如下语句set IDENTITY_INSERTtablename on,在处理完成后在使用如下语句恢复 set IDENTITY_INSERTtablenameoff

3分组取每组的前N个数据

开发中还会遇到需要对某一组数据先分组,然后取每组的前n条记录的情况

不妨试试如下代码

[sql] view plaincopy

/*

按CurrentNodeLevel列分组,每组按NodeID排序,取出每个组中的前3个元素*/

declare @temp table(NodeIDint, CurrentNodeLevelint ,rowNumberint)--定义临时表insert into @temp

selectNodeID,CurrentNodeLevel,ROW_NUMBER()

OVER(partitionby CurrentNodeLevel

order by NodeID)as rowNumber

from SchoolTerminalStruct---给临时表中插入数据

select * from @temp where rowNumber<=3--从临时表中取数据

4生成随机数

主意此方法只能写成存储过程,不能写成函数

[sql] view plaincopy

-----返回Max,Min之间的随机数不能写成函数

createproc [dbo].[getRAND]

(@Max int,--最大值

@Min int--,--最小值)

AS

BEGIN

DECLARE @result int

SELECT @result=RAND()*(@Max-@Min)+@Min

select@result

END

5把满足一定条件的数据用逗号分隔

这可能也是一个很常用的语句了,经常出现在一对多的关系中对外展示,要求把子表中的数据取出来用逗号或者其他符号分隔开

[sql] view plaincopy

/*

把满足 t2.NodeID=t1.NodeID的tableA 的字段NodeName 以逗号分隔开合并为一个字段输出

*/

select *,stuff((select ',' + t1.NodeName from tableA t1,tableB t2

wheret2.NodeID=t1.NodeID

for xml path('')), 1 , 1 , '')as text

fromtableA

6在数据库中处理异常

通过个参数附加output标志来输出参数,通过TRY,CATCH捕捉异常

[sql] view plaincopy

CREATE PROCEDURE [dbo].[sp_UpdateFunctionTree]

@nodenameint,@Result int output---2,操作失败;0操作成功

AS

BEGIN

begin

BEGIN TRY

UPDATE FunctionTree SET NodeName=@nodename

set @Result=0--操作成功

END TRY

BEGIN CATCH

set @Result=-2--操作失败

END CATCH

end

END

7查询中的条件判断

经常遇到在某些条件下应该查询这个字段,在另外一些条件下需要其他字段的情况,可以通过unoin来完成,但也可以通过CASE WHEN 完成[sql] view plaincopy

/*

在State=0 时返回field1 ,在State=1时返回 field2 ,其他时返回field3

*/

SELECT(CASE WHENState=0 THEN field1 WHENState=1 THEN field2

ELSE field3 END)as State

FROM tablename

8单引号的处理

在包含单引号时应该使用两个单引号转义

[sql] view plaincopy

dbo.sp_executesql @statement = N' select indexID,Sex=(case when Sex=0then ''男'' else ''女'' end)

fromtablename '

9使用游标

[sql] view plaincopy

declare @temp table(TaskIDint ,NodeIdint)--声明临时表

insert into @temp select A.TaskID ,A.NodeIdfrom tableAA,tableB B

whereA.TaskID=B.TaskID--//--给声明的临时表中插入记录

DECLARE tnames_cursor CURSORLOCAL FORWARD_ONLY READ_ONLY--声明游标

FOR select TaskID,NodeId from @temp;--游标需要用到的列

open tnames_cursor--打开游标

DECLARE @TaskIDint,@NodeIdint;--声明变量

FETCH NEXT FROM tnames_cursor INTO @TaskID,@NodeId--移动游标给变量赋值,应该与游标需要用到的列一一对应,顺序类型应该一致

WHILE(@@FETCH_STATUS = 0)--循环

BEGIN

BEGIN

exec TaskType @TaskID,@NodeId--调用存储过程

END

FETCH NEXT FROM tnames_cursor INTO @TaskID,@NodeId ,@TaskRunCYCType--移动游标给变量赋值 应该与游标需要用到的列一一对应,顺序类型应该一致

END

CLOSE tnames_cursor--关闭游标

DEALLOCATE tnames_cursor--释放游标

10合并更新和插入

在开发中大部分情况下,插入和更新传递的参数基本上是一样,那为什么不合并呢

[sql] view plaincopy

createproc [dbo].[Save_TableName]

(@field1 varchar(50),@field2varchar(200),@ID int,@insertOrUpdate--小于0插入 大于0更新)

as

begin

if(@insertOrUpdate<0)

begin

INSERT INTOTableName(field1,field2,ID)

values(@field1,@field2,@ID);

end

else

begin

UPDATE TableNameSET field1= @field1, field2 = @field2

where ID =@ID;

end

end

11定义函数

在没有满足要求的情况时,可以定义函数,但是使用自己定义的函数时需要加上架构名称

[sql] view plaincopy

create FUNCTION [dbo].[CheckTime]

(@startTimedatetime,@endTimedatetime--,)

RETURNSint

AS

BEGIN

DECLARE @result int

SET@result=DATEDIFF(hour, @startTime, @endTime)--

if(@result=0)--小时相同 比较分钟

begin

SET@result=DATEDIFF(minute, @startTime, @endTime)

if(@result=0)--分钟相同比较秒

begin

SET@result=DATEDIFF(second, @startTime, @endTime)

end

end

RETURN @result

END

调用此函数

[sql] view plaincopy

dbo.CheckTime(@startTime1, @startTime2)--需要加上架构名称

12递归读取数据

在实际的应用中经常遇到树结构的表,但读取会比较麻烦,这里提够一个函数

[sql] view plaincopy

/*

函数 返回表,返回给定节点的所有子孙节点,而不仅仅是子节点

*/

Create Function [dbo].[GetChildren](@NodeIDInt)

Returns @Tree Table(NodeIDInt, NodeNameVarchar(50), ParentIDInt)

As

Begin

Insert @Tree Select NodeID, NodeName, ParentIDFromTreetable Where ParentID = @NodeID

While @@Rowcount> 0

Insert @Tree Select A.NodeID, A.NodeName, A.ParentID

From Treetable A

Inner Join @Tree B

On A.ParentID = B.NodeIDAndA.NodeID Not In(Select NodeID From @Tree)Return

End

13通过默认值实现存储过程重载

存储过程可以使用默认值,估计都知道,但以此就可以实现类似函数重载的效果

例如,如下的存储过程由于使用了默认值,就可以不传递参数,传递一个参数,两个,三个,[sql] view plaincopy

CREATE PROCEDURE dbo.my_proc

@firstint = NULL,--NULL default value

@secondint = 2,--Default value of 2

@thirdint = 3--Default value of 3

AS SELECT @first, @second, @third;

14在数据库中拼字符串,也可以用参数

在实际的开发中,某些情况下在数据库中拼字符串不可避免,但又担心有特殊字符,导致拼出来的SQL有问题,其实数据库中拼字符串也可以使用参数,这就要用到dbo.sp_executesql,这样就可以避免SQL注入和特殊字符导致的错误

[sql] view plaincopy

DECLARE @IntVariable INT;--定义变量

DECLARE @SQLString NVARCHAR(500);--存储拼出来的SQL

DECLARE @ParmDefinition NVARCHAR(500);---存储拼出来的SQL中的参数

/* Build the SQL string one time.*/

SET @SQLString =

N'SELECT * FROM AdventureWorks.Sales.Store WHERE SalesPersonID = @SalesID';/* Specify the parameter format one time.*/

SET @ParmDefinition = N'@SalesIDint';--赋值

/* Execute the string with the first parameter value.*/

SET @IntVariable = 275;--赋值

EXECUTE dbo.sp_executesql@SQLString, @ParmDefinition,@SalesID = @IntVariable;

/* Execute the same string with the second parameter value.*/

SET @IntVariable = 276;

EXECUTE dbo.sp_executesql@SQLString, @ParmDefinition,@SalesID = @IntVariable;

16触发器需要注意的问题

在使用触发器时有一个问题,或许很少有人注意到,一条更新语句一次更新了十条记录,会触发几次触发器?只有一次!很奇怪,但却是事实,所以这需要注意,一不小心就会把好

多数据漏了

数据库原理与应用SQL教学纲要
TOP