到目前为止,我所有的(家庭)CF学习都是使用Access作为数据库完成的,就DB而言,我“得到它”。没有数据库服务器,也不需要登录数据库或任何东西,并且设置表关系很容易和直观。哦,它基本上可以自由部署。
但是,我现在正致力于一个可能在多个企业中使用的应用程序,可能最多有50个并发用户。我听说Access真的不适合多用户使用或在应用程序上使用生产。你会推荐哪种更适合,最好是易于掌握,我的SQL需要最小的调整(我使用的工具转换为MySQL,它肯定处理串联不同,我不想做太多的调试),可视化界面可用的,可扩展的,可备的,以及我需要的其他任何我还不知道的东西!
答案 0 :(得分:8)
我建议SQL Server 2008 Express。它具有强大的功能集,图形用户界面管理工具,随着您的不断发展,您可以轻松地从它升级到更多的商业解决方案。
答案 1 :(得分:3)
您可以使用MySQL或Microsoft SQL Server Express。两者都是免费的,都很有效。
不幸的是,无论你做什么,你都会头痛地转换你的数据库。 Microsoft Access不使用标准SQL,因此字符串连接,函数等将有所不同。
答案 2 :(得分:0)
如果您只是使用Access作为数据库,那么很自然地,Microsoft SQL Server在概念(和SQL方言)中最接近访问。
但是,如果您专注于Web开发,LAMP堆栈,特别是MySQL是更好的选择。你应该至少知道一些基本的管理。
我的经验是,主要的挑战是数据类型和字符串操作(听起来像你有类似的问题)。
通常,努力编写可移植的SQL,因此最好阅读使其不可移植或避免使用特殊技巧的内容。如果你不能那样做,那就抽象使用代码,甚至使用ORM工具。
Access,IMHO的主要好处是它内置支持生成UI和报告,同时隐藏了大部分底层SQL。大多数Microsoft语言(尤其是VB)提供类似的功能。如果您已经使用过UI或表单,那么您现在必须学习用于生成UI /表单/页面的语言或工具,以及如何使用SQL。既然你提到过ColdFusion,我会假设你已经掌握了大部分技能。
答案 3 :(得分:0)
在做任何事情之前,我会选择一个数据库抽象层并重构现有代码以使用它。
然后,相当普遍地换掉你的后端是相对微不足道的。
如果您使用预准备语句,您还可以获得针对多种形式的SQL注入的保护。
我还要指出,由于线程模型与Web服务器和Jet / ACE数据库引擎的内存管理不匹配,Jet / ACE后端从来不是基于Web的应用程序的不错选择(尽管如果你使用ADO,Jet被认为是线程安全的;我不太明白你如何能够将非线程安全的数据库引擎神奇地转换为带有数据接口层的线程安全数据库,但Michael Kaplan说它是如此,他是你可以信任的那类人的类型。)
答案 4 :(得分:0)
我对Microsoft SQL Server Express没有任何经验,所以我不能代言。但是,我确实将MySQL与ColdFusion 8结合使用,并且我对MySQL的功能,灵活性,易用性,社区支持和速度不断印象深刻。 PHP MyAdmin非常简单,是MySQL的良好Web界面。我的$ .02,花费你的方式。