vb书店管理系统内容摘要:

、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。 167。 数据库系 统设计及范式分析 信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。 因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。 数据库系统设计 数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。 数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS 提供的功能和描述工具,设计出规模适当、正确反映数 据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。 数据库设计的步骤是: ( 1) 数据库结构定义:目前的数据库管理系统( DBMS)有的是支持联机事务处理 CLTP(负责对事务数据进行采集、处理、存储)的操作型 DBMS,有的可支持数据仓库、有联机分析处理 CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型 DBMS,有的数据库是关系型的、有的可支持面向对象数据库。 针对选择的 DBMS,进行数据库结构定义。 毕业设计(论文) ____________________________________________________________________________ 10 ( 2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、 类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。 关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。 数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。 ( 3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。 ( 4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。 ( 5) 数据字典设计:用数据字典描 述数据库的设计,便于维护和修改。 为了更好地组织数据和设计出实际应用数据库,应该注意如下问题: 规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。 关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。 这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整 个数据库的关系结构。 ( 1)链接关系的确定 在进行了上述数据规范化重组后,已经可以确保每一个基本数据表 (我们简称为表 )是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。 也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。 那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢 ?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。 这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来 实现的。 因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值 (因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词 ),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。 ( 2)确定单一的父子关系结构 所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用 M:N 来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构 (只能由一个主干发出若干条分支,而不能有若干条主干交错毕业设计(论文) ____________________________________________________________________________ 11 发出若干条分支状况 )。 所谓的“父系”就是指表的上一级关系表。 消除多对多关系可以借 助于 ER 图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。 消除这种 M:N 情况的办法也很简单,只需在二表之间增加一个表,则原来 M:N 的关系就改成了 M:1, 1:N 的关系了。 确定数据资源的安全保密属性: 一般 DBMS 都提供给我们自己定义数据安全保密性的功能。 系统所提供的安全保密功能一般有 8 个等级 (07 级 ), 4 种不同方式 (只读、只写、删除、修改 ),而且允许用户利用这 8 个等级的 4 种方式对每一个表自由地进行定义。 定义安全保密性的方法一般有如下几种: a.原则上所有文件都定义为 4 级,个别优先 级特别高的办公室 (终端或微机的入网账号 )可定义高于 4 级的级别,反之则定义为低于 4 的级别。 b.统计文件 (表 )和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。 c.财务等保密文件一般只对中工作站 (如财务科等 )定义为可写、可改、可删除方式,对其它工作站则定义为只读方式,而且不是每个人都能读,只有级别相同和高级别者才能读。 数据库设计范式分析 建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。 一个良好的数据指标体系是建立 DB 的必要条件,但不是充分条件。 我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。 但如果直接按照这种方式建库显然还不能算最佳。 对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。 a. 数据组织的规范化形式 在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素 (data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段 (field)。 规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字 (key),它可以唯一地标识出该表中其它相关的数据元素。 在规范化理论中表是二维的,它有如下四个性质: l 在表中的任意一列上,数据项应属于同一个属性 (如图中每一列都存放着不同合同记录的同一属性数据 )。 l 表中所有行都是不相同的,不允许有重复组项出现 (如图中每一行都是一个不同的合同记录 )。 l 在表中,行的顺序无关紧要 (如图中每行存的都是合同记录,至于先毕业设计(论文) ____________________________________________________________________________ 12 放哪一个合同都没关系 )。 l 在表中,列的顺序无关紧要,但不能重复 (如图中合同号和合同 名谁先谁后都没关系,但二者不可重复或同名 )。 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。 在这五种范式中,一般只用前三种,对于常用系统就足够了。 而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,„„,依此类推。 第一范式 (first normal form,简称 1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。 这个去掉重复项的过程就称之为规范化处理。 在本文所讨论 的开发方法里, 1st NF 实际上是没有什么意义的。 因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足 1st NF。 第二范式 (second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个 )数据元素为主关键字 (primary key),其它数据元素与主关键字一一对应。 例如,在图 中如果我们将合同号定义为主关键字 (其它数据元素中的记录数据都有可能重名,故不能作为主关键字 ),故只要知道了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。 通 常我们称这种关系为函数依赖 (functional depEndence)关系。 即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。 第三范式 (third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。 也就是说对于一个满足了 2nd NF 的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。 为防止数据库出现更新异常、插入异常、删除异常、数据冗余太 大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。 167。 SQL 语言介绍 SQL 基础 SQL(Structured Query Language,结构查询语言 )是一个功能强大的数据库语言。 SQL 通常使用于数据库的通讯。 ANSI(美国国家标准学会)声称, SQL 是关系数据库管理系统的标准语言。 SQL 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。 使用 SQL 的常见关系数据库管理系统有: Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres 等等。 虽然绝大多数的数据库系统使用 SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的毕业设计(论文) ____________________________________________________________________________ 13 系统。 但是,标准的 SQL 命令,比如 Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作。 ACCESS 就是用的 Transact SQL。 SQL 语言有着非常突出的优点,主要是: n 非过程化语言 n 统一的语言 n 是所有关系数据库的公共语言 非过程化语言: SQL 是一个非过程化的语 言,因为它一次处理一个记录,对数据提供自动导航。 SQL 允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有 SQL 语句接受集合作为输入,返回集合作为输出。 SQL 的集合特性允许一条 SQL 语句的结果作为另一条 SQL 语句的输入。 SQL 不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有 SQL 语句使用查询优化器,它是 RDBMS 的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类 型的索引。 统一的语言: SQL 可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。 SQL 为许多任务提供了命令,其中包括: n 查询数据 n 在表中插入、修改和删除记录 n 建立、修改和删除数据对象 n 控制对数据和数据对象的存取 n 保证数据库一致性和完整性 以前的数据库管理系统为上述各类操作提供单独的语言,而 SQL 将全部任务统一在一种语言中。 所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持 SQL 语言,用户可将使用 SQL 的 技能从一个 RDBMS(关系数据库管理系统 )转到另一个,所有用 SQL 编写的程序都是可以移植的。 SQL 语句 SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组: DML( Data Manipulation Language,数据操作语言):用于检索或者修改数据; DDL( Data Definition Language,数据定义语言): 用于定义数据的结毕业设计(论文) ____________________________________________________________________________ 14 构,比如 创建、修改或者删除数据库对象; DCL( Data Control Language,数据控制语言):用于定义数据库用户的权限。 DML 组可以细分为以下的几个语句: SELECT:用于检索数据; INSERT:用于增加数据到数据库; UPDATE:用于从数据库中修改现存的数据; DELETE:用于从数据库中删除数据。 DDL 语句可以用于创建用户和重建数据库对象。 下面是 DDL 命令: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX,DROP INDEX 下面是一个简单 SQL 语句的例子: 我们使用 SQL。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。