首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为Django web应用程序选择正确的数据库系统

为Django web应用程序选择正确的数据库系统
EN

Stack Overflow用户
提问于 2011-12-31 11:36:47
回答 3查看 1.2K关注 0票数 1

我目前正在计划创建一个简单的Django web应用程序(用于学习建议)。基本上,老师可以登录,输入学生成绩,然后学生可以登录并查看他们的成绩。每个班级都有一个组号。

下面是一个用户的模板:

代码语言:javascript
复制
Username: Johny098
Password: Y98uj*?877!(
Name: John Doe
Gender: Male
Group: 32
Secondary: 5

考虑到我是从django和web开发开始的,我发现我对可用的数据库系统的数量感到困惑: MySQL,CouchDB,MongoDB,SQLite,等等。我很难决定使用哪个数据库系统来达到我的目的(我之前没有数据库的经验)。

经过一些研究后,我发现Couchdb (和SQLite)似乎相当容易上手和有趣的使用,但这只是我,这就是为什么我需要帮助。我知道关于SQL和NoSQL有很多争论,但我真的不知道这是否会影响我对数据库的使用。理想情况下,数据库系统应该与django很好地集成,并且在几天内就能轻松上手。

那么,回到问题上来:我应该为我的web应用程序使用什么数据库系统?

任何资源也将不胜感激。

谢谢,

-Raphael

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-31 11:52:35

姜戈的网站上有一个lists the database backends supported的页面。然而,Django的数据库访问层被设计为无论您使用哪个数据库后端,其工作方式都大同小异。在我链接的页面上描述了一些不同之处,但如果你只是在编写一个基本的web应用程序,它们不应该出现在正常使用中。因此,就如何编写web应用程序的影响而言,在列出的选项中,真的无关紧要。

请注意,我相信Django支持的所有数据库后端都是基于SQL的。通过Django访问数据库确实消除了一些我认为促使NoSQL运动的安全问题……在任何情况下,NoSQL都是您现在可以忽略的东西。

在您的情况下,我建议选择SQLite,原因很简单,因为它更容易设置,而您不想花时间担心如何配置数据库,而您应该担心如何构建web应用程序。SQLite与大多数其他DBMS(数据库管理系统)的不同之处在于,SQLite将每个数据库存储在一个常规文件中,并且SQLite客户端直接使用该文件。其他DBMS(如MySQL、PostgreSQL、Oracle等)有一个数据库的中心位置,一个管理它们的服务器,以及一个连接到服务器并处理所有数据库访问的客户端。基于服务器的DBMS对于繁忙的web应用程序工作得很好,因为它具有处理许多对数据库的同时请求的功能,但由于您只是将其用作学习项目,因此您不需要这些功能。

票数 2
EN

Stack Overflow用户

发布于 2011-12-31 11:52:32

出于学习目的,我推荐使用SQLite:无需设置,无需后台守护进程运行,一切都与Python捆绑在一起,它是SQL语言(因此它与Django ORM映射得很好),而且它是一个非常简单的数据库管理系统。事实上,有些人使用SQLite进行原型设计,然后在生产中切换到MySQL/PostgreSQL。

至于NoSQL,我不建议您使用它,除非您确切地知道您需要它的原因和目的。

哦,还有最后一件事:存储密码散列(md5或sha1),而不是原始密码。在你的情况下,这不是必须的,但在现实世界的应用程序中,这是强制性的。

票数 5
EN

Stack Overflow用户

发布于 2011-12-31 11:51:56

我会去找MySQL。为什么?因为在你提到的那些中,它是最受欢迎的,而且,更好的是,它会在你找工作的时候给你更多的信任(例如,你可以去monster .com,发现需要多少次jabs才能知道MySQL和多少SQL-Lite)。

此外,MySQL简单易学,有许多图形用户界面客户端(其中一些是开源的),并且它有非常好的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8686112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档