有一个字母数字字段作为主键,这样可以吗?
我正在重写一个新的时间表应用程序,包括重新设计数据库,它将需要数据迁移从Oracle到Oracle. 在旧的系统字段中," lospereeecod"是主要钥匙,它是字母数字形式,即'uk001'," uk002"," fr 001"," fr 002"," us001"," us001" .员工表还链接到时间表和其他表格,其中empcode被称为FK. 为了使加入在新系统中的性能更快,我正在考虑在员工表中添加新的int列并将其设置为PK. (不知道它是否会有很大的不同) - 员工表约为600行. - empcode的数据类型是旧数据库中的varchar2(20),我可以将其简化为新系统中的varchar2(6),然后随着公司的费用而更改它. 我想知道是否最好将empcode作为主要键,这将使数据更容易迁移数据,或者我应该添加一个int列? 有人在我以前的一个线程之一中给了我遵循建议: "如果您需要创建aannn的复合代码,那么我将其分为两个:一
18 2024-04-26
编程技术问答社区
用数据库查询的多态性
我正在设计一个仪表板来显示公司指标(目前使用C#中的ASP.NET 3.5),并在设计方面寻找建议.我不习惯在Web应用程序中oop. 可能有许多不同的指标可以在多到多的关系中被不同的用户看到.我将用户存储在本地SQL数据库中,当然,为每个"指标"存储元数据也很有意义.这也为每个访问控制列表提供了一种访问控制列表.每个度量标准可以具有几个不同的图表,这些图表具有不同的设计(条,列,派,派,线条或组合的组合,在不同的y轴上等等等等. 这些图表可以通过编程设计,然后在运行时添加到ASP.NET页面.拥有空白图表的超级类别的继承结构和扩展该图表的不同图表类型会很不错. 页面将选择给定用户有权查看的图表然后生成这些图表.尽管如此,我还是看到某种大开关语句是根据数据库中选择的信息进行实例化的适当子类的粗糙查找表. 中选择的信息. 是否有更艺术的方式来做到这一点?以某种方式提供运行时的类型声明?我是否应该将有关图表的所有样式信息移动到数据库中,并提供针对系列,数据点,颜色等
2 2024-04-25
编程技术问答社区
数据库表的模式和聚合根数
申请者是单用户,1层(1 pc),数据库SQLCE. DataService层将是(我认为):使用LINQTOSQL(DBML)的存储库返回域对象和Quering数据库.显然还有很多列,这是简化的视图. 单独表中的logtime: intemTimelog表中的logtime(作为时间): 这是我第一次创建> 2表数据库的尝试.我认为桌子模式很有意义,但是我需要一些放心或批评家.因为老实说,桌子关系看起来很恐怖.我希望你可以; 查看表格模式,如果有明确的迹象或错误的迹象. 查看程序摘要/问题,看看表布局对这些点是否有意义. 请残酷,我会尽力防守:) 程序摘要: a)一组类别,每个类别都有一组策略(1:m) b)每天都会生产许多项目.每个策略都可以参考它. (因此可以有50个项目,并且可以参考其中23个策略) c)一个项目可以通过多个策略引用.所以我认为这是m:m关系. d)状态值将在一天固定的时间折断处记录,例如: - ....每种策略.
10 2024-04-25
编程技术问答社区
SQL Server用户实例(相对于CE和其他嵌入式数据库)的非开发案例有哪些?
SQL Server(Express Edition)用户实例的非开发实用(生产,设计,开发和部署)的情况是什么? 即,当您将它们部署到生产中时,而不是SQL Server CE(紧凑型版)或其他嵌入式数据库? 相关问题: 解决方案 与SQL Server CE几乎相同,但是在希望数据存储更强大的情况下.还请记住,SQL Server Express之类的报告诸如报告服务,但CE不能,这可以改变一个相对于另一个的可取性.
4 2024-04-24
编程技术问答社区
如何为LinqToSQL模型的一个字段指定一个默认值?
我使用Visual Studio数据类设计器首先绘制模型并生成数据库.我希望一个字段(班级中的布尔值,表格中的int)是不可删除的,但可以可选.如何指定默认值? 解决方案 单击DBML中感兴趣的字段,然后选择"属性"并切换自动生成的值.当创建的SQL字段具有默认值时,例如"创建dateTime默认值(getUtcdate())而不是null. 您可以使用Alter设置默认值.尽管我不确定如何以图形方式进行.
8 2024-04-24
编程技术问答社区
我怎样才能正确地将复选框列表呈现并写入数据库?(理论/逻辑帮助)
请注意,我现在拥有的数据库设计完全处于沙盒模式.什么都没有完成.所有内容(同样是在沙盒模式下)都在一个表中.另外,我现在正在寻找编码帮助.我正在寻找正确的理论/逻辑方法来解决这个难题,以便我自己玩编码.我学到更好的方式.如果我需要编码帮助,我会回到这里寻求进一步的帮助. 我正在为手动创建的表单提交的几个CheckboxList创建第一个.我一直在寻找多种方法,不仅可以创建上述CheckBoxList,还可以将其输入数据库.但是,我面临的挑战(主要是因为我以前从未遇到过这种情况,我想了解这一点),我不仅需要担心数据库中正确输入这些项目,而且我最终将需要从这些条目中产生报告或制作可打印的表格. 假设我有一种特定类型的烧烤烤架的订单表格,我需要将此表格发送给全国各地的分散中心.如果分配中心在表格上突出显示,则需要拉出上述烧烤. 这是DISTIBUTION中心的CheckboxList: All Dallas Miami Los Angeles Seattle New Y
0 2024-04-23
编程技术问答社区
将一个导航属性映射到一个作为外键的实例var上
我首先开发一个实体框架代码(v.4.4.0.0)c#library带有.net Framework 4.0. 我不知道如何设置零对一关系.我的模型如下: a Talk只能由一个用户创建(StarterUserId). Talk只能有一个收件人用户(RecepientUserId)或一个组(RecipientGroupId). 注意:这意味着如果RecipientGroupId不是null,则RecepientUserId为null;或RecepientUserId如果RecipientGroupId为null. a user可以是零或n Talks的接收者,但是group可以具有零或一个Talk. . 这是谈话类: [DataContract] public class Talk { [DataMember] public int TalkId { get; set; } [DataMember] public int S
8 2024-04-23
编程技术问答社区
如何正确地在LinqToSQL数据类中添加一个运行时计算的、非持久性的只读属性
表中有一个DateTime字段,Linqtosql数据类中的映射属性.任务是添加布尔值是工作时间运行时(未直接映射到任何列,但在读取中计算)属性,该属性将说明日期时间是工作时间(日期零件既不是周末,也不是假期,时间零件是在上午9点之间和下午5点).该属性应适用于LINQ查询,但不影响数据库背景. 如何实现?我使用Visual Studio数据类设计器首先绘制模型并生成数据库. 解决方案 为了添加属性,您可以使用其他部分类别定义将其添加到模型中.例如 //TheModel.cs // file generated by tool public partial class TheModel { // ... } 然后您的扩展名 //TheModelCustom.cs public partial class TheModel { public bool IsWorkingTime { get {
4 2024-04-23
编程技术问答社区
如何构建数据库表,允许用户关注多个表(人物、主题、问题等)?
我想允许我的网站上的用户关注我网站上的其他用户和主题,但我不确定如何将两者结合起来.考虑Quora如何允许您关注用户,主题,问题,编辑等. 要关注用户,我将非常简单: user_id: int followers_id: int ,但这仅对用户有好处,所以我考虑了如何: user_id: int date: Date following: int(could be topic_id or user_id) following_type: text(topic or user) 我有点不确定这是这样做的最佳方法通过一个查询快速获取以下所有信息). 这是最好的方法,还是有更好的(更有效,可扩展等等)来实现这一目标?我应该将每种追随者类型分为不同的表格吗?我真的不确定应该考虑什么设计. 解决方案 显而易见的可能性是增殖链接表 - 每种可以连接的项目的组合一个. 但是,避免使用继承 1 可能更易于管理: (未显示各种跟随之间的关系之间的关系.)
10 2024-04-23
编程技术问答社区
如何为数据库表建模以实现好友关系?
我正在尝试设计一个数据模型,该数据模型表示一个用户是另一个用户的朋友.到目前为止,这就是我想到的,但是看起来很笨拙,有更好的解决方案吗? User ===== Id Name etc... UserFriend =========== UserId FriendId IsMutual IsBlocked 解决方案 UserRelationship ==== RelatingUserID RelatedUserID Type[friend, block, etc] 同意,共同性不属于列.打破归一化. 其他解决方案 go 每个用户都有一个记录,并避免使用建议的方法所暗示的额外记忆(根据需要的两倍,由于每个用户有两个记录),您可以执行以下内容: 表结构: USER_RELATIONSHIP { user_first_id, user_second_id, type primary key(user_first_id, us
26 2024-04-23
编程技术问答社区
将一个导航属性映射到一个作为外键的实例var上
我首先开发一个实体框架代码(v.4.4.0.0)c#library带有.net Framework 4.0. 我不知道如何设置零对一关系.我的模型如下: a Talk只能由一个用户创建(StarterUserId). Talk只能有一个收件人用户(RecepientUserId)或一个组(RecipientGroupId). 注意:这意味着如果RecipientGroupId不是null,则RecepientUserId为null;或RecepientUserId如果RecipientGroupId为null. a user可以是零或n Talks的接收者,但是group可以具有零或一个Talk. . 这是谈话类: [DataContract] public class Talk { [DataMember] public int TalkId { get; set; } [DataMember] public int S
4 2024-04-22
编程技术问答社区
在SQL数据库中表示一个列表
我正在使用SQL数据库在C#中进行应用程序. 我有一个模型: Person() { string id;//unike key string name; List responsableOf;//list of id } 我想将其表示为表. 桌子的正确字段是哪个? 解决方案 这取决于他与他人将负责的人与其他人之间存在哪种关系. 如果是父母和子女关系,即 构图 您可以使用自参考表.类似: Persons 带有以下列: Id, name. ParentId同一表的外键. 如果人与其他人之间的关系是 聚合 ,并且一个人可能负责许多其他person s: Persons: Id, name. usersresponsibilities : Id, PersonId, ResobonsiblePersonID. 稍后,在两种情况下,在您的前端应用程序中,您将需要将这些表中的数据
2 2024-04-22
编程技术问答社区
在Entity Framework和Sql Server中创建对象计数器
注1:我改写了这个问题.现在,它由供应商和订单组成,而不是汽车和零件. 注2:这个问题是假设的. 我的目标是了解如何创建对象计数器. 对于监管要求,我需要对每个供应商的每个订单进行顺序编号. 我将'Entity Framework` 与SQL Server一起使用. 在我的假设示例中,我有一个Supplier类和Order类. 每个供应商都有订单.每个订单都有一个产品和数量.意思是,它说明从供应商订购了哪种产品. 我需要能够创建计数器,例如自动增量数字,以计算每个供应商的订单. 出于监管原因,每个供应商必须按创建顺序依次将其顺序编号,仅使用整数. 当我们检查Order时,我们应该通过其OrderCountForSupplier列知道其创建顺序(A DateTime / TimeStamp列是监管机构不足的.它们需要这样的计数器). 为简单起见,无法删除订单(状态可以改变,但不能删除). 对我来说,拥有一个包括技术/编程方式的解决
2 2024-04-22
编程技术问答社区
在SQL Server用户实例中,有哪些内容使其无法在非Express版中使用?
开发了几年(或更长时间)后,我仍然不明白: 是什么使用户实例与SQL Server的开发人员(或任何其他)版本不可能/不兼容? 为什么开发人员要安装SQL Server多个SQL Server的一个以上(即开发人员版),因为用户实例仅通过Express Edition提供? 更新:@damien_the_unbeliever在他的回答中写下 "用户实例非常期望是独立数据库,仅由一个应用程序使用,而没有该应用程序就毫无意义." 我是否正确理解了用户实例: 需要SQL Server Express设置 不能远程连接 用户不能拥有一个以上的实例? 连接到它们的客户端应用程序是vs,ssms,webadmin, sql express实用程序等? 真的我不明白何时/为什么/如何在开发环境之外使用/部署它们 SQL Server用户实例的非DEV情况(VS CE和其他嵌入式数据库)? 解决方案 我不认为其他版本中不能存在用户实例功能的任何技
数据库设计的头脑风暴。销售价格
我需要创建一个数据库解决方案来提供产品折扣. 当前表: Products Columns: ProductId, ProductTypeId, ReleaseDate ProductPrices Columns: ProductPriceId, ProductPriceTypeId (one product may have n prices), ProductId, Price 我们希望能够通过ProductID和/或ProductTypeID和/或ProductPriceTypeID和/或释放的折扣. 示例销售: 打折单个productid. 折扣指定产品类型的所有产品, ProductPriceTypeId. 折扣特定productypeid的所有产品, 在上个月内发布. #2的具有挑战性的方面不是字面的示例,但是在将来添加了新领域的长期可伸缩性. . 由于释放,我很难处理#3. 下面是我在意识到我需要进入stackoverfl
8 2024-04-21
编程技术问答社区
杂志网站的数据库设计,具有灵活的水平菜单
我需要使用ASP.NET Web Form(C#)和MS SQL Server作为杂志网站的后端数据库设计一个基于CMS的网站,该网站每周都有问题. 样本数据 MagazinePages Table PageID PageName LangID PagePositionNo PageURL PageInheritance //PageID 1 Home 1 10 Default.aspx 0 2 About Us 1 20 Page.aspx 0 3 PageOne 1 10 Page.aspx 2 4 PageTwo 1 20 Page.aspx 2 5 Me
6 2024-04-19
编程技术问答社区
使用存储过程是一种不好的做法吗?
我们有一个连接到MS SQL Server的C#编写的应用程序. 我们用来为每个数据库调用做一个存储过程,但是随后我们注意到,使用存储过程给我们带来了很大的劣势,我们不知道如果我们更改数据库,我们需要更新哪些存储过程. 现在我想知道使用存储过程是一件坏事还是一件好事? 解决方案 这不是SP问题,这是您开发过程的问题.如果您没有信息,您需要 - 只需获取. 您可以制作一个简单的视觉映射,显示您的表格架构和依赖性SP.如果您的数据库太大而无法进行视觉映射,请添加由您的SP和表格的名称组成的通用文本文件. 无论如何,您的数据库越大,将模式的详细信息插入应用程序代码时,您的工作就越好.当您使用SP时,您可以保证此功能不会加倍,并且大多数更改将在不使用应用程序重新编译和重新分布的情况下发生. upd 我忘了提到另一件事.良好的DB工具提供了简便的方法,可以找到每个SP的依赖表.例如,Microsoft SQL管理工作室中的SP上下文菜单中的"视图依赖项"项目.
4 2024-04-17
编程技术问答社区
C#: 你将如何在SQL服务器中存储任意对象?
可以说,您有各种任意类型的对象,您想将其存储在键+值类型的表格中.例如,钥匙可以是int,字符串或GUID.值是什么?字符串,二进制或其他东西? 您将如何存储和加载对象?我认为某种序列化,但是什么样的? 我有一个解决方案,我有这两种方法的课程: public T Get(string key) public void Set(string key, T value) 在数据库中,我有一个带有字符串列和二进制列的表.然后,我使用BinaryFormatter序列化并划分值,LINQ2SQL将二进制结果放入数据库表中.但这是一个很好的解决方案吗?目前,我只敢于使用整数和字符串等简单值进行尝试. BinaryFormatter和序列化如何与更复杂的类型(例如结构和类)一起工作?特别是例如,该值包含数组或列表之类的东西. 任何指针? 目前,我将使用它来存储各种持续选择的或类型的值的值.尽管它们可能不一定总是被键入.例如,它可能是从列表中选择值.要点
4 2024-04-16
编程技术问答社区
C#: 你将如何在SQL服务器中存储任意对象?
可以说,您有各种任意类型的对象,您想将其存储在键+值类型的表格中.例如,钥匙可以是int,字符串或GUID.值是什么?字符串,二进制或其他东西? 您将如何存储和加载对象?我认为某种序列化,但是什么样的? 我有一个解决方案,我有这两种方法的课程: public T Get(string key) public void Set(string key, T value) 在数据库中,我有一个带有字符串列和二进制列的表.然后,我使用BinaryFormatter序列化并划分值,LINQ2SQL将二进制结果放入数据库表中.但这是一个很好的解决方案吗?目前,我只敢于使用整数和字符串等简单值进行尝试. BinaryFormatter和序列化如何与更复杂的类型(例如结构和类)一起工作?特别是例如,该值包含数组或列表之类的东西. 任何指针? 目前,我将使用它来存储各种持续选择的或类型的值的值.尽管它们可能不一定总是被键入.例如,它可能是从列表中选择值.要点
8 2024-04-16
编程技术问答社区
在数据库表中坚持使用枚举
我有一个具有状态的订单(代码是枚举).问题是如何坚持这一点.我可以: 将字符串坚持在一个字段中,然后映射回数据检索. 将其保留为整数,然后映射回数据检索. 为枚举值创建单独的表,并在数据检索上加入. 想法? 解决方案 如果这是固定列表(似乎是,否则您不应该将其存储为枚举),我不会使用#1. 在#2上使用#3的主要原因是易于自助查询实用程序.但是,实际上,我将使用#2的变体:将值存储为整数,然后将其映射到数据检索上的枚举.但是,还创建一个代表枚举类型的表,其值为PK,名称为另一列.这样,与您的代码一起使用简单,快速且有效,但也易于使用自助式查询和其他不使用数据访问代码的用途获得逻辑值. 从数据库/归一化的角度来看, 其他解决方案 #3是最"适当的".实际上,您的状态是链接到订单实体的域实体. 其他解决方案 Hibernate默认使用整数. 如果您的枚举不会经常变化,我认为这不是一个坏主意.
8 2024-04-14
编程技术问答社区