第1章 数据库基本概念和SQL.ppt_第1页
第1章 数据库基本概念和SQL.ppt_第2页
第1章 数据库基本概念和SQL.ppt_第3页
第1章 数据库基本概念和SQL.ppt_第4页
第1章 数据库基本概念和SQL.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第1章 数据库基本概念和SQL Server环境,1.1 数据库基本概念,1.2 数据库设计,1.3 数据库应用系统,1.4 SQL Server 2000操作环境,1.1.1数据库,数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可供各种用户使用。简单地说,数据库中的数据具有永久存储、有组织和可共享三个特点。 数据库管理系统一般提供如下功能: (1) 数据定义功能可定义数据库中的数据对象。 (2) 数据操纵功能可对数据库进行基本操作,如:插入、删除、修改、查询。 (3) 数据库的安全保护功能保证只有赋予权限的用户才能访问数据库中的数据。 (4)

2、 数据库的并发控制功能使多个应用程序可在同一时刻并发地访问数据库的数据。 (5) 数据的完整性检查功能保证用户输入的数据应满足相应的约束条件。 (6) 数据库系统的故障恢复功能使数据库运行出现故障时进行数据库恢复,以保证数据库可靠运行。 (7) 在网络环境下访问数据库的功能。 (8) 方便、有效地存取数据库信息的接口和工具。,1.1.1数据库,图1.1 数据库系统的构成,1.1.2关系模型,1数据模型 数据库管理系统根据数据模型对数据进行存储和管理,数据库管理系统采用的数据模型主要有:层次模型、网状模型和关系模型。 层次模型 以树型层次结构组织数据。图1.2为某学校按层次模型组织的数据示例。,

3、图1.2 按层次模型组织的数据示例,1.1.2关系模型, 网状模型 每一个数据用一个节点表示,每个节点与其它节点都有联系,这样数据库中的所有数据节点就构成了一个复杂的网络。图1.3为按网状模型组织的数据示例。,图1.3 按网状模型组织的数据示例,1.1.2关系模型, 关系模型 以二维表格(关系表)的形式组织数据库中的数据。例如:学生成绩管理系统涉及的学生、课程和成绩三个表。“学生”表涉及的主要信息有:学号、姓名、专业名、性别、出生时间、总学分、备注;“课程”表涉及的主要信息有:课程号、课程名、类别、开课学期、学时和学分。“成绩”表涉及的主要信息有:学号、课程号和成绩。 2关系运算 SQL Se

4、rver2000是一个关系数据库管理系统,关系数据库建立在关系模型基础之上,具有严格的数学理论基础。关系数据库对数据的操作除了包括集合代数的并、差等运算之外,更定义了一组专门的关系运算:连接、选择和投影,关系运算的特点是运算的对象和结果都是表。,1.1.2关系模型, 选择(Selection) 选择是单目运算,其运算对象是一个表。该运算按给定的条件,从表中选出满足条件的行形成一个新表作为运算结果。 选择运算的记号为 F(R)。 其中是选择运算符,下标F是一个条件表达式,R是被操作的表。 例如:若要在学生情况表中找出学生表中性别为女的行形成一个新表,则运算式为: F(学生) 上式中F:性别=“女

5、”,该选择运算的结果如表1.4所示。,表1.4 F(学生),1.1.2关系模型, 投影(Projection) 投影也是单目运算,该运算从表中选出指定的属性值组成一个新表,记为:A(R)。 其中A是属性名(即列名)表,R是表名。 例如,在学生表中对学号、姓名和总学分投影,运算式为: 学号,姓名,总学分(学生) 该运算得到如表1.5所示的新表。,表1.5 学号,姓名,总学分(学生),1.1.2关系模型,1.1.2关系模型,表的选择和投影运算分别从行和列两个方向上分割表,而下面要讨论的连接运算则是对两个表的操作。 连接(JOIN) 连接是把两个表中的行按照给定的条件进行拼接而形成新表,记为:R S

6、 。 F 其中,R、S是被操作的表,F是条件。 例如,若表A和B分别如表1.6和表1.7所示,则A B如表1.8所示,其中: F F为:T1=T3。,表1.6 A表,1.1.2关系模型,表1.7 B表,表1.8 A B F,数据库应用中最常用的是“自然连接”。进行自然连接运算要求两个表有共同属性(列),自然连接运算的结果表是在参与操作两个表的共同属性上进行等值连接后再去除重复的属性后所得的新表。自然连接运算记为:R S ,其中R和S是参与运算的两个表。,1.1.2关系模型,表1.9 A表,表1.10 B表,表1.11 A B,1.2.1概念结构设计,实体集中的实体彼此是可区别的,如果实体集中的

7、属性或最小属性组合的值能唯一标识其对应实体,则将该属性或属性组合称为码。对于每一个实体集,可指定一个码为主码。如果用矩形框表示实体集,用带半圆的矩形框表示属性,用线段连接实体集与属性,当一个属性或属性组合指定为主码时,在实体集与属性的连接线上标记一斜线,则可以用图1.4描述学生成绩管理系统中的实体集及每个实体集涉及的属性。,图1.4 学生和课程实体集属性的描述,1.2.1概念结构设计,1一对一的联系(1 : 1) A中的一个实体至多与B中的一个实体相联系,B中的一个实体也至多与A中的一个实体相联系。例如:“班级”与“正班长”这两个实体集之间的联系是一对一的联系,因为一个班只有一个班长,反过来,

8、一个正班长只属于一个班。“班级”与“正班长”两个实体集的E-R模型如图1.5所示。,图1.5 “班级”与“正班长”实体集E-R模型,1.2.1概念结构设计,2一对多的联系(1 : n) A中的一个实体可以与B中的多个实体相联系,而B中的一个实体至多与A中的一个实体相联系。例如:“班级”与“学生”这两个实体集之间的联系是一对多的联系,因为,一个班可有若干学生,反过来,一个学生只能属于一个班。“班级”与“学生”两个实体集的E-R模型如图1.6所示。,图1.6 “学生”与“班级”两个实体集的E-R模型,1.2.1概念结构设计,3多对多的联系(m : n) A中的一个实体可以与B中的多个实体相联系,而

9、B中的一个实体也可与A中的多个实体相联系。例如:“学生”与“课程”这两个实体集之间的联系是多对多的联系,因为,一个学生可选多门课程,反过来,一门课程可被多个学生选修。“学生”与“课程”两个实体集的E-R模型如图1.7所示。,图1.7 “学生”与“课程”实体集间的E-R模型,1.2.2 逻辑结构设计,用E-R图描述学生成绩管理系统中实体集与实体集之间的联系,目的是以E-R图为工具,设计关系型的数据库,下面将根据三种联系从E-R图获得关系模式的方法。 1(1 : 1)联系的E-R图到关系模式的转换 对于(11)的联系既可单独对应一关系模式,也可以不单独对应一个关系模式。 (1) 联系单独对应一关系

10、模式,则由联系属性、参与联系的各实体集的主码属性构成关系模式,其主码可选参与联系的实体集的任一方的主码。例如:考虑图1.5描述的“班级(BJ)”与“正班长(BZ)”实体集通过属于(SY)联系E-R模型可设计如下关系模式(下横线表示该字段为主码): BJ(班级编号,院系,专业名,人数) BZ(学号,姓名) SY(学号,班级编号),1.2.2 逻辑结构设计,(2) 联系不单独对应一关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。 例如:考虑图1.5描述的“班级(BJ)”与“正班长(BZ)”实体集通过属于(SY)联系E-R模型可设计如下关系模式: BJ(班级编号,院系,专业名,人数

11、) BZ(学号,姓名,班级编号) 或者 BJ(班级编号,院系,专业名,人数,学号) BZ(学号,姓名) 2(1 : n)联系的E-R图到关系模式的转换 对于(1n)的联系既可单独对应一关系模式,也可以不单独对应一个关系模式。 (1) 联系单独对应一关系模式,则由联系的属性、参与联系的各实体集的主码属性构成关系模式,n端的主码作为该关系模式的主码。例如:考虑图1.6描述的“班级(BJ)”与“学生(XS)”实体集E-R模型可设计如下关系模式: BJ(班级编号,院系,专业名,人数) XS (学号,姓名,专业名,性别,出生时间,总学分,备注) SY(学号,班级编号),1.2.2 逻辑结构设计,(2)

12、联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。例如:图1.6“班级(BJ)”与“学生(XS)”实体集E-R模型可设计如下关系模式: BJ(班级编号,院系,专业名,人数) XS (学号,姓名,专业名,性别,出生时间,总学分,备注,班级编号) 3(m : n)联系的E-R图到关系模式的转换 对于(m : n)的联系,单独对应一关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由各实体集的主码属性共同组成。例如:图1.7描述的“学生(XS)”与“课程(KC)”实体集之间的联系可设计如下关系模式: XS (学号

13、,姓名,专业名,性别,出生时间,总学分,备注) KC(课程号,课程名称,类别,开课学期,学时,学分) XS_KC (学号,课程号,成绩) 关系模式XS_KC的主码是由“学号”和“课程号”两个属性组合起来构成的一个主码,一个关系模式只能有一个主码。 至此,已介绍了根据E-R图设计关系模式的方法,通常这一设计过程称为逻辑结构设计。,1.2.3 数据库物理设计,数据的物理模型即指数据的存储结构,如对数据库物理文件、索引文件的组织方式、文件的存取路径,内存的管理,等。物理模型不仅与数据库管理系统有关,还和操作系统甚至硬件有关,物理模型对用户是不可见的。 从上面看出,按关系模型组织的数据表达方式简洁、直

14、观,插入、删除、修改操作方便,而按层次、网状模型组织的数据表达方式复杂,插入、删除、修改操作复杂。因此,关系模型得到了广泛应用,SQL Server是一个典型的支持关系数据模型的数据库管理系统。,1.3.1 数据库的连接方式,1. ODBC数据库接口 ODBC即开放式数据库互连(Open Database Connectivity),是微软公司推出的一种实现应用程序和关系数据库之间通讯的接口标准。符合标准的数据库就可以通过SQL语言编写的命令对数据库进行操作,但只针对关系数据库。目前所有的关系数据库都符合该标准(如SQL Server,Oracle,Access,Excel等)。ODBC本质上

15、是一组数据库访问API(应用程序编程接口),由一组函数调用组成,核心是SQL语句,其结构如图1.8所示:,图 1.8 ODBC数据库接口,1.3.1 数据库的连接方式,2. OLE DB数据库接口 OLE DB即数据库链接和嵌入对象(Object Linking and Embedding DataBase)。OLE DB是微软提出的基于COM思想且面向对象的一种技术标准,目的是提供一种统一的数据访问接口访问各种数据源,这里所说的“数据”除了标准的关系型数据库中的数据之外,还包括邮件数据、Web上的文本或图形、目录服务(Directory Services)、以及主机系统中的文件和地理数据以及

16、自定义业务对象等。OLE DB标准的核心内容就是提供一种相同的访问接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型,其结构图如图1.9所示:,图1.9 OLE DB数据库接口,1.3.1 数据库的连接方式,3. ADO数据库接口 ADO(ActiveX Data Objects)是微软公司开发的基于COM的数据库应用程序接口,通过ADO连接数据库,可以灵活地操作数据库中的数据。 图1.10展示了应用程序通过ADO访问SQL Server数据库接口。从图中可看出,使用ADO访问SQL Server数据库有两种途径:一种是通过ODBC驱动程

17、序,另一种是通过SQL Server专用的OLE DB Provider,后者有更高的访问效率。,1.3.1 数据库的连接方式,4. ADO.NET数据库接口 ASP.NET 使用 ADO.NET 数据模型。该模型从 ADO 发展而来,但它不只是对 ADO的改进,而是采用了一种全新的技术。主要表现在以下几个方面: ADO.NET 不是采用 ActiveX 技术,而是与.NET框架紧密结合的产物。 ADO.NET 包含对 XML标准的完全支持,这对于跨平台交换数据具有重要的意义。 ADO.NET 既能在与数据源连接的环境下工作,又能在断开与数据源连接的条件下工作。特别是后者,非常适合于网络应用的

18、需要。因为在网络环境下,保持与数据源连接,不符合网站的要求,不仅效率低,付出的代价高,而且常常会引发由于多个用户同时访问时带来的冲突。因此 ADO.NET 系统集中主要精力用于解决在断开与数据源连接的条件下数据处理的问题。 ADO.NET 提供了面向对象的数据库视图,并且在 ADO.NET 对象中封装了许多数据库属性和关系。最重要的是,ADO.NET 通过很多方式封装和隐藏了很多数据库访问的细节。可以完全不知道对象在与 ADO.NET 对象交互,也不用担心数据移动到另外一个数据库或者从另一个数据库获得数据的细节问题。如图1.11显示了 ADO.NET 架构总览。,1.3.1 数据库的连接方式,

19、图1.11 通过ADO.NET访问数据库的接口模型,1.3.1 数据库的连接方式,5. JDBC数据库接口 JDBC(Java Data Base Connectivity)是Java Soft公司开发的,一组Java语言编写的用于数据库连接和操作的类和接口,可为多种关系数据库提供统一的访问方式。通过JDBC完成对数据库的访问包括四个主要组件:Java应用程序、JDBC驱动器管理器、驱动器和数据源。 在JDBCAPI中有两层接口:应用程序层和驱动程序层,前者使开发人员可以通过SQL调用数据库和取得结果,后者处理与具体数据库驱动程序的所有通讯。 使用JDBC接口对数据库操作有如下优点: (1).

20、JDBCAPI与ODBC十分相似,有利于用户理解; (2)使编程人员从复杂的驱动器调用命令和函数中解脱出来,而致力于应用程序功能的实现; (3)JDBC支持不同的关系数据库,增强了程序的可移植性。 使用JDBC的主要缺点:访问数据记录的速度会受到一定影响,此外,由于JDBC结构中包含了不同厂家的产品,这给数据源的更改带来了较大麻烦。 4. 数据库连接池技术 对于网络环境下的数据库应用,由于用户众多,使用传统的JDBC方式进行数据库连接,系统资源开销过大成为制约大型企业级应用效率的瓶颈,采用数据库连接池技术对数据库连接进行管理,可以大大提高系统的效率和稳定性。,1.3.2 客户/服务器(C/S)

21、模式应用系统,Microsoft公司开发的SQL Server数据库管理系统当前最流行的版本仍然是SQL Server2000,本书介绍SQL Server2000。 数据库管理系统通过命令和适合专业人员的界面操作数据库。对于SQL Server2000数据库管理系统,用户在SQL Server 2000的查询分析器中输入SQL命令,系统执行的结果返回到查询分析器上显示。用户可以直接通过SQL Server 2000的企业管理器的界面操作数据库。,图1.12 数据库应用程序与数据库、数据库管理系统之间的关系,1.3.3 三层客户/服务器(B/S)模式应用系统,基于Web的数据库应用采用三层客户

22、/服务器模式,也称B/S结构。第一层为浏览器,第二层为Web服务器,第三层为数据库服务器。浏览器是用户输入数据和显示结果的交互界面,用户在浏览器表单中输入数据,然后将表单中的数据提交并发送到Web服务器,Web服务器应用程序接受并处理用户的数据,通过数据库服务器,从数据库中查询需要的数据(或把数据录入数据库)送Web服务器,Web服务器把返回的结果插入HTML页面,传送到客户端,在浏览器中显示出来。如图1.13所示。,图1.13 三层客户/服务器结构,1.3.3 三层客户/服务器(B/S)模式应用系统,例如,用ASP.NET开发的三层客户/服务器(B/S)模式的学生成绩管理系统学生信息更新页面

23、如图1.14所示。,图1.14 C/S模式的学生成绩管理系统界面,1.3.3 三层客户/服务器(B/S)模式应用系统,图1.15 B/S模式的学生成绩管理系统页面,1.4.1 软硬件环境,SQL Server2000可在多种操作系统环境下运行。所有SQL Server 2000 版本的客户端软件可在任何版本的 Microsoft Windows NT、2000 、XP、2003和98 上运行。 SQL Server 2000服务器组件必须在Microsoft Windows NT、Windows 2000 Server (SP2)、Windows2000 Advanced Server、Win

24、dows 2000 DataCenter、Windows 2003 Server 版本的操作 系统上使用。SQL Server2000分企业版、标准版、个人版、开发版和企业评估版,他们的性能、功能、操作系统环境的要求是有差别的。,表1.12 SQL Server 2000安装的硬件最低要求,1.4.2 SQL企业管理器,企业管理器通过易于使用的图形用户界面,将所有 SQL Server 对象展现在一个分层结构的控制台树中。企业管理器是按照“数据库服务器组”“数据库服务器”“数据库”“数据库对象(表、视图等)”这样一个层次结构组织对象并进行管理的。利用企业管理器可对数据库服务器、数据库及数据库对

25、象(表、视图等)进行有效地管理,图1.16所示。,图1.16 SQL Server 2000企业管理器,1.4.2 SQL企业管理器,企业管理器的主要功能如下: 注册服务器 配置本地服务器 配置远程服务器 配置多重服务器 设置登录安全性 对数据库、数据库对象进行管理和操作 创建警告 建立操作员 为独立的环境创建和安排作业 为多重服务器环境创建和安排作业 创建和管理复制方案 为企业管理器设置轮询间隔,1.4.3 SQL查询分析器,图1.17 SQL查询分析器界面,SQL查询分析器(SQL Query Analyzer)用于交互输入T-SQL 语句和存储过程,可以以图形的形式提供图形查询分析功能,

26、包含集成的 T-SQL调试器、对象浏览器,可用于确定数据库中的表、视图、存储过程和其它对象的特性,并支持可用于加快复杂语句生成速度的模板。SQL查询分析器使程序员得以交互地开发和测试T-SQL语句。 使用账户sa登录,与SQL Server服务器建立连接后的界面如图1.17所示。缺省数据库为master,通过下拉框可选择不同的数据库。,1.4.3 SQL查询分析器,若要连接网上其它的SQL Server服务器,选择菜单项:文件连接,出现如图1.18所示的对话框。,选择服务器,输入登录名,输入密码,图1.18 SQL查询分析器连接对话框,1.4.4 服务器组件,1.4.4 服务器组件 SQL S

27、erver 2000服务器组件是SQL Server 2000的主要服务单元。主要包括下列服务: 1. SQL Server 数据库引擎(MSSQLServer 服务) MSSQLServer 服务用来处理所有发自 SQL Server 客户端应用程序的 T-SQL 语句的组件。 有两种类型的 SQL Server 实例: (1) 默认实例:SQL Server 2000默认实例仅由运行该实例的计算机的名称唯一标识,它没有单独的实例名,默认实例的服务名称为MSSQLServer。如果应用程序在请求连接 SQL Server 时只指定了计算机名,则 SQL Server 客户端组件将尝试连接这台

28、计算机上的数据库引擎默认实例。一台计算机上只能有一个默认实例,而默认实例可以是 SQL Server 的任何版本。 (2) 命名实例:除默认实例外,所有数据库引擎实例都由安装该实例的过程中指定的实例名标识。应用程序必须提供准备连接的计算机的名称和命名实例的实例名。计算机名和实例名格式:计算机名实例名,命名实例的服务名称为 MSSQL$实例名。,1.4.4 服务器组件,2. SQL Server 代理程序(SQLServerAgent 服务) SQLServerAgent 服务是运行调度 SQL Server 管理任务的代理程序。在计算机上运行的每个 SQL Server 实例都有一个 SQL

29、Server 代理服务。 3. Microsoft 搜索服务 用于 Windows NT、Windows 2000和Windows 2003全文本检索引擎。不论计算机上有多少个 SQL Server 实例,都只有一个搜索服务。 4. 分布式事务处理协调器(MS DTC 服务) 用于 Windows NT、Windows 2000和Windows 2003管理分布式事务。不论计算机上有多少个 SQL Server 实例,都只有一个MS DTC服务。 SQL Server 2000服务器组件可由SQL Server 服务管理器启动、停止和暂停。这些组件在Windows NT、Windows2000

30、、Windows2003 上作为服务运行,在Windows 9x上作为单独的可执行程序运行。,1.4.5 服务启动和停止,1. 启动和停止SQL Server服务器实例 启动和停止SQL Server服务器实例有下列方法: (1) 在操作系统启动时自动启动每个服务。 开始所有程序管理工具服务,系统打开Windows 2003服务窗口,如图1.19所示。,图1.19 Windows 2003服务窗口,1.4.5 服务启动和停止,选择名称为“MSSQLSERVER”的服务,单击“操作”菜单选“启动”菜单项。 (2) 用 SQL Server 服务管理器启动或停止服务。 开始所有程序Microsoft SQL Server服务管理器,则进入服务管理器界面,如图1.20。,图1.20 服务管理器,1.4.5 服务启动和停止,单击“开始继续”按钮,则启动SQL Server服务器服务,如图1.21所示,图1.21 启动SQL Server服务器服务后的服务管理器,表示服务管理器处于启动状态,1.4.5 服务启动和停止,(3) 在Windows NT 或 Windows 2000中,使用 net start 和

温馨提示

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

评论

0/150

提交评论