我有一个 .aspx 表单,其中总共包含大约 50 个调查多项选择题。
我应该构建一个由问题 id 和给出的答案组成的分隔字符串并只存储一个字符串吗?问题是字符串可能很长,因此需要数据类型文本?
这将允许所有答案都在 1 条记录中。
或者,我正在考虑这样的事情,其中每个答案都是它自己的记录,并且每个提交的调查都需要由唯一标识符连接。
正确的方法是什么,甚至是我没有想到的?
我有一个 .aspx 表单,其中总共包含大约 50 个调查多项选择题。
我应该构建一个由问题 id 和给出的答案组成的分隔字符串并只存储一个字符串吗?问题是字符串可能很长,因此需要数据类型文本?
这将允许所有答案都在 1 条记录中。
或者,我正在考虑这样的事情,其中每个答案都是它自己的记录,并且每个提交的调查都需要由唯一标识符连接。
正确的方法是什么,甚至是我没有想到的?
CREATE TABLE [dbo].[surveyAnswers](
[id] [int] IDENTITY(1,1) NOT NULL,
[questionId] [int] NOT NULL,
[quizId] [uniqueidentifier] NOT NULL,
[answerValue] [varchar](50) NULL,
[quizDate] [datetime] NOT NULL) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud) 所以基本上我正在尝试使用 Access 设计我的简单员工/任务跟踪数据库。
Employee我想在表与表之间创建关系Mission(多对多)。因此,我需要创建一个桥梁或连接实体,我将其命名为Mission_Assignment。显然,两个相关表(Mission_ID和Employee_ID)的 PK 应作为外键包含在该桥接实体中。
当我尝试通过将 PK Mission_IDMission_Assignment拖到另一个表来加入时,Access 没有向我显示将此关系设置为一对多的选项,即使我已选中“强制引用完整性”框。我唯一的选择是“不确定”关系类型!Mission
我想知道为什么会发生这种情况?为什么我不能建立这种一对多的关系?我尝试使用查找向导更改相关表的 PK 的数据类型,以便在关联表中将其识别为外键,但它不起作用。
任何帮助,将不胜感激。
我正在mysql workbench用于创建 ER 图,但我面临的问题是直接从 ER 图创建表。我已经创建了一个架构,如下图所示。我不能直接从这里导入相同的模式并开始在database.
正如您在下图中看到的,这些表已经作为 ER 图表的一部分创建,但我不明白为什么它没有显示在我的数据库选项卡中。
从这里直接导入相同模式的过程是什么。我也没有保存它的选项。请帮忙!
我正在学习数据库设计并尝试使用 Visio 2013 进行建模。当我想要创建数据库模型时,我在 Visio 2013 中遇到了以下数据库表示法:
1) Crow's Foot 数据库表示法
2) Chen's 数据库表示法
3) UML 数据库表示法
4) IDEF1X 数据库表示法
为什么我们有很多设计数据库的符号,而其中一种在实际数据库设计中被广泛使用?
谁能帮我解答这个疑问吗?
database database-design visio entity-relationship visio2013
我是asp.net mvc的新手.
我正在使用Linq到Sql并试图做松散耦合的一切.
我有两张桌子:
我要做的是保存新闻并同时上传文件.
如何与他的文件一起创建新闻,将其保存到NewsFiles表?
Linq to Sql模型没问题,它包含对象NewsFile到News对象.
我的新闻表的具体存储库类(葡萄牙语中的noticia):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MagixCMS.Models
{
public class NoticiaRepository : INoticiaRepository
{
#region INoticiaRepository Members
magixcmsEntities _entities = new magixcmsEntities();
public noticia CreateNoticia(noticia noticiaToCreate)
{
_entities.AddTonoticiaSet(noticiaToCreate);
_entities.SaveChanges();
return noticiaToCreate;
}
public void DeletaNoticia(noticia noticiaToDelete)
{
var noticiaOriginal = GetNoticia(noticiaToDelete.Id);
_entities.DeleteObject(noticiaOriginal);
_entities.SaveChanges();
}
public noticia EditNoticia(noticia noticiaToEdit)
{
var noticiaOriginal = GetNoticia(noticiaToEdit.Id);
_entities.ApplyPropertyChanges(noticiaToEdit.EntityKey.EntitySetName, noticiaToEdit);
_entities.SaveChanges();
return noticiaToEdit;
}
public noticia GetNoticia(int id)
{
return …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个允许我绘制ERD的工具,并将生成创建相应MySQL模式的SQL.其他要求是:
如果它也在Ubuntu上运行,奖励积分,但这不是'必须'.
谢谢,唐
跨多个数据库表维护唯一ID字段的最佳方法是什么?
我的数据库包含企业和人员,并且两个实体都需要具有与之关联的唯一ID字段.此外,还有其他表(例如地址)可以使用其ID作为外键来引用业务或个人.
我想到的一些想法是:
使用插入行时计算的非自动编号ID字段.这将解决我的独特问题,但随后我想通过相关属性(例如通过地址)查找内容时,我必须检查两个表中哪一个包含我正在寻找的记录.
在AutoNumber ID中添加一个Prefix,以确定要查找ID的表,但是,关联表中的ID字段可能要么成为字符串,要么包含与它们关联的表的标志,我不知道如何影响表现.
将人员和企业合并到一个表中.我的问题是人和企业有不同的属性,需要单独的字段,这种情况违背了我的本性,因为我更喜欢为单独的实体分别使用表.
创建一个包含唯一ID字段的主表,Person或Business的ID字段,以及一个标记,说明它是哪一个.然后使用该ID作为我的外部引用#和所有关联表.
一些更好的处理方式,我不知道,因为我不是一个dba
无论我采用什么解决方案都需要能够轻松处理大量记录(这将取代的数据库有几百万条记录)并且在MS Sql Server上
database database-design entity-relationship multiple-tables unique-key
我想知道是否有任何方法可以@OneToMany在Doctrine2 中设置关系大小的约束.
假设我有2个课程:User和Toy:
class User{
...
/**
* @OneToMany(targetEntity="Toy", mappedBy="user")
*/
public $toys;
...
}
class Toy{
...
/**
* @ManyToOne(targetEntity="User", inversedBy="toys")
*/
public $user;
...
}
Run Code Online (Sandbox Code Playgroud)
我想强迫每个用户最多拥有3个玩具.你知道是否有办法通过使用任何Doctrine2注释来实现这一点?
如果通过注释无法实现,你会怎么做?
谢谢!
嗨,我有同样的问题:与额外字段的多对多自我关系?但是我找不到答案:/我先尝试了ManyToOne和其他网站OneToMany ...但后来我无法使用类似的东西
public function hasFriend(User $user)
{
return $this->myFriends->contains($user);
}
Run Code Online (Sandbox Code Playgroud)
因为有一些这个问题:
This function is called, taking a User type $user variable and you then use the contains() function on $this->myFriends.
Run Code Online (Sandbox Code Playgroud)
$ this-> myFriends是一个请求的ArrayCollection(与User不同的类型)和关于contains()的doctrine文档:
The comparison of two elements is strict, that means not only the value but also the type must match.
Run Code Online (Sandbox Code Playgroud)
那么用额外的字段解决这个ManyToMany关系的最佳方法是什么?或者,如果我回去设置onetomany和manytoone关系,我怎么能修改hasFriend方法?例如,检查ID是否在ID的数组集合中.
编辑:我有这张桌子...我需要的是:1.选择我的朋友......和我的粉丝......检查我是不是和他在一起.(因为他可以和我成为朋友,我不必和他在一起......就像在推特上一样).我可以做很多事,但我需要额外的字段,如:"查看""他订阅我的时间",你可以在我的桌子上看到.
并进行这样的查询,然后能够在树枝检查if(app.user.hasFriend(follower)或类似的东西)
$qb = $this->createQueryBuilder('r')
->select('u')
->innerJoin('UserBundle:User', 'u')
->Where('r.friend_id=:id')
->setParameter('id', $id)
->orderBy('r.time', 'DESC')
->setMaxResults(50);
return $qb->getQuery()
->getResult();
Run Code Online (Sandbox Code Playgroud)

我在下面的图片中转换弱实体D有问题

我应该这样做吗 D(A_pri_key, B_pri_key)
还是应该分开D1(A_pri_key) and D2(B_pri_key)?
我更喜欢第二种选择,因为第一种选择在转换时看起来真的像C C(A_pri_key, B_pri_key)
database ×4
mysql ×2
sql ×2
symfony ×2
asp.net-mvc ×1
doctrine-orm ×1
erd ×1
foreign-keys ×1
linq-to-sql ×1
many-to-many ×1
model ×1
ms-access ×1
one-to-many ×1
orm ×1
unique-key ×1
visio ×1
visio2013 ×1