小编Pas*_*rby的帖子

对不同(但相似)的商业计划使用不同的表是一种好的做法吗?

有一个非常相似的问题:使用大量不同的需要知道信息对产品进行建模并将它们与线条项目相关联?但我找不到能帮助我的答案;

上述问答中的某些人指出设计数据库以保存不同的元数据信息,这有很好的接受答案,但由于我的程序中明确需要搜索功能,所以我不希望性能受到损害.


我是一名"技术人员",使用PHP + Oracle来跟踪公司的销售进度并生成报告.我们的工作流程通常如下所示:

  1. 营销人员为我的系统提供准备好的数据集;
  2. 前线员工(销售)标志着我的系统的进展;
    • 任何人都可以在系统中搜索结果;
  3. 我向营销人员生成报告.

问题:

许多数据集列是相同的(或可以认为是相同的),如下所示:

account|customer_name|gender|location|program_segment|...
Run Code Online (Sandbox Code Playgroud)

但营销部门.喜欢提出新想法(并放弃现有想法),因此每个"销售计划(活动)"可能有自己的数据,例如

对于计划1,它们可能包含:

...|prev_coupon_code|last_usage_amount|...
Run Code Online (Sandbox Code Playgroud)

但是,对于计划2,它们可能包含:

...|is_in_plan_1|is_in_plan_2|...
Run Code Online (Sandbox Code Playgroud)

你明白了.

不成功的尝试:

  • 为了保存所有数据,我曾经使用一个"足够长"的表,它具有所有可能的属性(列),并留下空白/不必要的属性NULL.

    但现在我觉得它永远不会"足够长",因为有太多"属性"甚至更多"销售重点":我为系统的新版本起草了一个41列表,突然他们提出了一个具有无法适应的信息的新程序.

  • 有人建议我在表格中创建"虚拟列"并在前端"记住"它们的不同含义.这可以适用于几种数据类型,例如NUMBER(1)Y/N DATE等,但在谈到时VARCHAR2,我不确定其中有多少是足够的......加上这使得表看起来"脏".

题:

沮丧,我现在正在认真考虑为不同的程序使用不同的表格,并使用UNION条款生成大报告,以防他们被问到"我们如何在本月/季节/年销售?"

从技术上讲,这是一个好习惯吗?我应该实施吗?


编辑#1:

为了澄清,一个"销售计划"通常会在它被放弃之前运行几个月,并且每个运行程序每月至少会有一个数据集.

并且可以有多个程序同时运行.

编辑#2:

那些"程序指定的"列有各种数字:一个程序可能需要10个,而另一个程序可能只需要1个.

php database oracle database-design

5
推荐指数
1
解决办法
123
查看次数

“加载资源失败:服务器响应状态为 500(内部服务器错误)”

在使用 ajax 使用 JavaScript 调用 html 页面中的 Web 服务时,我真的无法理解这里的确切问题是什么,因为它会产生以下错误:

加载资源失败:服务器响应状态为 500(内部服务器错误)

阿贾克斯代码:

function Image() {
    $.ajax({

        type: "POST",
        url: "WebService.asmx/GetImage",
        data: "{'sDB': '" + "sDB" + "'}", 
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: OnGetMemberSuccess,
        failure: function (errMsg) {
            $('#errorMessage').text(errMsg);  //errorMessage is id of the  div
        }
    });
    function OnGetMemberSuccess(data, status) {
        alert("data" + data.d);
        $("#MemberDetails").html(data.d);
        $('input[type=button]').attr('disabled', false);
    }
}
Run Code Online (Sandbox Code Playgroud)

其中 sDB 为 Null。

按钮点击代码:

<input type="button" id="Button" value="Image" onclick="Image()" />
Run Code Online (Sandbox Code Playgroud)

我在以前的项目中使用了相同的代码,但工作正常。

网络服务代码:

<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> <WebMethod()> _
Public Function GetImage()

    Dim cmd …
Run Code Online (Sandbox Code Playgroud)

javascript vb.net ajax web-services

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

Google Closure Compiler 内联重复使用的私有财产 - 是缺陷还是我遗漏了什么?

前段时间我在 StackOverflow 上发现了一个 JavaScript base64 编码器/解码器。它看起来像这样:

var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128); …
Run Code Online (Sandbox Code Playgroud)

javascript google-closure-compiler

5
推荐指数
1
解决办法
187
查看次数

php上传和内部服务器错误

我正在使用带有 php 的 html 表单将数据上传到 mysql。

当我在笔记本电脑 (wamp) 上使用表单时,表单工作正常,但是当我将站点上传到我的专用服务器 (ispconfig) 时出现此错误

Internal Server Error
服务器遇到内部错误或配置错误,无法完成您的请求。

我尝试更改 php.ini 中的值

post_max_size  64M
upload_max_filesize 64M
max_input_time 3000
max_execution_time 3000
Run Code Online (Sandbox Code Playgroud)

而 apache 中的那些也在

memory_limit 96M
post_max_size 64M
upload_max_filesize 64M
Run Code Online (Sandbox Code Playgroud)

但我仍然无法上传。

谢谢您阅读此篇。

php upload post ini

4
推荐指数
1
解决办法
2万
查看次数

PHP使用DatePeriod创建具有中断时间的时间段

我想创建包含开始,结束时间和休息时间的时隙.

public function getServiceScheduleSlots($duration,$break, $stTime,$enTime)
{
    $start = new DateTime($stTime);
    $end = new DateTime($enTime);
    $interval = new DateInterval("PT" . $duration. "M");
    $period = new DatePeriod($start, $duration, $end);

    foreach ($period as $dt) {
        $periods[] = $dt->format('H:iA');
    }
    return $periods;
}
Run Code Online (Sandbox Code Playgroud)

例如,
我的服务开始时间为上午10:00,结束时间中午12:00.
条件: 每个服务时间30分钟15分钟休息.

上面的方法返回如,

  • 上午10:00 - 上午10:30
  • 上午10:30 - 上午11:00
  • 上午11:00 - 上午11:30
  • 上午11:30 - 中午12:00

预期结果为,

  • 上午10:00 - 上午10:30
  • 上午10:45 - 上午11:15
  • 上午11:30 - 中午12:00

我想在每个时段开始时添加休息时间.

提前致谢.

php datetime php-5.3

4
推荐指数
1
解决办法
1992
查看次数

如何从字符串中删除前导零

我必须从字符串中提取整数值.
它实际上是一个数量字段.

说字符串可以是000000000000512或者0000040000000
我只想要来自该字符串的整数值即; 512/4000000
请在VB脚本中帮助解决这个问题

vbscript

4
推荐指数
2
解决办法
3万
查看次数

在 NodeJS 中按值排序数组

我正在学习节点,现在我正在尝试订购这样的数组:

"lng" : [{
        "ES" : 5,
        "EN" : 3,
        "IT" : 4
    }]
Run Code Online (Sandbox Code Playgroud)

(这是MongoDB中查询结果的一部分),我需要按数字对数组进行排序:

"ES" : 5,
"IT" : 4,      
"EN" : 3
Run Code Online (Sandbox Code Playgroud)

我使用过,sort()但此函数按第一个参数的字母顺序排列数组,但我需要按第二个参数排序,我尝试了很多方法但没有结果。

感谢您的帮助!

arrays sorting node.js

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

如何使视频适合div?

我需要一些帮助.我知道这篇文章以前已经完成,但我试过的任何内容都不适合我.所以基本上我有一个300px到250的div,我想让我的视频适合这个而不用300到250的视频.你能不能帮我谢谢!:)

body {
  margin: 0;
}

#banner{
	position:fixed;
	margin:0;
	width:300px;
	height:250px;
	border: 1px solid red;
}

#banner video{
    position: fixed;
    width: 300px !important;
    height: auto !important;
    background: url('//demosthenes.info/assets/images/polina.jpg') no-repeat;
    background-size: cover;
    transition: 1s opacity;
    z-index:-1;
}
Run Code Online (Sandbox Code Playgroud)
<div id="banner">
<video autoplay  poster="https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/polina.jpg" id="bgvid" loop >
  <!-- WCAG general accessibility recommendation is that media such as background video play through only once. Loop turned on for the purposes of illustration; if removed, the end of the video will fade in the same …
Run Code Online (Sandbox Code Playgroud)

html css html5-video

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

abs():参数 #1 ($num) 必须为 int|float 类型,给定字符串

我想预览 pdf,但更新到 php 8 和一些软件包更新后打不开。
这段代码来自 laravel

function konversi($x)

    {

        $x = abs($x);

        $angka = array("", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan",   "Sembilan", "Sepuluh", "Sebelas");

        $temp = "";

 
> if ($x < 12) {// Notif from laravel in this line


            $temp = " " . $angka[$x];

        } else if ($x < 20) {

            $temp = konversi($x - 10) . " Belas";

        } else if ($x < 100) {

            $temp = konversi($x / 10) . " Puluh" . konversi($x …
Run Code Online (Sandbox Code Playgroud)

php php-8

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

存储数据的奇怪字符编码,旧脚本显示它们不是新的

我正在尝试重写一个旧网站.
它是在波斯语中使用perso/arabic字符.

CREATE DATABASE `db` DEFAULT CHARACTER SET utf8 COLLATE utf8_persian_ci;
USE `db`;
Run Code Online (Sandbox Code Playgroud)

几乎所有我的表/列COLLATE都设置为 utf8_persian_ci

我正在使用codeigniter来获取我的新脚本

'char_set' => 'utf8',
'dbcollat' => 'utf8_persian_ci',
Run Code Online (Sandbox Code Playgroud)

在数据库设置中,那里没有问题.

所以这是奇怪的部分

旧脚本使用某种称为数据库引擎TUBADBENGINETUBA DB ENGINE......没什么特别的.

当我使用旧脚本在数据库中输入一些数据(在波斯语中)时,当我查看数据库时,字符存储就像عمران .

旧脚本fetch /显示数据正常,但新脚本使用与数据库相同的奇怪字体/字符集显示它们

因此,当我进入时????,数据库存储的数据看起来像عمراÙ,当我在新脚本中获取它时,我看到,عمراÙ但在我看到 的旧脚本中????

CREATE TABLE IF NOT EXISTS `tnewsgroups` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `fName` varchar(200) COLLATE utf8_persian_ci DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=11 ;

--
-- Dumping data for table `tnewsgroups` …
Run Code Online (Sandbox Code Playgroud)

php mysql database codeigniter character-encoding

2
推荐指数
1
解决办法
916
查看次数