学生选课系统课程设计报.pdf
学 生 选 课 管 理 系 统I 学 生 选 课 管 理 系 统摘要随 着 社 会 的 发 展,学 生 的 人 数 和 课 程 的 种 类 急 速 增 加,传 统 的 选 课管 理 模 式 已 经 无 法 满 足 当 前 的 实 际 需 求,为 此,我 们 开 发 了 学 生 选 课 管理 系 统。本 人 结 合 学 生 选 课 管 理 的 实 际 需 要,完 成 了 对 学 生 选 课 管 理 系 统 的需 求 分 析、功 能 模 块 划 分、数 据 库 模 式 分 析 等,并 由 此 设 计 了 后 台 数 据库 以 及 前 台 应 用 程 序。文 中 首 先 对 课 题 背 景,数 据 库 基 础 理 论 和SQL 语 言 进 行 了 简 单 的 讨论;接 着,对 系 统 前 台 开 发 工 具 PowerBuilder9.0,学 生 选 课 管 理 系 统 进行 了 详 细 分 析,划 分 了 具 体 的 功 能 模 块;最 后,给 出 了 学 生 选 课 系 统 应用 程 序 的 设 计 过 程,以 及 每 个 功 能 模 块 的 核 心 代 码。系 统 可 以 实 现 学 生 选 课 的 一 些 重 要 功 能,如:课 程 的 添 加、删 除,信 息 查 询、选 课、生 成 课 表,以 及 学 生 选 课 管 理 人 员、用 户 个 人 信 息 的维 护 等。关 键 词管 理 系 统;数 据 库;PowerBuilder9.0;SQL Server 2000 学 生 选 课 管 理 系 统II Select Course Management System of Students ABSTRECT With the development of society,not only the student s number but also the kinds of course increased rapidly,the traditional management mode has been unable to adapt to actual need,so we develop the select course management system of students.According to the actual need of select course,I analyzed the demand,divided function nodule,analyzed database mode of the system.Then,I designed database of backstage and application program of stage.Firstly,I simply discussed the background of this subject and the basic theory of the database and SQL langu age in the article.Then I analyzed the development tool PowerBuilder9.0,analyzed in detail to system and divided the concrete function module.Finally,I provided the design process of the system and the key code of each function nodule.The system accomplished some important functions of managementsystem of books,such as:course s input,output,information inquiry,select courses,create table of course,modify information of the administrators and students,etc.KEY WORDS Management System,Database,PowerBuilder9.0,SQL 学 生 选 课 管 理 系 统III 目 录摘要.IABSTRECT.II1 绪论.11.1 课 题 的 背景.11.2 课 题 的 设计.21.3 本 文 的 结构.22 相关 知识 基础.32.1 数 据 库 的基 础知 识.32.2 关 系 型 数据 库.52.3 PowerBuilder9.0开 发工 具 简 介.72.4 SQL概 述.82.5 本 章 小 结.113 系统 分 析.133.1 系 统 分 析.133.1.1 用 户 要 求.133.1.2 业 务 流 程 分 析.133.1.3 系 统 实 体 E-R 图 分 析.143.2 本 章小 结.154 系统 实 现.164.1 创 建 一 个工 作空 间和 应 用 程序 对 象.164.2 创 建数 据 库 表.164.3 创 建主 窗 口.174.4 创 建 主 菜单.184.5 系 统管 理 模 块的 实 现.19学 生 选 课 管 理 系 统IV 4.5.1创 建 课 程 查 询 窗 口.194.5.2 创 建 添 加 选 课 窗 口.214.5.3 创 建 生 成 课 表 窗 口.254.5.4 创 建 个 人 信 息 窗 口.274.5.5 生 成 课 表 窗 口 的 设 计.284.5.6 创 建 登 录 窗 口.304.5.7 splash界 面 的实 现.31结束 语.33致谢.错 误!未 定 义 书 签。参考 文 献.34学 生 选 课 管 理 系 统1 1 绪 论数 据 库 是 数 据 管 理 的 最 新 技 术,是 计 算 机 科 学 的 重 要 分 支。今 天,信 息 资 源 已 成 为 各 个 部 门 的 重 要 财 富 和 资 源。建 立 一 个 满 足 各 级 部 门 信息 处 理 要 求 的 行 之 有 效 的 信 息 系 统 也 成 为 一 个 企 业 或 组 织 生 存 和 发 展 的重 要 条 件。因 此,作 为 信 息 系 统 核 心 和 基 础 的 数 据 库 技 术 得 到 越 来 越 广泛 的 应 用。从 小 型 单 项 事 务 处 理 系 统 到 大 型 信 息 系 统,从 联 机 事 务 处 理到 联 机 分 析 处 理,从 一 般 企 业 管 理 到 计 算 机 辅 助设 计 与 制 造(CAD/CAM)、计 算 机 集 成 制 造 系 统(CIMS)、办 公 信 息 系 统(OIS)等,越 来 越 多 新 的应 用 领 域 采 用 数 据 库 存 储 和 处 理 他 们 的 信 息 资 源。1.1 课题 的 背 景当 今 时 代 是 飞 速 发 展 的 信 息 时 代。在 各 行 各 业 中 离 不 开 信 息 处 理,这 正 是 计 算 机 被 广 泛 应 用 于 信 息 管 理 系 统 的 环 境。计 算 机 的 最 到 好 处 在于 利 用 它 能 够 进 行 信 息 管 理。使 用 计 算 机 进 行 信 息 控 制,不 仅 提 高 了 工作 效 率,而 且 大 大 的 提 高 了 其 安 全 性。尤 其 对 于 复 杂 的 信 息 管 理,计 算 机 能 够 充 分 发 挥 它 的 优 越 性。计 算机 进 行 信 息 管 理 与 信 息 管 理 系 统 的 开 发 密 切 相 关,系 统 的 开 发 是 系 统 管理 的 前 提。本 系 统 就 是 为 了 管 理 好 学 生 选 课 信 息 而 设 计 的。学 生 选 课 作 为 一 种 信 息 资 源 的 集 散 地,包 含 很 多 的 信 息 数 据 的 管 理。由 于 数 据 繁 多,容 易 丢 失,且 不 易 查 找。总 的 来 说,缺 乏 系 统,规 范 的信 息 管 理 手 段。尽 管 有 的 学 校 有 计 算 机,但 是 尚 未 用 于 信 息 管 理,没 有发 挥 它 的 效 力,资 源 闲 置 比 较 突 出,这 就 是 管 理 信 息 系 统 的 开 发 基 本 环境。数 据 处 理 手 工 操 作,工 作 量 大,出 错 率 高,出 错 后 不 易 更 改。造 成了 时 间 上 的 浪 费基 于 这 个 问 题,我 认 为 有 必 要 建 立 一 个 学 生 选 课 系 统,使 学 生 选 课信 息 管 理 工 作 规 范 化、系 统 化、程 序 化,避 免 学 生 选 课 管 理 的 随 意 性,提 高 信 息 处 理 的 速 度 和 准 确 性,能 够 及 时、准 确、有 效 的 查 询 和 修 改 选课 情 况。学 生 选 课 管 理 系 统2 1.2 课题 的 设 计本 文 就 学 生 选 课 系 统 的 设 计 与 制 作 展 开 分 析。学 生 选 课 系 统 主 要 应用 数 据 库 技 术 开 发,先 从 数 据 库 的 基 本 知 识 开 始 介 绍,数 据 库 的 基 本 概念、数 据 库 的 发 展、数 据 库 的 结 构,还 介 绍 了 开 发 工 具 PowerBuilder9.0和 SQL语 言。我 主 要 是 应 用 PowerBuilder9.0为 前 端 开 发 工 具,利 用 SQL语 言 实 现 数 据 查 询。设 计 系 统 时,先 从 系 统 的 数 据 流 程 开 始 分 析,设 计系 统 的 业 务 流 程 图、系 统 的 数 据 流 程 图、系 统 的E-R 图。根 据 开 题 报 告的 设 计 要 求 开 始 进 入 系 统 的 总 体 设 计,接 着 制 定 系 统 的 设 计 思 想,分 析系 统 的 功 能 并 设 计 系 统 的 功 能 模 块,这 些 都 是 系 统 制 作 前 的 准 备 工 作;准 备 工 作 完 成 后,开 始 系 统 数 据 库 的 建 立,主 要 有 各 个 功 能 窗 口 的 设 计,将 设 计 好 的 窗 口 集 中 到 主 菜 单 上,通 过 用 户 的 用 户 名 和 密 码 的 登 录 可 以进 入 到 主 窗 口,这 样 就 完 成 系 统 的 制 作。最 后,对 系 统 进 行 调 试,性 能分 析。1.3 本文 的 结 构第2 章,简 单 介 绍 了 相 关 的 基 础 知 识(如:数 据 库 的 基 本 概 念、数据 库 的 类 型、数 据 库 的 结 构、开 发 工 具 等),为 系 统 的 设 计 进 行 知 识 储 备。第 3 章,详 细 介 绍 了 系 统 分 析 与 设 计。第4 章,介 绍 了 系 统 的 制 作 过 程,如:建 立 数 据 库、设 计 制 作 窗 口等。第 5 章,对 系 统 进 行 运 行、调 试,对 系 统 性 能 分 析 和 评 价。学 生 选 课 管 理 系 统3 2 相 关 知 识 基 础2.1 数据 库 的 基 础 知 识2.1.1 数 据 库系 统 的发展数 据 库 系 统 是 在 文 件 系 统 的 基 础 之 上 发 展 而 来 的,经 历 了 层 次 数 据库、网 状 数 据 库 和 关 系 数 据 库 三 个 阶 段。由 于 关 系 型 数 据 库 采 用 人 们 比较 容 易 理 解 和 接 受 的 二 维 表 格 来 组 织 数 据,发 展 迅 速,已 成 为 数 据 库 产品 的 主 流。这 里 介 绍 的 数 据 库 知 识 都 是 指 的 关 系 数 据 库。数 据 库 架 构 如图 2-1 所 示。数据库应用程序数据库管理系统DBMS数据库DataBase数据库管理人员DBA图 2-1 数 据 库 应 用 的架 构2.1.2 基 本 概念数 据 库(DataBase,简 称 DB)是 按 一 定 组 织 方 式 存 储 在 计 算 机 存 储器 中、相 互 关 联 的 数 据 集 合,数 据 库 的 建 立 独 立 于 程 序。所 谓 关 系 数 据库 就 是 将 数 据 表 示 为 表 的 集 合,通 过 建 立 简 单 表 之 间 的 关 系 来 定 义 结 构的 一 种 数 据 库。数 据 库 管 理 系 统(DBMS)是 一 个 管 理 数 据 库 的 软 件 系 统,为 用 户 提供 了 描 述 数 据 库、操 纵 数 据 库 和 维 护 数 据 库 的 方 法 和 命 令,并 且 能 自 动控 制 数 据 库 的 安 全 以 及 数 据 完 整。常 见 数 据 库 管 理 系 统 有:Oracle、Sybase、Microsoft SQL Server、Microsoft Access、Microsoft FoxPro、IBM DB2 等。数 据 库 系 统(DBS)是 一 个 具 有 管 理 数 据 库 功 能 的 计 算 机 系 统,它 包括 应 用 软 件、数 据 库(DB)、数 据 库 管 理 系 统(DBMS)和 数 据 库 管 理 人 员(DBA)几 部 分。图 2-1 直 观 地 表 示 了 数 据 库 应 用 的 架 够。数 据 库 管 理 人学 生 选 课 管 理 系 统4 员(DBA)一 般 是 针 对 大 型 的 数 据 库 应 用 而 言 的,主 要 负 责 数 据 库 的 日 常运 行 和 维 护,如 数 据 库 备 份 等 工 作。2.1.3 数 据 库及 数 的研究 领域数 据 库 学 科 的 研 究 范 围 十 分 广 泛 的,概 括 地 讲 可 以 包 括 以 下 三 个 领域:(1)数 据 库管 理 系 统软 件 的 研 制DBMS 3 是 数 据 库 系 统 的 基 础。DBMS的 研 制 包 括 DBMS本 身 及 以 DBMS为 核 心 的 一 组 相 互 联 系 的 软 件 系 统,包 括 工 具 软 件 和 中 间 件。研 制 的 目标 是 提 高 系 统 的 可 用 性、可 靠 性、可 伸 缩 性;提 高 性 能 和 提 高 用 户 的 生产 率。DBMS核 心 技 术 的 研 究 和 实 现 是 三 十 余 年 来 数 据 库 领 域 所 取 得 的 主要成 就。DBMS是一 个 基 础 软 件 系 统,它 提 供 了 对 数 据 库 中 的 数 据 进 行 存 储、检 索 和 管 理 的 功 能。(2)数 据 库 设 计数 据 库 设 计 的 主 要 任 务 是 DBMS的 支 持 下,按 照 应 用 的 要 求,为 某 一部 门 或 组 织 设 计 一 个 结 构 合 理、使 用 方 便、效 率 较 高 的 数 据 库 及 其 应 用系 统。其 中 主 要 的 研 究 方 向 是 数 据 库 设 计 方 法 学 和 设 计 工 具,包 括 数 据库 设 计 方 法、设 计 工 具 和 设 计 理 论 的 研 究,数 据 建 模 和 数 据 建 模 的 研 究,计 算 机 辅 助 数 据 库 设 计 方 法 及 其 软 件 系 统 的 研 究。数 据 库 设 计 规 范 和 标准 的 研 究 等。(3)数 据 库 理 论数 据 库 理 论 的 研 究 主 要 集 中 于 关 系 的 规 范 化 理论、关 系 数 据 理 论 等。近 年 来,随 着 人 工 智 能 与 数 据 库 理 论 的 结 合、并 行 计 算 技 术 等 的 发 展,数 据 库 逻 辑 演 绎 和 知 识 推 理、数 据 库 中 的 知 识 发现(Knowledge Discovery from Database,简 称 KDD 4)、并 行 算 法 等 成 为 新 的 理 论 研 究 方 向。计 算 机 领 域 中 其 他 新 兴 技 术 的 发 展 对 数 据 库 技 术 产 生 了 重 大 影 响。数 据 库 技 术 和 其 他 计 算 机 技 术 的 互 相 结 合、互 相 渗 透,使 数 据 库 中 新 的技 术 内 容 层 出 不 穷。数 据 库 的 许 多 概 念、技 术 内 容、应 用 领 域,甚 至 某些 原 理 都 有 了 重 大 的 发 展 和 变 化。建 立 和 实 现 了 一 系 列 新 型 数 据 库 系 统,如 分 布 式 数 据 库 系 统、并 行 数 据 库 系 统、知 识 库 系 统、多 媒 体 数 据 库 系学 生 选 课 管 理 系 统5 统 等。它 们 共 同 构 成 了 数 据 库 系 统 大 家 族,使 数 据 库 技 术 不 断 地 涌 现 新的 研 究 方 向。2.2 关系 型 数 据 库关 系 数 据 库 由 表 组 成。一 个 关 系 是 由 一 个 二 维 表 来 定 义 的:表 的 行保 存 事 物 的 一 组 属 性 数 据,表 的 列 定 义 了 事 物 的 属 性。以 下 是 关 系 型 数 据 库 系 统 5的 一 些 特 点:几 乎当 今 所 有 的 关 系 型 数 据 库 系 统 都 采 用SQL 语 言 来 操 纵 数 据 库中 的 数 据。SQL 语 言 是 在 20 世 纪 70 年 代 由 IBM 发 展 起 来 的,后 来 成 为 工业 标 准。最 重 要 的 是 必 须 保 证 数 据 的 完 整 性。否 则,存 储 在 数 据 库 中 的 数据 就 是 毫 无 价 值 的。关 系 型 数 据 库 系 统 包 括 许 多 特 性,目 的 是 阻 止 不 符和 要 求 的 数 据 进 入 数 据 库。关 系 型 数 据 库 系 统 被 设 计 为 一 个 便 于 修 改 的 系 统,因 为 商 业 需 求几 乎 每 天 都 在 变 化。在 文 件 系 统 阶 段,相 同 的 数 据 常 常 重 复 出 现 在 许 多 记 录 中,而 关系 型 数 据 库 系 统 则 会 排 除 大 多 数 的 冗 余 数 据。这 就 减 少 了 对 存 储 空 间 的需 求,加 快 了 数 据 访 问 的 速 度。应 用 程 序 可 以 通 过 多 级 的 安 全 检 查 来 限 制 对数 据 的 访 问。2.2.1 数 据 模型模 型 是 现 实 世 界 特 征 的 模 拟 和 抽 象。数 据 模 型(Data Modal 6)是 对现 实 世 界 中 数 据 特 征 的 抽 象。存 在 于 人 们 头 脑 之 外 的 客 观 世 界,称 为 现 实 世 界。数 据 库 系 统 中 保存 的 数 据 实 际 上 是 对 现 实 世 界 的 一 种 描 述,它 是 采 用 数 据 模 型 对 现 实 世界 进 行 描 述 的。数 据 模 型 是 数 据 库 系 统 中 用 于 提 供 信 息 表 示 和 操 作 手 段的 形 式 框 架,是 数 据 库 系 统 的 核 心 和 基 础。数 据 模 型 分 为 两 种,一 种 是 概 念 数 据 模 型,它 是 用 来 描 述 现 实 世 界中 数 据 及 数 据 之 间 关 系 的 模 型,跟 计 算 机 没 有 关 系。这 种 模 型 主 要 描 述高 层 次 的 概 念,按 照 用 户 的 观 点 对 数 据 和 信 息 进 行 建 模,把 现 实 世 界 中的 客 观 对 象 抽 象 为 某 种 信 息 结 构,如 被 描 述 对 象 的 意 义、相 互 关 系 等。学 生 选 课 管 理 系 统6 另 外 一 种 就 是 实 体 数 据 模 型,它 是 用 来 描 述 信 息 世 界 中 数 据 及 数 据 之 间的 关 系 及 存 储、处 理 特 征 的 模 型,主 要 包 括 层 次 模 型、网 状 模 型、关 系模 型,它 是 按 照 计 算 机 的 观 点 对 数 据 建 模,主 要 用 于 DBMS的 实 现。在 信 息 世 界 中,把 客 观 存 在 并 可 相 互 区 别 的 事 物 称 为 实 体(Entity 7),同 型 实 体 的 集 合 称 为 实 体 集(Entity Set),实 体 所 具 有 的某 一 特 性 称 为 属 性(Attribute)。2.2.2 实 体 之间 的 联系在 现 实 世 界 中,各 种 事 物 之 间 往 往 有 着 各 种 各 样 的 联 系,这 种 联 系必 然 在 信 息 世 界 中 有 所 反 映。实 体 之 间 的 联 系 可 以 分 为 两 类,一 类 是 实体 内 部 的 联 系,如 组 成 实 体 的 属 性 之 间 的 联 系,这 种 联 系 往 往 比 较 容 易理 解。另 外 一 种 联 系 就 是 实 体 之 间 的 联 系,如 学 生 和 班 级 之 间 的 联 系:一 个 学 生 属 于 某 一 个 班 级,而 另 一 个 班 级 有 多 个 学 生。实 体 完 整 性 规 则 规 定 基 本 关 系 的 所 有 主 属 性 都 不 能 去 空 值,而 不 仅 是主 码 整 体 不 能 取 空 值。对 于 实 体 完 整 性 规 则 说 明 如 下:1实 体 完 整 性 规 则 是 针 对 基 本 关 系 而 言 的,一 个 基 本 表 通 常 对 应 现实 界 的 一 个 实 体 集。例 如 学 生 关 系 对 应 于 学 生 的 集 合。2 现 实 世 界 中 的 实 体 是 可 区 分 的,即 它 们 具 有 某 种 唯 一 性 标 识。3 相 应 地,关 系 模 型 中 以 主 码 作 为 唯 一 性 标 识。4主 码 中 的 属 性 即 主 属 性 不 能 取 空 值。所 谓 空 值 就 是“不 知 道”或“无 意 义”的 值。如 果 主 属 性 取 空 值,就 说 明 存 在 某 个 不 可 标 识 的 实 体,即 存 在 不 可 区 分 的 实 体,这 与 第 2 点 相 矛 盾,因 此 这 个 规 则 称 为 实 体 完整 性。2.2.3 规 范 化设 计 方法构 造 数 据 库 时,必 须 遵 循 一 定 的 规 则。在 关 系 数 据 库 中,这 种 规 则就 是 范 式(Normal Form)。或 者 说,满 足 一 定 条 件 的 关 系 模 式,称 为 范式。在 1971 年 至 1972 年,E F Codd 系 统 地 提 出 了 第 一 范 式(1NF)、第 二 范 式(2NF)和 第 三 范 式(3NF)的 概 念。1974 年 Codd 和 Boyce 共 同提 出 BCNF范 式,为 第 三 范 式 的 改 进。关 系 数 据 库 中 的 关 系 必 须 满 足 一 定学 生 选 课 管 理 系 统7 的 要 求,即 需 要 满 足 不 同 的 范 式。目 前 除 了 前 面 提 到 的 三 种 范 式,还 有第 四 范 式(4NF)、第 五 范 式(5NF)和 第 六 范 式(6NF)。2.3 PowerBuilder9.0开 发 工具 简 介PowerBuilder9.0是 Sybase 公 司 2003 年 推 出 的 新 一 代 4GL Plus数据 库 开 发 工 具,它 不 仅 继 承 了 以 往 版 本 的 各 种 先 进 技 术,而 且 适 应 目 前开 放 试 软 件 的 发 展 潮 流,在 快 速 集 成 开 发 环 境 中 增 加 了 构 建 Web Service、JSP Web、EJB 的 功 能,满 足 了 在 4GL RAD 环 境 中 创 建 完 整 应 用 和 应 用 组件 的 需 求,并 使 企 业 应 用 可 以 平 滑 过 度 到 基 于 浏 览 器 和 Web 的 应 用 模 式下。同 时,PowerBuilder9.0卓 越 的 应 用 开 发 效 率 及 强 大 的 Web功 能 为 新版 本 增 色 不 少。完 整 的 应 用 系 统 有 工 作 空 间、目 标、应 用 对 象。窗 口 上 的 菜 单 对 象。数 据 窗 口 对 象 和 控 件 对 象,以 及这 些 对 象的 事 件处 理 程 序 构 成。(1)工 作 空 间和 目 标在 以 前 的 版 本 中,程 序 员 一 次 只 能 开 发 一 个 应 用 程 序,这 样 使 得 应用 程 序 无 法 取 得 多 个 可 用 的 组 件 信 息,因 此 在 构 件 复 杂 应 用 时 会 大 大 增加 难 度。PowerBuilder9.0提 供 了 Workspace功 能,这 让 开 发 人 员 同 时 在 多个 应 用 或 组 件 上 进 行 开 发,同 时 PowerBuilder9.0用 Target来 描 述 加 到Workspace中 的 应 用 或 组 件。11 PowerBuilder中 存 在 三 类 Target是:Window 客 户、EAServer组 件 和 Web站 点。在 PowerBuilder中,只 有 打开 Workspace才 能 更 有 效 地 工 作,开 发 者 可 以 在 Workspace中 定 义 一 个新 的 Target或 者 加 入 一 个 已 经 存 在 的 Target。因 此,Workspace 已 经 变成 了 PowerBuilder中 所 有 活 动 的 中 心。(2)窗 口、控件、事 件和 程 序在 PowerBuilder中,窗 口(Window)是 主要 的 用户 界 面,软 件 开 发 人员 往 往 把 各 种 控 制 功 能(如 录 入、查 询、打 印、统 计 等)做 成 按 扭 或 其 它控 件 放 在 窗 口 上 有 用 户 选 择。应 用 对 象、窗 口 对 象、菜 单 对 象,窗 口 上的 数 据 窗 口 控 件 和 其 他 控 件 对 象 都 对 应 着 若 干 个 可 能 发 生 的 事 件 12-13,如 应 用 对 象 和 窗 口 对 象 上 有 Open(打 开),Close(关 闭)等 事 件,菜 单 项上 有Clicked(鼠 标 左 键 单 击 或 按 回 车 键)等 事 件,窗 口 上 的 控 件 有学 生 选 课 管 理 系 统8 Clicked、Double Clicked(用 鼠 标 左 键 双 击)Getfocus(得 到 焦 点),Edit Changed(数 据 被 修 改)等 事 件 1 4。PowerBuilder的 程 序 是 嵌 套 在 事 件 中的,也 就 是 说 由 事 件 驱 动 的,一 旦 用 户 选 定 了 控 件 也 就 触 发 了 某 个 事 件。软 件 开 发 人 员 只 需 为 各 个 控 件 的 事 件 编 写 事 件 处 理 程 序,指 定 该 事 件 被触 发 时 要 进 行 的 处 理,应 用 系 统就 这 样 构造 出 来了。事 件 处 理 程 序 用 PowerBuilder的 专 用 语 言 PowerScript语 言 编 写。PowerScript语 言 是 一 种 高 水 准。面 向 对 象 的 语 言,提 供 了 丰 富 的 内 置 函数 供 软 件 开 发 人 员 使 用。事 件 处 理 程 序 有 PowerScript语 句 和 函 数 组 成,来 响 应 被 触 发 的 事 件 并 做 相 应 的 处 理。例 如,菜 单 项 上 有Clicked事 件 此 事 件 的 处 理 程 序 可 能 是 打 开 另 一个 窗 口,用 户 用 鼠 标 左 键 单 击 此 菜 单 时,Clicked事 件 被 触 发,指 定 的 窗口 被 打 开。又 如 窗 口 上 有 一 个 数 据窗 口 和 一 些 按 扭,按 扭 上 的 文 字 为“录入”、“删 除”、“存 盘”等,这 些 按 扭 的 功 能 分 别 为 数 据 窗 口 中 插入 一 行,删 除 一 行,将 结 果 修 改 存 盘,我 们 只 需 为 这 些 按 扭 的Clicked事 件 编 写相 应 的 程 序 完 成 这 些 功 能。(3)函 数函 数 是 PowerScript语 言 的 重 要 组 成 部 分,PowerBuilder为 软 件 开发 人 员 提 供 了 近 800 个 内 置 函 数 1 5-1 6,主 要 用 于 完 成 以 下 工 作:访 问 和操 作 数 据,操 纵 对 像 的 数 字 或 文 本,进 行 计 算,字 符 串 处 理,数 据 类 型转 换,处 理 日 期 和 时 间,文 本 文 件 的 输 入 和 输 出,生 成 商 务 图 形,打 印数 据,与 其他 窗 口 的数 据 通 信,处 理 邮 件,Web应 用,分 布 式 应 用 等。此外,软 件 开 发 人 员 还 可 以 通 过 建 立 用 户 自 定 义 函 数 来 满 足 某 个 应 用 系 统的 特 殊 要 求。需 要 时 还 可 调 用 Windows 的 SDK函 数 和 外 部 DLL 函 数。2.4 SQL概 述2.4.1 SQL Server 2000概述SQL Server 2000 是 一 个 大 型 关 系 数 据 库 管 理 系 统,它 是 微 软 公 司 推出 的 新 一 代 数 据 库 产 品。它 是 微 软 公 司 在 SQL Server 7.0版 的 基 础 上 经过 改 进 和 提 高 而 推 出 的 数 据 库 产 品。它 的 性 能、可 靠 性、质 量 以 及 易 用性 都 比 以 前 的 版 本 大 有 提 高。它 提 供 了 许 多 提 高 系 统 运 行 性 能 的 新 功 能,学 生 选 课 管 理 系 统9 并 使 数 据 库 的 管 理 工 作 变 得 更 加 轻 松 容 易。把 SQL Server 2000作 为OLTP、数 据 仓 库 以 及 电 子 商 务 应 用 程 序 的 后 台 数 据 库 是 一 个 不 错的 选择。在 SQL Server 2000关 系 数 据 库 中,信 息 被 存 放 在 二 维 表 格 结 构 的表(TABLE)中。数 据 库 中 的 表 之 间可 以 是 相 互 关 联 的,表 之 间 的 这 种 关联 性 是 通 过 主 健 和 外 键 所 体 现 的 参 照 关 系 来 实 现 的。数 据 库 中 不 仅 包 括表,还 包 括 其 他 数 据 库 对 象,如:视 图、存 储 过 程、索 引 等。SQL Server 2000 采 用 了 客 户/服 务 器 计 算 模 型,即 中 央 服 务 器 用 来存 放 数 据 库,该 服 务 器 可 以 被 多 台 客 户 机 访 问,数 据 库 应 用 的 处 理 过 程分 布 在 客 户 机 和 服 务 器 上。客 户/服 务 器 计 算 模型 分 为 两 层 的 客 户/服 务器 结 构。在 两层 的 客 户/服 务 器 系 统 中,客户 机 通过 网 络 与 运 行 SQL Server 2000 实 例 的 服 务 器 相 连,客 户 机 用 来 完 成 数 据 表 示 和 大 部 分 业 务 逻 辑 的实 现,服 务 器 完 成 数 据 的 存 储,这 种 客 户 机 被 称 为“胖 客 户 机”(thick client)。在多 层 的 客户/服 务 器 系 统 中,应 用 至 少 要 经 历 三 个 处 理 层,第 一 层 仍 是 客 户 机,但 是 它 只 负 责 数 据 的 表 示;第 二 层 是 业 务 逻 辑 服 务器,负 责 业 务 逻 辑 的 实 现,所 有 的 客 户 机 都 可 以 对 它 进 行 访 问;第 三 层是 数 据 库。这 种 多 层 结 构 中 的 客 户 机 被 称 为“瘦 客 户 机”(thin client)。Internet应 用 就 是 三 层 结 构 的 一 个 典 型 例 子。数 据 库 系 统 采 用 客 户/服 务 器 结构 的 好 处 是,数 据 集 中 存 储 在 服 务 器上,而 不 是 分 开 存 储 在 客 户 机 上,使 所 有 用 户都 可 以 访 问 到 相 同 的 数 据。业 务 逻 辑 和 安 全 规 则 可 以 在 服 务 器 上 定 义 一 次,而 后 被 所 有 的 客 户 使 用。关 系 数 据 库 服 务 器 仅 返 回 应 用 程 序 所 需 要 的 数 据,这 样 可 以 减 少 网 络 流量。节 省 硬 件 的 开 销,因 为 数 据 都 存 储 在 服 务 器 上,不 需 在 客 户 机 上 存储 数 据,所 以 客 户 机 硬 件 不 需 要 具 备 存 储 和 处 理 大 量 的 数 据 能 力。同 样,服 务 器 不 需 要 具 备 数 据 表 示 的 功 能。由 于 数 据 集 中 存 储 在 服 务 器 上,所以 备 份 和 恢 复 起 来 很 容 易。2.4.2 SQL 语言 介 绍SQL是 英 文 Structured Query Language的 缩 写,中 文 意 思 是 结 构 化查 询 语 言。SQL 是 一 种 介 于 关 系 代 数 与 关 系 演 算 之 间 的结 构化 查 询 语 言,它 是 一 个 通 用 的、功 能 极 强 的 关 系 数 据 库 语 言。SQL 虽 然 名 为 查 询 语 言,但 实 际 上 具 有 定 义、查 询、更 新 和 控 制 等 多 种 功 能。从 20 世 纪 70 年 代学 生 选 课 管 理 系 统10 末 起,在 推 出 的 关 系 数 据 库 系 统 产 品 ORACLE、SQL/DS、DB2、SYBASE 上都 实 现 了 SQL 语 言。SQL 语 言 是 一 种 非 过 程 化 语 言,它 一 次 处 理 一 个 记 录集 合,对 数 据 提 供 自 动 导 航。SQL 语 言 允 许用 户 在 高 层 的 数 据 结 构 上 工 作,而 不 对 单 个 记 录 进 行 操 作。SQL语 言 不 要 求 用 户 指 定 数 据 的 存 取 方 法,而是 使 用 查 询 优 化 器,由 系 统 决 定 对 指 定 数 据 存 取 的 最 快 手 段。当 设 计 者在 关 系 表 上 定 义 了 索 引 时,系 统 会 自 动 利 用 索 引 进 行 快 速 检 索,用 户 不需 知 道 表 上 是 否 有 索 引 或 者 有 什 么 类 型 的 索 引 等 细 节。SQL主 要 组 成 分 成 四 个 部 分:数 据 定 义、数 据 操 纵、数 据 控 制、制 嵌入 式 SQL 的 使 用 规 定。数 据 定 义(DDL):用 于 定 义 SQL 模 式、基 本 表、视 图 和 索 引 13-1 4。数 据 操 纵(DML):它 分 为 数 据 查 询 和 数 据 更 新 两 类。其 中 数 据 更 新又 分 成 插 入、删 除 和 修 改 三 种 操 作。数 据 控 制(DCL):包 括 对 基 本 表 和视 图 的 授 权,完 整 性 规 则 的 描 述,事 务 控 制 等 内 容。嵌 入 式 SQL 的 使 用规 定:其 内 容 涉 及 到 SQL 语 句 嵌 入 在 宿 主 语 言 程 序 中 使 用 的 规 则。(1)SQL的 数 据 查 询SELECT语 句 的 语 法 如 下:SELECT 目 标 表 的 列 名 或 列 表 达 式 序 列FROM 基 本 表 或 视 图WHERE行 条 件 表 达 式 GROUP BY 列 名 序 列HAVING 分 组 条 件 表 达 式 ORDER BY 列 名 ASC|DESC,句 法 中 表 示 该 成 分 可 有,也 可 无。整 个 语 句 的 执 行 过 程 如 下:(a)读 取 FROM子 句 中 基 本 表、视 图 的 数 据,执 行 笛 卡 尔 积 操 作。(b)读 取 满 足 WHERE 子句 中 给 出 的 条 件 表 达 式 的 元 组。(c)按 GROUP