标签: normalization

我应该如何将数据从"糟糕"的数据库设计迁移到可用的设计?

我继承的当前项目主要围绕一个非标准化表.有一些尝试正常化,但没有实施必要的限制.

示例:在Project表中,有一个客户端名称(以及其他值),还有一个客户端表,它只包含客户端名称[无任何键在任何地方].clients表仅用作值池,以便在添加新项目时为用户提供.客户端表或外键上没有主键.

诸如此类的"设计模式"在数据库的当前状态和使用它的应用程序中很常见.我可以使用的工具是SQL Server 2005,SQL Server Management Studio和Visual Studio 2008.我最初的方法是手动确定哪些信息需要规范化并运行Select INTO查询.有没有比个案更好的方法,或者无论如何这可以自动化?

编辑: 此外,我发现"工单号"不是IDENTITY(自动编号,唯一)字段,它们是按顺序生成的,对每个工单都是唯一的.现有编号也存在一些差距,但都是独一无二的.这是编写存储过程以在迁移之前生成虚拟行的最佳方法吗?

sql sql-server refactoring rdbms normalization

8
推荐指数
1
解决办法
1133
查看次数

公告板 - 数据库优化

这个问题是本课题的后续 问题

项目和问题

我目前正在开展的项目是一个大型非营利组织的公告板.公告板将用于允许组织内的办公室间通信.

我正在构建应用程序,并且无法从我的数据库中提取我需要的结果,因为我认为它没有正确规范化,并且由于我对关系数据库理论和mysql的了解有限.

我将非常感谢董事会设计的输入,特别是可以改进数据库结构以促进有效查询的方式,并帮助我更快地开发此应用程序和未来的应用程序

商业逻辑

公告板将按以下方式使用

  1. 发布公告和对公告的回复
    1. 全国各地办事处的员工或"用户"都可以将信息发布到公告板上.必须将信息张贴到某个地点并进行分类 - 我将称之为"公告".
    2. 用户将能够在任何一个公告上发布任意数量的回复,用户将能够回复他们自己的公告 - 我将称之为"回复".
  2. 评级公告和回复
    1. 用户可以"喜欢"或"不喜欢"公告或回复,每个公告或回复都会显示喜欢或不喜欢的总数.
  3. 查看公告板和响应
    1. 公告可以按时间顺序显示.
    2. 用户可以按照该公告的最新回复按时间顺序或按时间顺序对公告进行排序(如果您需要更多解释,请告诉我)
    3. 选择特定公告后,将按时间顺序显示对该公告的回复
-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jan 16, 2011 at 06:44 PM
-- Server version: 5.1.41
-- PHP Version: 5.3.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Database: `bulletinboard`
--

-- --------------------------------------------------------

--
-- Table structure for table `bbs`
--

CREATE TABLE IF NOT EXISTS `bbs` (
  `id` int(11) NOT …
Run Code Online (Sandbox Code Playgroud)

php mysql database-design normalization

7
推荐指数
2
解决办法
4930
查看次数

7
推荐指数
2
解决办法
1744
查看次数

规范封面和最小封面之间的区别

如果这是一个荒谬的问题,请道歉;

我一直在高低搜索,但无济于事.

我知道如何计算最小覆盖率;

即确保每个功能依赖只在RHS上有一个属性,通过计算每个检查所有FD的闭包来删除extratraneous/redudant lhs属性,看看是否可以删除(再次通过计算闭包)

"规范"是否涵盖同一事物的另一个词?

database normalization functional-dependencies

7
推荐指数
2
解决办法
8499
查看次数

什么是xml规范化?

可能重复:
Java Node normalize方法有什么作用?

什么是xml规范化.我在javadoc中找到了以下但我无法理解它?有人可以帮忙吗?

public void normalize()
Run Code Online (Sandbox Code Playgroud)

将所有Text节点放在此Node下面的子树的完整深度(包括属性节点)中,形成"普通"形式,其中只有结构(例如,元素,注释,处理指令,CDATA部分和实体引用)分隔Text节点,即既没有相邻的Text节点也没有空的Text节点.这可以用于确保文档的DOM视图与保存和重新加载的视图相同,并且在依赖于特定文档树结构的操作(例如XPointer [XPointer]查找)是使用.如果附加到Node.ownerDocument的DOMConfiguration对象的参数"normalize-characters"为true,则此方法还将完全规范化Text节点的字符.注意:如果文档包含CDATASections,单独的规范化操作可能是不够的,因为XPointers不区分Text节点和CDATASection节点.自:DOM Level 3

java xml terminology normalization

7
推荐指数
1
解决办法
7847
查看次数

有趣的树/分层数据结构问题

大学有不同的组织部门的方式.有些学校去了School -> Term -> Department.其他人介于两者之间,最长的是School -> Sub_Campus -> Program -> Term -> Division -> Department.

School,Term和,并且Department是学校的"树"部门中唯一存在的.这些类别的顺序永远不会改变,我给你的第二个例子是最长的.每一步都是1:N的关系.

现在,我不确定如何建立表之间的关系.例如,列中包含哪些列Term?其母公司可能是Program,Sub_CampusSchool.它取决于学校的系统.我可以设想将Term表设置为所有这些(所有这些都默认为NULL)的外键,但我不确定这是在这里做事的规范方式.

sql database tree normalization hierarchy

7
推荐指数
1
解决办法
1216
查看次数

如何将拉丁语unicode字符替换为[az]字符

我正在尝试将所有拉丁语unicode字符转换为它们的[a-z]表示形式

ó --> o
í --> i
Run Code Online (Sandbox Code Playgroud)

我可以轻松地逐一进行,例如:

myString = myString.replaceAll("ó","o");
Run Code Online (Sandbox Code Playgroud)

但由于存在大量的变化,这种方法是不切实际的

有没有其他方式在Java中这样做?例如a regular Expression或autility library

使用案例:

1-城市名称从其他语言到英语,例如

EspíritoSanto - > Espirito Santo,

java regex string unicode normalization

7
推荐指数
1
解决办法
2313
查看次数

模仿Agda中的类型的Haskell规范(仅限一个实例)

Agda的记录和instance关键字的混合使我们的行为类似于Haskell的类型类.而且,忽略instance关键字,我们可以为同一类型设置多个实例 - 这是我们在Haskell中无法做到的.

我正处于需要Haskell的单实例要求的地步,但在Agda中.是否有编译器选项或一些技巧/启发式来强制执行此操作?

现在我采取的方法是,

record Yo (n : ?) : Set where
  field
    sem : (some interesting property involving n)

open Yo {{...}}

postulate UniqueYo: ? {n} (p q : Yo n) ? p ? q
Run Code Online (Sandbox Code Playgroud)

然而,每当我实际使用UniqueYo缺乏计算时,我的目标就会充斥着...| UniqueYo p p我喜欢的地方...| refl或完全重写为正常形式的东西.

任何帮助表示赞赏!

haskell normalization typeclass agda

7
推荐指数
1
解决办法
152
查看次数

如果使用批量标准化,是否需要标准化输入?

我一直在玩Keras的批量标准化.我想知道批量标准化是否也使神经网络的输入正常化.这是否意味着我不需要标准化我的网络输入并依靠BN来做到这一点?

machine-learning normalization neural-network keras

7
推荐指数
1
解决办法
850
查看次数

pandas DataFrame 中的 Z 分数标准化 (python)

我正在使用 python3 (spyder),并且我有一个对象类型为“pandas.core.frame.DataFrame”的表。我想对该表中的值进行 z 分数标准化(每个值减去其行的平均值并除以其行的 sd),因此每行的平均值 = 0 和 sd = 1。我尝试了两种方法。

\n\n

第一种方法

\n\n
from scipy.stats import zscore\nzetascore_table=zscore(table,axis=1)\n
Run Code Online (Sandbox Code Playgroud)\n\n

第二种方法

\n\n
rows=table.index.values\ncolumns=table.columns\nimport numpy as np\nfor i in range(len(rows)):\n    for j in range(len(columns)):\n         table.loc[rows[i],columns[j]]=(table.loc[rows[i],columns[j]] - np.mean(table.loc[rows[i],]))/np.std(table.loc[rows[i],])\ntable\n
Run Code Online (Sandbox Code Playgroud)\n\n

两种方法似乎都有效,但是当我检查每行的平均值和标准差时,它不是想象中的 0 和 1,而是其他浮点值。我不知道\xc2\xb4t 可能是哪个问题。

\n\n

在此先感谢您的帮助!

\n

normalization python-3.x pandas spyder

7
推荐指数
1
解决办法
3万
查看次数