当我意识到我应该实现MVC
模式时,我刚刚开始研究数据库应用程序,因为应用程序非常复杂并涉及许多数据库操作.
关于这一点,我决定创建一个单独model class
的处理数据库操作.这个类必须将执行SQLite的命令后返回我的数据的所有方法(例如选择)或将只是执行命令的SQLite(删除为例).但我想要的是将这个类与Database Adapter
类分开,在那里打开,创建和关闭我的数据库.
让我把我的概念放到代码中:
public class DataModel
{
/*
Private members
*/
// Method to Select data from Student table
public ArrayList<String> FetchStudents (parameter 1)
{
private ArrayList<String> arrStudent;
DatabaseAdapter objDB= new DatabaseAdapter();
objDB.open();
/*
Some code
*/
objDB.close();
return arrStudent
}
//Method to delete record from Student table
public DeleteStudent(parameter 1)
{
DatabaseAdapter objDB= new DatabaseAdapter();
objDB.open();
//Some code
objDB.close();
}
/*
Rest of methods
*/
}
Run Code Online (Sandbox Code Playgroud)
// DatabaseAdapterClass
private …
Run Code Online (Sandbox Code Playgroud) 数据模型
class dataImage {
var userId: String
var value: Double
var photo: UIImage?
var croppedPhoto: UIImage?
init(userId:String, value: Double, photo: UIImage?, croppedPhoto: UIImage?){
self.userId = userId
self.value = value
self.photo = photo
self.photo = croppedPhoto
}
}
Run Code Online (Sandbox Code Playgroud)
查看控制器
var photos = [DKAsset]() //image source
var datas = [dataImage]()
var counter = 0
for asset in photos{
asset.fetchOriginalImageWithCompleteBlock({ image, info in // move image from photos to datas
let images = image
let data1 = dataImage(userId: "img\(counter+1)", value: 1.0, photo: images, …
Run Code Online (Sandbox Code Playgroud) 这个问题是在核心数据的背景下,但如果我没有弄错,它同样适用于更一般的SQL案例.
我想使用Core Data维护一个有序的表,用户可以:
什么是最好的数据模型呢?我可以看到两种方式:
1)将其建模为数组:我position
向我的实体添加一个int 属性
2)模型,可以作为一个链表:我补充两个一比一的关系,next
并previous
从我的实体本身
1)使排序变得容易,但插入或删除很痛苦,因为你必须更新之后的position
所有对象
2)使插入或删除变得容易,但很难排序.实际上,我认为我不知道如何表达ORDER BY
该案例的排序描述符(SQL 子句).
现在我可以想象1)的变化:
3)ordering
向实体添加一个int 属性,但不是一个一个地计算,而是将它计为100乘100(例如).然后插入就像在前一个和下一个现有对象的排序之间找到任何数字一样简单.只需要填充100个孔,就必须进行昂贵的重新编号.使该属性成为浮点而不是int使得它变得更好:几乎总是可以在两个浮点之间找到一个新浮点.
我是否在解决方案3)的正确轨道上,还是有更聪明的东西?
我正在为社交网站构建数据模型,并且失去了如何为用户和帐户建模.
1)用户注册并创建一个帐户.因此,我们在大多数社交网站上为用户分配了一个用户ID,我们看到的是相同的个人资料ID.现在是帐户ID吗?或者是否还隐藏了单独的帐户ID?如果用户可以拥有多个配置文件,那么用户ID是否与每个配置文件ID分开的帐户ID分开?
2)我们假设1个用户只有1个帐户.但是,当用户正在编辑他的帐户或让管理员编辑用户的帐户时,用户正在编辑帐户,因此需要两个单独的ID才能对此进行建模?
3)用户和帐户对象的生命周期是多少?如果用户关闭了他的帐户,这意味着用户和帐户对象都被杀死了?
4)谁拥有用户个人资料详细信息,用户设置,隐私,朋友等?用户对象或Account对象,哪个对象优越?
5)用户可以创建/管理的系统对象,如照片,视频等,用户或帐户对象拥有的对象是什么?
6)究竟什么是物体?假设我们有状态更新,评论,个人资料详细信息.这三个对象?或者所有考虑过1种类型的对象而只有3种类别?
与我关于有用库存SQL数据集的问题并行,我想知道是否有人遇到过库/网页/维基/等.包含库存SQL数据模型.例如,无数开发人员面临着维护登录凭据表的问题.您是否了解提供此表的最佳实践实施的数据模型?其他用例怎么样?我正在考虑库存控制,销售报告,应用程序事件(登录,注销,查看给定页面或项目等).我在databaseanswers.org上遇到了一个很好的资源,但是想知道是否还有其他资源我应该看看.
正如我对数据集的问题一样,我正在寻找可以很容易地整合到应用程序中的东西,满足许多开发人员的一般需求,以及不是针对单个行业或业务部门的东西.地址簿,登录凭证表,消息等都属于我正在考虑的标准.
有什么想法吗?
像许多这些天一样,我是一个古老的关系模型用户,第一次接近Cassandra.我一直试图理解Cassandra的数据模型,当我读到它时,我经常会遇到一些语句,鼓励我将其视为4维和5维地图.
现在我熟悉一个普通的键/值Map,但我从来没有想过它有多少维度,这让我没有任何依据可以直接尝试可视化4维和5维.
在地图中是否有更温和的维度介绍?普通哈希表中有多少维度?一?二?零?
如果一个普通的哈希表只有一个维度,那么二维地图会是什么?如果是两个,那么三维地图会是什么?
似乎有多种方法可以在Clojure中实现数据模型:
(type ^{:type ::mytype} {:fieldname 1})
get
从映射中输入不存在的键会引发异常,而不是静默返回nil
)我们已经达到了地图/列表不再适合我们的程度 - 我们遇到了很多错误,前置条件/后置条件很容易被捕获,但是需要花费很长时间来追捕(并且它是难以为接受嵌套地图/列表/向量的函数编写有效的前/后条件 - 但我们不确定上述哪一个可供选择.
我们有三个主要目标:
我们如何利用Clojure的力量来帮助我们?
我们希望以编程方式将表添加到本地存储的Microsoft SQL Server Compact 3.5数据库中.下面的代码创建表.
using (SqlCeConnection con =
new SqlCeConnection("Data Source=|DataDirectory|\\Database.sdf"))
{
con.Open();
using (SqlCeCommand com =
new SqlCeCommand("create table test (id int not null)", con))
{
Console.WriteLine("Response: " + com.ExecuteNonQuery());
}
con.Close();
}
Run Code Online (Sandbox Code Playgroud)
代码工作正常,但该表未在指定数据库表的服务器资源管理器中列出.我们可以在表中插入值并从表中读取数据.
你知道这个问题的解决方案吗?
之后我们想要添加一个动态数据模型,我们希望将其用作表的提供者.
先感谢您.
假设我的Symfony2包中有两个实体,User
并且Group
.与多对多关系相关联.
?????????????????? ?????????????????? ??????????????????
| USER | | USER_GROUP_REL | | GROUP |
?????????????????? ?????????????????? ??????????????????
| id# ?---------? user_id# | ?----? id# |
| username | | group_id# ?----? | groupname |
| email | | created_date | | |
?????????????????? ?????????????????? ??????????????????
Run Code Online (Sandbox Code Playgroud)
在连接表中添加其他列的好方法或好方法是什么,比如表示User
加入日期的创建日期Group
?
我知道我可以用它QueryBuilder
来写一个INSERT
声明.
但据我没有看到任何 INSERT
QueryBuilder或本机SQL的例子,这让我相信ORM/Doctrine试图避免直接INSERT语句(例如出于安全原因).另外,据我所知,Symfony和Doctrine如果框架不能涵盖这样的共同要求,我会感到吃惊.
我将 SQL 数据库连接到 Power BI。我得到了 80.000 行之类的数据,并且还有两个额外的计算列可以获取之前的值。这是一个代码, Table.AddColumn(#"Added Custom", "prev_action3", each try #"Added Custom" { [Index] -1 } [Action Type] otherwise null) "
当我单击“关闭并应用”时,我陷入了“在模型中创建连接”中一个多小时,没有输出。如果没有 2 列关闭和应用成本,大约 1-2 分钟。我已经尝试过这个https://community.powerbi.com/t5/Desktop/stucking-on-creating-connection-in-model/mp/276796,但它不会改变任何东西。