任务2 收集、整理信息
任务描述
合理的数据库设计可以使用户方便准确地访问到最新的信息。正确的数据库设计对于实现使用数据库的目标非常重要。本任务提供了规划数据库的一些原则。在本任务中将学习如何确定需要哪些信息,如何将这些信息划分到相应的表和列,以及这些表如何彼此关联。
1.数据库基本术语
数据库中信息以表的形式存储,表是由行和列组成的列表,与Excel工作表类似。在数据库中可包含一个或多个表。如图1-18所示,Catalog表中存储着网站栏目(频道)的基本信息,在CatalogType表中存储有关栏目的类型代码信息,而在Gls表中存储与图文信息相关的信息。
图1-18 Catalog表
表中的每一行被称为记录,而每一列则被称为字段。记录是一种用来组合某事项的相关信息的有效且一致的方法。字段是单个信息项,即出现在每条记录中的项类型。例如,在Gls表中,每一行或记录中都会包含与某个图文信息相关的信息。每一列或字段则包含有关该图文信息的某种类型的信息,如CatID(所属栏目)、Title(图文标题)等。
2.数据库设计标准
一个良好的数据库设计应该具备以下特点:
➢ 将信息划分到基于主题的表中以减少冗余数据。重复信息(也称为冗余数据)很糟糕,因为重复信息会浪费空间,并会增加出错和不一致的可能性。
➢ 向数据库提供根据需要连接表中信息时所需的信息。
➢ 可帮助支持和确保信息的正确性和完整性。信息的正确性和完整性非常重要。如果数据库中包含不正确的信息,任何从数据库中提取信息的显示、统计等也将包含不正确的信息。因此,基于这些信息所做的任何决策都将提供错误信息。
➢ 可满足数据处理和统计报表需求。
操作步骤
1.确定数据库的用途
最好将数据库的用途记录在纸上,包括数据库的用途、预期使用方式及使用者。
绿蕾教育网后台数据库,用于保存绿蕾教育网站上所涉及的用户、栏目、图文、资源、友情链接、调查、广告等信息。
2.收集和整理所需信息
收集可能希望在数据库中记录的各种信息,如文档标题、作者、内容等。
收集和整理所需的信息,应从现有信息着手。
做一做
将任务1中的信息按照图1-19的形式整理成表格。
图1-19 图文信息表
在准备此表格时,不要为了让它在最开始就能达到完美的效果而担忧。相反,请列出每个想到的项。如果还有其他人使用该数据库,也应向他们征求意见。以后可对该列表进行优化。
应该将每条信息分为最小的有用单元。
3.将信息项转换为列
确定希望在每个表中存储哪些信息。每个项将成为一个字段,并作为列显示在表中。
4.指定主键
每个表应包含一个列或一组列,用于对存储在该表中的每个行进行唯一的标识。通常是一个唯一的标识号,如“CatID”(栏目编号)。在数据库术语中,此信息称为表的主键。Access使用主键字段将多个表中的数据关联起来,从而将数据组合在一起。
如果已经为表指定了唯一的标识符(如栏目表中的栏目编号“CatID”),就可以使用该标识符作为表的主键。主键中不能有重复的值,例如,图文表中的栏目编号就不能用做主键,因为这里的栏目编号不是唯一的。
选择主键的标准:
➢ 主键不能为空值,如果某列的值可以在某个时间变成空值,则该值不能作为主键的组成部分。
➢ 主键值应该是固定不变的。主键的值一旦建立,不应变动。在多表数据库中,经常是一个表引用另一个表的主键,如果主键值发生改变,则必须更改引用它的所有表的相应值。使用值固定的主键可降低出现主键与其他引用该键的表不同步的概率。
➢ 通常将任意唯一数字作为主键使用。例如,可能会为每条图文信息分配一个唯一的ID。ID的唯一用途是对信息进行标识。分配后,ID就永远都不更改。
➢ 如果尚未确定可能成为好的主键的一个或一组列,请考虑使用具有“自动编号”数据类型的列。使用“自动编号”数据类型时,Access将自动分配一个值。这样的标识符不包含事实数据,即不包含描述它所表示的行的事实信息。不包含事实数据的标识
做一做
为整理的每个表格指定主键。________________
5.建立表关系
查看每个表格,并确定各个表中的数据如何彼此关联。根据需要,将字段添加到表中或创建新表,以便清楚地表达这些关系。
做一做
画出整理的各表格之间的关系。________________
知识拓展
拓展1 数据库
通俗地说,数据库是按照数据结构来组织、存储和管理数据的“仓库”,并以文件的形式保存在存储器中,这些特殊的文件被称为数据库文件。
在日常工作中,人们常常需要把某些相关的数据放进这样的“仓库”中,并根据管理的需要进行相应的处理。例如,单位的人事部门经常需要将本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了它就可以根据需要随时查询某职工的基本情况,也可以查询在某个年龄范围内的职工人数等。
数据库的发展大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库阶段。
拓展2 数据库管理系统与数据库系统
数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立、修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。
常用的数据库管理系统有Oracle、DB2、Microsoft SQL Server、MySQL、Sybase、Informix、Visual FoxPro、Microsoft Access等。
数据库系统是一个具体的数据库管理系统软件和用它建立起来的数据库,它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、实用程序,以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据库管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。
拓展3 数据模型
数据(Data)是描述事物的记录符号。模型(Model)是现实世界的抽象。数据模型(Data Model)是数据特征的抽象,是数据库管理的教学形式框架。
数据模型所描述的内容包括3个部分:数据结构、数据操作、数据约束。
① 数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据间的联系等。数据结构是数据模型的基础,数据操作和数据约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。
② 数据操作:数据模型中的数据操作主要描述在相应数据结构上的操作类型和操作方式。
③ 数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、它们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。
数据模型按不同的应用层次分为3种类型,分别是概念数据模型、逻辑数据模型、物理数据模型。
➢ 概念数据模型(Conceptual Data Model):简称概念模型,是面向数据库用户的实现世界的模型,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据及数据之间的联系等,与具体的数据管理系统无关。概念数据模型必须转换成逻辑数据模型,才能在DBMS中实现。
➢ 逻辑数据模型(Logical Data Model):简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(Network Data Model)、层次数据模型(Hierarchical Data Model)等。此模型既要面向用户,又要面向系统,主要用于数据库管理系统(DBMS)的实现。
➢ 物理数据模型(Physical Data Model):简称物理模型,是面向计算机物理表示的模型,描述了数据在存储介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作由系统自动完成,而设计者只设计索引、聚集等特殊结构。
在概念数据模型中,最常用的是E-R模型、扩充的E-R模型、面向对象模型及谓词模型。在逻辑数据类型中,最常用的是层次模型、网状模型、关系模型。
拓展4 关系型数据库
关系型数据库以行和列的形式存储数据,以便于用户理解。这一系列的行和列被称为表,一组表组成数据库。用户用查询(Query)来检索数据库中的数据。一个Query是一个用于指定数据库中行和列的SELECT语句。关系型数据库通常包含下列组件:客户端应用程序(Client)、数据库服务器(Server)、数据库(Database)。
Structured Query Language(SQL)是Client端和Server端的桥梁,Client端用SQL向Server端发送请求,Server端返回Client端要求的结果。
关系型数据库管理系统中存储与管理数据的基本形式是二维表。