创建数据库
这是免费的 “NerdDinner”应用程序教程 的第 2 步,该教程介绍了如何使用 ASP.NET MVC 1 生成小型但完整的 Web 应用程序。
步骤 2 显示了为 NerdDinner 应用程序创建包含所有晚餐和 RSVP 数据的数据库的步骤。
NerdDinner 步骤 2:创建数据库
我们将使用数据库来存储 NerdDinner 应用程序的所有 Dinner 和 RSVP 数据。
以下步骤演示如何使用免费的 SQL Server Express 版 (创建数据库,可以使用 Microsoft Web 平台安装程序) 的 V2 轻松安装该版本。 我们将编写的所有代码都适用于 SQL Server Express 和完整SQL Server。
创建新的SQL Server Express数据库
首先,右键单击 Web 项目,然后选择“ 添加新>项 ”菜单命令:
这将打开 Visual Studio 的“添加新项”对话框。 我们将按“数据”类别进行筛选,然后选择“SQL Server数据库”项模板:
我们将将要创建的SQL Server Express数据库命名为“NerdDinner.mdf”并点击 ok。 然后,Visual Studio 将询问我们是否要将此文件添加到 \App_Data 目录 (,该目录已设置有读取和写入安全 ACL) :
我们将单击“是”,新数据库将创建并添加到解决方案资源管理器:
在数据库中创建表
我们现在有了一个新的空数据库。 让我们向其添加一些表。
为此,我们将导航到 Visual Studio 中的“服务器资源管理器”选项卡窗口,以便管理数据库和服务器。 存储在应用程序的 \App_Data 文件夹中SQL Server Express数据库将自动显示在服务器资源管理器中。 还可以选择使用“服务器资源管理器”窗口顶部的“连接到数据库”图标,将本地和远程) (其他SQL Server数据库添加到列表中:
我们将向 NerdDinner 数据库添加两个表 - 一个用于存储我们的 Dinners,另一个用于跟踪 RSVP 接受情况。 可以通过右键单击数据库中的“表”文件夹并选择“添加新表”菜单命令来创建新表:
这将打开一个表设计器,使我们能够配置表的架构。 对于“晚餐”表,我们将添加 10 列数据:
我们希望“DinnerID”列成为表的唯一主键。 可以通过右键单击“DinnerID”列并选择“设置主键”菜单项来配置此项:
除了将 DinnerID 设置为主键外,我们还希望将其配置为“标识”列,其值在向表中添加新数据行时自动递增 (这意味着第一个插入的 DinnerID 行的 DinnerID 为 1,第二个插入行的 DinnerID 为 2,等等) 。
为此,可以选择“DinnerID”列,然后使用“列属性”编辑器将列上的“ (是标识) ”属性设置为“是”。 我们将使用标准标识默认值, (从 1 开始,并在每个新晚餐行) 递增 1:
然后,我们将通过键入 Ctrl-S 或使用 “文件>保存 ”菜单命令来保存表。 这将提示我们命名表。 我们将它命名为“晚餐”:
然后,新的 Dinners 表将显示在服务器资源管理器中的数据库中。
然后,我们将重复上述步骤并创建“RSVP”表。 此表包含 3 列。 我们将设置 RsvpID 列作为主键,并使其成为标识列:
我们将保存它,并为其命名“RSVP”。
设置表之间的外键关系
现在,数据库中有两个表。 最后一个架构设计步骤是在这两个表之间设置“一对多”关系,以便我们可以将每个 Dinner 行与适用于它的零个或多个 RSVP 行相关联。 为此,我们将 RSVP 表的“DinnerID”列配置为与“Dinners”表中的“DinnerID”列具有外键关系。
为此,我们将通过在服务器资源管理器中双击表设计器中的 RSVP 表来打开该表。 然后,我们将选择其中的“DinnerID”列,右键单击,然后选择“关系...”。上下文菜单命令:
这将打开一个对话框,可用于设置表之间的关系:
我们将单击“添加”按钮以向对话框添加新关系。 添加关系后,我们将在对话框右侧的属性网格中展开“表和列规范”树视图节点,然后单击“...”按钮右侧:
单击“...”按钮将打开另一个对话框,该对话框允许我们指定关系中涉及的表和列,并允许我们命名关系。
我们将“主键表”更改为“Dinners”,并选择“Dinners”表中的“DinnerID”列作为主键。 我们的 RSVP 表将是外键表和 RSVP。DinnerID 列将关联为外键:
现在,RSVP 表中的每一行都将与 Dinner 表中的一行相关联。 SQL Server将为我们维护引用完整性 ,如果 RSVP 行未指向有效的 Dinner 行,则阻止我们添加新的 RSVP 行。 如果仍有引用晚餐行的 RSVP 行,它还会阻止我们删除该行。
向表添加数据
最后,我们将一些示例数据添加到 Dinners 表。 可以通过在服务器资源管理器中右键单击表并选择“显示表数据”命令,将数据添加到表:
我们将添加几行 Dinner 数据,稍后在开始实现应用程序时可以使用这些数据:
下一步
我们已完成数据库的创建。 现在,让我们创建可用于查询和更新它的模型类。