SQL Server MDS(主数据服务)介绍




Master Data Services(主数据服务)介绍

主数据是用来描述企业核心业务实体的数据,比如客户、合作伙伴、员工、产品、物料单、账户等;它是具有高业务价值的、可以在企业内跨越各个业务部门被重复使用的数据,并且存在于多个异构的应用系统中。

说起来好像很抽象,举个例子:简单的一条销售记录:

时间 地区 产品 价格 数量 记录人
2018-3-31 四川 自行车-001 309.00 2 user01

这条数据并不是特别完整, 是简化的记录,但是就这条数据中,就有如“记录人”、“地区”、“产品”这样的数据需要进行主数据管理,因为可能由于各系统的不同,记录人有的使用了“登录名”,有的系统可能是“显示名”,或者用户名发生了更改,那么前后记录就会发生变化,而这种变化很难追朔,就导致后期数据处理和统计时候出现很多错误。“地区”字段,有可能有的系统使用的“四川省”,有的地方使用了“四川”简称,有的可能使用了“中国-四川”这样就会导致后期处理出现很多错误信息。

因此如何将这些信息数据标准化,各子系统的数据统一。并且数据可以重复使用,当数据变化时候能够有所追朔,并且各子系统可以立刻拿到最新的数据,这就是主数据存在的价值。 当然还有更多复杂的需要,如:主数据的安全如何管理,谁可以读,谁可以改等。

SQL Server在2008提供了MDS功能。可以很方便容易的进行MDS的管理。

Master Data Services 的安装

使用 Master Data Services需要安装一些Windows的一些功能,可以使用下面的Power Shell 脚本进行安装。

Install-WindowsFeature Web-Mgmt-Console, AS-NET-Framework, Web-Asp-Net, Web-Asp-Net45, Web-Default-Doc, Web-Dir-Browsing, Web-Http-Errors, Web-Static-Content, Web-Http-Logging, Web-Request-Monitor, Web-Stat-Compression, Web-Filtering, Web-Windows-Auth, NET-Framework-Core, WAS-Process-Model, WAS-NET-Environment, WAS-Config-APIs  

Install-WindowsFeature Web-App-Dev, NET-Framework-45-Features -IncludeAllSubFeature Restart  

在SQL Server安装过程中安装此功能。

1、打开SQL Server的安装文件,双击 Setup.exe,然后按照安装向导中的步骤进行操作。

2、在“功能选择”页的“共享功能”下,选择 Master Data Services。 安装即可,

安装完成后,在开始菜单

Microsoft SQL Server 2017>Master Data Services>SQL Server 2017 Master Data Services 配置管理器

打开SQL Server 2017 Master Data Services 配置管理器 配置器就可以进行相应的配置,界面如下:

Master Data Services 的配置

首先需要创建数据库,因此点击创建数据库,按照下面向导即可创建

输入需要创建的数据库服务器名称和权限。

输入相应的数据库名称,和选择排序规则

管理员名称

创建完成后可以看到如下信息:包含数据库实例名字,数据库名,还有版本信息。当然还可以设置相应的连接数据库的参数,如超时等。


完成数据库配置后,需要进行web配置,点击web配置,创建应用程序池

输入相应的用户密钥,路径信息,即可进行配置。结果如下:


选择需要连接的mds数据库

应用后,完成提示可以浏览web应用程序,确定后打开如下界面,如果没有安装sliverlight,会提示安装。

概念介绍

使用MDS首先要理解几个概念,模型,实体,属性,业务规则几个概念

模型:模型是 Master Data Services中最高级别的数据组织。 模型定义了您的主数据管理解决方案中的数据结构。 模型包含以下对象: 实体 、属性和属性组 、显式层次结构和派生层次结构 、集合

模型组织您的主数据的结构。 你的 Master Data Services 实现可能有一个或多个模型,每个模型都会将相似类型的数据组合在一起。 通常,可通过以下四种方式之一划分主数据:人员、地点、事件或概念。 例如,可以创建 Product 模型来包含与产品有关的数据,或创建 Customer 模型来包含与客户有关的数据。

可以分配用户和组权限来查看和更新模型中的对象。 如果您不授予对模型的权限,则它不显示。

您随时都可以创建模型中主数据的副本。 这些副本称为版本。

在测试环境中定义一个模型后,可以带或不带相应数据将它从测试环境部署到生产环境。 这样就不必在生产环境中重新创建您的模型。

实体:实体是 Master Data Services 模型中包含的对象。 每个实体都包含成员,它们是您管理的主数据的行。 模型可以包含想要管理的任意多个实体。 每个实体应将相似类型的数据分组。 例如,您可能希望将一个实体用于您的所有公司帐户,或将一个实体用于雇员的主列表。

通常,有一个或多个中心实体对于您的业务非常重要,它们与模型中的其他对象关联。 例如,在 Product 模型中,可能有一个名为 Product 的中心实体和与 Product 实体关联的名为 Subcategory 和 Category 的实体。 但是,您不需要一定有中心实体。 根据您的需要,可能希望有几个同等重要的实体。

属性:属性是 Master Data Services 实体中包含的对象。 属性值描述实体的成员。 属性可用于描述叶成员、合并成员或集合。

下图视图以产品模型为例 ,表示了模型、实体、集合、属性的关系

下面的示例中,Product 模型中的对象以逻辑方式对与产品相关的数据进行分组

其他常见的模型有:

•科目,它可能包含资产负债表科目、损益表科目、统计信息和科目类型等实体。

•客户,它可能包含性别、教育、职业和婚姻状况等实体。

•地理信息,它可能包含邮政编码、城市、县、州、省、区域、国家/地区和洲等实体。

导入学习包

学习MDS可以导入相应的学习案例来进行学习。

以下三个示例模型包都包含在 Master Data Services中。 这些示例模型包括数据。 示例模型包的默认位置为 %programfiles%\Microsoft SQL Server\140\Master Data Services\Samples\Packages

•chartofaccounts_en.pkg

•customer_en.pkg

•product_en.pkg

1、将示例模型包复制到c:\Program Files\Microsoft SQL Server\140\Master Data Services\Configuration。

2、通过运行以下命令打开管理员命令提示符,然后导航到 MDSModelDeploy.exe。


部署 chartofaccounts_en.pkg 示例模型 
cd c:\Program Files\Microsoft SQL Server\140\Master Data Services\Configuration

下面命令 返回的值列表中,第一个服务值为指定用于部署模型的值。 
MDSModelDeploy listservices
部署 chartofaccounts_en.pkg 示例模型 
MDSModelDeploy deploynew -package chartofaccounts_en.pkg -model ChartofAccounts -service MDS1 
部署 customer_en.pkg 示例模型 
MDSModelDeploy deploynew -package customer_en.pkg -model Customer -service MDS1  
部署 product_en.pkg 示例模型 
MDSModelDeploy deploynew -package product_en.pkg -model Product -service MDS1  

部署完成后可以访问web站点,如                                  

http://localhost/MDS

可出现如下界面:

浏览管理模型

使用资源管理器可以对模型进行添加,修改等操作,如图,模型选product,默认版本,点击资源管理器。

可以看到有实体、实体依赖关系、层次结构、集合、变更集的操作。

比如选择color实体,就可以看到如下的数据

在这个界面可以进行添加、删除成员,也可以使用应用规则,应用规则指模型实体的相关业务规则。

业务规则是您在 ssMDSmdm 中创建的 主数据管理器语句。 如果属性值符合指定条件,会执行操作,否则执行 Else 操作。 可能的操作包括设置默认值或更改值。 这些操作可与发送电子邮件通知这一操作结合使用。

业务规则可以基于特定属性值(例如,如果 Color=Blue,则执行操作),或在属性值发生更改时(例如,如果 Color 属性的值发生更改,则执行操作)应用。 有关跟踪非特定更改的详细信息,请参阅更改跟踪 (Master Data Services)。

若要使用业务规则,您必须首先创建和发布规则,然后将已发布的规则应用于数据。 您可以通过验证某一版本,将规则应用于该版本的数据的子级或全部数据。 在所有属性都通过业务规则验证前,不能提交版本。

如果用户尝试添加未通过业务规则验证的某一属性值,仍可以保存该值。 您可以查看并纠正在 主数据管理器中显示的验证问题。

在您创建模型部署包时,如果想要包括业务规则,则必须包括来自该包中版本的数据。

如果您创建使用 OR 运算符的业务规则,应为可以独立进行计算的每个条件语句创建单独的规则。 然后,您可以根据需要排除规则,提供更高的灵活性以及更便于排除故障。

也可以使用Excel 进行模型的管理,需要下载 用于 Excel 的 MDS 外接程序,如何使用,

可参考如下链接:

https://docs.microsoft.com/zh-cn/sql/master-data-services/microsoft-excel-add-in/master-data-services-add-in-for-microsoft-excel

开始使用MDS

点击主页的 系统管理 可进行模型的创建

点击添加,即可添加模型

模型添加后,需要添加实体、属性等,总体来说需要很多事情需要完成,本文不能全部写完,可自行摸索完成以下

Master Data Services 功能和任务

主数据的功能和任务中,需要完成

1、创建模型,和数据结构等

2、有了数据后,需要进行数据维护工作

3、数据还需要提高数据质量

4、数据如何进行导入导出转移,移动的操作

5、如何开发自定义的应用程序

下面的连接包含了所有的任何和工作。请参考,如果不能点击,请浏览

https://docs.microsoft.com/zh-cn/sql/master-data-services/master-data-services-features-and-tasks

创建要包含数据的结构

维护主数据

提高数据质量

导入导出数据

开发自定义应用程序

集成应用

主数据管理最终都会应用在各自的系统,MDS提供了service来进行调用和管理。

首先修改 C:\Program Files\Microsoft SQL Server\140\Master Data Services\WebApplication\web.config文件,找到 <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />  将这两个参数改为 true

访问类似连接:

http://localhost/MDS/service/service.svc

可以做的操作有如下:

模型操作

这些操作用于创建、更新和删除模型,以及对所有模型内容(如实体、层次结构和版本)执行操作。 有关详细信息,请参阅模型 (Master Data Services)。

|||-||MetadataClone||MetadataCreate||MetadataDelete||MetadataGet||MetadataUpdate|

实体操作

这些操作用于创建、更新和删除单个实体的成员。 有关详细信息,请参阅实体 (Master Data Services) 和成员 (Master Data Services)。

|||-||EntityMemberKeyLookup||EntityMembersCopy||EntityMembersCreate||EntityMembersDelete||EntityMembersGet||EntityMembersMerge||EntityMembersUpdate|

成员操作

这些操作用于获取、更新和删除成员。 这组操作的成员可能包含多个实体中的成员。 有关详细信息,请参阅成员 (Master Data Services)。

|||-||ModelMembersBulkDelete||ModelMembersBulkMerge||ModelMembersBulkUpdate||ModelMembersGet|

属性和层次结构操作

这些操作用于获取属性和层次结构信息。 还可通过使用模型操作来修改属性和层次结构,如 MetadataUpdate。 有关详细信息,请参阅属性 (Master Data Services) 和层次结构 (Master Data Services)。

|||-||EntityMemberAttributesGet||HierarchyMembersGet|

业务规则操作

这些操作用于创建、更新、删除和发布业务规则。 有关详细信息,请参阅业务规则 (Master Data Services)。

|||-||BusinessRulesClone||BusinessRulesCreate||BusinessRulesDelete||BusinessRulesGet||BusinessRulesPaletteGet||BusinessRulesPublish||BusinessRulesUpdate|

批注操作

这些操作用于创建、更新和删除批注。 有关详细信息,请参阅批注 (Master Data Services)。

|||-||AnnotationsDelete||AnnotationsUpdate||EntityMemberAnnotationsCreate||EntityMemberAnnotationsGet||TransactionAnnotationsCreate||TransactionAnnotationsGet|

事务操作

这些操作用于获取和撤消事务。 有关详细信息,请参阅事务 (Master Data Services)。

|||-||TransactionsGet||TransactionsReverse|

版本和验证操作

这些操作用来复制和验证版本。 有关详细信息,请参阅版本 (Master Data Services) 和验证 (Master Data Services)。

|||-||VersionCopy||ValidationGet||ValidationProcess|

数据质量操作

这些操作用于执行数据质量任务并检查其结果。

|||-||DataQualityCleansingOperationCreate||DataQualityMatchingOperationCreate||DataQualityInstalledState||DataQualityKnowledgeBasesGet||DataQualityOperationStart||DataQualityOperationResultsGet||DataQualityOperationStatus|

数据导入操作

这些操作用于将数据导入到 Master Data Services 数据库。 有关详细信息,请参阅概述:导入表中数据 (Master Data Services)。

|||-||EntityStagingClear||EntityStagingGet||EntityStagingLoad||EntityStagingProcess|

以下操作用于通过使用 SQL Server 2008 R2 中所包含的临时过程导入数据。 这些操作应仅用于支持现有数据库。 对于新的开发工作,请使用前面列出的操作。

|||-||StagingClear||StagingGet||StagingNameCheck||StagingProcess|

数据导出操作

这些操作可用于通过使用订阅视图导出数据。 有关详细信息,请参阅概述:导出数据 (Master Data Services)。

|||-||ExportViewCreate||ExportViewDelete||ExportViewListGet||ExportViewUpdate|

安全操作

这些操作用于修改控制对 Master Data Services 数据库进行访问的安全设置。 有关详细信息,请参阅安全性 (Master Data Services)

|||-||SecurityPrincipalsClone||SecurityPrincipalsCreate||SecurityPrincipalsDelete||SecurityPrincipalsGet||SecurityPrincipalsUpdate||SecurityPrivilegesClone||SecurityPrivilegesCreate||SecurityPrivilegesDelete||SecurityPrivilegesGet||SecurityPrivilegesUpdate|

系统操作

这些操作用于获取和更新系统设置和用户首选项。

|||-||ServiceCheck||ServiceVersionGet||SystemDomainListGet||SystemPropertiesGet||SystemSettingsGet||SystemSettingsUpdate||UserPreferencesDelete||UserPreferencesGet||UserPreferencesUpdate|

以上方法足够满足应用的需求,详细的开发参考开发文档:https://docs.microsoft.com/zh-cn/sql/master-data-services/develop/categorized-web-service-operations-master-data-services

总结

SQL Server 提供的主数据管理,可以说是博大精深,简单方案, 企业发展到一定程度必然面临主数据管理的问题,很多厂商,数据库产品都提供主数据的功能,也有开源的产品。SQL Server提供的是一套成熟的企业级的主数据管理产品,并且包含在数据库中作为一个组件,不需要单独付费。

Max Shen,2018年4月




猜你喜欢

转载自blog.csdn.net/capsicum29/article/details/79782145
今日推荐