我参与了一个新项目,我必须从现有的关系数据库系统创建数据立方体。
我明白,现有的系统设计不当,我不知道从哪里开始。
我的问题是:
我对关系数据建模的经验很少,这个问题可能看起来太基础了,我试图从很少的资源中弄清楚,仍然不清楚。请给出您的意见和建议?
如果我错过了与此问题相关的非常重要的内容,请也分享您对此的看法。
我正在处理现有的 MySQL 数据库。我的任务是为该现有应用程序上的计费系统创建一个新的数据模型。
我创建了一个概念数据模型(点击放大):
##要求
多种付款类型(例如定期、一次性、分期付款)。
多种支付方式(现金、支票、网上银行)。
供应商(公司)与我们公司(营销主管)之间的合同
供应商可以通过从他们的页面充值(类似于预付费充值)将金额添加到他们的帐户中。
使用不同的包,这取决于包。供应商总余额将除以价值(包裹价值/365)。
如果余额变为 0,他们将不会使用他们的服务,例如:
set t1 = package_value / 365
if
total_balance / t1 > 0
set
service = active
else
set
service = inactive
Run Code Online (Sandbox Code Playgroud)
##SQL 代码
use database_name;
/*==============================================================*/
/* table: company_account */
/*==============================================================*/
create table company_account
(
account_id int not null auto_increment,
company_id int not null,
date_created date not null default now(),
date_replaced date not null default '9999-12-31',
created_by int not null,
is_active bit(1) default 1,
primary key (account_id)
); …Run Code Online (Sandbox Code Playgroud) 我是数据库设计的新手。我正在为一个电子商务网站设计一个数据库,有很多产品要更新,但是在为产品规格表设计时我不明白我是否需要在一个表中指定所有规格还是需要使用不同的不同产品的表?
例如,考虑产品 Mobile 和 book,它们中的每一个都有独特的规格(例如颜色、尺寸、成本、手机型号和书名、ISBN、作者、成本、出版年份等),如果只有更少产品的数量那么我可以设计,但是当有成千上万的产品时,需要很多时间。
谁能告诉我如何设计我的数据库来管理这种情况?
在计算两个日期之间的差异作为天数时,通过使用 MySQL Datediff() 函数,我遇到了一些问题,下面给出了 SQL 代码。
select datediff((select curdate()),
(select Company.CreatedOn
from
dbname.company
inner join
dbname.user
on
user.company_id = company.company_id
))
Run Code Online (Sandbox Code Playgroud)
我得到的结果如下,
Error Code: 1242 Subquery returns more than 1 row
Run Code Online (Sandbox Code Playgroud)
我确实理解错误,但我不能使用任何 id 指出如下,
select datediff
(
(select curdate()),
(select Company.CreatedOn
from
dbname.company
inner join
dbname.user
on
user.company_id = company.company_id
where
company.company_id = 17)
);
Run Code Online (Sandbox Code Playgroud)
当我运行这个查询时,我得到如下输出,
38
Run Code Online (Sandbox Code Playgroud)
我需要根据注册时间存在超过 365 天的公司来选择用户。
需要显示所有注册时间超过365天的公司,我在代码中没有提到这个条件,
我需要解决子查询结果,datediff 函数应该与所有公司 CreatedOn 值进行比较,结果只存在超过 365 天的公司。
任何帮助将不胜感激。