首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从x数的表中查询特定的键字段?

从x数的表中查询特定的键字段?
EN

Database Administration用户
提问于 2020-07-27 10:40:17
回答 1查看 29关注 0票数 0

我正在建立一个保险数据库,我需要一些关于快速查询数据的最佳实践的帮助。

假设我有三种保险..。车,家和旅行。

对于所有三种类型,我都有“保险”表:

代码语言:javascript
复制
[dbo].[Insurance] (
    [InsuranceID] [uniqueidentifier] ROWGUIDCOL  NOT NULL,
    [CustomerID] [uniqueidentifier] NOT NULL,
    [CreatedDate] [datetime] NOT NULL
) 

然后我有三种保险:

代码语言:javascript
复制
[dbo].[InsuranceCar] (
    [InsuranceCarID] [uniqueidentifier] ROWGUIDCOL  NOT NULL,
    [InsuranceID] [uniqueidentifier] NOT NULL,
    [Model] [uniqueidentifier] NOT NULL
) 

[dbo].[InsuranceHome] (
    [InsuranceHomeID] [uniqueidentifier] ROWGUIDCOL  NOT NULL,
    [InsuranceID] [uniqueidentifier] NOT NULL,
    [Address] [uniqueidentifier] NOT NULL
) 

[dbo].[InsuranceTravel] (
    [InsuranceTravelID] [uniqueidentifier] ROWGUIDCOL  NOT NULL,
    [InsuranceID] [uniqueidentifier] NOT NULL,
    [Destination] [uniqueidentifier] NOT NULL
) 

所有三种保险类型都有一个“关键搜索字段”,用于查询保险--在“汽车”中是“型号”,在“家”中是“地址”,在“旅行”中是“目的地”。

所以我解决这个问题的方法是在“保险”表中创建一个"_Search“列.

代码语言:javascript
复制
[dbo].[Insurance] (
    [InsuranceID] [uniqueidentifier] ROWGUIDCOL  NOT NULL,
    [CustomerID] [uniqueidentifier] NOT NULL,
    [CreatedDate] [datetime] NOT NULL,
    [_Search] [nvarchar(MAX)] NULL
) 

..。当创建/更新任何保险类型表行时,我会将"key seach字段“从入侵类型表复制到" insurance”表"_Search“列中(使用触发器)。

通过这种方式,我可以通过查询“保险”表中的"_Search“字段来快速查询三个保险类型表中的任何关键字段。

问题是它在数据库中占用了更多的空间来这样做。

有什么更好的方法吗?最佳实践?

谢谢。

EN

回答 1

Database Administration用户

发布于 2020-07-27 14:33:48

首先理解问题,然后再担心性能。

这个问题太宽泛了,不适合这个场合。然而,作为在财产和伤亡行业工作的人,我不得不说.踩一下刹车。如果这是个业余项目..。有些爱好更令人放松。

这不是一件容易的事情,我可以说,我在这方面做了很多尝试,他们都犯了一些错误,尤其是当涉及到你描述的问题时--有多种类型的保险合同。

最终,这就是你在这里所做的建模--一个契约。保险合同有规则,可以修改,保险费必须正确计算和平衡,并且受到高度管制。

因此,这里的最佳做法是:

  1. 通过数据模型执行尽可能多的合同条款
  2. 任何不能通过模型强制执行的东西都必须通过事务逻辑强制执行。
  3. 确保您知道您的管辖范围的报告和审计要求。

阅读这篇文章,然后参考下图。这是个领先的开始。

这个模型甚至不能解决您需要解决的一些主要概念,例如:

  1. 承保范围/保险线路/报告代码
  2. 管辖范围
  3. 限额/免赔额
  4. 表格/背书
  5. 跨策略类型管理客户信息
  6. 保费与保单会计

另外,“快速查询”和GUID很少一起出现。您还会注意到,上面的数据模型中没有它们。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/271710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档