第一篇:数据库原理与应用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触发器需要注意的问题
在使用触发器时有一个问题,或许很少有人注意到,一条更新语句一次更新了十条记录,会触发几次触发器?只有一次!很奇怪,但却是事实,所以这需要注意,一不小心就会把好
多数据漏了