《SQL Server 2005数据库基础》项目三 学生管理数据库中的数据操作

合集下载

第四章 sql server2005 数据的基本操作

第四章 sql server2005 数据的基本操作

更多更新视教程,请到 更多更新视教程,请到
SQL Server 2005 数据的基本操作
(4)字符匹配 (4)字符匹配 在实际的应用中,用户有时候不能给出精确的查询条件。因此,经常需 要根据一些不确定的信息来查询。T SQL语言提供了字符匹配运算符 要根据一些不确定的信息来查询。T-SQL语言提供了字符匹配运算符 LIKE进行字符串的匹配运算。一般语法格式如下: LIKE进行字符串的匹配运算。一般语法格式如下: [NOT] LIKE ‘<匹配串>’ [ESCAPE ‘<换码字符>’] ‘<匹配串>’ ‘<换码字符>’] 其含义是查找匹配串,与记录相匹配的记录。匹配串可以是完整的字符 串,也可以含有通配符 “%”和“_” 。 %”和“_” 百分号,代表可包含任意长度的字符串。 下画线,代表任意单个字符。
更多更新视教程,请到 更多更新视教程,请到
SQL Server 2005 数据的基本操作
(5)涉及空值的查询 (5)涉及空值的查询 一般情况下,表的每一列都有其存在意义,但有时某些列可能暂时没 有确定的值,这时用户可以不输入列的值。那么这列的值为NULL 有确定的值,这时用户可以不输入列的值。那么这列的值为NULL 空值运算符 IS NULL 用来判断指定的列值是否为空。 列表达式 [NOT] IS NULL (6) 多重条件查询 可以使用逻辑运算符 AND、OR、NOT 连接多个查询条件,实现多条 AND、OR、 件查询。 [NOT] 逻辑表达式 AND|OR
更多更新视教程,请到 更多更新视教程,请到
SQL Server 2005 数据的基本操作
1.2 省略values 的insert 语句 省略values 在T-SQL 语言中,有一种简单的插入多行的方法。这种方法使用 select 语句查询出的结果代替values 子句.这种语法结构如下: 语句查询出的结果代替values 子句. INSERT [into] table_name (column_name) SELECT [column_name] FROM table_name where [search_conditions] [shere search] 查询条件。 INSERT表和SELECT表的结果集的列数,数据类型必须一致。 INSERT表和SELECT表的结果集的列数,数据类型必须一致。 [search_conditions]查询条件 [search_conditions]查询条件

学习情境三 管理Sql Server 2005数据库PPT教学课件

学习情境三 管理Sql Server 2005数据库PPT教学课件
使用SSMS对象资源管理器来查看数据 库信息
2020/12/11
15
2020/12/11
16
使用系统存储查看数据库信息
查看一个服务器上所有的数据库及其每 个数据库的一些基本信息,可以用不带 参数的系统存储过程Sp_helpdb来完成。 语句如下:
sp_helpdb
2020/12/11
17
2020/12/11
10
使用SSMS对象资源管理器来 创建数据库
2020/12/11
11
2020/12/11
12
使用SSMS查询分析器来 创建数据库
创建方法是在SSMS中单击快捷菜单栏中 的“新建查询”按钮,打开Sql脚本编辑 器,然后在Sql脚本编辑器中输入下列语 句:
Create DataBase Student
2020/12/11
6
MSSqlSystemResource 数据库
MSSqlSystemResource(资源系统)数 据库属于只读数据库,用于保存Sql Server 2005中所有系统对象,而不在存 储在Master数据库中。
2020/12/11
7
任务二 创建用户数据库
数据文件是数据库用于存储数据的操作系统文件,它保存了数据 库中的全部数据。数据文件分为以下三种。
2020/12/11
18
打开或切换数据库
当用户登录数据库服务器,连接Sql Server后,用户需要连接数据库服务器中 的数据库,才能使用数据库中的数据。 默认情况下用户连接的是Master数据库。 我们可以利用Use命令在查询分析器中打 开或切换数据库,命令如下:
Use [数据库名称]
2020/12/11
2020/12/11

SQL Server 2005基本表操作

SQL Server 2005基本表操作

实验1 SQL Server 2005基本表操作一、实验目的1.掌握使用Management Studio创建和修改表结构。

2.掌握使用Management Studio进行索引操作。

3.掌握使用使用SQL语句创建和修改表结构。

4.掌握使用SQL语句进行索引操作。

5.掌握使用Management Studio添加、修改和删除数据。

二、实验要求1.分别使用Management Studio图形界面和SQL语句完成创建、修改和删除表结构等操作。

2.分别使用Management Studio图形界面和SQL语句完成索引的创建、修改和删除等操作。

3.使用Management Studio图形界面完成数据的添加、修改和删除操作。

4.请参考如下表结构完成以上操作。

现有学生管理数据库,数据库名为ST,包含学生信息、课程信息、教师信息、选课信息以及教学任务信息。

数据库ST包含下列5个表。

(1)StudentInfo: 学生信息表。

(2)CourseInfo: 课程信息表。

(3)TeacherInfo: 教师信息表。

(4)SC: 选课信息表。

(5)TeachTasksInfo: 教学任务信息表。

各表的结构和表中数据示例分别如表3-1至表3-10所示。

表3-1 StudentInfo表结构表名:StudentInfo 说明:学生基本信息表属性列数据类型长度空值列约束说明Sno char 12 Not Null PK 学生学号Sname nvarchar 20 Null 学生姓名Sex char 2 Null 学生性别Birthday date Null 出生日期Depart nvarchar 30 Null 学生系别Major nvarchar 50 Null 学生专业LengSch tinyint Null 学生学制表3-2 StudentInfo表中数据示例Sno Sname Sex Birthday Depart Major LengSch 201001903051 辛月娟女1990-4-27 经济管理系工商管理(本科) 4201001903057 谭文娟女1990-11-12 计算机系计算机科学与技术(本科) 4 201001903029 明梅女1991-3-15 计算机系计算机科学与技术(本科) 4 201011002031 徐雁男1989-07-02 计算机系信息管理与信息系统(1+3) 4 201011002032 秦赵璇女1989-08-21 计算机系信息管理与信息系统(1+3) 4 201011801017 王鹏飞男1991-1-5 服装系服装设计与工程(专科) 3 201011801018 哈菲菲女1991-9-9 服装系服装设计与工程(1+3) 4表3-3 CourseInfo表结构表名:CourseInfo 说明:课程信息表属性列数据类型长度空值列约束说明Cno char 6 Not Null PK 课程编号Cname nvarchar 50 Null 课程名称Cpno char 6 Null 先行课Credit Decimal 2 Null 学分表3-4 CourseInfo表中数据示例Cno Cname Cpno Credit 140173 数据库系统概论140176 3140174 C语言程序设计 2140175 操作系统140176 3140176 数据结构140174 3.5140178 计算机英语 2140179 软件工程140173 2140180 计算机组成原理 4表3-5 TeacherInfo表结构表名:TeacherInfo 说明:教师信息表属性列数据类型长度空值列约束说明TeacherI D char5 Not Null PK职工号Tname nvarchar 20 Null 姓名Sex char 2 Null 性别Depart nvarchar 30 Null 所在院系ProfTitle nvarchar 10 Null 职称Degree char 6 Null 学位表3-6 TeacherInfo表中数据示例TeacherID Tname Sex Depart ProfTitle Degree 04001 白红霞女计算机系教授博士09001 安宁女计算机系讲师本科09004 董敏女化学系教授博士09006 冯李宁男计算机系副教授本科06067 范美丽女数学系讲师硕士09011 华玉山男计算机系助教硕士09016 王洪亮男计算机系副教授本科表3-7 TeachTasksInfo表结构表名:TeachTasksInfo 说明:教学任务表属性列数据类型长度空值列约束说明TeachTask ID char26 Not Null PK教学任务编号Cno char 6 Null 课程编号TeacherID char 5 Null 教师编号AcadYear char 9 Null 开设学年Term char 1 Null 开设学期ExamMeth od varchar10 Null考试方式Depart varchar 30 Null 开设部门TimeTable nvarchar 50 Null 上课时间表3-8 TeachTasksInfo表中数据示例TeachTaskID Cno TeacherID AcadYear Term ExamMethod Depart TimeTable(2009-2010-1)-1 40173-04001 140173 04001 2009-2010 1 考试计算机系周二第3,4节{第1-20周}(2009-2010-2)-1 40176-09006 140176 09006 2009-2010 2 考查计算机系周一第1,2节{第1-20周}(2009-2010-2)-1 40178-06067 140178 06067 2009-2010 2 考试数学系周三第1,2节{第1-20周}(2009-2010-1)-1 40180-09016 140180 09016 2009-2010 1 考查计算机系周三第5,6节{第1-20周};周五第3,4节{第1-20周}注:教学任务编号TeachTaskID的组成规则为(学年-学期)-课程号-教师号。

教学课件 SQL Server 2005数据库基础-高职应用技术专业-吴伶琳 杨正校

教学课件 SQL Server 2005数据库基础-高职应用技术专业-吴伶琳 杨正校
系部(系部编码,系部名称) 教师(教师编码,教师姓名,性别,出生日期职称)
2. “学生”与“课程”之间存在多对多的关系
学生 (学号,姓名,性别,出生日期,入学成 绩,班级编码) 课程 (课程编码,课程名,学分) 选修 (学号,课程编码,成绩)
3. “教师”与“课程”之间存在多对多的关系
教师(教师编码,教师姓名,性别,出生日期职称) 课程(课程编码,课程名,学分) 授课(教师编码,课程编码)
单击“下一步”按钮,进入“安装进度”界面,显示正在安装的进度 条,所有组件都成功安装完毕后,单击“下一步”按钮,进入“完成 Microsoft SQL Server 2005安装”界面,单击“完成”按钮,完成整个软 件的安装。
任务2 启动与配置 SQL Server 2005
➢【任务分析】 本任务要完成四个子任务: 任务2.1 SQL Server服务器的启动、暂停和关闭 任务2.2 启动SQL Server Management Studio 任务2.3 设置数据库管理员密码 任务2.4 注册数据库服务器
练习
1. SQLSERVER2005包括哪几种不同的版本? SQLSERVER2005不同版本的适用范围是?
2. 在安装SQLSERVER2005时,可供选择的两种身份验证 模式是什么?
3. 如果安装失败,如何查找导致SQL Server 2005安装失 败的原因?
思考
1.什么是SQL Server实例?
任务1 安装SQL Server 2005企业版
单击“安装服务器组件、工具、联机丛书和示例”超链接,进入“系统 配置检查”界面。安装程序对系统的软硬件进行整体检查。检查完毕后,会 出现成功、错误和警告信息,其中错误会影响以后的正常安装,单击“下一 步”按钮,进入“注册信息”界面,输入姓名和公司名称 。

数据库技术(SQLServer2005)教学大纲

数据库技术(SQLServer2005)教学大纲

数据库技术(SQLSERVER 2005)教学大纲一、课程基本信息课程名称:数据库技术(SQL Server)学分:4总学时:64 理论学时:32 实践学时:32适用专业:计算机科学与技术、计算机软件技术、计算机信息管理、计算机网络技术、计算机系统维护二、课程性质与目标课程性质:专业必修课前续课程:计算机基础、C语言程序设计后续课程:动态WEB技术等三、教学目的、要求本课程的教学目的是在学生学习后,能够熟练掌握 SQL Server 2005 中的基本 SQL 语句、Transact-SQL 语言、动态 SQL 语句、 SQL server 2005 中的内部函数、创建 SQL Server 2005 数据库和表、各种数据类型、实现数据库完整性、查询、视图、各种类型触发器的定义与开发等方面的知识与应用技术。

掌握 SQL Server 2005 中的服务器端各种配置方法、数据库安全性管理、对不同备份的数据库恢复、自动化管理、监视和维护 SQL Server 2005 、性能调整与优化等相关的数据库管理方面的知识。

具体要求为:1、了解数据库基本概念、SQL-Server 2005中文版、SQL-Server 2005的集成开发环境。

2、掌握SQL-Server 2005 基础知识:实体与联系、关系模型、范式、关键词、资料完整性、数据类型、常量与变量、表达式、常用函数。

3、掌握表的基本操作:表的创建、表的打开与关闭、资料表的显示、指针的定位、记录的插入与追加、表的编辑修改、表记录的删除、表的复制、文件间资料的传送、临时表和变量表、表的排序与索引、表的约束。

4、掌握数据库的基本操作、管理数据库。

5、掌握T-SQL语言的语法规则及编程控制、T—SQL语言的应用。

6、掌握查询、视图的创建及基本操作。

7、掌握SQL—Server的存储过程及存储过程的基本操作。

8、掌握SQL—Server的触发器的作用及其管理。

实验1-Sql-Server2005的基本操作

实验1-Sql-Server2005的基本操作

实验1-SQL-Server 2005的基本操作实验背景SQL-Server是一种基于Windows操作系统的关系型数据库管理系统。

在实际开发工作中,我们需要对数据库进行增删改查等操作,因此学习SQL-Server的基本操作是非常必要的。

本实验将介绍SQL-Server 2005的基本操作,包括创建数据库、创建表、插入数据、查询数据等常用操作。

实验目的1.理解SQL-Server的基本概念和原理2.掌握SQL-Server 2005的基本操作3.能够利用SQL-Server 2005完成常用的数据操作实验步骤步骤一:创建数据库在SQL-Server 2005中,我们可以通过以下步骤来创建数据库:1.打开SQL-Server Management Studio软件2.在Object Explorer中,右击“Databases”文件夹,选择“New Database”3.在弹出的“New Database”对话框中,输入数据库的名称,选择数据库的文件路径和文件名等相关信息4.点击“OK”按钮,等待数据库创建完成步骤二:创建表在创建完数据库之后,我们需要在数据库中创建表。

创建表的步骤如下:1.在Object Explorer中,选择刚创建的数据库,右键选择“New Query”2.在新建的查询窗口中,输入以下SQL语句:CREATE TABLE [表名] ([列1名称] [列1类型] [列1属性],[列2名称] [列2类型] [列2属性],...)注:表名、列名、类型和属性可以根据实际情况进行修改。

3.执行SQL语句,等待表创建完成步骤三:插入数据创建表之后,我们需要向表中插入数据。

插入数据的步骤如下:1.在Object Explorer中,找到刚刚创建的表,右键选择“Edit Top 200Rows”或“Select Top 1000 Rows”2.在弹出的窗口中,输入需要插入的数据内容3.点击“保存”按钮,等待数据插入完成步骤四:查询数据插入数据之后,我们可以使用以下SQL语句来查询数据:SELECT [列1名称], [列2名称], ...FROM [表名]WHERE [条件]注:列名和表名可以根据实际情况进行修改,条件为可选项。

sqlserver2005课程设计

sqlserver2005课程设计

sql server 2005课程设计一、教学目标本课程旨在让学生掌握SQL Server 2005的基本原理和操作技能,通过理论学习与实践操作,培养学生的数据库设计与管理能力。

具体目标如下:1.知识目标:•理解数据库的基本概念、原理和SQL Server 2005的体系结构。

•掌握数据库的创建、管理和维护方法。

•熟悉SQL语言,包括数据定义、数据操纵、数据查询和数据控制。

•了解数据库的安全性和完整性控制。

2.技能目标:•能够使用SQL Server 2005进行数据库的设计、创建和维护。

•能够使用SQL语言进行数据的插入、更新、删除和查询操作。

•能够设置数据库的用户权限和角色。

•能够使用SQL Server Management Studio进行数据库管理。

3.情感态度价值观目标:•培养学生对数据库技术的兴趣,提高学生的问题解决能力。

•培养学生团队合作精神,提高学生的沟通与协作能力。

二、教学内容本课程的教学内容主要包括以下几个部分:1.数据库基础:介绍数据库的基本概念、类型和特点,以及SQL Server2005的体系结构。

2.数据库设计:讲解数据库设计的原则和方法,以及如何使用SQLServer 2005进行数据库的创建和管理。

3.SQL语言:深入学习SQL语言的基本语法和操作,包括数据定义、数据操纵、数据查询和数据控制。

4.数据库安全与维护:介绍数据库的安全性、完整性控制,以及数据库的备份、恢复和性能优化。

5.数据库应用:通过实际案例,讲解如何使用SQL Server 2005开发数据库应用系统。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式:1.讲授法:用于讲解基本概念、原理和方法。

2.案例分析法:通过分析实际案例,让学生更好地理解数据库设计和应用。

3.实验法:安排实验室实践,让学生动手操作,巩固所学知识。

4.讨论法:学生分组讨论,培养学生的团队合作和沟通能力。

四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:《SQL Server 2005实用教程》2.参考书:《SQL Server 2005高级编程》3.多媒体资料:教学PPT、视频教程等。

数据库原理与应用SQL Server 2005项目教程 第三章

数据库原理与应用SQL Server 2005项目教程 第三章

3.1
表的基本知识
在给字段定义数据类型时,应选用符合应用需求且占用字节最少 的数据类型,这将节省磁盘空间,从而提高系统性能。 有关表中数据类型的具体说明如下: (1)整型数据类型。 (2)固定精度数据类型。 (3)浮点精度数据类型。 (4)字符数据类型。 (5)Unicode字符数据类型。 (6)日期/时间数据类型。 (7)货币数据类型。 (8)二进制数据类型。 (9)其他数据类型。
参数含义: 类型名:已定义的别名数据类型的名称。
3.2
创建表
表是包含数据库中所有数据的数据库对象,用来存储各种各样的 信息。在SQL Server 2005中,一个数据库中最多可以创建20亿个表, 用户创建数据库表时,最多可以定义1024列。表的创建是使用表的前 提。创建表的过程就是通过SQL Server 2005将表结构具体实现出来。
可否取空值。
3.1
表的基本知识
1.使用T-SQL创建别名数据类型
使用CREATE TYPE来创建别名数据类型。其基本语法如下:
CREATE TYPE 类型名 { FROM 基本数据类型 [ NULL | NOT NULL ] }
3.1
参数含义:
表的基本知识
类型名:别名数据类型的名称,类型名称必须符合标识符的规则,同 时要求在数据库中的命名必须唯一。只要命名唯一,甚至相同的类型 定义也可以存储在同一个数据库中。 基本数据类型:系统数据类型(例如,int、float等)。可以包括数 据的长度、精度等。
3.1
表的基本知识
3.1.3 别名数据类型及使用 当多个表中使用相同的数据类型时,为了简化用户对数据类型的 各个属性的设置,用户可以在系统提供的基本数据类型的基础上创建 自定义用户数据类型,这种用户自己设计并实现的数据类型就称为别 名数据类型。别名数据类型并不是真正的数据类型,它只是提供了一 种扩充系统数据类型的机制。创建一个别名数据类型时,必须给出以 下3部分: 新数据类型名。 这种数据类型是基于哪种系统数据类型的。

数据库应用技术SQLServer2005基础篇课程设计

数据库应用技术SQLServer2005基础篇课程设计

数据库应用技术SQLServer2005基础篇课程设计一、课程设计目的本次课程设计旨在让学生通过实际操作,掌握SQLServer2005基础知识,并能运用学过的知识进行实际操作与解决问题,提高学生的数据库应用水平。

二、课程设计内容1. 环境搭建使用SQLServer2005 Management Studio(简称SSMS)进行环境搭建,包括创建数据库、数据表、视图等。

2. SQL语言基础讲解SQL语言基础知识,包括DDL(数据定义语言)、DML(数据操作语言)、DCL(数据控制语言)等,让学生了解数据库的基本操作。

3. 数据表设计讲解数据表设计的基本原则和方法,包括数据类型、字段约束、数据表关系等,让学生能够熟练地设计出符合要求和规范的数据表。

4. SQL查询讲解SQL查询的基本语法,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等关键字。

并通过实例让学生了解SQL查询的应用场景和技巧。

5. 数据库备份与还原通过讲解SQLServer的备份和还原功能,让学生了解备份和还原数据库的方法和注意事项,以防止数据丢失和恢复数据。

三、课程设计要求1. 实验环境要求•操作系统:Windows 7及以上•数据库软件:SQLServer2005及以上•SSMS(SQLServer Management Studio)2. 实验过程•独立完成实验,不得抄袭和剽窃。

•所有实验均需要提交实验报告,包含实验目的、实验步骤、实验结果以及总结等内容。

•实验过程中需记录操作步骤和注意事项。

四、课程设计实验题目实验一:环境搭建1.安装SQLServer2005和SSMS。

2.创建一个名为。

数据库基础与应用SQLServer2005数据库基础及应用技术

数据库基础与应用SQLServer2005数据库基础及应用技术
义,因此程序之间有大量的冗余数据
数据不具有独立性
程序依赖于数据,如果数据的类型、格式、或输入输
出方式等逻辑结构或物理结构发生变化,必须对应用 程序做出相应的修改。
在人工管理阶段,程序与数据之间的关系如下图 所示:
应用程序1
数据集1
应用程序2
数据集2
应用程序3
数据集3
这一阶段,计算机不仅用于科学计算,还大量用于
学习中制作动态网站,例如:,google,新浪等1.1数据库技术概述 1.2数据、数据管理与数据处理 1.3数据库、数据库管理系统和数据系统 1.4数据的模式结构 1.5数据库系统的模型和结构
D
文字、数字、图形、 图像、声音等
数字、文字 数据库文件
P
Word Excel PowerPoint FrontPage Photoshop C, Access,VFP SQL Server
于一个应用程序,数据不能共享。
数据独立性低
数据和程序相互依赖,一旦改变数据的逻辑结构,必须
修改相应的应用程序。
而应用程序发生变化,如改用另一种程序设计语言来编
写程序,也需修改数据结构。
数据一致性差
由于相同数据的重复存储、各自管理,在进行更新操作
时,容易造成数据的不一致性。
60年代后期,计算机应用于管理的规模更加庞大,
信息(information)P1
维持生产活动、经济活动和社会活动必不可少的 资源;数据是将现实世界中的各种信息记录下来、 可识别的符号,它用类型和数值来表示。 例如:每日的网页新闻等
阅读课本P2-5,回答以下问题:
数据管理技术的发展经历了哪几个阶段? 每个阶段各有什么代表性特征?
数据管理是数据库的核心任务,内容包括对数据的

SQLServer2005数据库原理与实训教程课程设计

SQLServer2005数据库原理与实训教程课程设计

SQLServer2005数据库原理与实训教程课程设计概述本课程设计旨在帮助学生掌握SQLServer2005数据库的原理、操作和应用,包括数据库的基本概念和原理、SQLServer2005的安装和配置、数据库的创建、结构与数据类型、SQL语言和查询操作、备份和恢复、安全性与权限管理等方面内容。

同时,本设计还涵盖了实际应用和实训环节,帮助学生掌握实际操作技能。

教学目标1.了解SQLServer2005的基本概念和原理;2.能够熟练安装并配置SQLServer2005;3.理解数据库的创建,包括数据库结构与数据类型的设计;4.掌握SQL语言和查询操作;5.实现数据库备份和恢复;6.熟悉数据库安全性与权限管理。

教学内容第一章:SQLServer2005数据库概述•数据库基本概念和原理•SQLServer2005与其他数据库管理系统的比较•安装SQLServer2005并配置第二章:数据库的创建与管理•数据库结构的设计•数据库的存储与数据类型•数据表的创建和管理•数据库的备份和恢复第三章:SQL语言基础•SQL语言的特点和语法规则•SQL语言的数据类型、运算符和函数•SQL语句的分类和执行顺序•SQL语句的调试与优化第四章:常用查询操作•SELECT语句及其语法规则•WHERE子句及其用法•JOIN操作及其用法•聚合函数及其用法第五章:高级查询操作•子查询及其用法•视图的创建及其用法•存储过程及其用法•触发器及其用法第六章:数据库安全性与权限管理•数据库安全性的概念和原则•数据库用户和角色的管理•数据库对象权限的分配和控制•数据库访问日志的监控实训环节除以上理论内容外,本课程设计还将有配套实训环节,具体内容如下:实验1:SQLServer2005的安装和配置•了解SQLServer2005的安装包和安装流程•安装SQLServer2005并配置数据库实例实验2:数据库结构的设计与创建•参考某公司的业务需求,设计相关的数据库结构•根据设计,创建相关数据库和数据表实验3:SQL语言的基本操作•给定一些数据查询需求,通过编写SQL语句实现查询操作实验4:高级查询操作实践•给定一些复杂查询需求,通过编写SQL语句实现查询操作•利用存储过程或者触发器实现数据的自动生成和自更新评分方案1.日常表现和参与度:40分2.课程设计报告:40分3.实训项目完成情况:20分总结本课程设计旨在帮助学生掌握SQLServer2005数据库的原理和操作,通过理论课程和实训环节帮助学生实践操作技能。

数据库技术(SQLServer2005)教学大纲

数据库技术(SQLServer2005)教学大纲

数据库技术(SQLSERVER 2005)教学大纲一、课程基本信息课程名称:数据库技术(SQL Server)学分:4总学时:64 理论学时:32 实践学时:32适用专业:计算机科学与技术、计算机软件技术、计算机信息管理、计算机网络技术、计算机系统维护二、课程性质与目标课程性质:专业必修课前续课程:计算机基础、C语言程序设计后续课程:动态WEB技术等三、教学目的、要求本课程的教学目的是在学生学习后,能够熟练掌握 SQL Server 2005 中的基本 SQL 语句、Transact-SQL 语言、动态 SQL 语句、 SQL server 2005 中的内部函数、创建 SQL Server 2005 数据库和表、各种数据类型、实现数据库完整性、查询、视图、各种类型触发器的定义与开发等方面的知识与应用技术。

掌握 SQL Server 2005 中的服务器端各种配置方法、数据库安全性管理、对不同备份的数据库恢复、自动化管理、监视和维护 SQL Server 2005 、性能调整与优化等相关的数据库管理方面的知识。

具体要求为:1、了解数据库基本概念、SQL-Server 2005中文版、SQL-Server 2005的集成开发环境。

2、掌握SQL-Server 2005 基础知识:实体与联系、关系模型、范式、关键词、资料完整性、数据类型、常量与变量、表达式、常用函数。

3、掌握表的基本操作:表的创建、表的打开与关闭、资料表的显示、指针的定位、记录的插入与追加、表的编辑修改、表记录的删除、表的复制、文件间资料的传送、临时表和变量表、表的排序与索引、表的约束。

4、掌握数据库的基本操作、管理数据库。

5、掌握T-SQL语言的语法规则及编程控制、T—SQL语言的应用。

6、掌握查询、视图的创建及基本操作。

7、掌握SQL—Server的存储过程及存储过程的基本操作。

8、掌握SQL—Server的触发器的作用及其管理。

SQL Server 2005实验教学指导书

SQL Server 2005实验教学指导书

SQL Server 2005实验指导书实验一:SQL SERVER网络数据库基础实验目的:1.了解安装SQL SERVER 2005服务器版的硬件要求和软件环境。

2.掌握SQL SERVER 2005服务器版的安装方法。

3.掌握SQL SERVER服务器安装后的安全配置。

4.掌握配置SQL SERVER 2005服务器的方法5.掌握在客户机上注册SQL SERVER 2005的方法实验内容:1)在客户机上安装SQL Server 2005系统2)以WINDOWS XP为实验环境,以《安全配置清单》的要求为准做操作系统的安全配置3)对客户机的SQL Server作安全配置:安装数据库补丁包、修改SA账户密码、修改数据库默认端口4)分别使用SQL Server 服务管理器和控制面板启动服务5)在客户端创建一个服务器组teacher,并在此组下注册一个服务器。

以服务器的SA用户登录,查看有哪些数据库及数据库有哪些对象。

6)在服务器上,建立自己的账户,并用该账户登录数据库服务器。

a)在保证唯一性的前提下,建议账户名格式为:班级_学号或班级_姓名全拼。

密码由学生自己设定。

b)请记住自己的账户和密码,以便以后实验时使用。

实验二:数据库操作实验目的:1)掌握用企业管理器和Transcat-SQL语句创建数据库的方法2)掌握修改数据库、数据库更名的方法3)掌握删除数据库的方法实验内容:数据库名称为学生用户名,具体要求如下:1)主要数据文件:逻辑文件名为Test1Data1,物理文件名为<库名1>.mdf,初始容量为1MB,最大容量为10MB,增幅为1MB。

2)次要数据文件:逻辑文件名为Test1Data2,物理文件名为<库名2>.ndf,初始容量为1MB,最大容量为10MB,增幅为1MB。

3)事务日志文件:逻辑文件名为Test1log1,物理文件名为<库名1>.ldf,初始容量为1MB,最大容量为10MB,增幅为512KB。

SQLServer2005数据库应用技术课程设计

SQLServer2005数据库应用技术课程设计

SQLServer2005数据库应用技术课程设计一、课程设计背景在互联网时代,各行业对于数据的存储、处理和分析需求越来越大,数据的重要性显而易见。

而在企业级应用系统中,SQLServer2005数据库是一款非常重要的数据管理工具。

本课程设计旨在通过学生对SQLServer2005数据库的应用学习,提高其对于企业级应用系统数据管理方面的能力。

二、课程设计内容本课程设计的主要内容包括以下方面:2.1 SQLServer2005数据库概述•SQLServer2005数据库的定义和作用•SQLServer2005数据库管理工具的介绍•SQLServer2005数据库的架构和组件2.2 SQLServer2005数据库的基本操作及数据类型•SQLServer2005数据库的建立、删除、备份和恢复•SQLServer2005数据库的基本操作语句•SQLServer2005数据库的数据类型及其使用2.3 SQLServer2005数据库的高级操作及存储管理•SQLServer2005数据库的高级操作语句•SQLServer2005数据库的存储管理机制•SQLServer2005数据库的索引原理和使用2.4 SQLServer2005数据库的安全管理和性能优化•SQLServer2005数据库的安全管理•SQLServer2005数据库的性能优化•SQLServer2005数据库的监控和调整2.5 SQLServer2005数据库的应用实例•SQLServer2005数据库在企业级ERP系统中的应用•SQLServer2005数据库在电商平台中的应用•SQLServer2005数据库在金融系统中的应用三、教学方法本课程设计采取“理论讲解+案例分析+操作实验”的教学方法,其中理论讲解主要针对SQLServer2005数据库的基本操作和高级操作等内容,案例分析主要针对SQLServer2005数据库在企业级ERP系统、电商平台、金融系统等领域中的应用案例进行讲解,操作实验主要是针对SQLServer2005数据库的学习和操作实践。

SQL Server2005实训报告

SQL Server2005实训报告

《数据库设计与实现(SQL)实训》报告(2011-2012学年第一学期)二〇一一年十二月三十日实训项目:教学管理系统数据库设计一、实训目的和要求1、通过实训掌握本学期所学数据库开发的相关知识;2、掌握数据库、数据表的创建及修改;3、掌握基本查询、连接查询、嵌套查询的使用;4、掌握变量的定义、函数的使用和简单程序设计;5、掌握索引、视图、存储过程和触发器的创建;6、掌握数据库的维护及帐户的创建。

二、实训内容为了有效的管理资源,并方便的完成教学信息检索操作,很多学校都有自己的教学管理系统,本次实训主要完成一个基于实际需求的教学管理系统的设计,主要完成后台数据库部分的内容。

包括学生表、教师表、授课任务表、课程表、选课表的设计与数据输入,外键关系的建立,课程、成绩等信息的查询操作。

四、实训步骤实训项目一数据库、数据表的创建及修改■任务一、创建一个名为教学管理的数据库,数据文件存放在“D:\教学管理”路径下。

它由5MB主要数据文件(教学管理1.mdf和1MB日志文件(教学管理_log.ldf)组成。

并且主要数据文件以2MB 增长速度增长,其最大数据文件大小为15MB,事物日志文件以1MB增长速度增长,其最大数据文件大小为10MB。

)启动SQL Server 2005,单击“新建查询”,在弹出窗口中输入如下语句:create database 教学管理on(name=教学管理1,filename='c:\教学管理1.mdf',size=5,maxsize=15,filegrowth=2)log on(name=教学管理_log,filename='c:\教学管理_log.ldf',size=1,maxsize=10,filegrowth=1)■任务二、为教学管理数据库增加一个次要数据文件(教学管理2.ndf),该文件大小为4MB,以10%增长速度增长,最大增长到10 MB启动SQL Server 2005,单击“新建查询”,在弹出窗口中输入如下语句:alter database 教学管理add file(name=教学管理,filename='c:\教学管理2.ndf',size=4,maxsize=10,filegrowth=10%)■任务三、将“教学管理”数据库中主要数据文件“教学管理1.mdf”大小扩充为20 MB。

SQLServer2005数据库管理与开发教程课程设计

SQLServer2005数据库管理与开发教程课程设计

SQLServer2005数据库管理与开发教程课程设计简介本课程设计旨在通过具体案例和实践操作,帮助学习者掌握SQLServer2005数据库的管理和开发技能,包括数据库创建、表的设计与维护、数据的查询与更新、存储过程的编写与运行、触发器的创建与使用等知识点。

基础知识准备在开始学习本课程前,学习者须具备SQL语言基础和数据库理论知识,对SQLServer的基本使用、Windows操作系统、网络协议等有基本了解。

课程内容第一章数据库与表的创建在本章节中,学习者将学习如何创建数据库和表。

通过实例操作,学习者将会掌握以下知识点:1.SQLServer2005数据库的创建和配置。

2.数据表的创建和修改。

3.列的类型和属性设置。

第二章数据的查询和更新在本章节中,学习者将学习如何用SQL语言查询和更新数据。

具体的内容包括:1.使用SELECT语句查询数据。

2.条件查询和排序。

3.使用UPDATE语句更新数据。

4.使用DELETE语句删除数据。

第三章存储过程的编写和运行本章节中,学习者将学习如何编写和运行存储过程。

具体的内容包括:1.存储过程的创建和使用。

2.存储过程的参数传递。

3.实例操作。

第四章触发器的创建和使用在本章节中,学习者将学习如何创建和使用触发器。

具体的内容包括:1.触发器的创建和使用。

2.触发器的类型。

3.实例操作。

课程总结本课程设计通过实际案例操作,让学习者从操作中逐步掌握SQLServer2005数据库的基本知识和开发技能。

通过学习,学习者能够了解数据库和表的创建、数据的查询和更新、存储过程的编写和运行、触发器的创建和使用等知识点,对数据库的应用和开发有一个初步的认识。

SQL Server 2005基础应用(入门到精通·循序渐进·案例详解·适合初学者)

SQL Server 2005基础应用(入门到精通·循序渐进·案例详解·适合初学者)

SQL Server 2005基础应用一.数据库的基本操作--创建数据库create database new_db2on primary(name='new.mdf',filename='e:\new.mdf',size=5mb,maxsize=50mb,filegrowth=10%)--收缩数据库alter database new_dbmodify file(name='new_db',size=15mb)--压缩数据库dbcc shrinkdatabase('new_db',1)--重命名数据库exec sp_renamedb'new_db','Jasxu_db'--删除数据库drop database new_db2二.数据库表的基本操作--创建数据库create database st_dbon primary(name='st.mdf',filename='e:\st,mdf',size=5mb,maxsize=50mb,filegrowth=20%)--删除Jasxu_db数据库drop database Jasxu_db--在st_db数据库中编辑use st_db--创建表create table table_name(学号int primary key identity,--这里的identity意思就是将标志规范设置为递增名称char(6)not null,专业方向varchar(10)not null,系部代码char(2)not null,备注varchar(50))--查看表的基本信息exec sp_help table_name--重命名表exec sp_rename'table_name','new_table'--重命名列exec sp_rename'new_table.备注','其他','column'--添加新列alter table new_table add新列char(10)--更改列的数据类型alter table new_tablealter column新列int not null--删除列alter table new_tabledrop column新列--删除表drop table new_table--案例解析create table t2(id int not null,us varchar(30))--查询表里面的内容select*from t1--删除表的所有数据truncate table t1--创建主键约束alter table t1add constraint pkprimary key clustered(id)--创建外键约束alter table t2add constraint wzforeign key(id)references t1(id)--references代表参照哪个表的主键设置外键三.数据库表的增加、删除、修改--创建系部表create table系部(系部代码char(6)not null primary key,系部名称varchar(30)not null,系主任char(8))--创建专业表create table专业表(专业代码char(4)not null primary key,专业名称varchar(20)not null,系部代码char(6)constraint wz11 references系部(系部代码))--创建班级表create table班级表(班级代码char(9)not null primary key,班级名称varchar(20),专业代码char(4)constraint wz1 references专业表(专业代码),系部代码char(6)constraint wz2 references系部(系部代码),备注varchar(50))--创建学生表create table学生表(学号char(12)not null primary key,姓名char(8),性别char(2),出生日期datetime,入学时间datetime,班级代码char(9)constraint wz3 references班级表(班级代码),系部代码char(6)constraint wz4 references系部(系部代码),专业代码char(4)constraint wz5 references专业表(专业代码))--在new_table表中添加数据insert into new_table values('Jasxu','计算机','01','无')--选择性的插入数据insert into new_table(名称,专业方向,系部代码)values('xsw','软件工程','02') --省略values的insert语句insert into new_table (名称,专业方向,系部代码)select名称,专业方向,系部代码from new_table--修改new_table表update new_table set系部代码='01'update new_table set专业方向='软件工程'where专业方向='计算机'--删除new_table中的内容delete new_table where专业方向='软件工程'delete new_table where学号='10'四.数据库表的简单查询--查询new_table表中所有信息内容select*from new_tableselect学号,名称,专业方向,系部代码,其他from new_table--输出表中的部分字段select学号,名称from new_table--选择表中若干记录(去掉结果中的重复行)select distinct系部代码from new_table--限制返回的行数select top 3 *from new_table--查询学号大于的信息select*from new_table where学号>13--确定范围(between and)select*from new_table where学号between 12 and 16--确定集合(in,not in)select*from new_table where学号in(12,13,14,15)select*from new_table where学号not in(12,13,14,15)--字符匹配select*from new_table where名称like'徐_'--两个字的姓名select*from new_table where名称like'徐__'--三个字的姓名select*from new_table where名称like'徐%'--%代表任意长度select*from new_table where名称like'徐\%'escape'\'--通配符的转换--清空数据truncate table new_table--插入数据insert into new_table values('张学友','网络','01','没有','411')insert into new_table values('刘德华','计算机','02','没有','412') insert into new_table values('舒淇','计算机','01','没有','413')insert into new_table values('梁咏琪','动漫','02','没有','431')insert into new_table values('杨千嬅','计算机','01','没有','465') insert into new_table values('李宇春','动漫','02','没有','485')insert into new_table values('蔡依林','网络','01','没有','468')insert into new_table values('郑源','计算机','02','没有','510')insert into new_table values('陈楚生','动漫','01','没有','550')insert into new_table values('张韶涵','计算机','02','没有','421') insert into new_table values('猛非','动漫','01','没有','423')insert into new_table values('郑秀文','网络','02','没有','411')insert into new_table values('林俊杰','计算机','01','没有','511') insert into new_table values('羽泉','计算机','01','没有','500')insert into new_table values('郭富城','网络','02','没有','400')insert into new_table values('黄品源','动漫','02','没有','589')insert into new_table values('梁朝伟','计算机','02','没有','530') insert into new_table values('李克勤','网络','01','没有','520')insert into new_table values('陈小春','国际金融','02','没有','512') insert into new_table values('刘若英','证券期货','02','没有','421') insert into new_table values('刘嘉玲','房地产金融','01','没有','428') insert into new_table values('谭咏麟','房地产金融','02','没有','498') insert into new_table values('张学友','证券期货','01','没有','454') insert into new_table values('张卫健','证券期货','02','没有','515') insert into new_table values('周传雄','房地产金融','01','没有','532') insert into new_table values('周星驰','国际金融','02','没有','423') insert into new_table values('游鸿明','房地产金融','02','没有','447') insert into new_table values('言承旭','国际金融','02','没有','488') insert into new_table values('许志安','国际金融','01','没有','582') insert into new_table values('叶倩文','房地产金融','01','没有','495') insert into new_table values('叶世荣','房地产金融','02','没有','499') insert into new_table values('张雨生','证券期货','02','没有','531') insert into new_table values('周润发','国际金融','01','没有','531') insert into new_table values('张信哲','证券期货','01','没有','424') insert into new_table values('周渝民','证券期货','02','没有','412') insert into new_table values('太极乐队','证券期货','02','没有','423') --查询new_table表select*from new_table--涉及空值的查询select*from new_table where其他is nullselect*from new_table where not其他is null--用指定使用结果值来创建一个表(注意:在表前加一个#创建出来的是临时表)select学号,名称,高考分数into score_table from new_tableselect*from score_table--对结果进行分组select系部代码from new_table group by系部代码select专业方向from new_table group by专业方向select专业方向from new_table group by专业方向having专业方向<>'动漫'--having起到筛选作用--排序查询(asc升序desc降序)select*from new_table order by高考分数ascselect*from new_table order by高考分数desc五.数据表中对数据进行统计--查询数据库表new_table中的信息select*from new_tableselect*from new_table order by高考分数descselect top 3 *from new_table order by高考分数desc--查询总人数select count(*)as总人数from new_table--这里的as是为列重命名select count(学号)as总人数from new_tableselect count(其他)as总人数from new_table--计算整个班级高考的总分数select sum(高考分数)as总分from new_table--计算整个班级高考的平均分数select avg(高考分数)as平均分from new_table--计算整个班级高考的最大值select max(高考分数)as最大值from new_table--计算整个班级高考的最小值select min(高考分数)as最小值from new_table--对查询结果集中的所有记录进行汇总统计,并显示所有参加汇总记录的详细信息select*from new_table order by专业方向compute sum(高考分数)select专业方向,count(*)as总人数from new_table group by专业方向--统计专业方向一共多少select专业方向,count(*)as总人数from new_table group by专业方向compute count(专业方向)--统计系部总人数select专业方向,count(*)as总人数from new_table group by专业方向compute sum(count(*))六.数据库中表的连接查询--插入数据这里的go起到连接作用insert into系部(系部代码,系部名称,系主任)values('01','计算机系','老张') goinsert into系部(系部代码,系部名称,系主任)values('02','经济管理系','老陈') goinsert into系部(系部代码,系部名称,系主任)values('03','机械系','老李')goinsert into系部(系部代码,系部名称,系主任)values('04','计算机系','老梁') goinsert into专业表(专业代码,专业名称,系部代码)values('0101','软件工程','01')goinsert into专业表(专业代码,专业名称,系部代码)values('0102','网络工程','01')goinsert into专业表(专业代码,专业名称,系部代码)values('0103','信息工程','01')goinsert into专业表(专业代码,专业名称,系部代码)values('0201','工商管理','02')goinsert into专业表(专业代码,专业名称,系部代码)values('0202','物流管理','02')goinsert into专业表(专业代码,专业名称,系部代码)values('0301','模具加工','03')goinsert into专业表(专业代码,专业名称,系部代码)values('0302','机电一体化','03')goinsert into专业表(专业代码,专业名称,系部代码)values('0401','应用数学','04')goinsert into专业表(专业代码,专业名称,系部代码)values('0402','金融数学','04')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010101','软件工程班','0101','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010102','软件工程班','0101','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010103','网络工程班','0102','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010104','网络工程班','0102','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010105','信息工程班','0103','01','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010106','工商管理班','0201','02','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010107','物流管理班','0202','02','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010108','模具加工班','0301','03','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注)values('010109','应用数学班','0401','04','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注) values('0101010','金融数学班','0402','04','暂无')goinsert into班级表(班级代码,班级名称,专业代码,系部代码,备注) values('0101011','金融数学班','0402','04','暂无')goinsert into学生表values('010*********','刘德华','男','1988-5-5','2010-9-1','010101','01','0101')goinsert into学生表values('010*********','张学友','男','1988-1-4','2010-9-1','010102','02','0102')goinsert into学生表values('010*********','梁静茹','女','1988-2-1','2010-9-1','010103','03','0103')goinsert into学生表values('010*********','陈奕迅','男','1983-5-3','2010-9-1','010104','04','0201')goinsert into学生表values('010*********','张韶涵','女','1987-8-6','2010-9-1','010105','01','0202')goinsert into学生表values('010*********','林俊杰','男','1988-6-6','2010-9-1','010106','02','0301')goinsert into学生表values('010*********','孙燕姿','女','1984-5-3','2010-9-1','010107','03','0302')goinsert into学生表values('010*********','周华健','男','1986-8-6','2010-9-1','010108','04','0401')goinsert into学生表values('010*********','尚雯婕','女','1988-6-6','2010-9-1','010109','01','0402')goinsert into学生表values('010*********','任贤齐','男','1984-5-3','2010-9-1','0101010','02','0101')goinsert into学生表values('010*********','魏晨','男','1986-8-6','2010-9-1','0101011','03','0102')goinsert into学生表values('010*********','庞龙','男','1988-6-6','2010-9-1','010101','04','0103')goinsert into学生表values('010*********','刘若英','女','1988-5-3','2010-9-1','010102','01','0201')goinsert into学生表values('010*********','李圣杰','男','1989-8-6','2010-9-1','010103','02','0202')goinsert into学生表values('010*********','吴克群','男','1989-2-9','2010-9-1','010104','03','0301')go--连接查询(交叉查询)select*from学生表cross join班级表--列举学生表中的学生姓名和性别班级表中的班级名称select学生表.姓名,学生表.性别,班级表.班级名称from学生表cross join班级表--将两个表中相同列合为一列select学生表.姓名,学生表.性别,班级表.班级名称from学生表cross join班级表where学生表.班级代码=班级表.班级代码--自然连接select*from学生表join班级表on学生表.班级代码=班级表.班级代码select学生表.姓名,学生表.性别,班级表.班级名称from学生表join班级表on学生表.班级代码=班级表.班级代码--表的自身连接(需要取别名)select a.姓名,b.性别from学生表as a join学生表as b on a.学号=b.学号--外连接表查询create table产品(产品编号char(9)not null,产品名称varchar(20)not null)create table产品销售(产品编号char(9)not null,销量int)insert into产品values('001','显示器')insert into产品values('002','键盘')insert into产品values('003','鼠标')insert into产品销售values('001','25')insert into产品销售values('003','35')insert into产品销售values('005','30')select*from产品select*from产品销售--左外连接select*from产品left join产品销售on产品.产品编号=产品销售.产品编号--右外连接select*from产品right join产品销售on产品.产品编号=产品销售.产品编号--完全外连接select*from产品full join产品销售on产品.产品编号=产品销售.产品编号--合并结果集(把重复的过滤掉了)select姓名,性别,出生日期from学生表union select姓名,性别,出生日期from学生表七.数据库中多表查询和子查询--多表连接查询select学生表.学号,学生表.姓名,学生表.性别,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码join专业表on学生表.专业代码=专业表.专业代码join系部on学生表.系部代码=系部.系部代码select学生表.学号,学生表.姓名,学生表.性别,班级表.班级名称from学生表join班级表on学生表.班级代码=班级表.班级代码and性别='男'--嵌套查询(子查询)带有IN运算符的子查询,in运算符的子查询返回的结果是集合select*from系部select*from学生表where系部代码='01'select*from学生表where班级代码in(select班级代码from班级表where专业代码in(select专业代码from专业表where系部代码in(select系部代码from系部where系部代码in(01))))--带有比较运算符的子查询select*from学生表where出生日期>(select出生日期from学生表where姓名='刘德华')--带有any(满足条件中的任何一个)或all(大于结果中的所有值)的子查询select*from score_table order by高考分数descselect*from score_table where高考分数>any(select高考分数fromscore_table where学号in(29,25))select*from score_table where高考分数>all(select高考分数fromscore_table where学号in(29,25))--带有exists运算符的子查询select*from score_table where exists(select*from score_table where 名称='张学友')八.数据库中数据完整性约束select*from系部where系部代码=(select系部代码from专业表where专业代码=(select专业代码from班级表where班级代码=(select班级代码from学生表where姓名='刘德华')))--使用sql语句创建唯一约束alter table系部add constraint wywy unique nonclustered(系部名称)--创建检查约束alter table score_table add constraint ck_name check(高考分数>300 and高考分数<600)--创建默认约束alter table new_table add constraint df default'我叫徐守威'for'其他' --删除约束alter table score_table drop constraint ck_name九.数据库中数据规则--创建规则create rule gz as @a>300 and @a<600--绑定规则execute sp_bindrule'gz','new_table.高考分数'select*into new_table1 from new_table--解除规则execute sp_unbindrule'new_table.高考分数'--删除规则drop rule gz--创建默认create default df_name as'男'--绑定默认execute sp_bindefault'df_name','学生表.性别'--解除默认execute sp_unbindefault'df_name','学生表.性别'--删除默认drop default df_name十.数据库中索引--创建索引create clustered index索引名on score_table(名称)create unique clustered index索引名on score_table(名称)--查看索引信息execute sp_helpindex score_table--删除索引drop index score_table.索引名十一.数据库视图--创建视图create view v1 asselect学生表.学号,学生表.姓名,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码join专业表on班级表.专业代码=专业表.专业代码join系部on专业.系部代码=系部.系部代码--创建一般视图create view视图名asselect*from score_table--创建加密视图create view加密视图名with encryptionasselect*from score_table--创建视图及表的架构绑定create view视图及表的架构绑定with schemabindingasselect姓名,性别from dbo.score_table--在视图中增加、删除数据insert into视图名(姓名,性别)values('xushouwei','男')update视图名set姓名='徐守威'where姓名='xushouwei'delete视图名where姓名='徐守威'--删除视图drop view视图名--系统存储过程查看视图execute sp_helptext视图名十二.数据库存储过程--创建存储过程create procedure passelect学生表.学号,学生表.姓名,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码join专业表on班级表.专业代码=专业表.专业代码join系部on专业表.系部代码=系部.系部代码--执行存储过程execute p--为存储过程加上参数create procedure p1@sex varchar(10),@id varchar(10)asselect学生表.学号,学生表.姓名,班级表.班级名称,专业表.专业名称,系部.系部名称from学生表join班级表on学生表.班级代码=班级表.班级代码and学生表.性别=@sexjoin专业表on班级表.专业代码=专业表.专业代码join系部on专业表.系部代码=系部.系部代码and系部.系部代码=@id--执行带参数的存储过程execute p1'男','01'--创建带返回参数的存储过程create procedure p2@name varchar(10),@getnum varchar(10)outputasselect @getnum=学号from学生表where姓名=@name--执行带返回参数的存储过程execute p2'刘德华',''--查看存储过程execute sp_helptextexecute sp_dependsexecute sp_help--删除存储过程drop procedure pdrop procedure p,p1drop procedure p,p1,p2十三.数据库触发器--创建触发器(执行插入操作)create trigger myinserton产品for insertasdeclare @a char(10)select @a=产品编号from insertedinsert into产品销售values(@a,0)--查询触发器中的数据select*from产品select*from产品销售--执行插入操作insert into产品values('01','电视')insert into产品values('02','电脑')--创建触发器(执行删除操作)create trigger mydeleteon产品for deleteasdeclare @a char(10)select @a=产品编号from deleteddelete产品销售where产品编号=@a--执行删除操作delete产品where产品编号='02'--查看触发器信息execute sp_helptrigger产品--删除触发器drop trigger myinsertdrop trigger mydelete十四.数据库函数--avg求平均分函数select班级名称,avg(学生表.高考分数)from班级表join学生表on班级表.班级代码=学生表.班级代码group by班级名称--max求最大值select班级名称,max(学生表.高考分数)from班级表join学生表on班级表.班级代码=学生表.班级代码group by班级名称--min求最小值select班级名称,min(学生表.高考分数)from班级表join学生表on班级表.班级代码=学生表.班级代码group by班级名称--abs(x)返回绝对值select abs(-8)--ceiling(x)返回大于或等于所给数字的最小整数select ceiling(3)--pi()(pi值)select pi()--power(x,y)返回x的y次方select power(2,3)--rand()返回~1之间的随机数select rand()--返回数据库的版本号select@@version--获取当前语言select@@language--当前时间select getdate()--取出天select day(getdate())--取出月select month(getdate())--取出年select year(getdate())--加三天(“d”表示天,“m”表示月,“y”表示年)select dateadd(d,3,getdate())as Jasxu_dateadd--取出时间的某一部分(“d”表示天,“m”表示月,“y”表示年)select datename(d,'2013-12-12')select datename(d,getdate())--排名函数select姓名,rank()over(order by高考分数desc)as名次,高考分数from学生表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

模块 3-2 学生管理数据库中的数据 的基本操作
学习目标
能够使用INSERT语句插入数据 能够使用DELETE语句删除数据 能够使用UPDATE语句修改记录 能够使用SELECT INTO子句生成新表
工作任务
数据的增加 数据的删除 数据的更新
1. 2. 3.
任务一:数据的增加。
【任务分析】
数据表创建完毕后,有时需要对已有的数据表 的数据进行添加,实现记录的单个增加或者批量增 加。本任务需要为course表增加一条记录 (‘0301001’,‘毛泽东思想概论’,‘3’),可以使用 INSERT INTO语句。
程序代码
USE student GO DELETE student WHERE sno LIKE '06%' GO
执行结果
分析,执行上述代码
任务三:数据的更新。
【任务分析】
当数据表中的某条记录或者成批数据需要修改 时,可以使用UPDATE语句。本任务中要将班级编 码为“07010212”的学生的入学成绩增加5分。
SQL Server 2005数据库基础
大连理工大学出版社
项目三 学生管理数据库中的数 据操作
模块 3-1 学生管理数据库中数据的 导入与导出
学习目标
会导入数据 会导出数据
工作任务
1. 2.
将EXCEL中的数据导入到数据库 student中。 将数据表student导出到Access数据库s 中。
操作步骤
1、右击“对象资源浏览器”窗口的节点【student】, 弹出快捷菜单。单击“任务”|“导入数据”
操作步骤
2、单击【导入数据】命令,打开“SQL Server 导入和 导出向导”窗口
操作步骤
3、单击【下一步】按钮,进入“选择数据源”窗口。 在【数据源】下拉框中选择“Microsoft Excel”,在【文 件名】文本框中输入Excel文件所在的路径及名称。
任务2将数据表 将数据表student导出到 导出到Access数据 将数据表 导出到 数据 库s中。 中
【任务分析】 操作数据库的过程中,有时需要将SQL Server 数据库中的数据转换为其他格式的数据文件,这个 时候就要用到任务中的数据的导出操作。本任务中, 要将SQL Server中的数据库中的表student导出至 Access数据库中。这里Access库中需要事先建立好 一个名为s的数据库。
DROP
删除已有的数据库对象
DROP RULE zydm_rule 删除规则 zydm_rule
知识说明:常见的DDL语句基本格式
(1)INSERT语句的基本格式如下: INSERT [INTO] table_name { [ (column_list) ] { VALUES ({ expression } [ ,…n]) } } (2)DELETE table_name [ FROM { < table_source > } [,…n] ] [ WHERE { < search_condition > } ] < table_source > ::= table_name [ [ AS ] table_alias ] [,…n] ) ]
程序代码
USE student GO INSERT INTO course (cno,cname,credits) VALUES ('0301001','毛泽东思想概论','3') GO
执行结果
分析,执行上述代码
任务二:数据的删除。
【任务分析】
当数据表的记录过时或者出现错误的时候,我 们可以使用DELETE语句将某些记录删除。本任务 中由于06级学生已经毕业离校,我们要将student 表中的所有06级的同学删除,可以使用DELETE语 句来完成。
举例 CREATE DATABASE student 创建一个名为 student 的数据库 ALTER TABLE class ADD CONSTRAINT uk_bjmc UNIQUE NONCLUSTERED(classname) 为 class 表的 classname 字段添加 一个唯一约束 uk_bjmc
操作步骤
1、右击“对象资源浏览器”窗口的节点【student】, 弹出快捷菜单。单击“任务”|“导出数据”
操作步骤
2、单击【导出数据】命令,打开“SQL Server 导入和 导出向导”窗口。
操作步骤
3、单击【下一步】按钮,进入“选择数据源”窗口。 在【数据源】下拉框中选择“SQL Native Client”,在 “服务器名称”下拉列表框中选择数据库“student”
操作步骤
7、单击【下一步】按钮,进入“保存并执行包”窗口。 选择“立即运行”复选框
操作步骤
8、单击【下一步】按钮,进入“完成该向导”窗口, 并显示前面的设置
操作步骤
9、单击【完成】按钮,执行导入操作,并且显示执行 步骤及执行状
操作步骤
10、单击【关闭】按钮,关闭“SQL Server 导入和导 出向导”窗口。打开Access中的相应数据库,就可以看 到从SQL Server中导出的数据表了。
操作步骤
4、单击【下一步】按钮,进入“选择目标”窗口。在 【目标】下拉框中选择“Microsoft Access”,在【文件 名】文本框中输入Accsee文件所在的路径及名称
操作步骤
5、单击【下一步】按钮,进入“指定表复制或查询” 窗口。选中“复制一个或多个表或视图的数据”单选按 钮
操作步骤
6、单击【下一步】按钮,进入“选择源表和源视图” 窗口。在【表和视图】列表框中,选择“student”
程序代码
USE student GO UPDATE student SET sscore=sscore+5 WHERE classno='07010212' GO
执行结果
分析,执行上述代码
知识说明:常见的DDL语句
DDL 语句关键字 CREATE ALTER
功能 创建新的数据库对象 修改已有数据库对象的结构
操作步骤
4、单击【下一步】按钮,进入“选择目标”窗口。在 【目标】下拉列表框中选择“SQL Native Client ”
操作步骤
5、单击【下一步】按钮,进入“指定表复制或查询” 窗口。选中“复制一个或多个表或视图的数据”单选按 钮
操作步骤
6、单击【下一步】按钮,进入“选择源表和源视图” 窗口 。选择“teacher$”
பைடு நூலகம்作步骤
7、单击【下一步】按钮,进入“保存并执行包”窗口。 选择“立即运行”复选框
操作步骤
8、单击【下一步】按钮,进入“完成该向导”窗口, 并显示前面的设置 。
操作步骤
9、单击【完成】按钮,执行导入操作,并且显示执行 步骤及执行状态 。
操作步骤
10、单击【关闭】按钮,关闭“SQL Server 导入和导 出向导”窗口 。
知识说明:常见的DDL语句基本格式
(3)UPDATE table_name SET { column_name = { expression ︳DEFAULT ︳NULL} } [,...n] [FROM { <table_source>}[,...n]] [WHERE<search_condition>] <table_source>::= table_name[[AS]table_alias][WITH(<table_hint>[,...n])]
任务一:将Excel中的数据导入到数据 将 中的数据导入到数据 库student中。 中
【任务分析】
操作数据库的过程中,有时需要将其他格式的 数据文件变为SQL Server数据库中的数据,这个时 候就要用到任务中的数据的导入操作。本任务中, Excel表中有一份有关教师的基本信息,在创建表 时我们不需要将这些记录重新录入,而只需要通过 导入操作获取这些电子表格中的数据。
相关文档
最新文档