多媒体与网络技术专业毕业论文图书管理系统(编辑修改稿)内容摘要:
规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。 数据库设计的步骤是: ( 1) 数据库结构定义:目前的数据库管理系统( DBMS)有的是支持联机事务二○○一级毕业设计论文 第 8 页 共 38 页 处理 CLTP(负责对事务数据进行采集、处理、存储)的操作型 DBMS,有的可支持数据仓库、有联机分析处理 CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型 DBMS,有的数据库是关系型的、有的可支持面向对象数据库。 针对选择的 DBMS,进行 数据库结构定义。 ( 2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。 关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。 数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。 ( 3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。 ( 4) 数据使用 权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。 ( 5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。 为了更好地组织数据和设计出实际应用数据库,应该注意如下问题: 规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。 关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。 这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立 起来了。 建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。 ( 1)链接关系的确定 在进行了上述数据规范化重组后,已经可以确保每一个基本数据表 (我们简称为表 )是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。 也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。 那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢 ?这就需要在设计 数据结构时将这种各表之间的数据记录关系确定下来。 这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。 因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值 (因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词 ),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。 ( 2)确定单一的父子关系结构 所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N 来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构 (只能由一个主干发出若干条 分支,而不能有若干条主干交错发出若干条分支状况 )。 所谓的“父系”就是指表的上一级关系表。 消除多对多关系可以借助于 ER 图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。 消除这种 M:N 情况的办法也很简单,只需在二表之间增加一个表,则原来 M:N的关系就改成了 M:1, 1:N 的关系了。 确定数据资源的安全保密属性: 一般 DBMS 都提供给我们自己定义数据安全保密性的功能。 系统所提供的安全保密功能一般有 8 个等级 (07 级 ), 4 种不同方式 (只读、只写、删除、修改 ),而且允许用二○○一级毕业设计论文 第 9 页 共 38 页 户利用这 8 个等级的 4 种方式对 每一个表自由地进行定义。 定义安全保密性的方法一般有如下几种: a.原则上所有文件都定义为 4 级,个别优先级特别高的办公室 (终端或微机的入网账号 )可定义高于 4 级的级别,反之则定义为低于 4 的级别。 b.统计文件 (表 )和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。 c.财务等保密文件一般只对中工作站 (如财务科等 )定义为可写、可改、可删除方式,对其它工作站则定义为只读方式,而且不是每个人都能读,只有级别相同和高级别者才能读。 数据库设计范式分析 建立起一个良好的数据指标体系, 是建立数据结构和数据库的最重要的一环。 一个良好的数据指标体系是建立 DB 的必要条件,但不是充分条件。 我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。 但如果直接按照这种方式建库显然还不能算最佳。 对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。 SQL语言介绍 SQL 基础 SQL(Structured Query Language,结构查询语言 )是一个功能强大的数据库语言。 SQL 通常使用于数据库的通讯。 ANSI(美国 国家标准学会)声称, SQL是关系数据库管理系统的标准语言。 SQL 语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。 使用 SQL 的常见关系数据库管理系统有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres 等等。 虽然绝大多数的数据库系统使用 SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。 但是,标准的 SQL 命令,比如 Select、 Insert、 Update、 Delete、 Create和 Drop常常被用于完成绝大多数数据库的操作。 MS SQL Server 就是用的 Transact SQL。 SQL 语言有着非常突出的优点,主要是: 1. 非过程化语言 2. 统一的语言 3. 是所有关系数据库的公共语言 非过程化语言: SQL 是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。 SQL 允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集,所有 SQL 语句接受集合作为输入,返回集合作为输出。 SQL 的集合特性允许一条 SQL 语句的结果作为另一条 SQL 语句的输入。 SQL 不要求用户指定对数据的存放方法, 这种特性使用户更易集中精力于要得到的结果;所有 SQL语句使用查询优化器,它是 RDBMS 的一部分,由它决定对指定数据存取的最快速度的手段,查询优化器知道存在什么索引,在哪儿使用索引合适,而用户则从不需要知道表是否有索引、有什么类型的索引。 统一的语言: SQL可用于所有用户的 DB 活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。 SQL 为许多任务提供了命令,其中包括: 、修改和删除记录 二○○一级毕业设计论文 第 10 页 共 38 页 、修改和删除数据对象 以前的数据库管理系统为上述各类操作提供单独的语言,而 SQL 将全部任务统一在一种语言中。 所有关系数据库的公共语言:由于所有主要的关系数据库管理系统都支持 SQL 语言,用户可将使用 SQL 的技能从一个 RDBMS(关系数据库管理系统 )转到另一个,所有用 SQL 编写的程序都是可以移植的。 SQL 语句 SQL 功能强大,是一种完备的数据处理语言,不仅用于数据库查询,而且用于数据库中的数据修改和更新,概括起来,它可以分成以下几组: DML( Data Manipulation Language,数据操作语言):用于检索或者修改数据; DDL( Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象; DCL( Data Control Language,数据控制语言):用于定义数据库用户的权限。 DML组可以细分为以下的几个语句: SELECT:用于检索数据; INSERT:用于增加数据到数据库; UPDATE:用于从数据库中修改现存的数据; DELETE:用于从数据库中删除 数据。 DDL 语句可以用于创建用户和重建数据库对象。 下面是 DDL 命令: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, DROP INDEX 下面是一个简单 SQL语句的例子: 我们使用 SQL 语句来从 Book 中检索‘借书证号’为‘ 000001’的借阅者姓名: SELECT 姓名 FROM Book WHERE 借书证号 = ‘ 000001’ DDL 与 DML 数据定义语言 DDL:它是用来创建和修改数据库结构的一种语句,包括 Create、Alter 和 Drop 语句。 数据操作语言 DML:包括数据查询与数据更新。 数据查询主要是由 Select 语句完成,这一点不再赘述。 而数据更新所造成的风险大大超过数据查询。 数据库管理系统必须在更改期内保护所存储的数据的一致性,确保有效的数据进入数据库,数据库必须保持一致性, DBMS 还必须协调多用户的并行更新,以确保用户和它们的更改不至于影响其它用户的作业。 用于修改数据库内容的 SQL 语句主要有以下三个: (1) Insert,向一个表中加入新的数据行 (2) Delete,从一个表中删除数据行 (3) Update,更改数据库中已经存在的数据 Insert 标准语法: INSERT INTO table_name (col1, col2...) VALUES(value1, value2...) 下例要将借书证号为‘ 000001’作为一个新的借书情况加入借书情况表 OWNER中 Insert Into owner (借书证号,图书编号,借书日期 ) values (‘ 000001’,‘ 00000001’,‘ 20xx912’ ) 二○○一级毕业设计论文 第 11 页 共 38 页 Insert 语句还可以将多行数据添加到目标表中去,在 这种形式的 Insert 语句中,新行的数据值不是在语句正文中明确地指定的,而是语句中指定的一个数据库查询。 添加的值来自数据库自身的行,在某些特定的状态下,这是非常有用的。 多行 Insert 语句为拷贝数据提供了一种紧凑而高效的方法,但我在自已做的图书管理系统中没有使用这种方法,我在系统中是使用循环依照上面的用法来完成多个记录的插入。 Update 语句用于更新单表中选定行的一列或多列的值。 要更新的目标表在语句中定义, Set 子句则指定要更新哪些列并计算它们的值。 Update 语句总是包含 Where 语句,而且 Update 语句比较危险,所以您必须明确地认识到 Where 语句的重要性, Where语句被用来指定需要更新的行。 标准语法: UPDATE table_name SET columnname1 = value1 [, columname2 = value2]... WHERE search_condition Delete 语句标准语法: DELETE FROM tablename WHERE condition 复杂操作实现 在信息管理系统中,我们往往会遇到归类、汇总、映射、索引、子查 询等复杂操作,相应的支持与实现如下: u GROUP BY 方法 GROUP BY 子句语法为: SELECT column1, SUM(column2) FROM listoftables GROUP BY columnlist。 这个 GROUP BY 子句将集中所有的行在一起,它包含了指定列的数据以及允许合计函数来计算一个或者多个列。 在本人的系统中在显示数据时用到了此语句来对查询所得的内容排序然后再显示。 u 组合条件和布尔运算符 以下的 SQL语句中就含有组合条件: SELECT column1, SUM(column2) FROM listoftables WHERE condition1 AND condition2。 下面是一个示例: SELECT 身份描述 FROM ID,user WHERE = and =’ 000001’。 这条 SQL 语句是从 user、 id 表中查找借阅证号为 000001 的借阅者的身份描述,第三条语句中如果其中有一个条件为假,那么就什么都没有显示。 u UNION 子句 有些时候,需要一起浏览多个查 询的结果、组合它。多媒体与网络技术专业毕业论文图书管理系统(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。