我到处都寻求帮助.
我对这一切都是新手,我发现很难理解它上面的所有文档.
说我有这个XML:
<footballteams>
<team manager="Benitez">
<name>Liverpool</name>
<ground>Anfield</ground>
</team>
<team manager="Mourinho">
<name>Chelsea</name>
<ground>Stamford Bridge</ground>
</team>
<team manager="Wenger">
<name>Arsenal</name>
<ground>Highbury</ground>
</team>
</footballteams>
Run Code Online (Sandbox Code Playgroud)
我想从中获取数据并将其加载到名为footballteams(name,manager,ground)的关系表中.
我想在SQL Server 2008中这样做,从我到处读到的一个有用的方法是.nodes()方法,但我只是无法理解如何使用它.
我正在攻读考试,但我没有找到一个可靠的标准来确定是否x
要使用笛卡尔积,或者是否使用自然连接|X|
.
我想出了一个粗略的指导:
"如果需要投影与要加入的表中的属性同名的属性,则必须使用x
并声明要投影的表名:tableA.colname1 = tableB.colname1
"
然而,这并不遵循我的笔记中的一些解决方案,我的讲师似乎使用x
上述惯例或|x|
可互换使用.
有没有人可以遵循规则来定义一个用户而不是另一个用户?
以此模式为例(仅为了简洁而引用的问题相关的模式):
takes(ID, course_id, sec_id, semester, year, grade)
student(ID, name, dept_name, tot_cred)
Run Code Online (Sandbox Code Playgroud)
Q)找到参加2011年春季或2011年秋季课程的所有学生的姓名.
我的回答是:
? name(? semester="Spring" ^ year=2011(takes ? student)) ? ? name(? semester="Autumn" ^ year=2011(takes ? student))
Run Code Online (Sandbox Code Playgroud)
实际答案:
? name(? semester="Spring" ^ year=2011 ^ takes.ID=student.ID(takes x student)) ? ? name(? semester="Autumn" ^ year=2011 ^ takes.ID=student.ID(takes x student))
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供原因吗?
在我看来,自然加入将照顾takes.ID=student.ID
?
我只能找到以下两个不同之处:
当我们有ER图时,为什么我们使用关系模型?
database entity-relationship relational junction-table entity-relationship-model
如果我有两个指针变量a和b,使用语句"a <b"是什么意思?这样做应该比较他们的内存地址的值?如果是这样,计算机中的内存地址顺序是什么?
自1995年首次出版Date和Darwen的"第三宣言"以来,已经过去了十多年.
在今天的数据库世界中,关系学派的地方是什么?有没有证据表明Manifesto的想法改变了主流软件开发和数据管理实践?他们是否催化了新数据管理产品的创建?这些产品是否商业化成功?
我有一个像这样的SQL表:
更新:我正在更改示例表,因为原始数据(州,城市,学校)的现有分层性质使得项目之间需要简单关系的事实蒙上阴影.
entities
id name
1 Apple
2 Orange
3 Banana
4 Carrot
5 Mushroom
Run Code Online (Sandbox Code Playgroud)
我想定义这些实体之间的双向关系,以便查看一个实体的用户可以看到所有相关实体的列表.
关系由最终用户定义.
在数据库中表示这些关系并随后查询和更新它们的最佳方法是什么?
我看到的一种方式......
我的直觉说这样的关系表是这样的:
entity_entity
entity_id_a entity_id_b
1 2
5 1
4 1
5 4
1 3
Run Code Online (Sandbox Code Playgroud)
既然如此,如果提供的entity_id为4,那么如何获得所有相关记录,即1和5?
同样,entity_id = 1的查询应该返回2,3,4和5.
感谢您的时间,让我知道我是否可以澄清这个问题.
这更像是一个面向业务的编程问题,我似乎无法弄清楚如何解决.我与一个与BASIC合作超过20年的程序员团队合作.我被引进来帮助在.NET中编写相同的软件,只有更新和现代实践.问题是,我似乎无法让任何其他3个团队成员(所有BASIC程序员,尽管现在也有.NET)了解如何正确地执行关系数据库.这是他们不理解的事情:
我们基本上有一个跟踪客户标签信息的交易.我们需要能够跟踪当前交易和过去的交易.在旧系统中,使用平面文件数据库,其具有包含客户的基本当前交易的记录的一个表,以及包含客户的所有先前交易以及重要货币信息的另一个交易.为了防止冗余,他们会用历史记录事务覆盖当前事务 - (历史文件首先更新,然后更新当前事务.)这是完全不必要的,因为你只需要一个事务表,但我的主管或我的其他任何两个co工作者似乎无法理解这一点.我怎么能说服他们看到光线让我们赢了' 必须做大量的工作并最终击中数据表太多次?感谢您的投入!
我想设计一个JVM数据结构(Java/Scala),可用于表示和存储任意关系数据库表的内容.数据结构应该快速(不太gc密集,缓存友好)和内存高效,因此更大的表可以适合RAM.
一种节省内存的解决方案是将每个列分别存储在基本数组中,但我担心缓存友好性,因为同一行中的项不会存储在一起.无论列有多窄,具有N列的行都将导致N个高速缓存未命中.
另一个解决方案是将每一行存储在一个对象数组中,其中每个元素代表一个字段,并在检索时转换为正确的类型,但这需要以其盒装形式存储数字类型,因此它的内存效率不高.并且它可能也不是那种高效缓存.
另一个解决方案是将每行的数据布局为字节数组,就像真正的数据库序列化它们的行一样,只使用必要的字节数.这是缓存友好和内存效率,但我担心每次访问时序列化/反序列化的成本.
什么是最好的方式?
我在Redis上有一个简单的问题.如果它的性能关键是它在内存中,乳清不能在常规SQL数据库上完成吗?