UML讲义13-数据库设计

合集下载

数据库设计课件

数据库设计课件
17
03 数据库概念设计
2024/1/27
18
概念设计的目标与任务
01
目标
02
确定组织或企业的数据和信息需求。
2024/1/27
03
建立一个反映这些需求的概念模型。
19
概念设计的目标与任务
为逻辑设计打下基础。
任务
进行需求收集和分析。
2024/1/27
20
概念设计的目标与任务
定义和描述应用领域涉及的数据对象。
灰盒测试
结合黑盒和白盒测试,对数据库进行全面测试
44
数据库的维护与管理
要点一
数据的备份与恢复
定期备份数据库,确保数据安全;在数据出现问题时,能 够及时恢复数据
要点二
数据库性能优化
通过对数据库性能进行监控和分析,找出性能瓶颈,进行 优化2024/1/2745数据库的维护与管理
• 数据库安全管理:加强对数据库的访问控制和安全审计,确保数据库安全
2024/1/27
测试数据库性能和稳定性
42
数据库的试运行与测试
2024/1/27
01
试运行的内容
02
对数据库进行各种操作,包括数据的增删改查等
03
模拟实际业务场景,进行压力测试和性能测试
43
数据库的试运行与测试
2024/1/27
黑盒测试
通过输入数据和预期结果,验证数据库功能的正确性
白盒测试
对数据库内部结构和代码进行测试,确保数据库的稳定性和性能
多对多联系
创建一个新的关系模式,将参与联系的实体的主 键作为新关系的属性,同时加入联系本身的属性
2024/1/27
30
数据模型的优化与调整

数据库设计

数据库设计
进行数据库设计时首先要把现实世界中的 具体的人、物、活动、概念用数据模型这 个工具来抽象、表示和处理。通俗的讲数 据模型就是对现实世界的一种模拟。根据 模型应用的不同目的,可以将模型划分成 两类,他们分别属于两个不同的层次。第 一类是概念模型,第二类是逻辑模型。 (数据库的创建、数据的载入等)
概念结构设计
概念模型
一对一联系(1:1)
两个实体型之间的联系
一对多联系(1:n) 多对多联系(m:n)
E-R模型(Entity-Relationship)
厂长号 姓 名 厂 长
1
供应商
m
年 龄
仓库号
地 点 仓 库
1
面 积
供应数Leabharlann 量n p项 目 职
1
零 件 工
n
管理
1
存放
n
工 厂 厂 号 厂 名 厂 址 货 号
对数据对象需要进行 那些操作如:增、删 数据库中应该存储 和管理那些数据对象
数据库建设的基本规律(设计特点) 数据库建设的基本规律(设计特点)是“三分技术, 三分技术, 七分管理,十二分基础数据” 七分管理,十二分基础数据”。
2、数据库设计的步骤
概念结构设计阶段 逻辑结构设计阶段 数据库实施阶段 数据库运行和维护阶段
概念模型可以看成是现实世界到机器世界的一个过渡的中间层次。 他是独立于机器的信息结构,真实地反映现实世界中事物与事物 之间的关系。 基本概念: 实体(Entity):客观存在的并且可以相互区别的事物称为实体。 (客观实体可以视具体的人、事、物,也可以是抽象的概念等。) 属性(Attribute):实体所具有的某一特性称为属性。(一个实 体可以由若干个属性来刻画。) 码/关键字(Key):唯一标识实体的属性集称为码。(例如:学 号是学生实体的码) 实体型(Entity Type):具有相同属性的实体的抽象。 联系(Relationship):在现实世界中,事物内部以及事物之间是 有联系的,这些联系在信息世界中反映为实体(型)内部以及实 体(型)之间的联系。

数据库设计中的数据模型与UML图解分析(一)

数据库设计中的数据模型与UML图解分析(一)

数据库设计中的数据模型与UML图解分析在现代信息技术的发展下,数据库成为了各个企业和组织必不可少的一部分。

数据库设计是构建高效、可靠和可持续的数据库系统的关键步骤之一。

数据模型用于描述现实世界中的实体、关系和规则,并通过UML图解来可视化和分析数据模型。

本文将探讨数据库设计中的数据模型和UML图解分析的相关内容。

一、数据模型的概述数据模型是数据库设计的基石,用于表示现实世界中的实体、关系和规则。

它提供了一个抽象层,使数据库开发人员能够有效地处理和组织数据。

常见的数据模型包括层次模型、网状模型和关系模型。

在数据库系统中,关系模型是最常用的数据模型之一,它基于关系代数和关系演算理论,使用表格形式来表示实体和实体之间的关系。

二、关系模型与实体关系图关系模型采用表格形式来表示实体和实体之间的关系,其中每个表格被称为关系。

关系模型中的关键概念包括实体、属性和关系。

实体表示现实世界中的一个独立对象,属性描述实体的特征,关系描述实体之间的关联。

实体关系图(Entity-Relationship Diagram,简称ER图)用于可视化和分析关系模型。

ER图使用图形符号来表示实体、属性和关系,并通过箭头来表示关系的方向。

三、UML图解分析Unified Modeling Language(UML)是一种通用的建模语言,广泛应用于软件工程和系统分析中。

它提供了丰富的图形符号和建模工具,用于描述系统的结构、行为和交互。

在数据库设计中,UML图解可用于分析和优化数据模型。

常见的UML图包括类图、用例图、时序图和活动图。

1. 类图类图是UML中最常用的图之一,用于表示系统中的类、属性和方法。

在数据库设计中,类图可用于描述实体和实体之间的关系。

每个实体可以被表示为一个类,实体之间的关联可以被表示为类之间的关系。

类图的属性和方法可以进一步描述实体的特征和行为。

2. 用例图用例图用于描述系统的功能需求和用户与系统之间的交互。

在数据库设计中,用例图可以帮助识别用户需求和系统功能,进而影响数据模型的设计。

《数据库设计》ppt课件

《数据库设计》ppt课件

数据库设计流程与步骤
步骤
1. 收集和分析用户需求,确定系统功能和性能要求。
2. 选择合适的数据模型,设计概念结构,形成概念模式。
数据库设计流程与步骤
02
03
04
01
数据库设计流程与步骤
3. 将概念模式转换为逻辑模式,进行逻辑优化。
4. 选择物理存储结构,设计物理模式,进行物理优化。
5. 用DDL定义数据库结构,组织数据入库,编制与调试应用程序。
《数据库设计》ppt课件
目录
数据库设计概述 需求分析 概念结构设计 逻辑结构设计 物理结构设计 数据库实施与维护 案例分析与实战演练
01
CHAPTER
数据库设计概述
数据库设计是指根据用户需求,运用数据库技术,设计数据库结构、建立数据库及其应用系统的过程。
定义
数据库设计是信息系统开发过程中的重要环节,直接影响系统的性能、可扩展性、可维护性等。
数据模型优化与规范化
外模式/内模式映射
定义用户子模式与逻辑模式之间的映射关系,实现数据的逻辑独立性和物理独立性。
安全性控制
在用户子模式设计中考虑数据的安全性控制,如访问权限、加密等。
视图设计
根据用户需求和安全控制要求,设计相应的视图来限制用户对数据的访问。
用户子模式设计
05
CHAPTER
物理结构设计
联系
用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1, 1:n, m:n)。

在属性下方加上下划线表示该属性为码属性。
视图集成
将多个用户的局部视图合并成一个全局视图的过程。包括合并各个局部视图的实体、属性和联系,生成全局视图。

数据库设计PPT课件

数据库设计PPT课件

2、数据库设计方法 主要包括: • 计算机科学的基础知识; • 软件工程的原理和方法; • 程序设计的方法和技巧; • 数据库的基本知识; • 数据库设计技术; • 应用领域的知识。
新奥尔良(New Orleans)方法。该方法把数 据库设计分为若干阶段和步骤。并采用一些辅 助手段实现每一过程。它运用软件工程的思想, 按一定的设计规程用工程化方法设计数据库。 新奥尔良方法属于规范设计法。规范设计法从 本质上看仍然是手工设计方法,其基本思想是 过程迭代和逐步求精。
需求分析 概念结构设计 逻辑结构设计 物理设计 实施 运行维护
业务流程图,数据流程图 E-R图 功能模块说明,数据结构 存储方法说明 技术手册,用户手册
从严格意义上讲,后2步过程不属于 数据库设计。
在数据库设计开始之前,首先要选定参加设计 的人员,包括系统分析人员、数据库设计人员、系 统开发人员和部分用户代表。其中分析和设计人员 是数据库设计的核心人员,他们将自始至终参与数 据库设计,他们的水平一定程度上决定了数据库系 统的质量。
4、数据库设计各阶段的任务
需求分析 任务:明确用户的要求,提出新系统的处理方案。 文档:业务流程图,数据流程图,数据字典。
概念结构设计 任务:建立概念模型。 文档:E-R图。
逻辑结构设计 任务:建立数据模型。 文档:数据结构(表)。
物理结构设计 任务:确定存取策略。 文档轻重的,他们主 要参加需求分析和数据库的运行维护,他们的积极 参与(不仅仅是配合)不但能加速数据库设计,而 且也是决定数据库设计质量的重要因素。系统开发 人员(包括程序员和操作员)则在系统实施阶段参 与进来,分别负责建立数据库、编制程序和准备软 硬件环境。
在实际中,往往把数据库 设计的过程分为如下6步。

uml设计数据库步骤

uml设计数据库步骤

Course_name
Textbook
Stu&CouOID studentOID (main Key) (foreign Key)
courseOID (foreign Key)
UML进行数据库设计的步骤
步骤1:基于UML中的类图生成数据库
1.对象标识映射为主键 2. 属性类型映射为域
步骤1.1:对象标识映射为主键
• 设计数据库模型,合理选择主键是一个关 键的问题。一般定义主键可以有两种方法: • (1)为每个类增加一个对象标识符(OID)属性, 将其映射为数据库中相应类表的主键。
projectOID (main Key)
Project_Name
Startdat e
contactpersonOID (foreign Key)
contactpersonOID (main Key)
Phone
Fax
email
(3)一对多关联:(3) 一对多 关联:
表示A的一个对象与B的多个对象关联,这种关联关系 可以通过在B类(即具有多个对象的类)所对应的类表中 projectOID Project_Name Startdate 增加一个外键,指向另一方A类的主键,从而建立两个 (main Key) 表之间的关联。
EmployeeOID
Name
Salary
Phone
其中<<pk>>(primary key)表示主键。对象标志符作为单独属性, 所占空间较小而且大小相同,简化了主键选择方案,使得数据 库更新时不会产生完整性问题,同时方便了数据库操作。
• (2)根据客观事实,将某个属性或属性的组 合作为主键。该主键具有实际意义,容易 进行维护; 缺点在于涉及到外键,一旦其他类发生变 化,更改比较困难。

数据库设计知识点归纳

数据库设计知识点归纳

数据库设计知识点归纳在计算机科学领域,数据库设计是构建和组织数据库的过程。

一个良好设计的数据库能够提高数据的存储效率和查询性能,同时还能确保数据的完整性和安全性。

本文将对数据库设计的知识点进行归纳和总结。

一、数据库设计的基本概念1. 数据库:是指存储有组织的数据的集合,在计算机系统中进行管理和维护。

2. 实体:是现实世界中可区分的对象或事件,可以用来表示数据库中的一个表。

3. 属性:是实体的特征或描述,用来表示数据库中的表的列。

4. 关系:是一个连接实体的组合,用来表示数据库中多个表之间的关系。

5. 主键:是用来唯一标识实体的属性,可以用来作为表中每条记录的唯一标识。

6. 外键:是用来关联两个表的属性,可以用来建立表之间的关系。

二、数据库设计的步骤1. 需求分析:明确用户的需求和期望,确定数据库的目标和功能。

2. 概念设计:根据需求分析结果,构建实体-关系模型(ER模型)。

3. 逻辑设计:将概念模型转换为关系模式,并进行范式化处理。

4. 物理设计:确定数据库的存储结构和访问方式,进行索引和分区的设计。

5. 实施和维护:根据物理设计的结果,创建数据库表并插入数据,定期维护和更新数据。

三、数据库设计的范式1. 第一范式(1NF):表中的每个属性都是不可再分的。

2. 第二范式(2NF):在1NF的基础上,非主键属性必须完全依赖于主键。

3. 第三范式(3NF):在2NF的基础上,非主键属性之间不能存在传递依赖。

4. 高级范式:包括BCNF、4NF、5NF等,用于进一步消除冗余和提高数据的一致性。

四、关系型数据库设计1. 表的命名:使用有意义的、具有描述性的表名,避免使用保留字和特殊字符。

2. 字段的命名:使用有意义的、具有描述性的字段名,避免使用非标准缩写和数字编号。

3. 数据类型选择:选择适当的数据类型,避免过大或过小的数据类型,减少存储空间浪费。

4. 关系的建立:使用主键和外键来建立表之间的关系,确保数据的一致性和完整性。

数据库设计中的数据模型与UML图解分析

数据库设计中的数据模型与UML图解分析

数据库设计是软件开发中非常重要的一环,它决定了软件系统如何存储和组织数据。

在数据库设计中,数据模型和UML图解分析起着至关重要的作用。

本文将探讨数据库设计中的数据模型和UML图解分析,以及它们在实际开发中的应用。

一、数据库设计的背景和重要性数据库设计是软件开发过程中的关键环节,它决定了整个系统的数据结构和组织方式。

一个合理的数据库设计可以提高系统的性能、可靠性和可维护性。

因此,数据库设计在软件开发中起着至关重要的作用。

二、数据模型的概念和分类数据模型是描述现实世界中问题的一种抽象表示。

常见的数据模型有层次模型、网状模型、关系模型和面向对象模型等。

其中,关系模型是最常用的数据模型,它以表格的形式组织数据,便于数据的存储和查询。

三、关系模型的特点和使用关系模型以表格的形式组织数据,其中每个表格称为关系(Relation),每一列称为属性(Attribute),每一行称为元组(Tuple)。

关系模型的特点是简单直观、易于理解和操作。

在实际应用中,关系模型常用于设计和实现关系型数据库。

四、UML图解分析的概念和用途UML(Unified Modeling Language)是一种通用的建模语言,用于描述软件系统的结构、行为和交互。

UML图解分析是使用UML图表来分析和设计软件系统的过程。

通过使用UML图解分析,开发人员可以更好地理解系统的架构和功能,提高系统的可扩展性和可维护性。

五、UML图解分析的常用图表UML图解分析中常用的图表包括类图、用例图、活动图、状态图和时序图等。

类图用于表示系统中的类和它们之间的关系;用例图用于描述系统的功能和角色;活动图用于展示系统中的业务过程;状态图用于描述对象的状态变化;时序图用于展示对象之间的消息交互。

六、数据模型与UML图解分析的结合应用数据模型和UML图解分析可以相互结合应用,以达到更好的数据库设计效果。

在使用UML图解分析进行软件系统设计时,开发人员可以根据系统需求和功能,建立对应的数据模型,确定数据的结构和关系。

UML与系统分析设计 第13章 数据库分析与设计

UML与系统分析设计 第13章 数据库分析与设计
Home
13.2.2
关键字与索引
2.索引 索引(Index)支持快速数据 存取的物理结构。 在表中可以指定某个属性作 为索引项,或指定某几个属 性组成多级索引项。 在表的UML图标中,索引用 加在一个操作前面的构造型 “<<index>>”表示,如图 13.3所示。
TEACHERS
PK Tno:LONG INT Tname:CHAR(8) Sex:CHAR(2) Position:CHAR(12) FK Dept:CHAR(24)
Home
13.2 UML用于数据库设计的 规范
13.2.1 表 13.2.2 关键字与索引 13.2.3 约束 13.2.4 联系 13.2.5 视图 13.2.6 数据库与数据库模式
13.2.7 表空间与节点
Home
13.2.1

表(Table)是关系数据库的基本建模结构。 表又称为二维表、关系,它是具有相同结构的行的集合, 行又称为元组,其中包含数据。 表中的每一列又称为关系的属性。 任一行与列交叉点的元素称作分量。每一个数据必须作为 一个分量值存储。 每个属性所对应的变化范围简称域,它是一个值的集合, 关系中所有属性的实际值均来自于它所对应的域。 每一个表有一个关系模式(Relational Scheme),它由一个 表名以及它所有的列名构成,它是一个二维表的表头,规 定该表的组成、列的特性,以及完整性约束等。 表结构及有关的术语如图13.1所示。
Home
13.2.1

例:一个学生表,如图13.1所示。
8位 字符 15~25 4位 汉字 地名集
男/女
← 域
学生
学号
03010027 03010
姓名

使用UML设计数据库应用

使用UML设计数据库应用

使用UML设计数据库应用这篇文章陈述如何用关系型数据库实现UML模型。

假设我们熟悉UML 对象建模表示法和关系型数据库。

1. 介绍许多人认为面向对象概念和关系型数据库相互不一致,并且不能结合。

事实上完全相反!经过灵活的使用,一个关系型数据库能够为面向对象(OO)模型提供一套优秀的实现。

同样的模型能够用来开发编程代码和建立关系型数据库结构。

关系型数据库技术是意义深远的、强大的,但它比许多开发商使你相信的要难得多。

单个表是简单易懂的、直观的,但是要彻底了解由数以百计的表组成(这是常见的)的应用是相当困难的。

这正是OO模型有用之处。

OO模型使你深入地、连贯地思考问题。

OO模型提供一种问题的超结构(superstructure)的思考方式,然后该方式能够用关系型数据库的更低层的组成块来实现。

本文章综合地讨论了关系型数据库技术,而不是集中于特定的产品上。

我们将不讨论物理设计细节(例如存储分配和物理聚集),因为它们是依赖于产品的。

用关系型数据库实现UML模型有两个方面:映射结构(第2节)和映射功能(第3节)。

第4节注解了面向对象到关系型数据库的扩展。

第5节总结本文章。

2. 结构映射到表UML对象模型在本质上只是一个扩展的实体-关系(ER)模型[ii]。

用来设计数据库的ER模型的方式受到普遍接受,而我们将讲述一种近似的但更强大的方式-使用UML对象模型。

OO模型的主要优势在于编程和数据库使用相同的模型工作。

而且,作为考虑功能性的一种方式(第3节),我们强调OO模型的导航。

这一节显示如何实现UML 对象模型的主要构造。

2.1 标识(identity)实现对象模型的第一步是处理标识。

我们从定义几个术语开始。

候选键(candidate key)是一个或多个属性的组合,它唯一地确定某个表里的记录。

一个候选键里的属性集必须是最小化的;除非破坏唯一性,否则属性不能从候选键删除。

候选键里的属性不能为空。

∙主键(primary key)是一个特定选定的候选键,用来优先地参考记录。

UML与数据库设计

UML与数据库设计
在映射一对一关联关系时,则可将外键放置在任意一边。 在映射一对一关联关系时,则可将外键放置在任意一边。
注意事项: 注意事项: ---不能将多个类与相应的关联合并成一张数据库表,这样违背 不能将多个类与相应的关联合并成一张数据库表, 不能将多个类与相应的关联合并成一张数据库表 了关系数据库的第三范式()。 了关系数据库的第三范式()。
(3)可选对强制约束(聚合关系) )可选对强制约束(聚合关系)
子表Student 子表 中的外键 associationID 可以取空值
父表上操作的约束主要有: 父表上操作的约束主要有:
--插入操作:在可选对强制约束中,必须在至少有一个子女被加 插入操作:在可选对强制约束中, 插入操作 入或至少已存在一个合法子女的情况下,父亲才可以加入。 入或至少已存在一个合法子女的情况下,父亲才可以加入。 具体采用如下的步骤: 具体采用如下的步骤: (1)首先向父表中添加记录,再修改子表中的外键; )首先向父表中添加记录,再修改子表中的外键; (2)以无序的形式同时加入父表和子表记录,然后再修改子 )以无序的形式同时加入父表和子表记录, 表的外键。 表的外键。 --修改键值操作:执行这种操作的前提是,必须至少有一个子女 修改键值操作: 修改键值操作 执行这种操作的前提是, 被创建或者至少已经有一个子女存在,具体采用如下的步骤: 被创建或者至少已经有一个子女存在,具体采用如下的步骤: (1)在修改父表键值的同时将子表中的外键置空; )在修改父表键值的同时将子表中的外键置空; (2)将子表按照从父亲到儿子再到孙子的次序进行级联修改。 )将子表按照从父亲到儿子再到孙子的次序进行级联修改。 --删除操作:通常情况下,不使用级联删除子表的方法删除父表 删除操作: 删除操作 通常情况下, 记录,而是将子表的外键置空。 记录,而是将子表的外键置空。

第12章UML与数据库设计

第12章UML与数据库设计

12.3.1 类到表的转换
在将UML模型中的类转换(也可称为映射)为关系
数据库中的表时,类中的属性可以映射为数据库表 中的0个或者多个属性列,但并非类中所有的属性 都需要映射。如果类中的某个属性本身又是一个对 象,则应将其映射为表中的若干列。除此之外,也 可将若干个属性映射为表中的一个属性列。 通常情况下,应当为数据库中的每个表都定义一个 主键,而将所有的外键都设计为对主键的引用。在 将UML模型中的类映射为关系数据库中的表时,可 使用如下所示的方法为表定义主键。

查询。
13
4
西 南 交 通 大 学 信 息 科 学 与 技 术 学 院
12.3 数据库结构转换

在设计关系型数据库时,人们通常使用实体 -关系 模型来描述数据库的概念模型。与实体 - 关系模型相比, UML 的类图模型具有更强的表达能力。本节将介绍从 UML类图模型到关系数据库的结构转换问题。
5
西 南 交 通 大 学 信 息 科 学 与 技 术 学 院
7
西 南 交 通 大 学 信 息 科 学 与 技 术 学 院
12.4 完整性与约束验证
UML模型中类与类之间的关系是对现实 世界商业规则的反映,在将类图模型映射为 关系数据库时,应当定义数据库中数据上的 约束规则。如果使用对象标识符的方法映射 数据库表的主键,在更新数据库时就不会出 现完整性问题,但是对对象之间的交互和满 足商业规则来说,进行约束验证是有意义的。 本节将介绍如何进行关系约束的验证。

11
西 南 交 通 大 学 信 息 科 学 与 技 术 学 院
12.6 铁路系统UML模型到数据 库的转换
为了更好地理解前面介绍过的将UML模型转换
为关系数据库的有关规则,下面将使用它们将 铁路系统的UML模型转换为关系数据库。 铁路系统的UML类图模型,该模型由 RailwayStation、Train、Employee、Locoman 和TrainAttendant这5个类组成。

uml设计数据库步骤

uml设计数据库步骤

Your company slogan
步骤1.2:属性类型映射为域
属性类型对应于数据库中的域,域的使用可使数据库设计更具一致性, 优化了数据库应用的移植性。一般来说,实现简单域比较方便,只须 定义相应的数据类型和空间大小 类的属性描述了其所有对象共有的特性。属性的类型可以是基本数据 类型,如整数、实数、布尔型等,也可以是用户自定义类型。
Project_Name
Startdate
contactpersonOID (foreign Key)
contactpersonOID (main Key)
Phone
Fax
email
Your company slogan
(3) 一对多关联: 多个对象关联,这种关联关系 可以通过在B类(即具有多个对象的类)所对应的类表中 增加一个外键,指向另一方A类的主键,从而建立两个 表之间的关联。
UML进行数据库设计的步骤
步骤1: 基于UML中的类图生成数据库
1
对象标识映射为主键
2
属性类型映射为域
Your company slogan
类模式是UML建模技术的核心,数据库的逻辑视图由UML类图 衍生。
类图是面向对象系统的建模中最常见的图之一。类图显示了一组
类、接口、协作以及它们之间的关系,主要用于对系统静态设计视图 建模 。其中,类是面向对象系统组织结构的核心,表示被建模的应用 领域中的离散概念,是具有相同结构、行为和关系的一组对象的描述 符号。
(4) 多对多关联: * *
A
B
实现多对多关联,通常需要建立一个关联表,映射关联对 象,从而将多对多关联转化为两个一对多关联。实现时, 在新建的关联表中设置一个对象标志符OID,同时增加两 个外键,分别指向初始关联的两个类对应表的主键。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、多对多映射 多对多映射时,应建立三张表:
①为相关联的两个类分别建立两张表
②再建一个关联表。这个关联表的属性由两部分构成:前 两个表的主键,关联本身的属性。
customerID
userName
passWord
Email
creditDegree
customerID
productID
amount
延伸阅读书目
(1)构造函数 SqlConnection mycon = new SqlConnection("server=(local);database=score;uid=sa;pwd=sa"); (2)常用操作 打开连接 关闭连接 mycon.Open(); mycon.Close();
2、SqlCommand类
第二节 关联关系的映射
关联关系:一对一关联、一对多关联和多对多关联。
“一”:多重性为“1”,“0..1”
“多”:多重性为“1..n”,“0..n”
网上商店的类图
一、一对一映射 将相关联的两个类分别映射成两张表,并将任意一张表的 主键放入另一张表中作为外键。
如果此处是0..1,该 如何处理?
二、一对多映射 将关联的两个类映射为两张表,并将“一”表的主键放在 “多”表中作为外键。
二、数据接口
界面层
数据访问层(数据接口)
2层体系架构
数据接口
public class data { private static string strCon = "server=(local);database=score;uid=sa;pwd=sa"; ……
public static SqlDataReader ExecuteSqlReader(string strSQL) { SqlConnection myCon = new SqlConnection(strCon); SqlCommand myCom = new SqlCommand(strSQL, myCon); try { myCon.Open(); SqlDataReader myReader = myCom.ExecuteReader(CommandBehavior.CloseConnection); return myReader; myReader.Close(); } catch (System.Data.SqlClient.SqlException e) { throw new Exception(e.Message); } finally { myCom.Dispose(); } }
passWord
access
如何添加以下信息:
如何添加以下信息:
ID:20050001
userName:董兰芳 passWord:2008 Email:abc@ creditDegree:良好
ID:20050002
userName:刘振安 passWord:2009 Access:write
userName:刘振安 passWord:2009 Access:write
userID customerID
userName Email
passWord creditDegree access
administratorID
如何查询以下信息:
查询ID为20050001的用户的姓名和Email 查询ID为20050003的用户的姓名和权限
Label1.Text = "学号:" + StuID + "<br/>姓名:" + StuName + "<br/>英 语:" + EnglishScore + "<br/>计算机:" + ComputerScore + "<br/>数 学:" + MathScore + "<br/>平均分:" + AvgScore;
userName 牛丽平 郭新志 宋强 杨继萍
passWord 12 34 56 78 creditDegree 一级 二级
Email x@ y@ Access 备份 修改
administratorID 20020003 20020004
userID customerID
userID customerID
userName Email
passWord creditDegree access
administratorID
优点:表结构的更改非常方便 缺点:表的数量较多,相关的数据分散在不同的表中,数 据读写时间较长,报表的生成较为困难
方法2:只将子类映射为表
表中包含子类自身的属性和继承自父类的属性
网上商店的类图
第一节 泛化关系的映射
方法1:将父类和子类均映射为表
userID userName passWord
customerID
Email
creditDegree
administratorID
access
这种方式有何优缺点?
userID 20020001 20020002 20020003 20020004 customerID 20020001 20020002
myreader.Close(); mycon.Close();
实例:写数据库(1层构架)
SqlConnection mycon = new SqlConnection("server=(local);Database=score;uid=sa;pwd=sa"); mycon.Open();
SqlCommand mycom = new SqlCommand("update CourseScoreTable set EnglishScore=98 where StuID=20050001", mycon); mycom.ExecuteNonQuery(); mycon.Close();
另外的例子:
方法3:只将父类映射为表
优点:表的数量较少,数据读写方便 缺点:耦合性强;需要增加一列,以表明类的角色;浪费存 储空间较多
评价:
以上三种方法各有所长,在实际应用中,根据具体情况选 用。
一般情况下,建议选用第二种方式,即只将子类映射为表, 各表中包含子类自身的属性和继承自父类的属性。
while (myreader.Read() == true) { StuID= Convert.ToInt32(myreader.GetValue(0)); StuName = Convert.ToString(myreader.GetValue(1)); EnglishScore = Convert.ToInt32(myreader.GetValue(2)); ComputerScore = Convert.ToInt32(myreader.GetValue(3)); MathScore = Convert.ToInt32(myreader.GetValue(4)); AvgScore = Convert.ToSingle(myreader.GetValue(5)); }custΒιβλιοθήκη merIDuserName
passWord Email
creditDegree
administratorID
userName
passWord
access
如何查询以下信息:
查询ID为20050001的用户的姓名和Email 查询ID为20050003的用户的姓名和权限
customerID
第13章 UML与数据库设计
学习
UML与数据库设计要讨论的主要内容:
类图

关联关系 类之间的关系 泛化关系 依赖关系
依赖关系强调的是类操作间的使用关系,类图到表结构的 映射中并不涉及这种关系,所以下面只讨论泛化关系、关 联关系到表的映射规范。
泛化关系
类之间关 系的映射 关联关系 一对一 一对多 多对多
customerID userName
passWord Email creditDegree
administratorID userName
passWord access
customerID
userName
passWord Email
creditDegree
administratorID
userName
另外一种读数据库并以表格的形式显示在网页中的方法
3、SqlDataAdapter类(数据适配器) 用于连接数据源与数据集
4、DataSet类:数据集 内在中的数据库
SqlConnection mycon = new SqlConnection("server=(local);database=score;uid=sa;pwd=sa"); SqlDataAdapter myadapter = new SqlDataAdapter("select * from CourseScoreTable",mycon); DataSet ds = new DataSet(); myadapter.Fill(ds, "CourseScoreTable"); GridView1.DataSource = ds.Tables["CourseScoreTable"]; GridView1.DataBind(); mycon.Close();
用于执行SQL数据语句
(1)构造函数
SqlCommand mycom = new SqlCommand("select * from CourseScoreTable where StuID=20050001",mycon);
相关文档
最新文档