第1章 引 例 本章的教学目标:  了解银行贷款系统的功能与效果。 1.1 目标任务 提前消费的观念在现代社会越来越被中国人所接受,因此人们与银行贷款业务接触越来越多,车贷、房贷、房屋抵押贷款……这些名词大家都耳熟能详。办理这些业务的银行、担保公司甚至普通用户都需要一款功能完善、界面友好、实用方便的银行贷款系统。银行贷款系统不仅可以帮助业务人员记录庞大的贷款信息,提高工作效率,还可以帮助普通用户了解自己的贷款信息,计算每月的还款额、利息等。 1. 系统任务 银行贷款系统是银行管理贷款业务的重要工具,一款比较完善的银行贷款系统应该主要包括以下几项。 (1) 用户管理: 主要负责管理使用系统的操作人员; (2) 贷款人管理: 主要负责管理贷款人信息; (3) 贷款信息管理: 主要负责管理贷款人的贷款信息; (4) 还款信息管理: 主要负责管理贷款人的还款信息; (5) 贷款计算: 主要负责计算贷款人的每月还款额、利息等; (6) 查询功能: 主要负责对各种信息的查询,包括对某个还款人还款记录的查询、余额的查询等。 2. 系统目标 银行贷款系统不仅适用于银行、担保公司的业务人员,也适用于普通用户。该系统的逻辑不太复杂,适用于程序设计的初学者。开发该系统的主要目的是共享数据、减低成本、提高效率等。一般来说,银行贷款系统应该达到以下目标: (1) 能够管理不同权限的操作人员档案; (2) 能够根据贷款信息自动初始化还款信息,减少人工的参与和基础信息的录入,具有良好的自治功能和信息循环; (3) 能够根据操作人员输入还款信息,自动计算余额,减轻操作人员的工作压力,降低管理成本; (4) 能够快速地进行各种查询和过滤; (5) 能够以各种形式查看贷款人、贷款信息和还款信息。 1.2 基础知识 根据银行贷款系统的功能和目标,一个标准的银行贷款系统应该包含如图1.1所示的功能模块,每一个功能模块又包含一系列的子模块。 1. 登录系统 “登录系统”的功能是自动将“用户表”中的用户名添加到组合框列表中,让操作人员在组合框中选择用户名,在密码框中输入密码,验证密码的正确性。密码正确则进入系统主界面,如果连续三次密码输入错误则退出系统。用户信息主要包括用户号、用户名、密码和用户类型。 2. 基本资料 图1.2是“基本资料”功能模块。 图1.1 银行贷款系统的功能模块 图1.2 “基本资料”功能模块 (1) “经办人资料”模块完成浏览、添加、删除经办人信息,只有当操作人员的用户类型为“经理”时,才有管理这个模块的权限,一般经办人没有此权限。 (2) “借款人资料”模块完成浏览、添加、删除借款人信息。借款人信息主要包括法人编号、单位名称、经济性质、注册资金、法定代表人、法人联系电话。 3. 借款管理 图1.3是“借款管理”功能模块。 (1) “借款单”模块完成单条记录浏览借款信息,添加、删除和查找符合条件的借款信息。借款信息主要包括借款单号、法人编号、贷款日期、贷款金额、贷款期限、贷款利率、还款方式以及经办人等。 (2) “借款单汇总”模块以列表形式浏览所有借款信息,还可以过滤符合条件的借款信息。 4. 账款管理 图1.4是“账款管理”功能模块。图1.3 “借款管理”功能模块 图1.4 “账款管理”功能模块 (1) “还款明细”模块完成单条记录浏览还款信息,添加、删除和过滤符合条件的还款信息。还款信息主要包括借款单号、还款时间、法人编号、偿还本金、偿还利息、剩余本金和经办人号。在此功能模块中,操作人员手工输入借款单号、还款时间、法人编号、偿还利息、偿还本金以及经办人号,其中 “剩余本金”不能手工输入,其值自动计算,等于用户上次还款后剩余本金减去本次所还本金。 (2) “还款汇总”模块以列表形式浏览所有还款信息,可以根据法人的编号过滤符合条件的还款信息。 (3) “贷款计算”模块根据操作人员输入的贷款方式、贷款总额、贷款期限和贷款年利率,计算出每月的偿还利息、偿还本金以及剩余本金,还可以计算还款总额以及支付的总利息。 1.3 效果及功能1. 系统登录与系统主界面 (1) 运行程序后出现如图1.5所示的“系统登录”界面,组合框中自动添加用户表中的所有用户名称,用户在密码框中输入密码,单击“登录”按钮,图1.5 “系统登录”界面 如果密码验证正确,则进入如图1.6所示的“系统主界面”,如果操作人员连续三次错误输入密码则退出系统。 (2) 当用户在登录界面选择用户名,输入的密码正确后,进入系统主界面,如图1.6所示。单击各菜单项时,会看到它们的子菜单项。主界面最下面是状态栏,其中第一个框架显示系统日期;第二个框架显示系统时间;第三个框架显示当前登录用户名。 2. “基本资料”功能 (1) “经办人资料”模块主要负责管理经办人资料,包括浏览、添加、删除经办人的信息,界面如图1.7所示。“第一条”、“下一条”、“上一条”和“末一条”按钮实现记录的浏览操作。图1.6 系统主界面 单击“添加”按钮,显示信息的文本框置空,用户输入信息。单击“取消”按钮取消添加操作。单价“更新”实现记录的更新操作,即把输入的新记录真正地添加到数据库中。单击“删除”按钮删除当前记录。单击“退出”按钮,关闭“经办人资料”界面,回到贷款系统主界面。 (2) “借款人资料”模块主要负责管理借款人资料,包括浏览、添加、删除借款人的信息,其界面如图1.8所示。 图1.7 “经办人资料”界面 图1.8 “借款人资料”界面 3. “借款管理”功能 (1) “借款单”模块完成单条记录浏览借款信息,添加、删除和查找符合条件的借款信息,其界面如图1.9所示。如果登录用户的类型为“经理”,则可查看所有借款信息;如果登录用户的类型为“经办人”,只能查看该经办人添加的记录。单击“更新”按钮,实现记录的更新操作。在更新前需判断主码是否唯一,如果主码不唯一,则弹出对话框提醒用户并要求重新输入;如果主码唯一,则添加到记录集及数据库中。 (2) “借款单汇总”界面以列表形式浏览所有借款信息,还可以过滤符合条件的借款信息,其界面如图1.10所示。 图1.9 “借款单”界面 图1.10 “借款单汇总”界面 4. “贷款计算”功能 (1) “还款明细”模块完成单条记录浏览还款信息,添加、删除和过滤符合条件的还款信息,其界面如图1.11所示。操作人员手工输入法人编号、借款单号、还款时间、偿还本金、偿还利息和经办人号,其中“剩余本金”文本框不能输入只能输出,其值自动计算,等于用户上次还款后剩余本金减去本次所还本金。 (2) “还款汇总”模块以列表形式浏览所有还款信息,还可以根据法人编号过滤出某法人的还款信息,其界面如图1.12所示。 图1.11 “还款明细”界面 图1.12 “还款汇总”界面 (3) “贷款计算”界面中操作人员选择还款方式,输入贷款总额、贷款期限以及贷款年利率,选择贷款期限的单位(年或者月),单击“计算”按钮,计算每月的偿还利息、偿还本金以及剩余本金,还可以计算还款总额以及支付的总利息,其界面如图1.13所示。 图1.13 “贷款计算”界面 第2章 系统数据库创建 本章的教学目标:  掌握使用桌面数据软件Access进行小型数据库设计的方法;  掌握常用SQL语句的书写语法;  掌握用SQL Server创建数据库、导入导出数据库的操作步骤。 2.1 目标任务 几乎所有的应用程序都需要存放大量的数据,并将其组织成易于读取的格式,这种要求通常可以通过数据库管理系统来实现。数据库系统提供了数据在数据库内存放方式的管理能力,使编程人员不必像使用文件那样需要考虑数据的具体操作或数据连接关系的维护。数据库是一组排列成易于处理和读取的相关信息的组合。其中,关系型数据库模型已经成为数据库设计事实上的标准。这不仅因为关系型数据库模型的强大功能,而且因为它提供了被称为结构化查询语言(SQL)的标准接口。 关系型数据库模型把数据用表的集合形式来给予表示。通过建立简单表之间的关系来定义结构,而不是根据数据的物理存储方式建立数据中的关系。不管表在数据库文件中的物理存储方式如何,都可以把它们看成一组行和列。在关系型数据库中,行被称为记录,列被称为字段。表是有关信息的逻辑组。图2.1给出了一张用户表,表中的每一行数据就是一条记录,它包含了特定用户的信息,而每条记录都包含相同类型和数量的字段,例如,用户ID 、用户名称、密码、用户类别等就是每一列的名称,这就是字段。每个表都应该有一个主关键字(简称主键),主键可以是表的一个或几个字段的组合,且对表中的每一行都是唯一的。在用户表中,用户类别不能作为主键,因为有重复值,不能唯一确定某一行。同样的道理,用户名称和密码都是不合适的字段。所以,在该表中添加了一列名为UID的字段,只是为了作主键用,没有太多的意义。定义了主键的表,可以大大加快数据的访问速度。 图2.1 用户表 目前较为流行的桌面数据库Microsoft Access、大型网络数据库Microsoft SQL Server、Oracle和Sybase等都属于关系型数据库。本章以Microsoft Access桌面数据库和Microsoft SQL Server大型网络数据库为例来创建VB的数据库。 2.2 效果及功能 根据第1章引例中描述的系统功能和关系数据库的理论,数据库的设计关键是数据表的设计,把通过详细调查获得的数据进行仔细分析,去伪存真,最后归纳为数据库软件能够识别的数据表格形式。根据第1章引例的描述,把银行贷款系统的数据库归纳出4个数据表(用户表、法人表、贷款表和还款表)。图2.2~图2.5给出了它们的具体描述,包括字段名称、数据类型、说明等信息。 (1) 用户表(见图2.2) 图2.2 用户表 (2) 法人表(见图2.3) 图2.3 法人表 (3) 贷款表(见图2.4) 图2.4 贷款表 (4) 还款表(见图2.5) 图2.5 还款表 2.3 基础知识 结构化查询语言(Structured Query Language, SQL)是对存放在计算机数据库中的数据进行组织、管理和检索的一种工具。SQL是针对关系型数据库使用的,关系数据库都支持SQL。用户想要检索数据库中的数据时,可以通过SQL语言发出请求,数据库管理系统会对该SQL请求进行处理并检索所要求的数据,将结果返回给用户,此过程被称为数据库查询,这也是数据库查询语言SQL这一名称的由来。SQL是目前使用最广的并且是标准的数据库查询语言。SQL语句使得存取或更新信息变得十分容易。SQL语言中常用的语句有SELECT、DELETE、UPDATE、INSERT、WHERE、DROP、ALTER、CREATE等。由于SQL语言非常强大,它涉及数据库管理的方方面面,这里只讲解本书涉及的知识点。 下面的例子都是针对如图2.6所示的数据表进行讲解的,表的名称是“法人表”,各字段含义见图2.3. 图2.6 “法人表”数据 1. 插入、删除、更新语句 在SQL语言中,用来改变数据源的语句有INSERT(插入)语句、DELETE(删除)语句和UPDATE(更新)语句。 (1) INSERT语句 常见的INSERT语句有如下两种: INSERT INTO 表名\)\] VALUES \)\]和 INSERT INTO 表名\)\] 子查询例如,现在要在“法人表”中插入一行数据。 INSERT INTO LegalEntity (EID,EName,ENature,ECapital,ERep,ETel) VALUES(13,'爱因美食品有限公司','三资',500,'高诚','13922930012')例如,现在有一个“临时法人表”,其结构与“法人表”完全相同,现在要把“法人表”中的 12行数据全部插入“临时法人表”中。它的 SQL 语句如下: INSERT INTO临时法人表SELECTFROM LegalEntity(2) DELETE语句 DELETE语句的语法如下: DELETE FROM 表名\条件表达式>\条件表达式>\]\]例如,删除“法人表”中法定代表人为李倩的记录,SQL语句如下: DELETE FROM LegalEntity WHERE ERep='李倩'(3) UPDATE语句 UPDATE语句的语法如下: UPDATE表名SET 字段名1=常量表达式1 \常量表达式2…\]WHERE <条件表达式>\OR <条件表达式>\]例如,修改“法人表”中刘敏的注册资金ECapital为100万元,SQL语句如下: UPDATE LegalEntity SET ECapital=100 WHERE ERep='刘敏'2. 查询语句 数据查询是SQL语言中最常见的操作。SELECT(查询)语句的语法如下: SELECT \ <目标列表达式>\\目标列表达式>\…\] FROM 表名\\条件表达式>\条件表达式>…\] \条件表达式>\] \]\\]以下分别对选择列表、WHERE条件、数值函数、分组子句GROUP BY、分组条件子句HAVING、排序子句ORDER BY进行详细介绍。 (1) 选择列表 ① 选择所有列。选择所有列可以用“”号表示。例如,下面的语句显示“法人表”中所有列的数据: SELECTFROM LegalEntity② 选择部分列并指定它们的显示次序。查询结果集合中数据的排列顺序与用户所指定的一致。例如,希望得到单位名称、法定代表人和注册资金按此顺序显示,可使用如下语句: SELECT EName,ERep,ECapital FROM LegalEntity③ 更改列标题。在选择列表中,可以重新指定列标题。例如,希望将EName显示为单位名称、ERep显示为法定代表人、ECapital显示为注册资金,可使用如下语句: SELECT EName As 单位名称 , ERep As 法定代表人, ECapital As注册资金FROM LegalEntity④ 删除重复行。在查询语句中,可以使用DISTINCT选项使所有重复的数据行在SELECT返回的结果集中只保留一行。例如,希望查看法人表中有几种经济性质,因为经济性质可能相同,所以需要使用DISTINCT选项。 SELECT DISTINCT ENature FROM LegalEntity⑤ 限制返回的行数。使用TOP n \选项可限制返回的数据行数。TOP n说明返回n行;TOP n PERCENT说明返回n%,指定返回的行数等于总行数的百分之几。例如,希望返回法人表的前2条记录,可以使用如下语句: SELECT TOP 2FROM LegalEntity如果希望返回法人表中数据的20%,可以使用如下语句: SELECT TOP 20 PERCENTFROM LegalEntity(2) WHERE条件 在WHERE条件中经常用到的谓词有比较、确定范围、确定集合、字符匹配、空值和多重条件共6类。 ① 比较谓词。常见的比较谓词有=(等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、!=(不等于)和<>(不等于)。例如,查询姓名为刘敏的法定代表人信息: SELECTFROM LegalEntity WHERE ERep='刘敏'例如,查询姓名不为刘敏的法定代表人信息: SELECTFROM LegalEntity WHERE ERep<>'刘敏'② 确定范围谓词。常见的确定范围谓词有BETWEEN AND 和NOT BETWEEN AND两个。例如,查询注册资金30万~100万元的法人信息,可以使用如下语句: SELECTFROM LegalEntity WHERE ECapital BETWEEN 30 AND 100 例如,查询注册资金不在30万~100万元的法人信息,可以使用如下语句: SELECTFROM LegalEntity WHERE ECapital NOT BETWEEN 30 AND 100③ 确定集合谓词。常见的确定集合谓词有IN和NOTIN两个。例如,查询法定代表人为刘敏和刘爽的信息,可以使用如下语句: SELECTFROM LegalEntity WHERE ERep IN('刘敏','刘爽')④ 字符匹配谓词。常见的字符匹配谓词有LIKE ( "%”匹配任何长度的字符, "_”匹配一个字符)和NOT LIKE。例如,查询姓刘的法定代表人信息,可以使用如下语句: SELECTFROM LegalEntity WHERE ERep LIKE '刘%'⑤ 空值谓词。常见的空值谓词有IS NULL和IS NOT NULL。例如,查询“法人表”中法人联系电话为空的记录,可以使用如下语句: SELECTFROM LegalEntity WHERE ETel IS NULL⑥ 多重条件谓词。常见的多重条件谓词有AND、OR和NOT。例如,在“法人表”中查询姓张的并且注册资金大于100万元的法人信息,可以使用如下语句: SELECTFROM LegalEntity WHERE 姓名ERep LIKE '张%' AND ECapital>100(3) 数值函数 常见的数值函数有COUNT(计数)、MIN(求最小值)、MAX(求最大值)、AVG(求平均值)和SUM(求总和)共5个。例如,统计法人表记录个数,可以使用如下语句: SELECT COUNT() FROM LegalEntity(4) 分组子句GROUP BY CROUP BY子句可以对记录进行分类统计。例如,因为经济性质有多种,要求每种经济性质的平均注册资金,首先应该把经济性质相同的法人分成一组,每一组的数据求平均值,语句如下: SELECT ENature, AVG(ECapital) As EAvgCapital FROM LegalEntity GROUP BY ENature(5) 分组条件子句HAVING HAVING子句用来筛选符合某些条件的记录,只能用于GROUP BY子句之后。例如,查询平均注册资金大于300万元的经济性质,可以使用如下语句: SELECT ENature, AVG(ECapital) As EAvgCapital FROM LegalEntity GR0UP BY ENature HAVING AVG(ECapital)>300(6) 排序子句ORDER BY ORDER BY子句一般用于所有子句的最后,主要用来排序: 升序用ASC;降序用DESC。例如,得到按注册资金升序排序的法人信息,可以使用如下语句: SELECTFROM LegalEntity GR0UP BY ENature ORDER BY ECapital Asc(7) 多表查询 如果所查询的数据来自多个表,可以在FROM命令后面分别列出各个数据表,中间用逗号分割。如果结果中需要多个表中重复的字段,则该字段应该加表前缀,表示该字段来自哪张表。通常后面还应该包括多个表中的数据对应条件。 例如,法人表(法人编号,单位名称),贷款表(借款单号,法人编号,贷款金额)。查询包含法人编号、单位名称、借款单号、贷款金额的记录集,可以使用如下语句: SELECT LegalEntity.EID,EName,Loan.LID,LAmount FROM LegalEntity, Loan WHERE LegalEntity.EID=Loan.EID可以为表指定别名,如: SELECT a.EID,EName,b.LID,LAmount FROM LegalEntity a, Loan b WHERE a.EID=b.EID2.4 实现步骤1. 使用Microsoft Access创建数据库 Access是Microsoft Office的组件之一,选择“开始-程序-Microsoft Office-Microsoft Office Access 2003" ,就可以启动Microsoft Access,其界面如图2.7所示。 图2.7 Access启动界面 (1) 建立数据库 这里要创建一个空的数据库,单击“新建文件…" ,在出现的界面右侧“新建文件”面板中,选择“空数据库…" 。可以打开“文件新建数据库”对话框,在该对话框中选择保存位置并输入文件名(如银行贷款系统),然后单击“创建”按钮,就可以建立一个空白的数据库。 (2) 建立数据表 新建一个空白数据库后,在Microsoft Access主窗口中将会出现如图2.8所示的数据库管理窗口。在此窗口中可以管理Access数据库的各个组成部分。 因为这里要创建数据表,所以要确保图2.8左边面板中的表对象是选中状态。右边的三个条目表示创建表的三种不同方式。“使用设计器创建表”是比较常用的创建表的方式。双击该项目,可打开如图2.9所示的对话框。上面部分由三列组成,第一列中要求输入表的字段名称;第二列表示该字段的数据类型;第三列可以输入一些有关字段的说明文字。 在图2.9的第一列输入图2.1中给出的字段名称,在第二列中单击鼠标左键,会出现一个下拉列表框,在其中可以选择需要的类型。这时对话框的下面将显示相应字段的一些属性,在其中可以设置字段大小、默认值等,如图2.10所示。图2.8 数据库管理窗口 图2.9 表设计器初始对话框 图2.10 设计表的结构 若需要设置主键,可以选定拟设置为主键的字段,如果需要多个字段,可以按下Ctrl键(不连续选择)或Shift键(连续选择),然后单击Microsoft Access主窗口工具栏中的“主键”图标,也可以在选中的字段上面单击右键,在弹出的快捷菜单中选择“主键”选项,此时被设为主键的字段名左侧会出现“主键”图标,如图2.10所示。同时,该主键的“字段属性”中的“索引”属性将自动设置为“有(无重复)" . 全部字段设置结束后,关闭表设计器对话框,系统将显示提示是否保存的对话框,可根据提示保存新建的数据表并设置表的名称。 若需修改数据表的结构定义(如添加、删除或修改字段),可在如图2.11所示的数据库管理窗口选定数据表(如“UserT" ),然后单击该窗口工具栏中的“设计”按钮,打开如图2.9所示的表设计器对话框进行操作。如果要添加一个新表,可再次双击“使用设计器创建表”选项。 图2.11 设计好表的数据库管理窗口 (3) 输入记录 如图2.11所示,在数据库管理窗口中双击要打开的数据表,或者选定表(如“UserT" ) 后单击工具栏中的“打开”按钮,打开如图2.12所示的数据表对话框,在表中输入数据。输入结束后关闭该对话框,根据系统提示保存数据表。用同样的方法可以建立银行贷款系统的其他数据表。 图2.12 向“UserT”表输入数据 (4) 建立表间关联关系 在一个数据库中,一般需要用多个表存放不同类别的信息,但表之间又相互关联。例如,在银行管理系统数据库中用“UserT”表存放系统用户的用户号、姓名、密码等基本情况,用“LegalEntity”表存放借款人的基本信息,用“Loan”表存放贷款信息,用“Repayment”表存放还款信息。当需要查询某法人的完整借款信息时,就要从后三张表中获取数据。假如某位借款人的法人号在最初输入时有误,需要修改,则必须确保“LegalEntity" 、 "Loan”和“Repayment”中的“EID”字段进行同步更改。因此,应当为三张表建立必要的关联关系,并设置参照完整性约束。 建立表间关联关系的前提是两个表各含有一个关联字段(它们的数据类型、长度、是否为空等属性必须相同),其中一个表的关联字段必须被设为主键或具有唯一索引(如“LegalEntity”中的“EID”字段),该表称为“主(父)表”;另一个表称为“从(子)表”(如“Loan" ) 。关联关系的类型有一对一、一对多和多对多等。下面以“LegalEntity" 、 "Loan”和“Repayment”为例,简单介绍建立数据表之间关联关系的一般步骤。 ① 单击Microsoft Access主窗口工具栏的“关系”按钮,若数据库中尚未定义任何关系,则在打开“关系”窗口的同时,会弹出如图2.13所示的“显示表”对话框。 ② 在“显示表”对话框中选定需要建立关系的表,单击“添加”按钮,然后单击“关闭”按钮,屏幕显示如图2.14所示的“关系”对话框。 图2.13 选择拟建立关系的表 图2.14 “关系”对话框 ③ 在“关系”对话框中将“LegalEntity”中的“EID”字段拖放到“Loan”中的“EID”字段上,放开鼠标,弹出如图2.15所示的“编辑关系”对话框。 ④ 在“编辑关系”对话框中,将“实施参照完整性”、“级联更新相关字段”和“级联删除相关记录”三个复选框全部选中,单击“创建”按钮。 ⑤ 重复第③、④步的操作,建立“LegalEntity”表中的“EID”字段与“Repayment”表中的“EID”字段的表间关联,再建立“Loan”表中的“LID”字段与“Repayment”表中的“LID”字段的表间关联。三个表建立好关系后的效果如图2.16所示。 ⑥ 建立表间关联关系后,打开主表(如“LegalEntity" ),可以看到每条记录的左端增加了子表开关按钮(+、-) ,单击该按钮可以展开或折叠子表。此时,可以很方便地查看或输入每条记录的子表数据(如该法人借款信息),如图2.17所示。按照上述建立数据表之间关系的方法,银行贷款系统4张表之间的关系如图2.18所示。图2.15 “编辑关系”对话框 图2.16 表间关系 图2.17 查看或输入子表数据 图2.18 “银行贷款系统”数据表关系总图 由于Access数据处理能力的局限性,当数据量很大时,Access的性能将显著下降,这时用户可以选用SQL Server数据库。 2. 用Microsoft SQL Server创建数据库 SQL Server是Microsoft的数据库产品,提供了丰富的数据服务。使用SQL Server服务之前,用户需要安装SQL Server。安装完成后,单击“开始-程序-Microsoft SQL Server 2008”命令,可以看到菜单界面包含多个可选项,包括SQL Server Management Studio、Analysis Server、导入和导出数据、配置工具等。以下重点讲述如何使用SQL Server Management Studio,如何建立数据库、表,以及如何通过备份文件还原数据库。 SQL Server Management Studio方便用户对数据进行管理,用户可以利用它创建数据库、创建表、创建关系、创建触发器等。通过它,用户可以可视化地对数据库进行管理,其界面如图2.19所示。 图2.19 SQL Server Management Studio (1) 创建数据库和表 在SQL Server Management Studio左边的树形目录中选择“数据库”,并单击右键,在弹出的快捷菜单中选择“新建数据库…”选项,将出现如图2.20所示的“新建数据库”界面。输入数据库名称,如“银行贷款系统”,然后单击“确定”按钮,就完成了数据库的创建。左边的树形目录中将会出现该数据库的名称。 图2.20 “新建数据库”界面 单击“银行贷款系统”左侧的“+”号展开此目录,然后右击“表”,在弹出的快捷菜单中选择“新建表”选项,将进入如图2.21所示的“新建表”界面。首先为表创建字段,然后单击工具栏中的“保存”按钮,在弹出的“选择名称”对话框中输入表名,接着单击“确认”按钮,这样就完成了表的创建。在选择字段的数据类型时,要注意与Access 数据类型的区别。 图2.21 “新建表”界面 (2) 导入导出数据库 前一节已经在Access中建好了数据库“银行贷款系统”,从而可以通过SQL Server Management Studio直接导入数据,而不需要创建数据对象和数据。 ① 打开SQL Server Management Studio,右击“数据库”,选择“新建数据库…" ,出现如图2.20所示的新建数据库界面,在数据库名称中输入“银行贷款系统1" ,单击“确定”按钮。 ② 右击数据库“银行贷款系统1" ,然后在弹出的快捷菜单中选择“任务-导入数据…”选项,进入“SQL Server导入导出向导”,单击 “下一步”,出现如图2.22所示的“选择数据源”界面,在数据源中选择“Microsoft Access" ,文件名中单击“浏览…" ,选择在Access已经建好的数据“银行贷款.mdb" ,单击“下一步”. 图2.22 “选择数据源”界面 ③ 在出现的如图2.23所示的“选择目标”界面中,目标、服务器名称和数据库内容取默认值。单击“下一步”按钮。在“指定表复制或查询”界面中,保留默认值“复制一个或多个表或视图的数据”,单击“下一步”按钮。 图2.23 “选择目标”界面 ④ 在出现的如图2.24“选择源表和源视图”中,在所有表前的方框中打钩,选择所有表,然后单击“下一步”按钮。 图2.24 “选择源表和源视图” ⑤ 在后面的界面中单击“完成”,即可成功导入数据。 导出数据的方法与导入数据类似,这里不再赘述。