版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十一章第十一章 数据库开发基础数据库开发基础 o 用户与数据库的交互方式 o 关系数据模型 o 关系数据库管理系统 SQL Server o 可视化数据库工具 本章要点 o 数据库是指长期储存在计算机内的、有组织的、可共 享的数据集合。数据库中的数据按一定的数据模型组 织、描述和储存,具有较小的冗余度、较高的数据独 立性和易扩展性,并可为各种用户共享。 o 为了科学地组织数据,高效地获取和维护数据,我们 需要一个系统软件,这个软件就是数据库管理系统 ( DataBase Management System,简称 DBMS )。 用户与数据库的交互方式 o DBMS 的主要功能包括以下几个方面
2、。 o数据定义功能:用户可以方便地对数据库中的数据对象进行定义。 o数据组织、存储和管理:分类组织、存储和管理各种数据,包括数据字典、 用户数据、数据的存储路径等。 o数据操纵功能:用户可以对数据库进行操作,如查询、插入、删除和修改等。 o数据库的事务管理和运行管理:保证数据的安全性、完整性、多用户对数据 的并发使用及发生故障后的系统恢复。 o数据库的建立和维护功能:包括:数据库初始数据的输入、转换功能,数据 库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。 o其他功能:包括DBMS与网络中其他软件系统的通信功能;一个 DBMS 与另 一个DBMS 或文件系统的数据转换功能;异构
3、数据库之间的互访和互操作功 能等。 o用户与 DBMS 的交互方式通常有两种: o 通过可视化操作界面实现。 n用户可以通过登录 DBMS 的操作界面进行手工操作实现 其功能。 o 通过 SQL 代码实现。 n即,通过向 DBMS 发送 SQL 语言代码实现其功能。可 以将SQL语言代码输入到可视化操作界面的代码窗口中, 也可以将 SQL 语句嵌入到高级语言中(例如 C#、 VB.NET 等) 。 o每一种数据库管理系统都是基于某种数据模型 的,数据模型是数据库中数据的存储方式,是 数据库系统的核心和基础。 o当前实际的数据库系统中所支持的主要模型有: 层次模型、网状模型和关系模型,应用最广泛
4、 的是关系数据模型。关系模型数据库已经成为 数据库设计事实上的标准。 关系数据模型关系数据模型 o 关系数据模型将数据用表的集合来表示。通过表的内部结构 来定义实体的构成,通过建立表之间的关联来定义实体集之 间的相互联系与制约,而不是根据数据的物理存储方式建立 数据之间的联系。 o 在关系数据库中,关系就是一个二维表,行被称为记录,列 被称为字段(或属性、列),每个字段都有一个取值范围。 o 若关系中的某一属性组的值能唯一地标识一个元组,则称该 属性组为码。若一个关系有多个码,则选定其中一个为主码 ( Primary Key )。 o在关系数据库中,外码是一个很重要的概念。设 F 是基本关系
5、R 的一个或一组属性,但不是关系 R 的码。如果 F 与关系 S 的主码 Ks 相对应,则称 F 是关系 R 的外码( Foreign Key ),并称关系 R 为参 照关系( Referencing Relation ) ,关系 S 为被参照 关系( Referenced Relation )或目标关系( Target Relation )。关系 R 和 S 不一定是不同的关系。 o 关系模型是关系数据库管理系统(RDBMS)的基础,包括三部分: o 关系模型的数据结构。由行和列组成的二维表,任意两行互不相同, 列值是不可分的数据项,行和列的次序可任意。 o 关系模型的完整性,包括实体完整性
6、、参照完整性和用户定义完整性: o实体完整性指用主码来惟一标志表中的行和列,主码所包含的任一属性 的属性值不能为空。 o参照完整性指外码或者为空,或者等于它所参照的表的主码的某个值。 o用户定义完整性指对某一主体的数据库的约束条件。 o 关系模型的数据操作。关系模型的操作表达能力非常强大,定义了很 多的操作,其中主要有选择( Select Operation )、投影( Project Operation )、连接及集合等操作。 o SQL Server 是一个RDBMS,Microsoft 公司从 1998 年推出 SQL Server 7.0以后不断改进和提高,相继 SQL Server
7、2000、SQL Server 2005、SQL Server 2008 等后续版本 o 下面以 SQL Server 2008 为例,说明如何准备数据库 环境以进行 C# 数据库工程开发。 关系数据库管理系统关系数据库管理系统 SQL Server o 数据访问方式的发展阶段: n ODBC(Open Database Connectivity) n OLE DB(Object Linking and Embedding Database) n ADO(ActiveX Data Objects) n ADO.NET 11.2.1 ADO.NET的特点 o ADO.NET并非是ADO的升级版,
8、同以往的 数据库访问技术相比,ADO.NET有很多数 据处理的优势。 n 首先ADO.NET提供了对XML的强大支持,可以通 过XMLReader、XMLWriter、XMLNavigater和 XMLDocument等方便地创建和使用XML数据; n 其次ADO.NET是为关系数据访问和非关系数据访问关系数据访问和非关系数据访问 设计的数据连接模型,它可以实现对数据源的非连 接处理;另外ADO.NET新增了一些对象,如 DataReader可以产生一个只读的记录集,用来实 现快速读取数据。 n ADO.NET的最突出的特性是可以采用非连接非连接的 方式访问和处理数据,这是ADO所没有的 (A
9、DO只能采用连接的方式访问和处理数据)。 o ADO采用基于连接连接的方式处理数据库的最大不足就是 它耗费了太多的资源,尤其当在网络环境下时,大量 用户同时访问数据库会给数据库服务器造成很大的负 担。 o ADO.NET只在必要的时候对数据库进行连接只在必要的时候对数据库进行连接,当 处理完毕后它将及时关闭连接,这就保证了数据库 服务器资源的可用性,使它可以为更多的用户服务 ,因此也就更加适合网络应用。 ADO.NET与ADO的区别 o 两者都将数据保存在内存中,但以dataset数据集 的形式存放,而ado以recordset记录集的形式存放。 o 在ado中,记录集以单表的形式表现;中,数
10、据集以 一个表或多个表的形式表现。 o ado中与数据库连接后,会一直保持连接,直到断开(它为 连接而设计);中,读取完需要的数据后,会自动断 开连接。当需要更新数据时,会再次连接。 o 基于xml流传送数据,对数据类型没有限制。 o 相对于ado减少了大量的数据转换,提高了性能 o 通过xml流,可以穿透防火墙 ADO.NET 对数据库的访问(-1) 将数据传递到用户界面时, ADO.NET 采用 XML 格式 数据已缓存 ADO.NET 对数据库的访问(-2) 对于Insert,Update,Delete 等单向操作 1、用Connection.Open打开数据库 2、用DataAdapt
11、or.Command或者 Command.Execute 执行命令 3、关闭数据库 Insert用InsertCommand Delete 用DeleteCommand Update用UpdateCommand ADO.NET 对数据库的访问(-3) 关闭数据库 1、用Connection .Open建立连接 2、用DataAdaptor.SelectCommand 执行命令 DataAdaptor.Fill 对于对于Select的双向操作的双向操作 DataSet 11.2.2 ADO.NET体系结构 o ADO.NET具有两大核心组件 n .NET Data Provider数据提供程序。
12、 o 用于连接到数据库、执行命令和检索结果 n DataSet数据集 1 .NET Data Provider数据提供程序 o .NET Data Provider中包括 n Connection类 o 用来和数据源进行连接 n Command类 o 用来从数据库中返回数据、修改数据或运行存储过程 n DataReader类 o 提供了对数据库的快速只读、前向访问功能 n DataAdapter 类 o 是数据源和数据集DataSet对象交换数据的桥梁,它 负责将数据库中的数据填充到DataSet对象中。 2 数据集 o 在ADO.NET中,DataSet是专门用来处理 从数据源获得数据,而不
13、管底层的数据是什 么,可以使用相同的方式来操作从不同数据 源取得的数据。 o DataSet内部是用XML来描述数据的。XML 是一种与平台无关、数据无关且能描述复杂 数据关系的数据描述语言。 o 数据集DataSet对象可以理解为一个本地的小 型数据库。即ADO.NET通过数据提供程序获 得数据库的数据后,在客户机的内存中缓存的 数据库,即内存中的数据库。 o 数据集模型包含一个由单个或多个数据表 (DataTable)组成的集合,而DataTable又由 许多行(DataRow)和列(DataColumn)组成 。DataSet对象中还包含一个DataRelation 对象的集合,用它来表
14、示各个数据表之间的关 系,数据集结构如下图所示。 数据集结构 数据集(DataSet) 表(DataTable) 关系(DataRelation) 数据行 约束(Constrain) 列(DataColumn) 行(DataRow) 属 性 数据列 o 数据集包含了用户请求的那部分数据库在内存 中的备份备份。这个备份甚至能包含多个表以及表 之间的关系的整个数据库。所以对于数据集对 象的访问类似于对数据库的访问,即数据集提 供了被访问数据库的非连接备份非连接备份离线备份离线备份 ,这相当于直接给出了处理数据库的情境,也 就是说,给用户的感觉是数据集与数据源是直 接连接的。 o 可见数据集是通过无
15、关联对象访问数据库 信息的,实现了连接对象与数据对象的相 对独立。数据集的缺点是要求高速缓存大 量的数据,如当需要将表中的所有数据送 入数据集时。 可视化数据库连接 o 操作示范 o 自己动手 o 注意:自动生成项目有以下几个对象 数据集 studyDataSet 数据绑定源 studentBindingSource 数据适配器 studentTableAdapter 导航栏 studentBindingNavigater 表适配器 tableAdapterMangger 连接数据库方式 o 本地服务器连接 o 远程服务器连接 创建新的数据源方式 使用DataAdapter对象方式 o SQL
16、 Server 是一个RDBMS,Microsoft 公司从 1998 年推出 SQL Server 7.0以后不断改进和提高,相继 SQL Server 2000、SQL Server 2005、SQL Server 2008 等后续版本 o 下面以 SQL Server 2008 为例,说明如何准备数据库 环境以进行 C# 数据库工程开发。 关系数据库管理系统关系数据库管理系统 SQL Server o 打开“SQL Server 2008 外围应用配置器” 。 o 然后点击“服务和连接的外围应用配置器” o 选择“MSSQLSERVER”-“Database Engine”- “远程连接
17、”,选中“本地连接和远程连接”-“ 同时使用 TCP/IP 和 named pipes”,然后确定。 准备步骤1-允许远程登录 o 打开“SQL Server Management Studio”,用 “Windows 身份验证方式”进行连接后,右键点击 对象资源管理器中的根节点下的 “数据库” ,选择 “附加”,在“附加数据库”页中选择“添加”, 找到存放study.mdf文件的路径,选中study.mdf ,并确定,可将预先准备好的数据库文件附加在当 前服务器中。在数据库节点下就可以看到该数据库 study了。 准备步骤2-附加数据库 o 右键点击对象资源管理器中的根节点,选择 “属性”
18、打开,在“安全性”页中选择“SQL Server 和 Windows身份验证模式”,然后确定。 o 右键点击对象资源管理器中的根节点,选择 “重新启 动”,以达到重启SQL Server服务的目的。 o 以后再登录时,就可以选择“SQL Server 身份验证” 或“Windows身份验证”二者之一连接到服务器了。 准备步骤3-启用混合登录模式并重启服务 o 在“SQL Server Management Studio”中 右键点击对象资源管理器中的根节点下的 “安 全性” ,选择 “新建”-“登录”,在“登录 名”后输入 “log1”,选择“SQL Server 身 份验证”,输入密码“lo
19、g1”,将“强制实施 密码策略”前的勾取消,在默认数据库后选择 “study”,然后按“确定”。 准备步骤4-创建登录账户log1 o 在“SQL Server Management Studio”中右键点击对 象资源管理器中的根节点下的 “数据库”-“study”- “安全性” ,选择 “新建”-“用户”,在“用户名” 后输入 “me”,在“登录名”后输入“log1”,在“数 据库角色成员身份”下勾选“db_owner”,然后按“确 定”。 o 这样登录账户log1与study数据库中的me用户进行了关 联,当我们使用log1登录本数据库服务器时,就能够有 足够的权限访问数据库study了。
20、 准备步骤5-创建数据库用户并与log1关联 o 选择“文件”-“断开与对象资源管理器的连接”。 o 然后选择“文件”-“连接对象资源管理器”,在登 录时选择“SQL Server 身份验证”,登录名输入 “log1”,密码输入“log1” 。 o 成功登录后,查看一下study数据库中的数据表 student的数据。如果可以查看,说明之前的准备工 作已经顺利完成。 准备步骤6-验证 o为帮助用户进行数据库开发,Visual Studio 2010 提供了一套功能强大的可视化数据库工 具,可视化数据库工具可以简化开发数据库的 各种操作,如数据库设计、数据库查询等。可 视化数据库工具做的工作越多
21、,需要编写的代 码就越少。 可视化数据库工具可视化数据库工具 o 使用 Visual Studio 2010 可视化数据库工具可以完成以 下工作: o 连接到并浏览兼容的数据库。 o 使用数据库关系图创建和修改 SQL Server 数据库。 o 设计、执行和保存复杂的查询。 o 添加、更新和删除存储在数据库表中的数据。 o 设计 SQL Server 和 Oracle 等数据库中的对象,如表、触发器 和存储过程。 o 将数据库对象拖动到设计窗体上,将控件绑定到那些对象上。 o可视化数据库工具包含以下组件: o 服务器资源管理器:是本地或者远程机器上运行的任何服务器 的容器。使用“服务器资源管
22、理器”,可以查看和操作位于用 户所有网络访问权限内的任何服务器上的数据链接、数据库连 接和系统资源。 o 数据库设计器:是设计数据库的工具,和“服务器资源管理器” 一起使用,可以生成新数据库以及表、存储过程和视图。 o 表设计器:用户可以对所连接的数据库中的单个表进行设计和 可视化处理。 o 查询和视图设计器:为利用 SQL 的强大功能同时避免艰巨的编写任务, 通过使用查询和视图设计器,可以不用直接编写 SQL 而创建 SQL 查 询。 o 解决方案资源管理器:“解决方案资源管理器”提供项目及其文件的有 组织的视图,并且提供对项目和文件相关命令的便捷访问。 o SQL 编辑器:是一个文本编辑器
23、。不能算是真正的图形工具,它和查 询设计器密切集成,可以生成新的存储过程和触发器,也可以处理现有 的存储过程和触发器以及从 Visual Studio 环境中执行和调试存储过程。 o XML 设计器:处理XML和XML架构的图形工具。可以用 XML 设计器 操纵数据库、XSDs ( XML Schema Definitions )以及 XML 数据文 件。 o 代码演示 n 例例 11_4 使用可视化工具的“数据源”方法 创建一个 study 数据库项目并能进行对 student 表的记录进行浏览。 使用“数据源”创建数据库项目 o 在设计界面窗体下方自动生成的几个数据组件: studentT
24、ableAdapter、studyDataSet、studentBindingSource、 和 studentBingingNavigator、tableAdapterManager,分别是: 数据表适配器、数据集、数据绑定源、绑定导航栏、表适配器管理器。 这些组件已经被系统自动应用于项目之中。 o studentTableAdapter 是一个数据表适配器( TableAdapter ),系统 已经为TableAdapter控件内置了部分功能代码,使其能够完成从数据 库连接、执行SQL语句到将结果填充到数据集的一个完整操作。所以, 当我们设置好数据源表与显示控件的数据绑定关系后,运行程序即
25、可对 数据表进行浏览。 o 代码演示 n 例例 11_5 在可视化数据库项目中增加查询功 能。 o “数据源”是包含数据连接、数据集及其中数据表的集成数 据资源,在这种数据资源中本地数据集与数据库已经建立数 据连接,数据集中的表与数据库中的表已经具备对应关系。 o 由于在例 11_4 和例 11_5 中,“数据源配置向导”已经 自动提供了向数据集灌入数据的功能,所以在实施了数据源 与显示控件的数据绑定之后,数据库中的数据可以显示在控 件中。 o 另外还需说明,“数据源”是包含于指定项目之中的“专用” 资源,其他项目不会自动拥有。 o 使用可视化方式开发一 个能够对数据表 class 进行增、删、查、改和 浏览的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年贵州健康职业学院单招职业适应性考试模拟试题及答案解析
- 2026年闽江学院单招职业适应性测试模拟试题及答案解析
- 2026年石家庄理工职业学院单招职业适应性测试模拟试题及答案解析
- 2026年湖南网络工程职业学院单招职业适应性测试模拟试题及答案解析
- 2026年汉中职业技术学院单招职业适应性测试模拟试题及答案解析
- 眼科疾病诊疗流程分析
- 传染病流行趋势与防控措施
- 口腔护理技术与临床实践
- 医学学科发展趋势与展望
- 外科手术护理与康复培训
- 受益所有人识别与风险管理培训
- 幼儿园每日消毒及安全管理操作规范
- 2025年军队文职保管员题库及答案(可下载)
- 西游记车迟国课件
- 化工新材料生产线项目社会稳定风险评估报告
- 新生儿科护理服务标准与操作规范
- 电力交易员中级考试题库
- (2025年标准)sm调教协议书
- 武汉理工大学《英语》2023-2024学年第一学期期末试卷
- 供水抢修维修管理制度
- T/CGAS 024-2023城镇燃气用环压式不锈钢管道工程技术规程
评论
0/150
提交评论