1.3 系统开发环境及实例
本书主要介绍事务处理系统的分析设计和开发方法,这是大家日常接触最多的系统类型,也是其他系统类型的基础。下面我们开始一个实例开发之旅,来认识本书所选择的数据库和软件开发环境,直观地体验系统实现过程,尽快从用户转换为开发者角色。
1.3.1 系统开发环境
要开发一个数据库应用系统,首先要选择数据库管理系统和确定应用程序开发工具环境。
1.关系数据库管理系统MySQL
数据库管理系统(Database Management System)是指支持创建、操纵和管理数据库的整套软件,一般由专业软件公司或开源社区开发。当前可供选择的商品化数据库管理系统有很多,可以根据开发环境和实际业务需要选择合适的软件及版本。大企业、政府和金融机构等通常使用Oracle、DB2,中小企业特别是采用Windows平台时常选择SQL Server,小型或个人应用可选择桌面化的Access,预算有限的可选择开源的MySQL,使用嵌入式或移动设备开发的可选用轻型的SQLite等,考虑自主知识产权可选择国产金仓(KingbaseES)或达梦(DM)数据库。这些关系数据库管理系统原理相同,使用方法相似。本书以开源的MySQL数据库管理系统为例,并选择第三方数据库管理工具Navicat for MySQL作为可视化管理工具。
① MySQL数据库管理系统mysql-installer-community下载地址:https://dev. mysql. com/downloads/mysql。
② Navicat for MySQL下载地址:http://www.formysql.com。
2.应用程序开发环境Visual Studio
数据库应用系统的展现形式多样,但它们与数据库相关的访问操作及数据处理方法大致相同。实际项目需要根据业务需求确定系统架构类型,并选择相应的开发工具环境。本书以Web应用系统开发为例,如果采用响应式布局,则可以直接实现Web APP。设计和实现Web应用程序的可选开发环境很多,如ASP.NET、PHP、JSP等,每种选择又有一系列相关的开发框架和工具来支持。本书选择ASP.NET开发Web应用程序,C#语言作为处理语言,它们和访问数据库的ADO.NET组件都已经被集成在微软公司的Visual Studio集成开发环境下。
由于Visual Studio不包含MySQL数据提供程序,因此,在安装Visual Studio后,还需要单独安装MySQL驱动组件。若要使用可视化配置数据源,则需要安装MySQL for Visual Studio。
① Visual Studio下载地址:微软官网或http://msdn.itellyou.cn。
② MySQL组件驱动mysql-connector-net.msi下载地址:
https://dev.mysql.com/downloads/connector/net
③ MySQL for Visual Studio下载地址:
https://dev.mysql.com/downloads/windows/visualstudio
提示:下载软件的版本没有限制,但必须注意,软件版本要与机器使用的操作系统环境(如64位或32位)匹配,各种组件版本要与软件版本匹配,具体参见软件的官网说明。扫描文前的二维码可查看本书所使用的软件环境说明和各软件安装过程。
1.3.2 实例开发体验
【例1.1】为某电影分享网站创建一个简单的Web应用程序(见图1.14),从下拉列表中选择电影类型,可查看该类电影的列表。
图1.14 查看电影
演示视频
1.电影数据库设计说明
关系数据库采用关系模型,以二维表格来存储数据,表之间通过公共属性建立关系,表中每条记录完整地描述一个实体成员的信息。如图1.15所示是电影数据库中的三个关系表及部分数据:电影类型表存放电影类型信息,电影表存放电影的详细信息,导演表存放导演信息。电影类型表和电影表通过公共属性“类型号”建立关系,电影表和导演表通过“导演号”建立关系。可以看到,表之间的关系将独立的表关联为逻辑上的整体信息。
图1.15 电影数据库
数据表中各列(也称为字段)根据数据特点选用合适的数据类型(见表1.2至表1.4),并将能唯一区分一条记录的字段定义为主关键字(主键)。表中,char(n)表示固定长度为n的字符串;varchar(n)表示可变长度的字符串,最大长度是n;datetime为日期型。
表1.2 filmtype(电影类型表)
表1.3 filminfo(电影表)
表1.4 director(导演表)
2.在MySQL中创建数据库
使用Navicat for MySQL可以快速、可视化地完成数据库创建。
第一步:创建数据库film。
① 在Navicat for MySQL左栏连接树中右击,从快捷菜单中选择“新建数据库”命令。
② 在对话框中(见图1.16)填写数据库名film,字符集选择utf8 -- UTF-8 Unicode,排序规则选择utf8_general_ci,单击“确定”按钮即可创建新数据库。
图1.16 创建数据库
第二步:依次创建两个表filmtype和filminfo(数据字段说明见表1.2至表1.4)。
① 在左栏连接树中双击展开film数据库,右击“表”项,从快捷菜单中选择“新建表”命令,弹出表的设计窗口(见图1.17)。
图1.17 表的设计窗口
② 在表设计窗口中,根据表的存储结构设计依次完成每个字段的名称和数据类型设置。例如,选择“栏位”选项卡,在第一行中创建“类型号”字段:“名”设置为“类型号”,“类型”设置为char(定长字符串),“长度”设置为2,“允许空值”取消方框中的“√”(表示该字段的值不允许为空),单击工具栏中的“”按钮,设置其为主键,在窗口下方的“注释”框中可填写字段的描述说明“电影类型编号”,完成“类型号”字段的创建。
③ 单击工具栏中的“”按钮,或按键盘中的“↓”键移到下一行,创建“类型名”字段:“类型”设置为varchar(可变长字符串),“长度”设置为4。最后单击工具栏中的“保存”按钮,输入表名filmtype,一个表就创建完成了。
④ 参照上述步骤,根据表1.3完成filminfo表的创建并保存。
第三步:建立filmtype表和filminfo表的关系。
在左栏连接树中右击表名filminfo,从快捷菜单中选择“设计表”命令,重新进入表设计窗口,选择“外键”选项卡,完成两个表关系的建立。按图1.18设置各列的选项值,单击“保存”按钮自动生成外键的名称。
图1.18 建立两个表的关系
提示:用来建立关系的“类型号”字段在两个表中的字段类型和长度必须完全一致,并且在filmtype表中已经设置为主键。
第四步:向数据表中添加记录。
图1.19 表数据窗口
① 在左栏连接树中右击filmtype表,从快捷菜单中选择“打开表”命令,进入表数据窗口(见图1.19),输入各记录的字段值,单击窗口下部“”按钮或按键盘中的“↓”键移到下一行。输入完成后,单击表数据窗口右上角“”按钮关闭窗口,按提示保存即可。
② 同上方法为filminfo表添加记录。
提示:一定要先添加filmtype表中的数据,再添加filminfo表中的数据,顺序不可颠倒。因为在这两个表之间的关系中,后者的数据受前者约束。
第五步:生成创建数据库的SQL脚本文件,便于以后恢复或转移数据库。
第四步已经完成数据库的创建。为了以后恢复或转移数据库,需生成创建数据库的SQL文件保存起来。右击film数据库,从快捷菜单中选择“转储SQL文件”命令(见图1.20),在打开的对话框中输入文件名,选择保存位置,转储完成后单击“关闭”按钮(见图1.21)。*.sql是文本文件,可以用文本编辑器打开。
图1.20 转储SQL文件
图1.21 转储完成
3.开发网站应用程序
Visual Studio是可视化开发环境,支持使用ASP.NET创建网站,下面给出实现步骤。
(1)新建ASP.NET网站项目。启动Visual Studio,选择菜单命令“文件→新建→网站”,在“新建网站”对话框(见图1.22)中,模板选择“Visual C#”“ASP.NET空网站”,Web位置为“文件系统”,路径为“D:\W11_film”,单击“确定”按钮。系统将在D:\W11_film文件夹下创建若干文件夹和文件。在解决方案资源管理器中可看到新建立的项目。
图1.22 新建网站项目
(2)新建ASP.NET页面FilmShow.aspx。在解决方案资源管理器中,右击W11_film网站,从快捷菜单中选择“添加新项”命令,打开“添加新项”对话框(见图1.23),模板选择“Visual C#”“Web窗体”,名称修改为FilmShow.aspx,单击“添加”按钮完成页面添加。
(3)设计FilmShow.aspx页面。在解决方案资源管理器中,右击FilmShow.aspx,从快捷菜单中选择“视图设计器”命令,打开页面设计窗口(见图1.24)。展开工具箱中的“标准”组,拖动一个Label控件放置到页面上;打开属性窗口,设置Text属性值为“电影类型”;放置一个DropDownList到Label1之后,单击右上角“”按钮,在任务列表中勾选“启用AutoPostBack”项。
图1.23 添加Web窗体
展开工具箱中的“数据”组,拖动一个GridView控件放置到页面上,在属性窗口中设置GridView1的Caption属性值为“电影列表”,单击右上角“”按钮,在任务列表中选择自动套用格式“简明型”。
(4)编写代码。访问数据库的处理流程固定,代码很容易掌握,将在第6章中详细讲解。这里只需要生成事件过程框架,然后录入或复制其中代码即可。
① 在解决方案资源管理器中,右击项目,从快捷菜单中选择“添加引用”命令,在打开的对话框中选“浏览”选项卡(见图1.25),找到并选中本机安装MySQL驱动时产生的MySql.Data.dll文件(如C:\Program Files(x86)\MySQL\MySQL Connector Net 6.10.8\Assemblies\v4.5.2文件夹下),确定后完成MySQL驱动的添加。
图1.24 页面设计窗口
图1.25 在项目中添加MySQL驱动的引用
② 双击视图设计器进入代码文件FilmShow.aspx.cs,开始编辑Page_Load()事件过程代码。注意,在引用部分需要添加命名空间System.Data和MySql.Data.MySqlClient。
③ 在设计页面中双击下拉列表,生成DropDownList1_SelectedIndexChanged()事件过程框架,编写代码如下:
(5)运行程序。选择菜单命令“调试→启动调试”运行程序。
Page_Load()和DropDownList1_SelectedIndexChanged()事件过程的代码极其相似,分别独立完成了一次数据库查询过程,主要区别在于SQL命令不同和绑定的页面对象不同。