东北大学,数据库开发技术,课件,第3章 SQL Server 与结构化查询语言SQL.ppt_第1页
东北大学,数据库开发技术,课件,第3章 SQL Server 与结构化查询语言SQL.ppt_第2页
东北大学,数据库开发技术,课件,第3章 SQL Server 与结构化查询语言SQL.ppt_第3页
东北大学,数据库开发技术,课件,第3章 SQL Server 与结构化查询语言SQL.ppt_第4页
东北大学,数据库开发技术,课件,第3章 SQL Server 与结构化查询语言SQL.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章:数据库和结构化查询语言,数据库的特点。SQL Server 2000数据库描述了使用设计规范实现SQL Server 2000数据库的过程。SQL语言数据定义命令数据查询语言数据操作语言视图数据控制3.1 SQL Server 2000数据库是一种典型的服务器类型数据库,是开发C/S结构数据库应用系统时常用的数据库类型之一。2000服务器提供了强大的数据库管理功能。开发人员可以使用enterprise manager以可视化界面的方式实现数据库,使用query analyzer运行调试SQL脚本,使用profiler监控对数据库的访问操作。SQL Server 2000数据库是以逻辑名

2、称的方式标识的。通过服务器名称(IP地址或主机名)和数据库的逻辑名称访问数据库。例如,如果服务器名是BYTESERVER,数据库名是GSCoreMS,您可以使用BYTESERVER。GSCoreMS访问数据库。访问SQL Server 2000数据库还需要网络协议和客户端网络库文件的支持,3.1.1数据类型,3.1.1数据类型,以及不同数据库数据类型之间的转换关系!当BDE用作数据库引擎时,Delphi的字段对象可以访问与Paradox数据库的相应数据类型相同的数据类型(长度和精度)。使用BDE访问SQL Server 2000数据库时,必须注意这种转换关系。例如,在SQL Server 20

3、00数据库中,某个字段的数据类型被设计为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(SUPPORT,SPECIALITY,RESERVER)属性是主要代码(假设研究生不会有相同的名字),那么它不能为空,并且关系模型必须符合实体完整性规则:(1)实体完整性规则是针对基本关系的。基本表通常对应于现实世界中的实体集或多对多关系。(2)现实世界中的实体和它们之间的联系是可区分的,即它们有一些独特的标记。(3)因此,主代码被用作关系模型中的唯一标识符。(4)主代码中的属性,即主属性,不能为空。空值是“未知”或“无意义”的值。如果主属性为空,则意味

5、着存在一个未识别的实体,即存在一个无法区分的实体,这与第(2)点相矛盾,因此该规则称为实体完整性。3.1.2完整性约束,参照完整性:如果属性(或属性组)F是对应于基本关系S的主代码Ks的基本关系R的外部代码(基本关系R和S不一定不同),则F上的R中的每个元组的值必须为空(F的每个属性值为空)或等于S中元组的主代码值,3.1.2完整性约束, 用户定义的完整性:用户定义的完整性是特定关系数据库的约束条件,反映了特定应用程序中涉及的数据必须满足的语义要求。 关系模型应该提供一种机制来定义和验证这种完整性,以便以统一和系统的方式来处理它们,而不是让应用程序承担这种功能。,示例:课程(课程编号、课程名称

6、、学分)“课程名称”属性必须采用唯一值,主属性“课程名称”和空值都不能采用。“信用”属性只能取值1,2,3,4,3.1.3 SQL支持。由SQL Server提供的SQL语言称为事务处理-SQL。所有与SQL Server通信的应用程序都通过向服务器发送Transact-SQL语句进行通信,这与应用程序的用户界面无关。如果能充分利用Transact-SQL的特性,就能减少开发工作量,开发出高质量的数据库应用程序。SQL Server的在线帮助详细介绍了Transact-SQL的语法和应用示例。请花足够的时间学习和掌握Transact-SQL的编程方法。首先,花少量时间充分理解(不是掌握或理解)

7、开发技术或开发工具所能提供的开发和应用能力,概述关键技术点,并拟定每个点的实践顺序。然后选择一个小规模但复杂的话题,一步一步地练习,直到掌握关键技术。3.1.4数据库安全,包括存储安全和访问安全。存储安全涉及数据库备份和恢复技术,而访问安全涉及数据库访问权限技术。SQL Server 2000提供了相对完整的备份和恢复功能,如完全备份、差异备份和相应的恢复功能。同时,它还可以使用检查点技术来恢复数据库。由SQL Server 2000提供的数据库访问安全机制分为两个级别。第一层是数据库登录用户控制,第二层是数据库登录用户访问权限控制。在SQL Server 2000中有两种类型的数据库登录用户

8、,一种是Windows局域网中的操作系统域用户,另一种是SQL Server的登录用户。ADO支持两种类型的登录用户访问数据库,而BDE只能支持一种类型的服务器登录用户。3.2 SQL Server 2000数据库是用安全设计的登录用户和密码设计的。数据库的脚本安全保证:所有存储过程都是加密的。为了保护软件产品,它们必须被授权使用。系统操作参数(如打印报告时必须打印的系统参数,如公司名称和部门)以及软件是否已注册的标识都存储在加密的存储过程中。3.2 SQL Server 2000数据库应用程序设计,系统参数存储过程的名称是AP _ reginfo,-读取系统运行参数创建过程dbo。AP _

9、reginfo以加密作为开始选择a=xx医学院,-学校名称:xx医学院B=研究生部,-用户部门:研究生部C=CAST(0 AS BIT) - 0未注册,1注册结束,3.2 SQL Server 2000数据库应用程序设计,数据字典(典型示例),操作限制:有一个初始记录:管理员用户0(加载实现)。无法删除代码为0的管理员用户(通过触发器实现)。只有管理员用户登录程序可以管理用户信息(应用程序实现)。u触发器实现约束-0用户(管理员用户)创建触发器dbo。dbo上的del。不能删除作为开始的删除的用户-删除代码为0,如果(从已删除中选择ucode)=0,则回滚结束,3.3实现SQL Server

10、2000数据库,1)确定数据库数据文件和日志文件的存储路径,并创建数据库。2)创建数据库登录用户。3)创建或修改表格,创建表格并设置字段的基本属性。4)设置主代码、唯一约束、检查约束和参照完整性约束。5)加载必要的初始数据。6)设置索引。创建其他数据库对象,如视图。8)如果数据库很复杂,应该确定未实现约束的列表,以便在应用程序中实现。3.3.1创建数据库。在SQL Server 2000企业管理器中创建数据库的过程如下:右键单击所选服务器下的数据库节点,从上下文菜单中选择新建数据库菜单名称,然后在弹出的对话框中设置数据库的逻辑名称、数据文件的存储路径和文件属性以及日志文件的存储路径和文件属性。

11、业务简单的小型数据库不需要设置太多参数,只需指定一个数据文件,如果数据库很大,需要考虑各种因素,仔细规划数据库的设置和配置。3.3.2创建数据库登录用户。如果服务器中已经存在登录用户,则直接将登录用户设置为访问数据库的用户。设置方法为:在企业管理器的控制台树中打开创建的数据库节点,如GScoreMS。右键单击数据库节点下的用户节点,从上下文菜单中选择新建数据库用户菜单命令,在弹出的对话框中选择登录用户,并设置登录用户名和用户访问数据库时的角色(权限)。通常,应该检查db_owner角色。如果服务器中没有登录用户,请打开服务器节点下的安全节点。右键单击该节点下的登录节点,从上下文菜单中选择新建登

12、录菜单命令,在弹出的对话框中设置登录用户名和密码,选择登录用户访问的数据库,创建数据库登录用户。登录用户有两种身份验证模式:窗口身份验证模式和SQL Server登录身份验证模式。如果使用BDE数据库引擎访问数据库,应选择SQL Server登录身份验证模式;如果使用ADO或dbExpress数据库引擎,应选择窗口身份验证模式,并选择数据库访问页面来设置登录用户在访问数据库中的角色;3.3.3创建或修改表格并设置字段的基本属性。用两种方法创建表格。如果将其他现有数据库移植到SQL Server 2000,则可以使用企业管理器中的导入工具来移植表和视图等数据库对象,并在导入后根据应用程序设计修改

13、表和约束。如果数据库应用程序设计规范直接实现为SQL Server 2000数据库,则在企业管理器中创建和修改表和约束的方法很简单:右键单击所选数据库下的“表”节点,然后从上下文菜单中选择“新建表”。然后,在弹出的对话框中,可以设置字段(列)名称和基本属性(数据类型、是否允许空值和默认值等。)以及表的主代码、唯一约束和检查约束。3.3.3创建或修改表、设置字段的基本属性、3.3.4设置表的属性和声明性约束、声明性约束(如基本属性和主代码)和唯一性约束、检查约束和外部代码约束可以直接在表设计窗口提供的属性对话框中设置。您可以通过在提供页面的表设计窗口的工具栏中单击表和索引属性、管理关系、管理索引

14、/键或管理约束来激活属性对话框。它们用于管理表的基本属性、表之间的关系、表的索引和候选代码(主代码和唯一约束)以及表的约束。3.3.5数据库图表。虽然SQL Server 2000提供了用于查看表之间的图表的工具,但是图表工具有一些缺陷(它不能生成图表文档等)。),但它仍然易于使用。使用图表工具,您可以查看表之间的外部代码约束(图表)。在图表界面中,右键单击数据库的图表节点,从上下文菜单中选择新建数据库图表菜单命令,然后在弹出的表格选择向导对话框中选择要在图表中创建的表格,然后根据操作要求逐步创建所选表格的图表。充分利用图表工具来设计表格及其关系,3.3.5数据库图表,3.3.6利用逆向工程技

15、术在Visio中生成数据库图表,微软Visio工具是一个综合性的建模工具,利用这个工具,可以创建一个数据库的图表模型。在Visio中,您可以通过逆向工程技术在SQL Server 2000中获取数据库的模式信息。您也可以在Visio中直接创建数据库的ER模型,然后在SQL Server 2000中创建数据库模型。这个建模工具对于有丰富设计经验的设计师来说很容易使用,但是对于初学者来说帮助不大。建议设计经验不足的设计者尽量在纸上设计数据库的ER模式,然后在有丰富经验后使用建模工具辅助设计。1974年,IBM圣约瑟夫实验室的Boyce和Chamberlin为关系数据库管理系统System-R设计了

16、一种查询语言,当时称为SEQUEL Language,后来简称为SQL。自1981年IBM推出关系数据库系统后,SQL得到了广泛的应用。1986年,美国国家标准协会(ANSI)发布了第一个标准SQL86。1987年,国际标准化组织通过了SQL86标准。3.4基本的SQL语言知识。1989年,国际标准化组织制定了SQL89标准,补充了基于SQL86的完整性描述。1990年,中国制定了相当于SQL89的国家标准。1992年,国际标准化组织制定了SQL92标准,即SQL2。1999年,ANSI制定了SQL3标准。在许多软件产品中,软件供应商已经将SQL的基本命令集扩展到嵌入式SQL语言。在SQL Server 2000中,事务处理语言用于处理数据库服务器。第二,SQL的特点SQL SQL具有以下特点:1SQL(结构化查询语言)是一种关系数据库语言,它提供数据定义、查询、更新和控制的功能。功能强大,能够完成各种数据库操作。2SQL不是一种应用程序开发语言,它只提供操作数据库的能力,但不能完成屏幕控制、菜单管理和报表生成等功能。3.有利于各种数据库之间的数据交换,移植程序,实现程序与数据的独立性;有利于标准化的实施;3.写作简单,易学易用。SQL 1的分类。数据定义语言(DDL)创建、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论