创建数据库

Microsoft

下载 PDF

这是免费的 “NerdDinner”应用程序教程 的第 2 步,该教程介绍了如何使用 ASP.NET MVC 1 生成小型但完整的 Web 应用程序。

步骤 2 显示了为 NerdDinner 应用程序创建包含所有晚餐和 RSVP 数据的数据库的步骤。

如果使用 ASP.NET MVC 3,建议遵循入门与 MVC 3MVC 音乐商店教程。

NerdDinner 步骤 2:创建数据库

我们将使用数据库来存储 NerdDinner 应用程序的所有 Dinner 和 RSVP 数据。

以下步骤演示如何使用免费的 SQL Server Express 版 (创建数据库,可以使用 Microsoft Web 平台安装程序) 的 V2 轻松安装该版本。 我们将编写的所有代码都适用于 SQL Server Express 和完整SQL Server。

创建新的SQL Server Express数据库

首先,右键单击 Web 项目,然后选择“ 添加新>项 ”菜单命令:

“解决方案资源管理器”对话框的屏幕截图。选择“添加”并突出显示“新建项”。

这将打开 Visual Studio 的“添加新项”对话框。 我们将按“数据”类别进行筛选,然后选择“SQL Server数据库”项模板:

Visual Studio“添加新项”对话框的屏幕截图。突出显示了 S Q L 服务器数据库。突出显示了数据。

我们将将要创建的SQL Server Express数据库命名为“NerdDinner.mdf”并点击 ok。 然后,Visual Studio 将询问我们是否要将此文件添加到 \App_Data 目录 (,该目录已设置有读取和写入安全 ACL) :

Microsoft Visual Studio 对话框的屏幕截图。突出显示了“是”。

我们将单击“是”,新数据库将创建并添加到解决方案资源管理器:

解决方案资源管理器导航树的屏幕截图。书呆子晚餐点 m d f 突出显示并选中。

在数据库中创建表

我们现在有了一个新的空数据库。 让我们向其添加一些表。

为此,我们将导航到 Visual Studio 中的“服务器资源管理器”选项卡窗口,以便管理数据库和服务器。 存储在应用程序的 \App_Data 文件夹中SQL Server Express数据库将自动显示在服务器资源管理器中。 还可以选择使用“服务器资源管理器”窗口顶部的“连接到数据库”图标,将本地和远程) (其他SQL Server数据库添加到列表中:

服务器资源管理器导航树的屏幕截图。数据连接已展开,并突出显示了 Nerd Dinner 点 m d f。

我们将向 NerdDinner 数据库添加两个表 - 一个用于存储我们的 Dinners,另一个用于跟踪 RSVP 接受情况。 可以通过右键单击数据库中的“表”文件夹并选择“添加新表”菜单命令来创建新表:

服务器资源管理器导航树的屏幕截图。表已展开并突出显示。突出显示了“添加新表”。

这将打开一个表设计器,使我们能够配置表的架构。 对于“晚餐”表,我们将添加 10 列数据:

“书呆子晚餐”对话框的屏幕截图。显示表的架构。

我们希望“DinnerID”列成为表的唯一主键。 可以通过右键单击“DinnerID”列并选择“设置主键”菜单项来配置此项:

“晚餐 ID”菜单项的屏幕截图。突出显示了“设置主键”菜单项。

除了将 DinnerID 设置为主键外,我们还希望将其配置为“标识”列,其值在向表中添加新数据行时自动递增 (这意味着第一个插入的 DinnerID 行的 DinnerID 为 1,第二个插入行的 DinnerID 为 2,等等) 。

为此,可以选择“DinnerID”列,然后使用“列属性”编辑器将列上的“ (是标识) ”属性设置为“是”。 我们将使用标准标识默认值, (从 1 开始,并在每个新晚餐行) 递增 1:

“列属性”选项卡的屏幕截图。突出显示了“标识规范”。

然后,我们将通过键入 Ctrl-S 或使用 “文件>保存 ”菜单命令来保存表。 这将提示我们命名表。 我们将它命名为“晚餐”:

“选择名称”对话框的屏幕截图。晚餐写在“输入表的名称”框中。

然后,新的 Dinners 表将显示在服务器资源管理器中的数据库中。

然后,我们将重复上述步骤并创建“RSVP”表。 此表包含 3 列。 我们将设置 RsvpID 列作为主键,并使其成为标识列:

“书呆子晚餐”对话框的屏幕截图。列名称类别中突出显示了 R S V P I D。

我们将保存它,并为其命名“RSVP”。

设置表之间的外键关系

现在,数据库中有两个表。 最后一个架构设计步骤是在这两个表之间设置“一对多”关系,以便我们可以将每个 Dinner 行与适用于它的零个或多个 RSVP 行相关联。 为此,我们将 RSVP 表的“DinnerID”列配置为与“Dinners”表中的“DinnerID”列具有外键关系。

为此,我们将通过在服务器资源管理器中双击表设计器中的 RSVP 表来打开该表。 然后,我们将选择其中的“DinnerID”列,右键单击,然后选择“关系...”。上下文菜单命令:

“晚餐 ID”菜单项的屏幕截图。关系突出显示。

这将打开一个对话框,可用于设置表之间的关系:

“外键关系”对话框的屏幕截图。

我们将单击“添加”按钮以向对话框添加新关系。 添加关系后,我们将在对话框右侧的属性网格中展开“表和列规范”树视图节点,然后单击“...”按钮右侧:

“外键关系”对话框的屏幕截图。突出显示了表和列规范。箭头指向其右侧的“省略号”按钮。

单击“...”按钮将打开另一个对话框,该对话框允许我们指定关系中涉及的表和列,并允许我们命名关系。

我们将“主键表”更改为“Dinners”,并选择“Dinners”表中的“DinnerID”列作为主键。 我们的 RSVP 表将是外键表和 RSVP。DinnerID 列将关联为外键:

“表和列”对话框的屏幕截图。突出显示了主键表和外键表。

现在,RSVP 表中的每一行都将与 Dinner 表中的一行相关联。 SQL Server将为我们维护引用完整性 ,如果 RSVP 行未指向有效的 Dinner 行,则阻止我们添加新的 RSVP 行。 如果仍有引用晚餐行的 RSVP 行,它还会阻止我们删除该行。

向表添加数据

最后,我们将一些示例数据添加到 Dinners 表。 可以通过在服务器资源管理器中右键单击表并选择“显示表数据”命令,将数据添加到表:

服务器资源管理器的屏幕截图。突出显示了“显示表数据”。

我们将添加几行 Dinner 数据,稍后在开始实现应用程序时可以使用这些数据:

Microsoft Visual Studio 中 Dinner 数据的屏幕截图。

下一步

我们已完成数据库的创建。 现在,让我们创建可用于查询和更新它的模型类。