我刚开始一份新工作,我将不得不用多值数据库(UniVerse)做大量的工作.我所拥有的小数据库经验是关系数据库(SqlServer),我正在寻找一些关于MVD与关系数据库的优缺点的无偏见信息.
办公室里的每个人都来自关系数据库背景(并且讨厌UniVerse)或者已经在这里待了很多年并且喜欢它.
我们有一个稀疏表示的数据集,具有25个功能和1个二进制标签。例如,一行数据集是:
Label: 0
exid: 24924687
Features:
11:0 12:1 13:0 14:6 15:0 17:2 17:2 17:2 17:2 17:2 17:2
21:11 21:42 21:42 21:42 21:42 21:42
22:35 22:76 22:27 22:28 22:25 22:15 24:1888
25:9 33:322 33:452 33:452 33:452 33:452 33:452 35:14
Run Code Online (Sandbox Code Playgroud)
因此,有时功能具有多个值,它们可以相同或不同,并且网站上说:
一些分类特征是多值的(顺序无所谓)
我们不知道功能的语义和分配给它们的价值(由于某些隐私问题,它们对公众隐藏)
我们只知道:
Label 表示用户是否点击了推荐广告。Features 正在描述已推荐给用户的产品。Task 在给定产品广告的情况下,用于预测用户获得点击的可能性。感谢对以下问题的任何评论:
k多次时?我最近接触了UniVerse的专有后代.有谁知道我可以在哪里获得一个好的教程或了解其更受欢迎的父母的句法怪癖?我无法弄清楚如何获得表格列表.浏览我的方式很困难,我没有看到任何手册页.
需要特别注意给予SQL Reference,SQL Administration for DBAs和User Reference.在这两个页面的底部还有一个链接到一个包含所有文档的zip.还有一个关于Universe 10.3的Rocket Software(需要个人信息)的演示,但它只适用于RHEL.并且,即使它是静态链接的,它使用Ubuntu 8.10为我提供了段错误.
这些链接是Rocket Software(Uni*产品线的当前所有者)的官方链接
这是一个早于Rocket Software收购产品线的产品:
我最近介绍了新的Access 2007功能,它是多值字段.我的初步印象是,在单个字段中使用多个值是一个坏主意.传统上,如果您希望允许记录具有多个字段值,则可以创建另外两个表并使用外键链接它们.这样可以轻松查询并确保重复值引用相同的项目.将列表保留在单元格中似乎违反了数据库的目的.
这些领域有很好的用途,不会让我感到肮脏吗?
在UniVerse中,除非@文件字典中的短语设置为所有表列,否则无法查询文件的所有列.如果不是,您如何在表中查询其所有列的值?
所以我可以使用以下方法获取总列列表(列名和显示名称):
LIST DICT file NAME
Run Code Online (Sandbox Code Playgroud)
这将返回所有列及其显示名称的列表.然后,我如何查询表中的所有列?
LIST file
Run Code Online (Sandbox Code Playgroud)
只会查询它LIST file @id(@id是@中唯一的东西).
更新
我发现了一个博客 - 一个活生生的呼吸者,他使用的是比我年长的UniVerse版本!在那里他抱怨同样的事情,但是说没有任何解决方案可以@用所有列进行更新,请上帝有人证明他(Dan Watts)错了.
如果您有200列表并且希望SELECT*返回所有200列,该怎么办?抱歉,您必须在"@"记录中输入所有200个列名称.如果您添加,删除或重命名列,则必须记住编辑该"@"记录.我感觉到你的痛苦!这种繁琐的方法可以追溯到UniVerse的ODBC驱动程序,我想他们现在不能在不破坏大量应用程序的情况下改变它.您可以在UniVerse ODBC指南中找到不可思议的IBM-ese中描述的详细信息.
我正在尝试将数据从多值数据库(Unidata)导出到MySQL.让我们说我的源数据是一个人的身份证号码,他们的名字和他们所居住的所有状态.州字段是一个多值字段,我正在导出它们,以便该字段中的不同值由一个分隔. 〜.样本提取物看起来像:
"1234","Sally","NY~NJ~CT"
"1235","Dave","ME~MA~FL"
"3245","Fred","UT~CA"
"2344","Sue","OR"
Run Code Online (Sandbox Code Playgroud)
我已将此数据加载到临时表中
Table:staging
Column 1: personId
Column 2: name
Column 3: states
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用一个过程将这些数据分成两个表:一个人员表和一个状态表.一个人可以在州表中有许多条目:
Table 1: persons
Column 1: id
Column 2: name
Table 2: states
Column 1: personId
Column 2: state
Run Code Online (Sandbox Code Playgroud)
我的过程从临时表中获取数据并将其转储到表1就好了.但是,我有点迷失如何分割数据并将其发送到表2.莎莉需要在状态表(NY,NJ,CT)中有三个条目,Dave会有3个,Fred会有2个和苏将有1(或).有关如何实现这一目标的任何想法?