SQL Server数据库应用开发技术 第六章
数据库原理及应用SQL-Server 第6章-SELECT数据查询
6/69
简单查询(2)
❖ 查询全部列
将表中的所有属性列都选出来,可以有两种方法。一种方法就是在 SELECT关键字后面列出所有列名;另一种方法是如果列的显示顺序与 其在基表中的顺序相同,也可以简单地将<目标列表达式>指定为“*”。
例 查询全体学生的详细记录。 USE JXGL GO SELECT * FROM S GO
2021/9/19
10/69
带有WHERE子句的查询 (2)
确定范围
语句BETWEEN…AND…和NOT BETWEEN…AND…可以用来查找 属性值在(或不在)指定范围内的元组,其中BETWEEN后是范围的下 限(即低值),AND后是范围的上限(即高值)。
例 查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、 系别和年龄。
基本语句SELECT—FROM—WHERE的含义是:根据WHERE子句 的条件表达式,从FROM子句指定的基本表或视图中找出满足条件的 元组,再按SELECT子句中的目标列表达式,选出元组中的属性值形 成结果表。
2021/9/19
5/69
简单查询(1)
❖ 查询指定列
在很多情况下,用户只对表中的一部分属性列感兴趣,这时可以通 过在SELECT子句的<目标列表达式>中指定要查询的属性列。
USE JXGL GO SELECT SNAME,SEX FROM S WHERE SDEPT IN('CS','MA','IS') GO
2021/9/19
12/69
带有WHERE子句的查询 (4)
字符匹配
运算符LIKE可以用来进行字符串的匹配。其一般语法格式如下: [NOT] LIKE ’<匹配串>’[ESCAPE ’<换码字符>’]
数据库应用技术SQLServer篇第版
数据库应用技术——SQL Server 篇(第2版)第1章数据库概述11.1 订单管理系统概述11.2 数据库基本原理21.2.1 关系数据库系统概述21.2.2 实体-联系模型21.2.3 关系模型41.2.4 关系数据库标准语言81.2.5 关系模型的规范化9习题11第2章SQL Server 概述122.1 SQL Server 简介122.1.1 SQL Server 的发展及特性122.1.2 SQL Server 的环境要求132.2 SQL Server 的安装152.2.1 SQL Server 的应用环境设计152.2.2 SQL Server 的身份验证模式162.2.3 SQL Server 的安装172.3 SQL Server 的管理及开发工具21习题28第3章数据库管理293.1 SQL Server 数据库概念293.1.1 数据库文件分类293.1.2 页303.1.3 数据库文件组313.2 系统数据库及其表323.3 创立数据库333.3.1 创立数据库应具备的条件333.3.2 在图形界面下创立数据库343.3.3 用SQL命令创立数据库353.3.4 事务日志383.3.5 查看数据库信息393.4 管理和维护数据库403.4.1 打开数据库413.4.2 增减数据库空间413.4.3 数据库选项的设定与修改443.4.4 更改数据库名称453.4.5 查看SQL Server上共有几个数据库45 3.4.6 删除数据库45习题46第4章数据表管理474.1 表的基本概念474.1.1 订单管理中的数据要求474.1.2 数据表的三个键474.2 创立表484.2.1 使用图形界面创立表484.2.2 使用CREATE TABLE语句创立表50 4.3 表中的数据类型524.4 表的管理和维护534.4.1 查看表的定义信息534.4.2 修改表554.4.3 删除表564.4.4 查看表之间的依赖关系574.5 表数据的添加、修改和删除584.5.1 向表中添加数据594.5.2 修改表中的数据604.5.3 删除表中的数据614.6 使用约束624.6.1 主键(PRIMARY KEY)约束624.6.2 唯一键(UNIQUE)约束634.6.3 检查(CHECK)约束634.6.4 默认值(DEFAULT)约束65 4.6.5 外键(FOREIGN KEY)约束66 4.6.6 级联参照完整性约束67 4.7 标识列IDENTITY 68习题69第 5 章数据查询705.1 简单SELECT语句725.1.1 SELECT语句的语法格式72 5.1.2 基本的SELECT语句725.1.3 使用INTO子句745.1.4 使用WHERE子句745.1.5 使用ORDER BY子句765.2 SELECT语句的统计功能77 5.2.1 使用集合函数775.2.2 使用GROUP BY 子句795.2.3 使用COMPUTE BY子句80 5.3 SELECT语句中的多表连接81 5.3.1 交叉连接825.3.2 内连接835.3.3 外连接835.3.4 自连接855.3.5 合并结果集865.4 子查询865.4.1 比较测试中的子查询875.4.2 集合成员测试中的子查询875.4.3 存在性测试中的子查询875.4.4 批量比较测试中的子查询875.4.5 使用子查询向表中添加多条记录885.5 使用SQL Server Management Studio 进行数据查询与维护885.5.1 查询设计器简介885.5.2 查询设计器的应用实例90习题92第 6 章视图和索引936.1 视图的基本概念936.1.1 视图的基本概念936.1.2 视图的优点和缺点956.2 视图的创立和查询956.2.1 在SQL Server Management Studio下创立视图966.2.2 使用CREATE VIEW创立视图986.2.3 视图数据的查询996.3 视图的维护996.3.1 查看视图的定义信息1006.3.2 查看视图与其它对象的依赖关系100 6.3.3 修改视图1016.3.4 删除视图1046.4 经过视图修改表数据1046.5 索引概述1056.5.1 SQL Server 中数据的存储与访问105 6.5.2 索引的作用1066.5.3 索引的分类1066.6 创立索引1076.6.1 系统自动创立索引1086.6.2 在图形界面下创立索引1096.6.3 使用CREATE INDEX语句创立索引110 6.7 管理和维护索引1116.7.1 查看和修改索引信息1116.7.2 删除索引1126.7.3 索引的分析与维护113习题117第7章Transact-SQL编程1187.1 批处理、脚本和注释1187.1.1 批处理118。
第6章 创建和使用表-数据库原理与应用教程—SQL Server 2014-赵明渊-清华大学出版社
数据库原理与应用教程 ——SQL Server 2014
专业 通信 通信 通信 计算机 计算机 计算机
总学分 52 49 50 48 52 50
2
6.1.1 表和表结构
(1)表 表是数据库中存储数据的数据库对象,每个数据库包含 了若干个表,表由行和列组成。例如,表6.1由6行6列组成。 (2)表结构 每个表具有一定的结构,表结构包含一组固定的列,由 数据类型、长度、允许Null值等组成。 (3)记录 每个表包含若干行数据,表中一行称为一个记录(Record)。 表6.1有6个记录。
数据库原理与应用教程
——SQL Server 2014
5
•
6.1.2 数据类型
1. 整数型 整数包括bigint、int、smallint和tinyint 4类。 ● bigint(大整数) 精度为19位,长度为8字节,数值范围为-263~263-1。 ● int(整数) 精度10位,长度为4字节,数值范围为-231~231-1。 ● smallint(短整数) 精度为10位,长度为2字节,数值范围为-215~215–1。 ● tinyint(微短整数) 精度为3位,长度为1字节,数值范围为0~255。
符号标识 bigint , int , smallint , tinyint decimal , numeric float , real money , smallmoney bit char , varchar、varchar(MAX) nchar , nvarchar、nvarchar(MAX) text , ntext binary , varbinary、varbinary(MAX) datetime , smalldatetime, date, time, datetime2, datetimeoffset timestamp image cursor ,sql_variant , table , uniqueidentifier ,xml, hierarchyid
《Sql Server数据库原理与应用》教学大纲(2022版)
《Sql Server数据库原理与应用》教学大纲英文名称:Principles and Application of Database课程代码:课程类别:专业选修课课程性质:选修开课学期:大四第一学期总学时:36(讲课:18,实训18)总学分:2考核方式:平时考勤、作业、课堂表现、期末大作业先修课程:《大学计算机基础》《Python语言与数据分析》适用专业:一、课程简介本课程以功能强大的关系数据库管理系统MySQL作为平台,全面系统地介绍SQL Server 的管理操作和应用开发,将基础知识和实际应用有机结合起来,主要内容有数据库系统概论、MySQL安装和操作、创建数据库和创建表、表数据操作、数据查询、视图和索引、数据完整性、T-SQL程序设计、存储过程、触发器、系统安全管理、备份和恢复、事务和锁定。
本课程主要通过理论授课加实训的方式完成教学,理论授课24学时,实训12学时。
考核方式由平时考勤、实训作业、课堂表现和期末大作业构成。
二、课程目标及其对毕业要求的支撑通过本课程的学习,学生将对数据库技术的基本概念、原理、方法和技术有较深刻的理解,掌握SQL语言查询和编程的基本技术,掌握数据库系统安装、配置、管理和维护的基本技能,具备管理和开发简单数据库应用系统的能力,提高学生分析和解决实际问题的能力,为将来从事相关工作打下基础。
三、课程教学要求第一章数据库概述教学内容:第一节数据库系统1.数据与信息2.数据存储单元—服务器3.数据库系统的构成4.数据库系统的特点第二节数据库类型1.数据库模型2.关系型数据库3.非关系型数据库第三节关系型数据库MySQL1.为什么使用MySQL2.MySQL的发展简史3.MySQL的版本分类与发展4.企业如何选择MySQL版本第四节本章小结学生学习预期成果:1.了解与数据库相关的基本概念2.掌握常见的数据库类型及各自的特点3.理解MySQL的工作原理教学重点:1.数据库类型2.关系型数据库MySQL教学难点:1.数据库类型2.关系型数据库MySQL第二章环境的安装与基本配置教学内容:第一节虚拟化平台1.系统虚拟化2.搭建实验平台3.虚拟平台的基本使用第二节CentOS系统的部署1.CentOS系统2.系统下载3.最小化安装CentOs第三节MySQL的安装与配置1.MySQL安装方式2.Yum方式安装3.源码编译方式安装4.初始化数据库第四节本章小结学生学习预期成果:1.熟练掌握Linux操作系统环境下MySQL的安装与基本配置方法2.掌握VMware Workstation中搭建虚拟化环境的方法3.了解MySQL的配置参数4.熟悉MySQL安装过程中的报错和相应解决方法教学重点:1.CentOS系统的部署2.MySQL的安装与配置教学难点:1.CentOS系统的部署2.MySQL的安装与配置;第三章MySQL数据操作教学内容:第一节SQL语句1.SQL简介2.SQL分类第二节数据类型1.数值类型2.字符串类型3.日期和时间类型第三节存储引擎1.MySQL的存储引擎2.常用引擎MyISAM和InnoDB的区别3.存储引擎的选择第四节库与表的基础操作1.库操作2.表操作第五节表的高级操作1.数据的插入2.修改数据表3.删除表内容4.更新数据第六节本章小结学生学习预期成果:1.了解SQL语句的基本分类2.掌握使用结构化查询语句进行数据操作的方法3.掌握数据库不同存储引擎的差异4.掌握常见的数值类型并学会合理运用教学重点:1.数据类型2.存储引擎3.库与表对的基本操作4.表的高级操作教学难点:1.数据类型2.存储引擎3.库与表对的基本操作4.表的高级操作第四章数据库表单查询教学内容:第一节基础查询1.创建基本的数据表环境2.查询所有字段3.查询指定字段第二节条件查询1.关系运算符2.多条件查询第三节高级查询1.排序查询2.聚合函数3.分组查询4.HAVING字句5.LIMIT分页第四节本章小结学生学习期望成果:1.掌握使用SQL语句进行基础查询的方法2.掌握SQL语句中不同条件的表达方法3.熟练使用高级的查询方式对数据进行查询分析教学重点:1.基础查询2.条件查询3.高级查询教学难点:1.基础查询2.条件查询3.高级查询;第五章数据的完整性教学内容:第一节实体完整性1.主键与主键约束2.唯一约束3.自动增长列第二节域完整性1.非空约束2.默认值约束第三节引用完整性1.外键与外键约束2.删除外键约束第四节索引1.普通索引2.唯一索引3.索引过多引发的问题第五节本章小结学生学习期望成果:1.了解数据对的约束原则2.掌握主键、外键约束的用法3.掌握索引的实际应用方法4.掌握常见的约束原则教学重点:1.域完整性2.引用完整性3.索引教学难点:1.域完整性2.引用完整性3.索引第六章数据库多表查询教学内容:第一节表与表之间的关系1.一对一关系2.一对多关系3.多对一关系4.多对多关系第二节多表查询1.合并结果集2.关于笛卡尔积3.内连接4.外连接5.自然连接6.嵌套查询第三节本章小结学生学习期望成果:1.了解数据表之间的关系2.掌握多表数据的查询方法3.理解多表查询中的连接规则和笛卡儿积4.熟悉数据表之间的嵌套查询教学重点:1.表与表之间的关系2.多表查询教学难点:1.表与表之间的关系2.多表查询第七章权限与账户管理教学内容:第一节权限表第二节账户管理1.登录和退出数据库2.创建和删除用户3.修改账户密码4.删除与修改用户名第三节权限管理1.MySQL的权限2.授予权限3.查看权限4.收回权限第四节本章小结学生学习期望成果:1.了解什么是权限表2.掌握数据库用户权限的设置方法3.熟悉数据库配置文件的基本设置4.掌握MySQL访问控制的方法教学重点:1.权限表2.账户管理3.权限管理教学难点:1.权限表2.账户管理3.权限管理第八章存储过程与触发器教学内容:第一节存储过程1.存储过程概述2.存储过程优缺点3.创建存储过程4.查看存储过程5.删除存储过程第二节触发器1.触发器概述2.创建触发器3.查看触发器4.删除触发器第三节本章小结学生学习期望成果:1.了解什么是存储过程2.掌握存储过程的相关操作方法3.熟悉触发器的基本概念4.掌握触发器的使用方法和应用场景教学重点:1.存储过程2.触发器教学难点:1.存储过程2.触发器第九章数据库事务和锁机制教学内容:第一节事务管理1.事务的概念2.事务的创建和回滚3.并发与并行4.事件的ACID特性5.事件的隔离级别6.隔离级别的选取第二节锁机制1.MySQL锁定机制简介2.InnoDB锁类型3.锁监控与优化第三节本章小结学生学习期望成果:1.理解事务的基本概念2.熟悉事务的四个特性3.掌握事务的相关操作方法和隔离级别4.掌握锁机制的原理和使用方法教学重点:1.事务管理2.锁机制教学难点:1.事务管理2.锁机制第十章 MySQL数据备份教学内容:第一节数据备份概述1.数据备份原则2.备份类型的划分第二节物理备份1.Tar打包备份2.LVM快照备份3.Xtrabackup备份第三节逻辑备份第四节本章小结学生学习期望成果:1.了解什么是数据库备份2.掌握数据库备份和恢复的方法3.掌握数据迁移的操作流程4.掌握数据库的导入和导出方法教学重点:1.物理备份2.逻辑备份教学难点:1.物理备份2.逻辑备份第十一章日志管理教学内容:第一节日志的分类1.错误日志2.二进制日志3.慢查询日志4.中继日志5.Redo日志和Undo日志6.查询日志第二节日志应用第三节本章小结学生学习期望成果:1.了解数据库中常见的日志种类2.掌握二进制日志的操作方法3.掌握错误日志的操作方法4.熟悉慢查询等其他日志应用教学重点:1.日志分类2.日志应用教学难点:1.日志分类2.日志应用第十二章主从复制教学内容:第一节主从复制原理1.复制过程2.基本架构3.复制模式第二节一主一从复制1.基于位点的主从复制2.基于GRID的主从复制第三节多主从复制1.双主双从搭建流程2.关于keepalived第四节复制延迟与死机处理第五节本章小结学生学习期望成果:1.了解MySQL主从复制的原理2.掌握配置一主一从集群的基本流程3.掌握向集群添加从服务器的方法4.熟悉多主多从集群的配置参数和配置流程教学重点:1.一主一从复制2.多主多从复制3.复制延迟与死机处理教学难点:1.一主一从复制2.多主多从复制3.复制延迟与死机处理第十三章 MySQL读写分离教学内容:第一节数据库代理1.基本原理2.常见的数据库中间件第二节Mycat实现读写分离1.基本环境2.配置流程第三节本章小结学生学习期望成果:1.掌握数据库代理的基本原理2.熟悉企业中常用的数据库中间件3.掌握Mycat实现读写分离的配置流程4.掌握读写分离配置中使用到的关键参数教学重点:1.数据库代理2.Mycat实现读写分离教学难点:1.数据库代理2.Mycat实现读写分离四、建议教学安排五、课程成绩评定基本考核方法:通过考勤、作业、课堂表现等评定学生平时成绩(占50%),通过期末大作业评定学生理论成绩(期末大作业占50%)情况综合评价学生成绩。
SQLServer数据库教案
教案:SQL Server数据库教案第一章:SQL Server概述1.1 课程目标了解SQL Server的发展历程掌握SQL Server的基本概念和特点了解SQL Server的体系结构1.2 教学内容SQL Server的发展历程SQL Server的基本概念和特点SQL Server的体系结构1.3 教学方法讲授法案例分析法1.4 教学资源-PPT-案例文件1.5 教学步骤1. 介绍SQL Server的发展历程2. 讲解SQL Server的基本概念和特点3. 讲解SQL Server的体系结构第二章:SQL Server数据库的创建和管理2.1 课程目标掌握SQL Server数据库的创建和管理方法2.2 教学内容数据库的基本概念数据库的创建和管理方法2.3 教学方法讲授法案例分析法2.4 教学资源-PPT-案例文件2.5 教学步骤1. 介绍数据库的基本概念2. 讲解数据库的创建和管理方法3. 分析案例并演示操作过程第三章:SQL Server表的设计和管理3.1 课程目标掌握SQL Server表的设计和管理方法3.2 教学内容表的基本概念表的设计和管理方法3.3 教学方法讲授法案例分析法3.4 教学资源-PPT-案例文件3.5 教学步骤1. 介绍表的基本概念2. 讲解表的设计和管理方法3. 分析案例并演示操作过程第四章:SQL Server索引和约束的应用4.1 课程目标掌握SQL Server索引和约束的应用方法4.2 教学内容索引和约束的基本概念索引和约束的应用方法4.3 教学方法讲授法案例分析法4.4 教学资源-PPT-案例文件4.5 教学步骤1. 介绍索引和约束的基本概念2. 讲解索引和约束的应用方法3. 分析案例并演示操作过程第五章:SQL Server数据查询和操作5.1 课程目标掌握SQL Server数据查询和操作方法5.2 教学内容数据查询的基本概念数据查询和操作方法5.3 教学方法讲授法案例分析法5.4 教学资源-PPT-案例文件5.5 教学步骤1. 介绍数据查询的基本概念2. 讲解数据查询和操作方法3. 分析案例并演示操作过程第六章:SQL Server数据传输6.1 课程目标掌握SQL Server中数据传输的基本方法和技巧。
数据库原理与应用(SQL Server ) 第6章 创建数据库和创建表
数据库原理与应用(SQL Server)
12
6.2.2 修改数据库
在数据库创建后,用户可以根据需要对数据库进行以下修改: ● 增加或删除数据文件,改变数据文件的大小和增长方式。 ●增加或删除日志文件,改变日志文件的大小和增长方式。 ● 增加或删除文件组。 【例6.2】在test数据库(已创建)中增加数据文件testbk.ndf和日志 文件testbk_log.ldf。 (1)启动SQL Server Management Studio,在左边“对象资源管 理器”窗口中展开“数据库”节点,选中数据库“test”,单击鼠标右 键,在弹出的快捷菜单中选择“属性”命令。
server.database.scheme.object
例如,DELL-PC.stsc.dbo.student即为一个完全限定名。
数据库原理与应用(SQL Server)
4
6.1.1 逻辑数据库
(2)部分限定名
使用完全限定名往往很繁琐且没有必要,经常省略其中的某些部
分。在对象全名的4个部分中,前3个部分均可被省略,当省略中间的部
创建多个,也可以没有,辅助数据文件的默认扩展名为.ndf。 (3)日志文件(Transaction Log) 日志文件用于保存恢复数据库所需的事务日志信息。每个数据库
至少有一个日志文件,也可以有多个,日志文件的扩展名为.ldf。
数据库原理与应用(SQL Server)
7
6.1.2 物理数据库
3. 数据库文件组 在数据库中,为了管理和分配数据将多个文件组织在一起,组成 文 件 组 , 对 它 们 进 行 整 体 管 理 , 以 提 高 表 中 数 据 的 查 询 效 率 , SQL Server提供了两类文件组:主文件组和用户定义文件组。 (1)主文件组。 包含主要数据文件和任何没有指派给其它文件组的文件,数据库 的系统表均分配在主文件组中。 (2)用户定义文件组。 包含所有使用 “CREATE DATABASE”或“ALTER DATABASE” 语句并用 “FILEGROUP”关键字指定的文件组。
sql-server-2008-数据库应用与开发教程--课后习题参考答案
sql-server-2008-数据库应用与开发教程--课后习题参考答案DServer的组成部分和这些组成部分之间的描述。
Microsoft SQL Server 2008系统由4个组件组成,这4个组件被称为4个服务,分别是数据库引擎、Analysis Services、Reporting Services和Integration Services。
数据库引擎是Microsoft SQL Server 2008系统的核心服务,负责完成数据的存储、处理、查询和安全管理等操作。
分析服务(SQL Server Analysis Services,简称为SSAS)的主要作用是提供多维分析和数据挖掘功能。
报表服务(SQL Server Reporting Services,简称为SSRS)为用户提供了支持Web方式的企业级报表功能。
集成服务(SQL Server Integration Services,简称SSIS)是一个数据集成平台,负责完成有关数据的提取、转换和加载等操作。
1.安装SQL Server 2008之前应该做什么准备工作?答:(1) 增强物理安全性(2) 使用防火墙(3) 隔离服务(4) 禁用NetBIOS和服务器消息块2.SQL Server 2008支持哪两种身份验证?答:Windows 身份验证或混合模式身份验证。
3.如何注册和启动SQL Server 服务器?答:1. 注册服务器使用Microsoft SQL Server Management Studio工具注册服务器的步骤如下:(1) 启动Microsoft SQL Server Management Studio工具,选择“视图”|“已注册”命令或者按下快捷键Ctrl+Alt+G,在打开的“已注册的服务器”窗口中选中“数据库引擎”图标。
(2) 在“数据库引擎”上单击鼠标右键,从弹出的快捷菜单中选择“新建”|“服务器注册”命令,即可打开如图1-20所示的“新建服务器注册”对话框。
SQL Server 2005数据库实践教程—6.第六章 .自动化管理任务
20
6-2 管理作业与警报
6-2-2 创建作业的基本步骤
实验1:创建简单作业实验 第三步:在作业步骤属性的选择页中点击“高级”项,并在操作界面将“成功时要 执行的操作”选项选择为“退出报告成功的作业”,并将输出追加到“输出文件” 中,点击确定保存配置信息
21
6-2 管理作业与警报
6-2-2 创建作业的基本步骤
6
6-1 自动化管理任务概述
6-1-3 SQL SERVER代理
1、作业 作业的概念 作业 SQL SERVER代理(SQL Server Agent)说到底就是一个Windows的后台服务 的后台服务 和可以执行安排的管理任务,这个管理任务也被称为“作业”。 和可以执行安排的管理任务 每个作业包含了一个或多个作业步骤 一个或多个作业步骤,每个步骤都可以完成一个任务。SQL 一个或多个作业步骤 SERVER代理可以在指定的时间或在特定的事件条件下执行作业里的步骤,并记录 作业的完成情况,一旦执行作业步骤出现错误,SQL Server代理还可以设法通知管 理员。
实验1:创建操作员实验 第二步:分别在打开的创建操作员用户界面中录入操作员名称和电子邮件的名称, 但是这里的电子邮件有效方式是在建立电子邮件服务器后指定的用户邮件地址,因 此首先应当确保电子邮件服务器是已经配置好并成功启动的,而且应当为具体的用 户设置好邮件地址。
15
6-2 管理作业与警报
6-2-2 创建作业的基本步骤
8
6-1 自动化管理任务概述
6-1-3 SQL SERVER代理 实验1:设置SQL Server代理服务为自动启动实验
第二步:在打开的“属性”对话框中 切换到代理服务器的“服务”页面, 选择启动模式为“自动”。如图所示。 当然也可以通过点击开始->运行, 然后键入services.msc,运行后找 到SQL Server 2005 Agent,双击 设置为自动启动。(请读者自行尝试)
SQL Server 课后习题参考答案(详解)
答:实例就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。一个SQL Server服务器就是一个实例,一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个实例。
答:实体是客观存在并且可以相互区别的事物,实体可以是具体的事物,也可以是抽象的事物。不同的事物是用不同的特征决定的,用来描述实体的特性称为实体的属性。表中每条记录对应一个实体,而每个字段保存着对应实体的属性值。
2、说明主键、惟一键和外键的作用。说明它们在保证数据完整性中的应用方法。
答:主键是唯一识别一个表的每一记录,作用是将记录和存放在其他表中的数据进行关联,并与外键构成参照完整性约束。惟一键用于指明创建惟一约束的列上的取值必须惟一。外键用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。外键约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。
7、SQL Server 2005中有哪些类型数据?
答:参见教材表4-1。
9、数据完整性包括哪些?如何实现?
答:数据完整性包括实体完整性,域完整性,引用完整性,用户定义完整性,通过在表中,列中,表与表之间设置主键、惟一键、外键、CHECK约束等可以实现。
16、说明使用标识列的优缺点。
答:优点:方便可以让计算机为表中的记录按照要求自动地生成标识字段的值。
8、通过视图修改数据要注意哪些限制?
答:对视图进行的修改操作ห้องสมุดไป่ตู้以下限制:
数据库系统原理及应用(SQL Server 2012)配套习题答案
习题答案第一章习题答案一、选择题1.下列关于数据库技术的描述,错误的是( B )A.数据库中不但需要保存数据,而且还需要保存数据之间的关联关系B.由于数据是存储在磁盘上的,因此用户在访问数据库数据时需要知道数据的存储位置C.数据库中数据存储结构的变化不会影响到应用程序D.数据库中的数据具有较小的数据冗余2.数据库系统中将数据分为三个模式,从而提供了数据的独立性,下列关于数据逻辑独立性的说法,正确的是( C )A. 当内模式发生变化时,模式可以不变B. 当内模式发生变化时,应用程序可以不变C. 当模式发生变化时,应用程序可以不变D. 当模式发生变化时,内模式可以不变3.下列关于用文件管理数据的说法,错误的是( D )A.用文件管理数据,难以提供应用程序对数据的独立性B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序C.用文件存储数据的方式难以实现数据访问的安全控制D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率4.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于( A )A.系统软件B.工具软件C.应用软件D.数据软件5.下列模式中,用于描述单个用户数据视图的是( C )A.内模式B.概念模式C.外模式D.存储模式6.在数据库系统中,数据库管理系统和操作系统之间的关系是( D )A.相互调用B.数据库管理系统调用操作系统C.操作系统调用数据库管理系统D.并发运行7.数据库系统的物理独立性是指( C )A.不会因为数据的变化而影响应用程序B.不会因为数据存储结构的变化而影响应用程序C.不会因为数据存储策略的变化而影响数据的存储结构D.不会因为数据逻辑结构的变化而影响应用程序8.下列关于数据库管理系统的说法,错误的是( C )A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名9.数据库系统是由若干部分组成的。
数据库原理与应用教程SQLServer课件
第6章 SQL Server 2005基础
6.2.2 SQL Server 2023旳环境需求
1.硬件需求 对硬件环境旳要求涉及对处理器类型、处理器速 度、内存、硬盘空间等旳要求。 处理器类型一般要求Pentium III及其以上旳类型。 处理器旳速度最低要求到达600MHz,提议1GHz 或更高旳速度。 对于内存来讲,512MB肯定是最低旳,提议使用 1GHz或更大旳内存。 对于磁盘空间来说应该尽量地大,详细旳程度应 根据安装环境进行选择。
第6章 SQL Server 2005基础
图6.1 SQL Server 2023 安装界面
图6.2 【最终顾客许可协议】界面
第6章 SQL Server 2005基础
(3) 在【最终顾客许可协议】界面上,阅读 许可协议,选中“我接受许可条款和条件” 复选框。若要结束安装程序,请单击【取消】 按钮。若要继续,请单击【下一步】按钮, 出现如图6.3所示旳【安装必备组件】界面。 在该界面中显示了安装SQL Server 2023必 需旳软件组件,假如安装机器中没有这些组 件,单击【安装】按钮,系统会自动安装, 安装完毕出现如图6.4所示旳成功安装界面。
第6章 SQL Server 2005基础
6.2.1 SQL Server 2023旳版本 SQL Server 2023产品家族共分为5个新旳版本: 企业版、原则版、工作组版、精简版和开发人员版。 其中,最常用旳是企业版、原则版和工作组版。 1.企业版(Enterprise Edition) SQL Server 2023企业版是用于企业应用旳完全 集成旳数据管理和商业智能分析平台。适合对具有 复杂旳工作负荷,高级旳分析需求和严格旳高可用 需求旳企业选择。它支持SQLServer2023中旳全部 可用功能。
数据库技术及应用——SQL Server -6-291
标右键,打开快捷菜单。 (4)在快捷菜单中,选择“新建视图”菜单命令,进入“新
视图”窗口。 (5)在“新视图”窗口,单击鼠标右键,打开快捷菜单。 (6)在快捷菜单中,选择“添加表”菜单命令,进入“添加
表”窗口。 (7)在“添加表”窗口,添加用于创建视图的表,单击“添
加”按钮,返回“新视图”窗口。
东北师范大学
6.2.1 使用企业管理器创建视图
(8)在“新视图”窗口,单击所要引用列前的复选框。 (9)在“新视图”窗口,单击 按钮,进入“另存为”窗口。 (10)在“另存为”窗口,单击“确定”按钮,保存视图,结 束创建视图的操作,返回“控制台根目录”窗口。 (11)在“控制台根目录”窗口,选择视图,单击鼠标右键, 打开快捷菜单。 (12)在快捷菜单中,依次选择“打开视图”→“返回所有行” 菜单命令,进入视图“浏览”窗口。 (13)在视图“浏览”窗口,单击 按钮,结束浏览视图的操作。
东北师范大学
6.5.3 使用视图删除数据
操作步骤如下: (1)启动SQL Server企业管理器。 (2)在“控制台根目录”窗口,展开“SQL Server组”,展开
“数据库”,选择使用的数据库再展开。 (3)在“控制台根目录”窗口,选择“视图”图标,单击鼠标
东北师范大学
6.4 删除视图
❖6.4.1 使用企业管理器删除视图 ❖6.4.2 使用SQL命令删除视图
东北师范大学
6.4.1 使用企业管理器删除视图
操作步骤如下: (1)启动SQL Server企业管理器。 (2)在“控制台根目录”窗口,展开“SQL Server组”,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2 使用约束
6.2.1 空约束(NULL)、非空约束(NOT NULL)
1. 用SQL Server Management Studio实现 【例6.1】设置学生表中字段学号、姓名、性别、入学 时间不允许为空。 1)打开SQL Server Management Studio,在对象资源管理 器中展开教务管理系统,展开“表”结点。 2)选择“学生表”,单击右键,选择“修改”进入表设计 器进行表结构设计,如图6.1所示,分别将学号、姓名 、性别、入学时间字段后的允许空复选框去掉对勾。 3)修改完毕后单击工具栏上的“保存”图标或选择菜单“ 文件”下的“保存”项,关闭窗口即可。
第6章 数据完整性实施
6.1 数据完整性实施方法 6.2 使用约束
6.3 使用默认
6.4 使用规则
6.5 使用标识列
小结
6.1 数据完整性实施方法
有两种方式可以实现数据完整性,即声明数据完 整性和过程数据完整性。 1.声明数据完整性 使用声明数据完整性就是通过在对象定义中来实 现,即定义数据必须满足的条件作为对象定义的一部 分。它包括使用各种约束、默认和规则。 实现数据完整性的首选方法是使用声明完整性。 2.过程完整性 过程数据完整性是通过在脚本语言中定义来实现 的。当执行这些脚本时,就可以强制完整性的实现。 过程数据完整性的方式包括使用触发器和存储过程。 也可以在客户机或服务器上使用其他的编程语言和工 具实现。
【例6.7】创建学生表,对字段身份证号设置唯一约束。
返回目录
6.2 使用约束
6.2.3 唯一约束(UNIQUE)
由于一个表只能定义一个主键,而实际应用中表中 不止一列希望值是唯一的,例如身份证号一般不会做主 键,但它的值也应确保是唯一的,这时就可使用唯一约 束来确保唯一性了。与主键不同的是一个表可以定义多 个 UNIQUE 约束,且定义 UNIQUE 约束列允许空值。不 过由于唯一性,空值也只能出现一次。
返回目录
6.2 使用约束
6.2.2 主键约束(PRIMARY KEY)
图 6.2 设置主键 返回目录
6.2 使用约束
6.2.2 主键约束(PRIMARY KEY)
4)修改完毕后单击工具栏上的“保存”图标或选择菜 单“ 文件”下的“保存”项,关闭窗口即可。 当向表中的现有列添加 PRIMARY KEY 约束时,表中现 有的数据必须没有空值,也没有重复值,否则就违反了 惟一性约束,系统将返回错误信息。如果列是允许为空 的,必须修改为不允许为空,才能设置为主键。
【例6.3】用T-SQL命令创建课程表并设置课程号字段为主键。 CREATE TABLE 课程表( 课程号 char(6) PRIMARY KEY,--在列定义之后设置主键 课程名 varchar(20) NULL, 学时 tinyint NULL, 学分 tinyint NULL, 课程类型 nchar(5) NULL, 课程性质 nchar(2) NULL, 考核方式 nchar(2) NULL, 学期 char(1) NULL, 备注 varchar(200) NULL ) 返回目录
返回目录
6.2 使用约束
6.2.3 唯一约束(UNIQUE)
1. 用SQL Server Management Studio实现
【例6.6】对课程表的课程名设置唯一约束。 1)在SQL Server Management Studio中选择“课程表”单击 右键,选择“修改”进入表设计器。 2)单击工具栏上按钮“管理索引和键”或单击右键选择菜单“管 理索引和键”,出现如图6.3所示的“索引/键”界面,单击“添 加”按钮。 3)在“类型”下拉列表中选“唯一键”,在列下拉列表中选“课 程名”,在是唯一的下拉列表中选择“是”,在名称栏输入自定 的约束名,该约束名同时显示在左边的列表框中。设计完毕单击 “关闭”按钮。确认保存。
返回目录
6.2 使用约束
6.2.1 空约束(NULL)、非空约束(NOT NULL)
图 6.1 设置空约束和非空约束 返回目录
6.2 使用约束
6.2.1 空约束(NULL)、非空约束(NOT NULL)
如果表中某列原先设计为允许空,现要修改为不允许为 空,则只有当现有列不存在空值时,才可以进行。否则 返回错误信息。 如果学生表不存在,则选择“新建”表,进入表设计器 进行设置。
返回目录
6.2 使用约束
约束是强制数据完整性的首选方法。应先确定约 束的类型,不同类型的约束强制不同类型的数据完整性 。约束可以通过SQL Server Management Studio和TSQL语句实现,既可以在创建表时设置,也可以通过修 改表添加约束。
T-SQL语句实现约束的通用语法格式分为以下两种情况: 列级约束语法格式: 列名 数据类型 [CONSTRAIN约束名] 约束类型 列级约束直接在需要设置约束的列定义之后书写。
返回目录
6.2 使用约束
6.2.1 空约束(NULL)、非空约束(NOT NULL)
2. 用T-SQL命令实现 空约束或非空约束,只能设置列级约束。直接在列定 义后书写NULL或NOT NULL。 语法格式: 列定义 NULL | 不允许为空。
返回目录
NOT NUL
例6.1 设置学生表中字段学号、姓名、性别、入学时间
返回目录
6.2 使用约束
6.2.2 主键约束(PRIMARY KEY) 【例6.3】用T-SQL命令创建课程表并设置课程号字段为 主键。
【例6.4】用T-SQL命令修改选课表并设置学号和课程号 字段为复合主键。 【例6.5】用T-SQL命令删除【例6.4】设置的主键。
返回目录
6.2 使用约束
6.2.2 主键约束(PRIMARY KEY)
6.2 使用约束
6.2.2 主键约束(PRIMARY KEY)
在插入数据时,要保证数据不出现重复行,至少要有一列 是唯一的,如果这个列是能唯一地标识表中的行信息的,或者某 个表要引用这个列,则将该列设置主键约束。一个表都应有一个 主键,且只能有一个主键约束。设置为主键的列系统自动设置其 不允许为空。如果已有主键约束,要改变新列为主键,则必须先 删除现有的主键约束,然后再创建新的主键。但是当主键约束由 另一表的外键约束引用时,不能删除主键约束,要删除它,必须 先删除外键约束。主键可以是一列,也可以是多列组合成的复合 主键。 image、text数据类型的字段不能设置为主键。
返回目录
6.2 使用约束
表级约束语法格式: [CONSTRAINT 约束名] 约束类型 表级约束在表的所有列定义之后书写。 在设置约束时,约束名可以省略,系统会自动起一 个约束名。但建议用户自己起名。 如果是表已存在,通过修改表的方式添加约束,通 用格式为: ALTER TABLE 表名 ADD [CONSTRAINT 约束名] 约束类型 约束类型包括空约束、主键约束、唯一键约束、检 查约束、默认和外键约束。
6.2 使用约束
6.2.1 空约束(NULL)、非空约束(NOT NULL)
例6.1 (1)创建表设置
CREATE TABLE dbo.学生表( 学号 char(11) NOT NULL,--不允许为空 姓名 nchar(5) NOT NULL, --不允许为空 性别 nchar(1) NOT NULL, --不允许为空 出生日期 datetime NULL, 政治面貌 varchar(10), 入学时间 datetime NOT NULL, --不允许为空 联系电话 char(20) NULL, 班级 char(5) NULL, 备注 varchar(200) NULL )
6.2 使用约束
6.2.2 主键约束(PRIMARY KEY)
【例6.4】用T-SQL命令修改选课表并设置学号和课程号字段为复合 主键。 ALTER TABLE 选课表 ADD CONSTRAINT PK_XK PRIMARY KEY(学号,课程号)—添加表级约束
【例6.5】用T-SQL命令删除【例6.4】设置的主键。 ALTER TABLE 选课表 DROP 约束
6.2.2 主键约束(PRIMARY KEY)
2. 用T-SQL命令实现
语法格式: [CONSTRAINT 约束名] PRIMARY KEY [CLUSTERED | NONCLUSTERED] [(列名1[,„n])] 说明:CLUSTERED和 NONCLUSTERED 分别代表聚集索引 和非聚集索引。
返回目录
6.2 使用约束
利用T-SQL命令修改约束,必须先删除约束,再重 新创建或添加。删除约束的基本格式为: ALTER TABLE 表名 DROP [CONSTRAIN] 约束名[,„n]
返回目录
6.2 使用约束
6.2.1 空约束(NULL)、非空约束(NOT NULL)
在设计表时,表中某些列非常重要,如果不 输入值则信息不完整,这样的列应设计为不允许为 空。比如学生表的学生学号、姓名。默认情况下, 列允许空值。在数据库中 NULL 是特殊值,一个列 中出现NULL值,意味着用户还没有为该列输入值。 NULL既不等价于数值型数据0,也不等价于字符型数 据空串,只表明该列是未知的。在用插入命令插入 数据时,要表示空数据,不能用引号因住,如 ’NULL’这样表示。
返回目录
6.2 使用约束
6.2.1 空约束(NULL)、非空约束(NOT NULL)
例6.1 (2)修改表设置
ALTER TABLE 学生表
ALTER COLUMN 学号 CHAR(11) NOT NULL ALTER TABLE 学生表 ALTER COLUMN 姓名 NCHAR(5) NOT NULL ALTER TABLE 学生表 ALTER COLUMN 性别 NCHAR(1) NOT NULL ALTER TABLE 学生表 ALTER COLUMN 入学时间 DATETIME NOT NULL 执行下列插入数据进行验证效果。 INSERT INTO学生表(学号,姓名) VALUES ('20070101110','张致') 返回目录