东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL

上传人:w****i 文档编号:90883066 上传时间:2019-06-19 格式:PPT 页数:66 大小:333.50KB
返回 下载 相关 举报
东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL_第1页
第1页 / 共66页
东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL_第2页
第2页 / 共66页
东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL_第3页
第3页 / 共66页
东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL_第4页
第4页 / 共66页
东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL》由会员分享,可在线阅读,更多相关《东北大学,数据库开发技术,课件,第3章SQLServer与结构化查询语 言S QL(66页珍藏版)》请在金锄头文库上搜索。

1、第3章 SQL Server数据库与结构化查询语言SQL, SQL Server 2000数据库的特点 SQL Server 2000数据库运用设计规格说明 实现SQL Server 2000数据库的过程 SQL语言基本知识 数据定义命令 数据查询语言 数据操纵语言 视图 数据控制,3.1 SQL Server 2000数据库的特点,SQL Server 2000数据库是典型的服务器类型数据库,是开发C/S结构数据库应用系统常采用的数据库类型之一。 SQL Server 2000服务器提供了强有力的数据库管理功能,开发者可以使用企业管理器以可视界面的方式实现数据库,使用查询分析器运行调试SQL

2、脚本,使用事件探查器监控对数据库的存取操作 SQL Server 2000数据库以逻辑名的方式进行标识,通过服务器名称(IP地址或主机名称)和数据库逻辑名称存取数据库,例如,如果服务器名称是BYTESERVER,数据库名称是GSCoreMS,可使用BYTESERVER.GSCoreMS存取数据库。存取SQL Server 2000数据库还需要网络协议和客户端网络库文件的支持 ,3.1.1 数据类型,3.1.1 数据类型,不同数据库数据类型之间的转换关系 ! 使用BDE作为数据库引擎时Delphi的字段对象能够存取的数据类型(长度和精度)与Paradox数据库的相应数据类型相同,使用BDE存取S

3、QL Server 2000数据库时必须注意这样的转换关系。例如,SQL Server 2000数据库中将某字段的数据类型设计为varchar(2000),从数据库设计和实现本身的角度来看这种设计是正确的,但从开发应用程序的角度来看就未必是正确的,使用BDE存取SQL Server 2000数据库时,BDE只能处理1-255个字符,剩余字符全部截断,3.1.2 完整性约束,SQL Server 2000提供了全面的数据库完整性实现支持,不仅提供了以声明方式实现大多数约束的功能,还提供了使用触发器机制和编写存储过程实现复杂业务规则的功能 SQL Server 2000声明方式实现的约束类型如下:

4、 实体完整性 参照完整性 用户定义的完整性,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。,3.1.2 完整性约束,实体完整性: 若属性A是基本关系R的主属性,则属性A不能取空值,例 SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE) POSTGRADUATE属性为主码 (假设研究生不会重名),则其不能取空值,关系模型必须遵守实体完整性规则的原因:,(1) 实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集或多对多联系。 (2) 现实世界中的实体和实体间的联系都是可区分的,即它们具

5、有某种唯一性标识。 (3) 相应地,关系模型中以主码作为唯一性标识。 (4) 主码中的属性即主属性不能取空值。 空值就是“不知道”或“无意义”的值。 主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。,3.1.2 完整性约束,参照完整性:,若属性(或属性组)F是基本关系R的外码与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值) 或者等于S中某个元组的主码值。,3.1.2 完整性约束,用户定义的完整性:,用户定义的完整性是针对某一具体关系数据

6、库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。 关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。,例: 课程(课程号,课程名,学分) “课程名”属性必须取唯一值 非主属性“课程名”也不能取空值 “学分”属性只能取值1,2,3,4,3.1.3 SQL支持,SQL Server提供的SQL语言称为Transact-SQL与 SQL Server 通讯的所有应用程序都通过向服务器发送 Transact-SQL 语句来进行通讯,而与应用程序的用户界面无关 如果能够充分利用Transact-SQL的特性,不仅能够减少开发工作量,而且

7、能够开发出高质量的数据库应用程序。SQL Server的联机帮助中详细地介绍了Transact-SQL的语法和应用示例,请读者务必花足够时间学习并掌握Transact-SQL的程序设计方法 先花少量时间全面地了解(不是掌握是了解)所采用的开发技术或开发工具能够提供的开发和应用能力,勾画出关键的技术点并拟定各点的实践顺序,然后拿一个小规模但足够复杂的题目逐步实践,直到关键技术都掌握了为止,3.1.4 数据库安全,数据库安全包括存储安全和存取安全两个方面。存储安全涉及数据库的备份和恢复技术,存取安全涉及数据库存取权限技术 SQL Server 2000提供了比较完整的备份和恢复功能,例如完整备份、

8、差异备份和相应的恢复功能,同时还能够使用检查点技术恢复数据库 SQL Server 2000提供的数据库存取安全机制分为两个层次,第一层是数据库的登录用户控制,第二层是登录用户对数据库对象的存取权限控制。 SQL Server 2000的数据库登录用户有两种类型,一种是Windows局域网内的操作系统域用户,第二种是SQL Server服务器的登录用户。ADO支持两种类型的登录用户存取数据库,而BDE则只能支持服务器的登录用户这一种类型,3.2 SQL Server 2000数据库运用设计,安全设计 登录用户和密码。 数据库的脚本安全保证:所有存储过程都加密 为了保护软件产品必须授权才能使用,

9、将系统运行参数,如使用单位名称、部门等报表打印时必须打印的系统参数,以及软件是否已经注册的标识存储在一个加密的存储过程中。,3.2 SQL Server 2000数据库运用设计,系统参数存储过程的名称为ap_RegInfo,-从存储过程中读取系统运行参数 CREATE PROCEDURE dbo.ap_RegInfo WITH ENCRYPTION AS BEGIN SELECT A = XX医学院, - 学校名称:XX医学院 B = 研究生部, - 使用部门:研究生部 C = CAST(0 AS BIT) - 0未注册,1已注册 END,3.2 SQL Server 2000数据库运用设计,

10、数据字典(典型示例),操作限制: 有一条初始记录:管理员用户0(装载实现)。 不能删除代号为0的管理员用户(使用触发器实现)。 只有管理员用户登录程序可管理用户信息(应用程序实现)。,u 触发器实现约束 - 不能删除0用户(管理员用户) CREATE TRIGGER dbo.Del ON dbo.Users FOR DELETE AS BEGIN -删除代号为0,回滚 IF (SELECT UCode FROM deleted) = 0 ROLLBACK END,3.3 实现SQL Server 2000数据库,1) 确定数据库数据文件和日志文件存储路径,创建数据库。 2) 创建数据库登录用户

11、。 3) 创建或修改表,创建表并设置字段的基本属性。 4) 设置主码、惟一约束、Check约束和参照完整性约束。 5) 装载必需的初始数据。 6) 设置索引。 创建视图等其他数据库对象。 8) 如果数据库比较复杂,应标识出未实现的约束列表,以便在应用程序中实现。,3.3.1 创建数据库,在SQL Server 2000的企业管理器中创建数据库的过程如下 : 右键单击所选服务器下的【数据库】节点,从上下文菜单中选择【新建数据库】菜单命名,然后在弹出的对话框中设置数据库的逻辑名称、数据文件的存储路径和文件属性以及日志文件的存储路径和文件属性 业务简单的小型数据库不需要设置过多的参数,只要指定一个数

12、据文件和一个日志文件就足够了。如果数据库规模很大,则需要考虑多方面的因素,认真规划数据库的设置和配置。,3.3.2 创建数据库登录用户,如果服务器中已经存在登录用户,则直接将该登录用户设置为存取数据库的用户。设置方法是: 在企业管理器的控制台树中打开所创建的数据库节点,如GScoreMS。右键单击该数据库节点下的【用户】节点,从上下文菜单中选择【新建数据库用户】菜单命令,在弹出的对话框中选择登录用户并将设置该登录用户存取数据库时的用户名和该用户存取数据库的角色(权限),通常应勾选“db_owner”角色 如果服务器中还未存在登录用户 则打开服务器节点下的【安全性】节点,右键单击该节点下的【登录

13、】节点,从上下文菜单中选择【新建登录】菜单命令,在弹出的对话框中设置登录用户名和密码,选择该登录用户存取的数据库,3.3.2 创建数据库登录用户,登录用户的身份验证有Windows身份验证方式和SQL Server登录验证两种模式,如果使用BDE数据库引擎存取数据库应选择SQL Server登录验证模式,使用ADO或dbExpress数据库引擎则选择Windows身份验证方式 选择【数据库访问】页 ,设置登录用户存取数据库的角色,3.3.3 创建或修改表,设置字段的基本属性,通过两种方式创建表 如果将现有的其他类型数据库移植到SQL Server 2000中,可使用企业管理器中的导入工具移植表

14、和视图等数据库对象,导入后按照运用设计修改表和约束 如果将数据库运用设计规格说明直接实现为SQL Server 2000数据库,直接使用企业管理器中的窗口界面创建和修改表及约束 在企业管理器中创建或修改表的方法很简单: 右键单击所选数据库下的【表】节点,然后从上下文菜单中选择【新建表】,然后在弹出的对话框中即可设置表的字段(列)名以及字段的基本属性(数据类型、是否允许空和默认值等),同时还可以设置表的主码、惟一约束、Check约束和参照完整性约束。,3.3.3 创建或修改表,设置字段的基本属性,3.3.4 设置表的属性和声明式约束,可直接在表设计窗口中提供的【属性】对话框设置表的基本属性和主码

15、与惟一约束、Check约束以及外码约束等声明式约束 在表设计窗口中单击工具栏中的【表和索引属性】、【管理关系】、【管理索引/键】或【管理约束】按钮都可以激活【属性】对话框,该对话框提供了个页面,分别用于管理表的基本属性、表之间的关系、表的索引和候选码(主码与惟一约束)以及表的约束,3.3.5 数据库关系图,SQL Server 2000提供查看表之间关系图的工具 关系图工具虽然有点缺陷(不能生成关系图文档等),但还是比较好用的,使用关系图工具能够查看表之间的外码约束(关系图),在关系图界面中还可以创建和修改表、管理索引/键以及Check约束。 右键单击数据库的【关系图】节点,从上下文菜单中选择

16、【新建数据库关系图】菜单命令,然后在弹出的表选择向导对话框中选择需要创建到关系图中的表,按照操作要求逐步操作即可创建所选表的关系图。 充分利用关系图工具设计表及其关系,3.3.5 数据库关系图,3.3.6 在Visio中使用反向工程技术生成数据库关系图,Microsoft Visio工具是一个综合性质的建模工具,使用该工具可以创建数据库的关系图模型 在Visio中通过反向工程技术功能可以获取SQL Server 2000中数据库的模式信息,也可以直接在Visio中创建数据库的ER模型,然后将数据库模型创建到SQL Server 2000中 建模工具对于设计经验比较丰富的设计者比较好用,但对入门者却帮助很少,建议设计经验不够丰富的设计者尽量在纸张上设计数据库的ER模式,有了丰富的经验之后再使用建模工具辅助设计。,3.3.6 在Visio中使用反向工程技术生成数据库关系图,反向工程建立的数据库模型图,一、SQL的发展史 1974年IBM圣约瑟实验室的Boyce和Chamberlin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号