1

我是编程新手,对数据库的使用几乎没有疑问...
(抱歉,如果我的帖子有点长)
我学习使用 C# 使用 Visual Studio 2008

1.如何创建数据库?- 总是有正确的方法吗?
我是如何学会这样做的:
- 在解决方案资源管理器中,我右键单击然后转到添加 -> 新项目... ->(选择)基于服务的数据库 ->(单击)添加 -> 完成。仅此而已。然后在解决方案资源管理器中,我进入app.config,从那里我可以找到稍后我可以使用的连接字符串,它看起来像这样:

connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"

那么这是创建数据库的正确方法吗?后来,当我测试时,我需要将 SQL Express 安装到没有 Visual Studio 的计算机上,以便该数据库可以为该程序工作。
那么有没有更好的方法来创建数据库,或者这很好。

2.如何保证数据库不被他人打开?
我的意思是,Visual Studio 中的其他人也可能会打开表和记录以及数据库中的所有内容。只需创建一个新项目,右键单击“服务器资源管理器”窗口,然后单击“添加连接”作为数据源,选择“Microsoft SQL Server 数据库文件”,然后只需浏览现有数据库即可。之后,您就可以完全访问数据库。那么关于这个的任何提示?

3. 如何以编程方式创建数据库?
所以我的想法是,将来我可能想创建一个程序将使用的新数据库(已经连接到另一个数据库)。但是不知道我将如何使用该连接字符串(如何获取它),如果数据库是使用代码创建的(例如,客户端单击一个按钮来为新的“工作年”创建一个新数据库)。我从互联网上找到的用于创建数据库的示例中尝试了一些,但它总是给我一个错误......

我知道这个问题并不具体,但我是编程新手,有点不确定我的做法是否正确,而且我知道这个地方不像论坛,但我想我可能会得到一些好的答案指导我建立我未来的知识......

PS我还很年轻,如果我在写作中犯了一些错误,很抱歉(英语不是我的主要语言)......
(如果我在某些方面不清楚,请告诉我,我会尽量更清楚)

4

2 回答 2

1
  1. 如何创建数据库?- 总是有正确的方法吗?

因为,小型学生项目可能没问题,但从长远来看,您将不得不学习 DBMS 和数据库设计技术。一些已知的数据库是 MS SQL、MySQL、Oracle、DB2 等。由于您使用的是 Visual Studio,所以我建议您安装 MS SQL 免费版。

您开始使用最新技术的次数越多,创建数据库的方法就越多。最新的技术增加了某种抽象,所以最初只专注于在 DBMS 中创建数据库。

如何保护数据库不被他人打开?

好吧,您首先需要某种书籍来了解数据库。

在现实世界的场景中,大多数情况下,数据库位于安全服务器上,只有数据库管理员有权更改其中的内容。开发人员通常具有只读权限,他们要求管理员运行数据库脚本。其次,开发人员获得的数据库通常是加密的,我的意思是客户几乎从不将真实数据提供给开发人员,以确保安全。

最后,如果您使用的是 MS SQL,那么您的数据库总是落后于某种安全措施,例如最初的登录框。

如何以编程方式创建数据库?

嗯,有一些方法,但既然你是新手,你现在应该尝试一下。在此处发布您的问题,人们将通过一些简单的方法指导您完成任务。

最后,论坛是学习东西的好方法。我通过向老年人提问来做同样的事情。保持下去,欢迎来到 SO 和编程,你会喜欢这个社区。

于 2012-12-12T20:23:44.747 回答
0

欢迎来到 SO。正如评论中所写,您需要从一本好书开始,我相信您可以在网上找到一些东西。

一个建议是总是先检查谷歌。例如,搜索您的第三个问题会带来几个结果,即使是前几个问题也会为您提供所需的所有信息。

当您有特定问题时,请在此处询问一些代码,显示您已尝试过的内容,并尽最大努力创建SSCCE。我向你保证答案会很快。

1.如何创建数据库?- 总是有正确的方法吗?

对于任何事情都没有正确的方法。大多数软件以编程方式创建数据库,因为您不能期望您的用户为您创建正确的模式。这通常在安装程序中或在启动时完成。

2.如何保证数据库不被他人打开?

对此没有任何简单的解决方案。一种选择是在创建数据库时询问用户密码,然后在每次运行程序时再次询问用户。一些数据库允许创建加密的属性文件来启动指定密码的数据库服务器。

一般来说,安全是一个很大的话题。再次,谷歌搜索带来了有趣的材料,但没有明确的指导方针

3. 如何以编程方式创建数据库?

检查谷歌。这是一个特定的问题,但您应该能够很容易地为自己找到答案。

于 2012-12-12T17:46:48.243 回答