SQL Server 2008数据库设计教程第3章

合集下载

数据库应用技术——SQLServer2008篇第3版习题答案作者延霞徐守祥习题参考答案

数据库应用技术——SQLServer2008篇第3版习题答案作者延霞徐守祥习题参考答案

第一章:1、订单管理系统的功能有哪些?答:订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。

2、说明ER模型的作用?答:ER模型(实体关系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、自然地模拟现实世界。

3、什么是关系模型?关系的完整性包括哪些内容?答:关系模型就是用二维表格结构来表示实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和用户定义的完整性。

4、按照功能,SQL语言分为哪4部分?答:按照功能,SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。

5、规范化范式是依据什么来划分的?它与一事一地的原则有什么联系?答:规范化范式根据一个关系满足数据依赖的程度不同,可规范化为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。

规范化范式遵循一事一地的原则,将描述一个独立事物的属性组成一个关系。

第二章:1、SQL Server2008有哪些新增特性?答:见教材17页2、SQL Server2008安装的软件和硬件环境是什么?答:参见教材表2-3、2-4、2-5、2-6。

3、SQL Server2008有哪些版本?有哪些服务组件?答:Microsoft SQL Server2008系统提供了多个不同的版本,不同的应用需求,往往需要安装不同的版本。

既有32位的版本,也有64位的版本,既有正式使用的服务器版本,也有满足特殊需要的专业版本。

其中,服务器版本包括了企业版和标准版,专业版本主要包括开发人员版、工作组版、Web版、Express版、Compact版等。

另外,还有企业评估版。

服务组件主要有SQL Server数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。

订单管理系统数据库设计_数据库应用技术——SQL Server 2008篇(第3版)_[共4页]

订单管理系统数据库设计_数据库应用技术——SQL Server 2008篇(第3版)_[共4页]

数据库应用技术—SQL Server 2008篇(第3版)12.2.3 订单管理系统数据库设计1.数据库需求分析用户的具体需求体现在各种信息的提供、保存、更新和查询,这就要求数据库能充分满足各种数据的输入和输出。

通过对上述系统功能设计的分析,针对订单管理系统的需求,总结出如下需求信息:•用户分为管理员用户(销售人员)和一般用户(客户)。

•一个用户可以有多个订单。

•一个订单可以有多种货品,一种货品可以被多个订单定。

•一个销售人员可以处理多个订单。

经过对上述系统功能的分析和需求总结,初步可以设计如下面所示的数据项:•一般用户(客户)信息主要包括:编码、用户名、密码、姓名、地址、电话等。

•货品信息主要包括:编码、名称、库存量、售价、更新日期等。

•订单信息主要包括:订单号、客户编号、数量、总金额等。

•系统管理员(销售人员)信息包括:管理员用户名、密码、姓名、联系方式、地址等。

2.数据库概念结构设计根据上面的数据项,可以设计出能够满足用户需求的各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。

这些实体包含各种具体信息,通过相互之间的作用形成数据的流动,这样就可以对本系统设计以下主要实体:客户信息实体、货品实体、订单信息实体。

如图12-5中的虚线框内实体,销售部实体和供应商实体作为辅助信息。

客户信息实体的ER图,如图12-6所示。

图12-5 实体间关系ER图客户用户名密码电话地址编号姓名图12-6 客户信息实体ER图货品信息实体的ER图,如图12-7所示。

订单信息实体的ER图,如图12-8所示。

系统管理员(销售人员)信息实体的ER图,如图12-9所示。

258。

SQLServer2008数据库应用教程课程设计

SQLServer2008数据库应用教程课程设计

SQLServer2008数据库应用教程课程设计一、概述本课程设计将介绍SQLServer2008数据库应用的基本知识,包括SQLServer2008数据库的基本概念、SQL语言基础、T-SQL语言基础以及SQLServer2008数据库应用实例等内容。

本课程设计将以实例为主线,通过课程实践使学生能够熟练应用SQLServer2008数据库,掌握SQLServer2008数据库应用的基本技能。

二、课程设计内容1. SQL Server 2008数据库基础概念1.1 关系数据库基本概念(表、行、列、字段、键等)1.2 SQL Server 2008数据库体系结构1.3 SQL Server管理器和SQL Server Configuration Manager介绍2. SQL 语言基础2.1 SQL 语言基本概念(DDL、DML、DCL)2.2 常用数据类型2.3 常见SQL命令实现(CREATE TABLE、INSERT、SELECT、UPDATE、DELETE等)3. T-SQL 语言基础3.1 T-SQL 语言概述3.2 T-SQL常见语法实现(SELECT、WHERE、GROUP BY、HAVING等)3.3 T-SQL函数的应用3.4 T-SQL存储过程和触发器的应用4. SQL Server 2008 数据库应用实例4.1 数据库设计和建立4.2 数据库对象(表、视图、存储过程、触发器等)的应用4.3 数据库管理(备份、还原、性能调优等)的应用5. 作业5.1 设计一个学生管理系统的数据库5.2 编写一个T-SQL存储过程实现学生信息的排序三、课程设计要求本课程设计要求学生每周完成一定的实验任务,包括:1.学习 SQL Server 2008 数据库基础概念,掌握 SQL 语言基础和 T-SQL 语言基础。

2.认真阅读教材,仔细完成每一章的课后实验,对已掌握的内容进行总结、复习和测试。

SQL Server 2008 数据库应用教程第3章

SQL Server 2008 数据库应用教程第3章

3.1.2 注册服务器
在注册服务器时必须指定: 服务器的名称 登录到服务器时使用的身份验证模式 如果选择了SQL Server身份验证模式,则 需要指定登录名和密码 注册服务器所在服务器组的名称。
1.注册服务器
打开SQL Server Management Studio的 “已注册的服务器”视 图,右键单击指定的SQL Server服务器组,在弹 出的菜单中,选择“新 建服务器注册”,打开 “新建服务器注册”对 话框,如图3-4所示。
本章知识点
配置SQL Server服务器 配置SQL Server客户端
3.1 配置服务器
创建服务器组 注册服务器 启动、暂停和停止 SQL Server 服务器的连接与断开 配置服务器属性 配置服务器网络连接 服务器配置选项 配置链接服务器
3.1.1 创建服务器组
SQL Server 2008数据库开发教程
授课教师: 职务:
第3章 服务器与客户端配置
课程描述
大多数的数据库应用程序都是在 网络环境下的运行,多个用户能 够同时访问和管理数据库资源。 要在网络环境下运行SQL Server, 就需要对数据库服务器和客户端 进行配置。配置客户端与服务器 的连接关系并不复杂,大多数情 况下只要保持默认的配置就能实 现客户端与服务器的正常通信, 因为服务器与客户端的默认网络 配置是相同的。但在特殊情况下 也可能出现无法正常通信的情况, 这就需要管理员查看服务器和客 户端的配置是否匹配。
在SQL Server Management Studio 的菜单中选择 “视图”/“已注册的服务器”,打开“已注册的服务 器”视图,如图3-1所示。
“新建服务器组”对话框
右键单击“已注册的服务器”视图,在弹出菜单中选 择“新建服务器组”,打开“新建服务器组”窗口, 如图3-2所示。

SQL Server 2008数据库应用教程第3章 表的设计

SQL Server 2008数据库应用教程第3章  表的设计

图3-13 返回有关单个对象的信息
3.5.4 使用DROP TABLE语句删除表
图3-10 删除表
图3-11 删除表
3.5 使用Transact-SQL管理表
3.5.1 使用CREATE TABLE语句创建表
语法格式如下:
CREATE TABLE 表名 ( 列名 列的属性 [,…n] )
3.5.2 使用ALTER TABLE语句修改表
使用CREATE TABLE语句在Products SALES数据库中创建操作员表(见表3-1); 使用ALTER TABLE语句在表中添加“员工 类型”字段,数据类型为“char”,长度为 “2”;删除表中的“薪水”字段;修改“员 工类型”字段,将其数据类型改为“varchar”, 长度为“3”。

3.4 使用SQL Server Management Studio管理表 3.4.1 创建表
图3-3 选择“新建表”
图3-4 定义列
图3-5 输入表名称
3.4.2 修改表结构
图3-6 选择“设计”
图3-7 修改表
3.4.3 查看表
图3-8 查看依赖关系
图3-9 显示对象依赖关系
3.4.4 删除表
3.3.6 二进制字符串
SQL Server 2008支持的二进制数据类 型主要有以下3种: binary:其定义形式为binary(n),数据的存 储长度是固定的。存储大小为n+2个字节, 当输入的二进制数据长度小于n时,余下的 部分填充0。n值介于1与8 000之间,常用于 存储图像等数据。

3.3.7 其他数据类型
SQL Server 2008支持的其他数据类 型主要有以下几种。 sql_variant:用于存储除文本、图形数 据和timestamp类型数据外的其他任何合 法的SQL Server数据。此数据类型极大 地方便了开发工作。

SQL2008学习3

SQL2008学习3

1-8
性格决定命运, 专注成就人生
21天学SQL Server
第3章 数据库操作课程安排源自• • • • • • 在SSMS中创建数据库 在SSMS中修改数据库配置 使用SQL语句创建、修改、删除数据库 附加与分离数据库 编写数据库脚本文件 综合练习
1-2
在SSMS中创建数据库
• • •
数据库命名需要注意的问题 数据库的所有者与权限 创建数据库
1-3
在SSMS中修改数据库配置
• • • • • • • 使用SSMS修改数据库配置的通用步骤 在SSMS中添加数据库文件 在SSMS中删除数据库文件 修改数据库的所有者 限制用户的访问 设置用户对数据库的使用权限 修改数据库名称
1-4
使用SQL语句创建、修改、删除数据库
• • • 用create database语句创建数据库 用alter database语句修改数据库 用drop database语句删除数据库
1-5
附加与分离数据库
• •
分离数据库 附加数据库
1-6
编写数据库脚本文件
USE [master] GO CREATE DATABASE [test] ON PRIMARY ( NAME = N'test', FILENAME = N'D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\test.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'test_log', FILENAME = N'D:\Microsoft SQL ……

SQL Server 2008数据库应用技术第3章 创建和管理表

SQL Server 2008数据库应用技术第3章 创建和管理表

3.1 SQL Server 2008表的基本知识 3.1.2
3.1 SQL Server
表的设计—数据类型
2008表的基
本知识 3.2 创建表 3.3 管理表 3.4 维护表中数 据
3.日期时间数据类型
日期和时间数据类型用于存储日期和时间数据。SQL Server 2008支持多种日期时间数据类型:datetime、 smalldatetime、datetime2、dateoffset、date和time。
《SQL Server 2008 数据库应用技术》
3.1 SQL Server
2008表的基
本知识 3.2 创建表 3.3 管理表 3.4 维护表中数 据
第3章 创建和管理表
《SQL Server 2008 数据库应用技术》
本章学习目标:
3.1 SQL Server
2008表的基
本知识 3.2 创建表 3.3 管理表 3.4 维护表中数 据
1.字符数据类型
(1)传统编码的字符数据类型的表示 字符数据类型用于存储汉字、英文字母、数字符号和其 他各种符号。作为字符型数据的符号须用单引号(')或 双引号(")标记,如"SQL Server 2008"。传统编码表 示的字符型数据有定长字符型(char)、变长字符型( varchar)和文本型(text)3种。
了解SQL Server的数据类型。 掌握创建和管理表的方法。 掌握表中数据维护的方法。
3.1 SQL Server 2008表的基本知识 3.1.1
3.1 SQL Server
表的类型
2008表的基
本知识 3.2 创建表 3.3 管理表 3.4 维护表中数 据

SQL Server 2008数据库设计与管理03单元3创建与管理数据表

SQL Server 2008数据库设计与管理03单元3创建与管理数据表

2.向数据表中添加记录
将光标置于最后一行空记录位置,然后依次输入数据即可,如图3-4
所示已输入了1条记录数据。新记录添加完成后单击工具栏或者是【查询 设计器】下拉菜单中的【执行 SQL】按钮保存新增的记录数据。 依次向“图书类型”数据表中输入表3-1中的前9行数据,且保存输入 的记录,如图3-5所示。
1706
1711 1712 1713 1714 1715 1716
TH
TN TP TQ TS TU TV
机械、仪表工业
无线电电子学、电信技术 自动化技术、计算机技术 化学工业 轻工业、手工业 建筑科学 水利工程
5
【实战演练 】
【任务3-1】查看与修改数据表记录
【任务描述】
(3)修改“图书类型”数据表中“工业技术”对应的记录,在其“描述信
据如图3-20所示。
单击【标准】工具栏中的【保存】按钮 保存表结构的修改。
16
【实战演练 】
【任务3-3】创建多个数据表
【任务描述】
(1)分析以下各个表中数据的字面特征, 区分固定长度的字符串数据、可变长度的字
符串数据、整数数值数据、固定精度和小数
位的数值数据和日期时间数据,并分类列表 加以说明。 “读者类型”示例数据如表3-3所示。
教学目标
教学方法
任务驱动法、分组讨论法、理论实践一体化
课时建议
6课时(含考核评价)
3
【操作准备 】
预习本单元的知识链接,对以下内容有基本的了解:
(1)SQL Server 2008的数据类型及选用方法。
(2)Unicode字符与ASCII字符的区别。 (3)NULL值及使用NULL值的优劣。
(4)主键约束(Primary Key)、外键约束(Foreign Key)、唯一
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运行结果如图右所示。
标量函数的使用
IF…ELSE语句用于指定Transact-SQL语句的执行条件。如果满足IF条件 (逻辑表达式结果为TRUE),则执行IF关键字及其条件之后的Transact-SQL语 句。可选的ELSE关键字引入另一个Transact-SQL语句,当不满足IF条件时就执 行该语句。其语法格式如下: IF Boolean_expression { sql_statement | statement_block } [ ELSE { sql_statement | statement_block } ] /* 条件表达式 */ /* 条件表达式为TRUE时执行 */ /* 条件表达式为FALSE时执行 */
【例3-13】IF…ELSE语句示例。 DECLARE @x int ,@y int ,@z int SELECT @x = 1, @y = 2, @z=3 IF @x > @y PRINT 'x > y' --打印字符串'x > y' ELSE IF @y > @z PRINT 'y > z' --打印字符串'y > z' ELSE PRINT 'z > y' --打印字符串'z > y'
要给声明的局部变量赋值,可以使用SET语句或者SELECT语句,语法格式如下: SET @local_variable = expression SELECT @local_variable = expression [,…n]
【例3-2】局部变量的使用。 1)声明一个浮点型的局部变量Score: DECLARE @Score decimal 2)给声明的局部变量Score赋值: SET @Score = 85.0: USE jw SELECT * FROM dbo.Score WHERE Score = @Score
运行结果如下图所示。
聚合函数的使用
【例3-11】排名函数的使用。 通过排名函数ROW_NUMBER( )统计Score表中学生成绩的排名情况,语句如下: USE jw SELECT StuNo,CouNo,Score,ROW_NUMBER( ) OVER (ORDER BY Score DESC) AS '排名' FROM Score 运行结果如右图所示。
【例3-3】全局变量的使用。 使用全局变量@@VERSION来查看当前使用的SQL Server的版本信息,语 句如下: SELECT @@VERSION 结果如下图所示。
使用全局变量
算术运算符可以执行数学运算,主要包括加法(+)、减法(-)、乘法 (*)、除法(/)和取模运算(%)。 【例3-4】算术运算符的使用。 SELECT 2.5 + 3.5 '加' SELECT 2.5-3.5 '减' SELECT 2.5 * 3.5 '浮点型乘' SELECT 2.5 / 3.5 '浮点型除' SELECT 2 / 3 '整数除' SELECT 2 % 3 '取模'
结果如下图所示。
使用局部变量
除了局部变量,SQL Server系统本身还提供了一些全局变量。全局变量是 SQL Server系统内部使用的变量,其作用范围不仅局限于某个程序,而且可以被 任何程序随时使用。全局变量通常存储一些SQL Server的配置设定值和统计数据。 用户可以在程序中用全局变量来测试系统的设定值或执行Transact-SQL命令后的 状态值。
排名函数的使用
【例3-12】标量函数的使用。 通过字符串函数LTRIM( )删除字符串变量中的起始空格,语句如下: DECLARE @string_to_ltrim varchar(30) SET @string_to_ltrim=' Hello World' SELECT @string_to_ltrim AS '原始字符串' SELECT LTRIM(@string_to_ltrim) AS '去掉起始空格'
【例3-1】两种注释方式举例。 注释方式一: USE jw -- 注释语句第一行 -- 注释语句第二行 SELECT * FROM dbo.Class 注释方式二: USE jw /* 注释语句第一行 注释语句第二行 */ SELECT * FROM dbo.Class
局部变量是一个能够指定特定数据类型的对象,它的作用范围仅限于程序内部。 局部变量可以作为计数器来计算循环执行的次数,或者控制循环执行的次数。另外, 利用局部变量还可以保存数据值。 在Transact-SQL语言中,使用DECLARE语句创建局部变量,其语法结构如下: DECLARE {@local_variable [AS] data_type | @cursor_variable_name CURSOR } [ ,…n] 其中,语句第一行中参数@local_variable用于指定局部变量的名称,参数 data_type用于设置局部变量的数据类型。第二行声明的是游标变量, cursor_variable_name是游标变量名。第三行中[ ,…n]表示在一个DECLARE语句 中可以声明多个变量,变量与变量之间应用逗号隔开。
逻辑运算符
加号(+)除了是算术运算符,也是连接字符串的“字符串连接运算符”。使 用字符串连接运算符可以将多个字符串连接起来,形成新的字符串。 【例3-8】使用字符串连接运算符。 通过字符串连接运算符描述学生的具体信息,语句如下: USE jw SELECT '学号:'+ StuNo + '学生姓名:'+ StuName AS '描述信息' FROM Student
USE jw GO DECLARE @MyMsg Varchar(50) SELECT @MyMsg='Hello world' GO --@MyMsg在Go语句后失效
CASE语句可以计算多个条件表达式,并将其中一个符合条件的结果表达式 返回。CASE语句按照使用形式的不同,可以分为简单CASE语句和搜索CASE语 句。 简单CASE语句的语法格式如下: CASE input_expression WHEN when_expression THEN result_expression […n] [ELSE else_result_expression] END 搜索CASE语句的语法格式如下: CASE WHEN Boolean_expression THEN result_expression […] [ELSE else_result_expression] END
标量函数
【例3-9】日期函数的使用。 日期函数GETDATE( )返回当前日期,而YEAR(日期)、MONTH(日期)、 DAY(日期)函数分别返回指定日期的年、月及日。 SELECT GETDATE( ) AS 当前日期, YEAR(GETDATE( )) AS 年, MONTH(GETDATE( )) AS 月, DAY(GETDATE( )) AS 日 运行结果如右图所示。
【例3-15】使用CASE语句显示学生成绩的等级。 USE jw SELECT StuNo,CouNo,level= CASE WHEN Score>=90 THEN 'A' WHEN Score<90 AND Score>=75 THEN 'B' WHEN Score<75 AND Score>=60 THEN 'C' ELSE 'D' END FROM Score
运行结果如下图所示。
字符串连接运算符
当一个表达式中出现多 种运算符时,系统就会按照 各运算符的优先级顺序决定 所执行操作的先后顺序:首 先执行优先级高的运算符; 然后执行优先级次高的运算 符;最后执行优先级最低的 运算符。如果运算符的级别 相同,那么系统就会自左向 右依次执行。如果用户需要 改变执行顺序,可以使用括 号将需要先执行的运算表达 式括起来,这样系统会先执 行括号内的表达式。
GO语句不是Transact-SQL语句,而是SQLCmd和osql实用工具以及SQL Server Management Studio代码编辑器识别的命令。SQL Server实用工具将GO 语句解释为应该向SQL Server实例发送Transact-SQL当前批语句的信号。当前 批语句由上一GO命令后输入的所有语句组成。若是第一条GO语句,则是从特 殊会话或脚本的开始处到这条GO命令之间的所有语句。需要注意的是:GO命 令和Transact-SQL语句不能在同一行。 【例3-14】GO语句示例。
注释是程序代码中不执行的文本字符串。使用注释对代码进行说明,不仅 可使程序易于读懂,而且有助于日后的管理和维护。 在SQL Server 2008中,可以使用以下两种类型的注释方式: 1)ANSI标准的注释符“--”,用于单行注释。 2)与C语言相同风格的注释符号,即“/*”“*/”,其中“/*”用于注释的 开头,“*/”用于注释的结尾。该方式可以标识多行程序为注释。当然,该注释 方式也适用于单行程序。
逻辑运算符会测试是否符合某些情况。像“比较运算符”一样,逻辑运算符 会返回TRUE,FALSE的布尔数据类型。常见的逻辑运算符如下表所示。
常见的逻辑运算符
【例3-7】使用逻辑运算符。 查询学生表中姓王或者姓刘的学生信息,语句如下: USE jw SELECT * FROM Student WHERE StuName LIKE '王%' OR StuName LIKE '刘%' 运行结果如下图所示。
位运算符用于在二进制数据间执行位操作。Transact-SQL语言中位运算符如 下表所示。
相关文档
最新文档