跳转到内容

计算机信息系统/数据库简介

来自维基教科书,自由的教科书,为自由的世界

数据库定义及示例

[编辑 | 编辑源代码]
电话簿

数据库是保存和组织的数据集合,以便在需要时轻松检索。它是模式、表、查询、报表、视图和其他对象的集合。为了维护和访问数据库,您需要使用 DBMS(数据库管理系统)。这种系统管理和保护数据,以确保数据库安全可靠。数据库并不局限于计算机;事实上,电话簿就是一个数据库的例子。[1] 所有姓名按字母顺序排列,每列都有自己的类别。有一列是您的姓名、电话号码,可能还有街道地址。使用关系数据库,当您查找特定属性时,可以提取行中的所有数据。

所有这些数据都必须存储在某个地方!

使用数据库管理系统有几个优势。积极的一面是,它能够控制冗余,可以维护信息存储的完整性,可以限制访问,可以共享数据,可以备份/恢复信息。数据库管理系统可以通过在一个地方编译信息来抵消冗余。就像在一个文件夹中不能有两个具有相同名称和扩展名的音频文件一样,在一个数据库中也不能有相同的文件。这可以控制并增加存储空间。信息存储的完整性也可以根据数据库开发人员的规范来提高。这意味着对数据库中输入的信息(由开发人员确定)的约束将确保存储数据的准确性。例如,如果数据库只能存储图片,那么音乐文件将被拒绝,从而确保始终从数据库中检索图片,准确率达到 100%。这是一个非常简单的例子来传达这个想法,因为开发人员施加的约束可以决定不同的内容。数据库还可以共享数据,允许开发人员从一个信息源构建多个应用程序,而无需创建新的存储文件。数据库还可以备份和恢复数据。如果计算机系统在长时间的复杂更新过程中出现故障,数据库可以将文件恢复到更新时的位置,以便再次运行。[2]

Microsoft Access 365 logo

数据库主要用于收集和组织数据,人们可能会想知道它在哪些情况下会用到。数据库的一些例子包括 Microsoft Excel 或 Access。举个例子,为了说明这些数据库的用途,我们可以假设这样一种情况:您要举行婚礼,需要制作一份邀请名单。对于这样的过程,用户可以使用 Microsoft Excel,因为他们的数据库不会有太多类型的交易,而且不会变得太难控制。但是,如果这种情况发生,Access 将更适合需要的材料。Access 本质上只是 Excel 的一个更高级版本,只有当数据库不可控或需要直接链接到其他数据库以系统化的方式访问信息时才会用到。这两种数据库都可以帮助您做出明智的决策,还可以帮助您以不同的方式理解数据。Access 中的存储不是重复的,因此它可以节省空间并提高准确性。[3] Access 还提供不同的模板供您选择,因此您不必从头开始创建新的数据库。您还可以创建表之间的关系,以便更轻松地导航。为了创建婚礼邀请名单:您可以决定邀请谁和不邀请谁参加招待会,并将这些人分别放在不同的表格中。[4]

这些物品需要以某种方式组织。

数据库在企业中也很重要。特别是在库存管理方面。数据库可以用于控制库存,以及减少库存管理的时间、成本和工作量。控制您的库存对于实现良好高效的业务至关重要。数据库可以提供最新的库存水平和产品信息。它有助于确保库存能够满足消费者的需求。它可以用来预测和分析需求趋势,以便调整适应市场变化并最大化利润。它还可以提供自动化功能,从而提高生产力。它可以自动更新库存水平,以及控制库存,确保产品始终可供消费者使用。这种自动化功能可以释放员工的时间去做更多富有成效的事情,例如帮助客户。说到客户,他们总是订购东西,并希望及时快速地收到货物。数据库可以帮助提高和维护订单和交付的效率。它们使订购和查找产品变得更容易。虽然这些在企业中也很重要,但它们也可以应用于任何可能拥有库存的组织。例如图书馆。对于一个可能拥有数百万本书的图书馆来说,数据库不仅重要,而且必要。[5]

谁使用数据库?

[编辑 | 编辑源代码]
一个创建和使用涉及许多人的数据库。

有许多人创建、使用、管理和保护数据库管理系统。数据库设计师负责设计数据库。他们与参与系统开发生命周期的其他人(例如系统分析师)合作,找出需要哪些类型的数据以及应研究哪些数据之间的关系,并根据这些关系设计数据库。数据库设计师也可能被称为数据库架构师、数据库工程师或数据库分析师。数据库开发人员根据数据库设计师的工作创建数据库,设置其结构和用户界面,通常使用数据库管理系统。这可能与数据库设计师相同,他们与数据库程序员合作,数据库程序员创建数据库开发所需的程序。数据库管理员或 DBA 管理组织中的数据库,维护它们,监控用户对它们的访问,监控它们的性能并执行备份。用户是实际“使用”数据库的人:他们在数据库中输入数据,更新数据库中的数据,并从数据库中检索数据。[6]

数据特征

[编辑 | 编辑源代码]
数据的 3 种状态

数据是一组事实的集合。它可以是值、度量、数字、文字、测量结果和观察结果。许多企业如果没有数据将无法取得如此成功。[7] 数据具有层次结构;这种层次结构是数据的系统化组织。字段、记录和文件是数据组织的一部分。产品名称或数量是层次结构的最低级别,而数据库是层次结构的最高级别。[8] 此外,数据定义包括以下内容:名称、数据类型、描述和属性。这描述了进入数据库的属性。如果计算机用户想要查找数据库的所有数据定义,他或她将查找数据字典。计算机用户应该了解与数据特征有关的一些关键词,包括数据字段、记录、文件和数据库。数据字段包含一个实体的单个事实。记录是相关字段的集合。文件是相关业务记录的组织。数据库是文件整合的地方。数据特征关键词对于使用数据库的企业来说至关重要。

数据组织

[编辑 | 编辑源代码]
服务器-网络-数据库

为了使数据库高效,它的数据必须以一种易于快速访问的方式组织。这称为数据组织。数据组织通常使用主键来标识数据存储的位置。这允许高效地定位特定记录。数据库使用几种不同的方法来高效地存储和检索数据。最常见的两种方法是索引方法和直接方法。索引方法是指数据库使用索引来跟踪数据在其中的存储位置的方法。索引是一个表,它包含主键以及该主键的位置信息。索引组织允许快速查找记录并从数据库中检索信息。直接组织比索引组织更快。这是因为它使用键字段和称为哈希算法的数学公式来查找特定记录在数据库中的物理存储位置。这些系统更难开发。它们为名为冲突的事件铺平了道路,当两个或多个记录被分配到同一个存储地址时就会发生这种情况。一些系统同时使用这两种方法。键字段首先指示记录在表中的位置,然后使用哈希算法来查找数据在存储介质上的物理存储位置。[9]

数据字典

[编辑 | 编辑源代码]

Example of Data Dictionary

数据字典是一组只读表,包含数据库中的所有数据定义。表结构在没有密码的情况下不可编辑。需要密码才能查看或编辑表。数据库中包含的定义包括所有以下内容:表、视图、索引、集群、同义词、序列、过程、函数、包、触发器等。请记住;数据字典不包含数据表中的任何信息,只包含有关表的数据。这些有关表的特定数据也被称为元数据。数据库字典包含有关架构对象占用了多少空间以及剩余空间的信息。[10] 必须在将信息放入数据字典之前将其组织起来。数据建模,或为每个数据对象赋予一个描述性名称,必须针对每个独立对象进行。完成此操作后,将描述数据的关联关系以及数据类型的描述。数据类型可以包括将对象定义为文本或图像。完成此操作后,程序员必须包括一个关于数据的简短文本描述。[11]

数据安全和隐私

[编辑 | 编辑源代码]
公钥加密是保护数据的一种方法。

数据安全是必不可少的,大多数行业、企业和法律法规都要求数据安全。数据安全保护数据免遭泄露(例如,被不应该看到它的人看到),这样它包含的信息就不会被泄露或泄露。数据安全还确保数据的完整性,这意味着不允许对数据、数据结构、配置文件或日志进行未经授权的更改。数据安全程序可以跟踪文件并监控数据的传输,以防止未经授权的访问并阻止任何可能的入侵发生。[12]

由于技术多年来发展迅速,越来越多的活动通过互联网、应用程序或其他网络在线进行。这引发了隐私问题,因为个人和敏感信息通常存储在许多组织(医院、保险公司、工作、医疗保健公司等)的数据库中。为了帮助解决这个问题,已经制定了隐私法,以确定公司和个人如何能够选择哪些信息可以提供给第三方,哪些信息不能提供。在美国,已经针对特定行业或情况颁布了不同的隐私法。其中一些法律包括《儿童在线隐私保护法》(COPPA)、《健康保险流通与责任法案》(HIPPA)、《电子通信隐私法案》(ECPA)和《视频隐私保护法案》。[13]

数据库分类

[编辑 | 编辑源代码]

单用户与多用户数据库系统

[编辑 | 编辑源代码]
数据库服务器

单用户数据库系统位于一台计算机上,它们是为一个用户设计的;通常,它们用于个人使用和小企业。一次只能一个人使用数据库,因此,如果一个用户正在使用数据库,其他用户必须等到该用户完成。多用户数据库系统用于更大的企业,因为它是一个通过网络访问的数据库。这样,不止一个人可以访问和更改系统中的数据。大多数系统对数据库使用某种锁定机制,以避免人们进行更改时发生冲突。它们可以位于一台计算机或多台计算机上。[14]

客户端-服务器和 N 层数据库系统

[编辑 | 编辑源代码]
电子邮件

大多数多用户数据库系统是客户端-服务器数据库系统。基本上,客户端-服务器数据库系统是指包含其他计算机资源的服务器。当客户端部分向服务器发出服务请求时,服务器会完成该请求。例如,秘书使用她的 PC(客户端部分)在他们的系统上查找产品的成本(即在服务器上,而不是存储在她的 PC 上)。客户端被称为前端,数据库服务器被称为后端。[15] 一些客户端-服务器数据库系统不仅具有前端和后端,而且还具有称为层的中间部分,这些部分被称为 N 层数据库系统。在 N 层数据库中,客户端和数据库从不直接通信,所有数据都通过中间层传递。这种数据库系统的优点是中间层提供了一层抽象,这样您就可以更改后端的部分,而无需修改前端的部分。这也是分离职责的好方法;它们还可以提高效率。[16]

客户端-服务器-互联网的组合为其组织提供了另一个维度。它们当然首先充当客户端和服务器,并且它们还可以访问互联网以进入远程位置的数据库。最后阶段是能够创建、查看、使用、修改和删除应用程序以及数据。软件模块和硬件组件用于实际执行功能。客户端-服务器连接能够通过消息进行通信,无论服务器在线还是离线,这些消息都可以发送。消息通过可能包括内联网和互联网的网络发送。网络是一组连接的对象或人;网络能够将这些消息相互传递。

客户端-服务器的主要用途是为企业的需求产生有用的应用程序。客户端-服务器使用中间件,它是允许客户端端的应用程序能够到达实际网络并与服务器通信的重要部分。它是网络和应用程序软件之间的部分。电子邮件是一种中间件,因为它们位于网络和应用程序之间。[17]

集中式与分布式数据库系统以及磁盘型与内存型数据库系统

[编辑 | 编辑源代码]
数据库系统

集中式数据库系统都位于一台计算机上。这可以是服务器或大型机。分布式数据库系统共享一个网络,数据分布在连接到该网络的几台计算机之间。

集中式数据库系统的一个优点是所有信息都在一个地方。缺点可能是会发生瓶颈。将所有信息都存储在一台计算机上,可能会让一些用户更容易访问,但对于想要访问文件的其他用户来说则很困难。分布式数据库系统的一个优点是,即使所有信息都不在一台计算机上,也可以使用网络上的任何计算机访问数据库。这是用于数据库的首选系统类型,因为信息可以很容易地找到。它还确保在使用分布式数据库系统而不是集中式系统时,所有数据都不会丢失。由于最近技术的进步,使用“云”是通过互联网存储数据库信息的另一种方法。这个概念与基于磁盘的和内存中的数据库系统相辅相成。

如今,大多数数据库都存储在计算机的传统硬盘驱动器上,但最近许多数据库正在转向内存数据库。这可以将所有数据都存储在计算机的主内存中。与使用基于磁盘的系统相比,这会产生更快的性能。

内存数据库

[edit | edit source]
主要 Oracle 内存区域

内存数据库 (IMDB) 是一种将数据存储在主内存中的数据库,以实现更快的响应时间。[18] 内存数据库有时也称为主内存数据库系统或 MMDB,近年来在处理高性能计算 (HPC) 和大数据应用程序方面越来越受欢迎。诸如运行电信网络设备和移动广告网络的应用程序通常使用主内存数据库。

近年来,三个发展使得内存分析越来越可行:64 位计算、多核服务器和更低的 RAM 价格。[19] 源代码以压缩的非关系格式加载到系统内存中。内存数据库简化了处理查询所涉及的工作,从而提供比磁盘更快、更可预测的性能(因为当使用系统内存而不是磁盘存储(尤其是硬盘驱动器存储)时,访问时间和数据库请求通常要快得多)。主内存数据库比磁盘优化数据库更快,因为内部优化算法更简单,执行的 CPU 指令更少。内存数据库的另一个优势是在同一个数据库中存储事务数据和分析数据时发挥作用。由于用于分析业务案例的所有数据都写入单个数据库,因此更容易进行临时分析。[20]

数据库模型

[edit | edit source]

关系数据库模型

[edit | edit source]

关系数据库管理系统很重要,因为它们采用多个相关的表并将它们以最不复杂的方式组合在一起。本质上,RDBMS 采用这些较小、不太紧凑的表,并根据单个变量找到将它们彼此关联的方法,以尽可能避免重复。在创建这样的数据库时,需要问四个主要问题:这个数据库的目的是什么?需要在这个数据库中包含哪些信息?应该将哪些变量放在哪个表中,以使最终结果尽可能地不纠缠/复杂?这个表应该如何格式化?完成所有这些工作后,可以使用 Microsoft Office 的 Access[21] 等程序,通过选择特定的相关字段来显示和组织来创建一个查询。在此之后,可以使用该查询生成报告,该报告本质上用于将选定的信息导入到一个易于阅读和查找信息的单个数据库中。

一个数据库表

当需要资产跟踪数据库并且电子表格太大而无法用于特定数据时,关系数据库就会发挥作用。在完成新数据库的设计(包括字段、数据类型、主键和外键)之后,下一步是实际开始创建数据库的相应表。创建关系数据库的第一步是创建并命名一个新的数据库文件,该文件将包含数据库中包含的所有表和对象。接下来,使用在过程的“设计”阶段形成的表结构,创建数据库中的每个表。最后,一旦表结构完成,最后一步是将数据输入到表中,并将不同的表根据需要相互关联。在 Microsoft Access 中,可以在设计视图下创建表,方法是输入每个字段名称并根据需要指定数据类型和其他属性。但是,如果您希望在新的数据库中使用旧的或现有的数据,则会通过将数据从旧文件传输到新文件来执行称为数据迁移的过程。此外,设计视图还允许您在表单中进行各种类型的编辑,如果您希望获得特定的布局或设计——例如更改表单颜色、字体大小、字段的放置或添加标题等。 [22]

星型模式

[edit | edit source]
星型数据库

星型模式是最简单的数据库模型之一,通常用作关系数据仓库和多维数据库的模型。它完全由事实表和维度表组成。事实表是一个事件或实体,例如销售,而维度表包含有关该事件的详细信息,例如日期、地点、交付速度等。例如,可以使用地理维度表来描述位置数据,例如国家、州或城市。在星型模式中,事实表周围环绕着许多维度,这些维度向外延伸,形成了类似于星星的图像。星型模式模型的优点之一是它与联机分析处理 (OLAP) 兼容,联机分析处理允许从不同的角度对特定信息进行数据挖掘。例如,用户可以查看过去特定时间特定项目的销售额。[23] 星型模式模型的缺点之一是它是一个简单的模型,因此它不能创建复杂的关系分析。星型模式也是非规范化的,因此数据库中可能存在冗余。[24]

关系类型

[edit | edit source]
一对多关系(联赛与联赛中的球队相关)

实体之间有三种基本类型的关系。这三种类型包括:一对一、一对多和多对多。在一对一关系中,一个表中的每一行都与另一个表中的一个特定行相关联。这意味着第一个表中的行数必须与第二个表中的行数完全相同。这种关系并不常见,因为数据库的设计并不总是带来好处。设计没有好处,因为如果数据直接相关,那么将所有数据放在一个表中是有意义的。一对一关系有益的一种方法是,如果需要一些数据,但并不经常使用。不经常使用的数据可以单独存储,远离更重要的数据。[25] 一对多关系允许一个表中的每一行与另一个表中的多行相关联。这种关系对数据库有利,因为您可以通过仅在一个主表中输入数据来引用多个不同表中的常用数据。通常,第一个表中的行数将少于第二个、第三个、第四个等表的行数。一对多关系通常用于图书馆。例如,一个表中的作者姓名可能对应于每个作者在不同表中撰写的书籍。[26]

层次结构和网络数据库模型

[edit | edit source]
数据库模型

层次模型是最古老的数据库模型。它以树状结构组织数据,使用父数据段和子数据段。例如,它从树顶部的单个根节点开始。它延伸到下一级段,然后连接到其他下级段。这用于建模一对多关系。使用此模型的缺点是它需要在多个级别重复存储数据。这会导致数据库运行非常缓慢,因为它可能在较低级别搜索信息。网络模型使用集合结构。集合由所有者记录类型、集合名称和成员记录类型组成。这种类型的模型显示多对多关系。父母可以有多个孩子,孩子们也可以有多个父母。这两种模型类型都已过时,不再用于构建新的数据库应用程序。它们通常不如其他模型类型灵活。 [27]

此外,访问数据的路径必须提前规划好,并且不能轻易更改。您可能仍然会在使用高容量交易处理的大型系统中看到层次模型,例如银行或保险公司。

面向对象数据库模型

[edit | edit source]
像这尊抽象雕塑一样,OODBMS起初更难理解,但最终会带来更大的回报。

与其他数据库模型只能存储传统数据(例如日期、数字和文本)不同,面向对象数据库管理系统(OODBMS)更加抽象。在 OODBMS 中,您可以存储几乎任何您想要的数据,以及要与该数据一起使用的方法。为了检索这些更复杂和多样化的数据,用户会发送使用对象查询语言(OQL)编写的查询,它是 SQL 的面向对象版本。由于当今计算机用户的需求越来越高,OODBMS 越来越普遍。但是,与任何新技术一样,由于 OODBMS 的缺点,也有一些阻力。

OOBDMS 的单元格图表

一个缺点是,基于 OODBMS 的应用程序的编辑更加耗时,因为必须对与父类实例交互的应用程序中的其他类进行更改,而 RDBMS 系统中的编辑通常可以独立于父应用程序。 [28] 这非常耗时,这意味着要花很多钱才能对面向对象数据库管理系统进行更改。许多商业界的公司都为信息部门预留了特定的预算,其中包括公司使用的数据库系统,而 OODBMS 非常昂贵。OODBMS 的另一个缺点是缺乏对安全性和视图的支持。OODBMS 的用户无法授予个人对系统中某些对象或类的访问权限,这意味着个人要么根本无法查看系统,要么可以访问系统中的所有内容,这可能是企业不喜欢的。此外,OODBMS 不包含视图机制,这对于希望查看其工作并确保其输入内容都正确的员工来说是一个缺点。OODBMS 的另外两个缺点是缺乏系统标准以及没有通用的数据模型。没有系统标准,系统的整洁性可能会下降,使用起来可能很困难。许多人喜欢通用性,因为这样他们就知道什么是对错,而 OODBMS 无法做到这一点。 [29] 尽管存在额外的困难,但许多重要的客户仍然使用 OODBMS 进行操作,其中一个重要例子是芝加哥证券交易所,它使用该系统来管理股票交易。

关系数据库术语

在查看了各种数据库模型之后,设计关系数据库涉及 4 个步骤。设计关系数据库的第一步是确定数据库的目的及其将用于的活动。这些活动可以包括跟踪出租房产、学生成绩、客户订单或库存。数据库的使用方式多种多样,了解您将如何使用数据库将有助于您创建数据库并优化其使用。在了解数据库将服务于什么目的后,您将能够确定需要包含在数据库中的数据(字段),然后将字段组织成表格。将逻辑上属于一起的字段分组是一个好习惯。接下来查看表结构,确保所有字段都已表示且位于正确的表格中。查看数据中是否存在任何冗余,这样您就可以重新构建字段以最大程度地减少冗余。最后,确定每个表的结构,列出每个字段的名称、类型、大小等,并选择一个主键(数据定义)。此过程将帮助您创建一个满足您需求并提供您请求信息的数据库。 [30]

网络数据库

[edit | edit source]

网络数据库的使用

[edit | edit source]
亚马逊只是众多利用网络数据库满足其业务需求的公司之一

网络数据库的使用方式有很多。最明显的方式是检索信息。网络数据库为用户提供了一种访问网络提供的大量信息的方式,而这在一定程度上得益于使用搜索网站,这些网站的数据库为用户提供链接。数据库的其他个人用途包括存储电子邮件地址、电话号码和其他信息,这些信息可能用于创建朋友和家人的网站。 [31] 在商业方面,网络数据库允许企业创建“网站调查、反馈表格和客户/客户库存清单”。 [32] 这是一个至关重要的功能,大小企业都可以利用它来满足自己的需求。一个与网络数据库商业用途相关的具体例子是电子商务相关活动的管理。在这里,数据库用于提供产品图片和定价等信息,以及订单信息和其他必要的函数,以实现高效可靠的业务交易。网络数据库的另一个功能是它们能够显示动态网页。这些页面显示的信息会根据用户的输入而改变,例如 B2C 网站会根据消费者的过去活动显示与消费者兴趣相关的页面。从个人到商业应用,网络数据库是解决与网络相关活动相关的任务的重要组成部分。

此广告将针对与大学有关的人员。

网站不仅越来越个性化,网页上的广告也越来越个性化。包括主要搜索引擎 Google 在内的公司都向某些内容和受众提供定向广告。一种方法是上下文定向,它分析关键字、词频和链接结构,以确定哪些广告与页面的内容相匹配。位置定向使用广告客户在特定网页上选择的特定广告,这些网页应该与观看者的其他兴趣以及他们要提供的其他产品类型相匹配。与之类似的是基于兴趣的广告,它在通常由具有类似兴趣的人观看的网页上投放与特定兴趣相关的广告。Google 提供了一个程序,人们可以使用它来设置自己的兴趣,以便广告根据他们的选择进行定制。最后,语言定向会确定页面的主要语言,并确保显示的广告使用相同的语言。如果观看者甚至无法阅读所宣传产品的名称,那么广告就无法发挥作用!所有这些信息都会被放置到 Google 的广告搜索数据库中,该数据库会处理这些信息,并确保您屏幕上的广告与您相关。 [33]

中间件

[edit | edit source]
数据库布局

这是一种计算机软件,它为软件应用程序提供超出操作系统提供的服务。它是一种连接两个原本独立的应用程序的软件,可以看作是“软件胶水”。例如,有许多中间件产品将数据库系统链接到 Web 服务器。这使用户能够通过 Web 浏览器上显示的表单从数据库接收数据,并使 Web 服务器能够根据用户的请求和配置文件返回动态 Web 页面。如前所述,中间件一词用于描述充当两个应用程序之间粘合剂的独立产品。因此,它不同于可能内置于其中一个应用程序的导入和导出功能。它有时被称为管道,因为它连接了应用程序的两个方面并在它们之间传递数据。分布式计算系统中间件可以大致分为两类。这两类是提供人工时间服务的和在机器时间内执行的。这种后一种中间件通过服务可用性论坛在一定程度上实现了标准化,并且通常用于电信、国防和航空航天行业中复杂的嵌入式系统中。[34]

Web 数据库的工作原理

[edit | edit source]
PHP 脚本示例

在我们的科技世界中,我们每天都在使用基于 Web 的数据库请求。我们不断访问网页,点击链接并使用菜单来导航我们对该页面的活动。使用中间件,Web 服务器将请求传递到数据库查询,并将信息存储并传递到数据库服务器。然后,数据库服务器使用此信息将页面定向到其预期去的地方。CGI 脚本是传递信息的一种另一种方式。它们使用编程语言中的指令,并接受和返回网站数据给用户。Active Server Pages 是网站上常用的脚本的另一个示例。它们非常类似于 CGI 脚本,但它们是独占的,因为它们几乎总是使用 VBS 脚本或 Java 脚本。PHP 超文本处理器是一种语言,它每天都变得越来越流行。此脚本与 CGI 脚本和 Active Server Pages 极其相似,但与其他程序具有更高的兼容性。该脚本使用 PHP 标记和 html 代码来完成其工作。这些脚本只是今天使用的一些示例以及如何在 Web 服务器上传输信息。[35]

CGI 脚本

[edit | edit source]

CGI(通用网关接口)脚本是一组用编程语言(例如 C、Perl、Java 或 Visual Basic)编写的指令,旨在接受来自 Web 页面访问者的数据并向其返回数据。在非常繁忙的站点上,CGI 会显着减慢服务器响应时间,因为它会单独处理每个请求。CGI 脚本的通常位置是在远程 Web 服务器的 cgi-bin 目录中,但此目录的确切位置由该机器的 Web 管理员确定。[36]

Active Server Pages

[edit | edit source]

Active Server Pages(ASP)是微软第一个用于动态生成的 Web 页面的服务器端脚本引擎,其扩展名为 .asp。ASP 的工作原理类似于使用 CGI 脚本的 Web 页面,但将数据库绑定到网站的代码通常是用 JavaScript 或 VBScript 编写的。使用简单的 HTML 页面,客户端会从服务器请求一个网页。服务器只是将文件发送给客户端,页面就会显示在客户端的浏览器中。使用 Active Server Pages,服务器有机会在将文件发送给用户之前对其进行修改。要使用 Active Server Pages,您必须运行 Microsoft Web 服务器。如果您运行的是 Microsoft Web 服务器,要运行 ASP 文件,您只需要在 Web 服务器上创建一个扩展名为 .ASP 的文件即可。当浏览器请求该文件时,Web 服务器足够智能,可以在将文件发送给客户端之前预处理该文件。

PHP 脚本

[edit | edit source]
PHP 大象吉祥物

PHP(PHP 超文本预处理器)是一种脚本语言,它越来越多地用于创建动态 Web 页面。免费下载和使用,[37] 它使用类似于 Perl 或 C++ 的代码,这些代码使用特殊的 PHP 标记插入到 Web 页面的 HTML 代码中。尽管 PHP 脚本执行与 CGI 和 ASP 类似的任务,但它们具有与许多类型数据库高度兼容的优势。

回顾

[edit | edit source]

术语和定义 [38]

属性 实体的特征。

集中式数据库系统 所有系统使用的数据都位于一台计算机上的数据库系统。

客户机-服务器数据库系统 数据库位于服务器上,并由客户端设备访问的数据库系统。

冲突 当两个或多个记录被分配到同一个存储地址时发生的事件。

在数据库中,一个字段。

数据定义 描述要包含在数据库表中的数据的属性的过程。

数据字典 数据库中所有数据定义的存储库。

数据完整性 数据的准确性。

数据隐私 保护数据库中数据的隐私。

数据安全 保护数据库中的数据免遭破坏和滥用。

数据验证 确保输入数据库的数据有效(符合数据定义)的过程。

数据库 一组相关数据,以能够按需检索信息的方式存储;在关系数据库中,一组相关表。

数据库管理系统 (DBMS) 一种用于创建、维护和访问数据库的软件程序。

直接组织 在存储介质上排列数据的一种方法,它使用散列来指定确切的存储位置。

分布式数据库系统 系统使用的数据位于通过网络连接的多台计算机上的数据库系统。

最终用户数据库 由最终用户开发的数据组成。这些示例包括文档、电子表格、演示文稿、多媒体和其他文件的集合。

实体 对企业或组织而言重要的东西(例如人、对象或事件);通常在该企业或组织的数据库系统中成为数据库表。

字段 在数据库中要存储的单个数据类别,例如客户姓名或员工电话号码。也称为列。

表单 以格式化的方式查看和编辑数据库中的表。散列算法 一种数学公式,用于查找数据库中特定记录的存储位置。

混合 XML/关系数据库 一种可以存储和检索 XML 数据和关系数据的数据库系统。

内存数据库 (IMDB) 将所有数据存储在内存中而不是硬盘上的数据库。

索引 包含主键和属于该主键的记录位置的小表;用于在数据库中定位记录。

索引组织 在存储介质或数据库上组织数据的一种方法,它使用索引来指定确切的存储位置。

元数据 关于数据的 data,例如数据字典中包含的数据。

中间件 用于连接两个原本独立的应用程序的软件,例如 Web 服务器和数据库管理系统。

多维数据库 (MDDB) 一种专门用于数据仓库的数据库类型。

多用户数据库系统 一种专为多个用户访问而设计的数据库。

规范化 评估和校正数据库表结构以最小化数据冗余的过程。

面向对象的数据库管理系统 (OODBMS) 一种数据库系统,其中多种类型的数据与相关代码一起存储为对象。

主键 数据库表中特定字段,用于唯一标识该表中的记录。

查询 查看数据库中符合特定条件的信息的请求。

记录 数据库中一组相关字段。也称为行。

关系数据库管理系统 (RDBMS) 一种数据库系统,其中数据存储在通过公共字段相关的表中;今天使用最广泛的数据库模型。

报表 以格式化的方式查看从数据库表或查询结果中检索的信息。

在数据库中,一个记录。

单用户数据库系统 位于一台计算机上,专为单个用户访问而设计的数据库。

结构化查询语言 (SQL) 关系数据库中信息检索的流行查询语言标准。

在关系数据库中,一组相关记录或行。

问题


将每个术语与其示例匹配 1.
A. 当数据库不允许用户在电话号码字段中输入字母时。

B. 要求用户通过指纹识别器登录数据库系统。

C. 将字段分配为“必需”属性。


i. 数据定义

ii. 数据完整性

iii. 数据安全

填空

2. 在学生信息数据库中,姓名被认为是 _______________,而 Jennifer Mitchell 的所有信息都是___________。

3. 数据 _______ 指的是数据的准确性。

4. 当使用 _____ 组织时,散列过程确定数据的存储位置。

5. 术语前端和后端指的是 ______ 数据库系统。

判断正误

6. 规范化用于最小化数据冗余。

7. 在关系型数据库中,可以包含多个表。

8. 使用用户名和密码是一种数据验证技术。

9. 网络数据库模型是当今最广泛使用的模型。

10. 动态网页通常使用数据库。

答案 [39]

1. A. ii, B. iii., C. i.

2. 字段或列;行或记录

3. 完整性

4. 直接

5. 客户端-服务器

6. 真的

7. 真的

8. 错误

9. 错误

10. 真的

参考资料

[编辑 | 编辑源代码]
  1. http://www.usg.edu/galileo/skills/unit04/primer04_01.phtml
  2. http://ecomputernotes.com/fundamental/what-is-a-database/advantages-and-disadvantages-of-dbms
  3. http://products.office.com/en-us/excel
  4. https://support.office.com/en-us/article/Training-courses-for-Access-2013-a4bd10ea-d5f4-40c5-8b37-d254561f8bce?ui=en-US&rs=en-US&ad=US
  5. http://smallbusiness.chron.com/importance-inventory-databases-retail-40269.html
  6. Understanding Computers: Today and Tomorrow - 14th Edition Comprehensive
  7. http://www.mathsisfun.com/data/data.html
  8. https://docs.microsoft.com/en-us/sql/master-data-services/hierarchies-master-data-services
  9. http://ng.cengage.com/static/nb/ui/index.html?nbId=7345&nbNodeId=1013914#!&parentId=1013946
  10. https://docs.oracle.com/html/A96524_01/c05dicti.htm
  11. http://searchsoa.techtarget.com/definition/data-dictionary
  12. http://www-01.ibm.com/software/data/security-privacy/
  13. http://searchcio.techtarget.com/definition/data-privacy-information-privacy
  14. https://www.slideshare.net/raminder90/single-user-vs-multi-user-databases
  15. http://searchnetworking.techtarget.com/definition/client-server
  16. http://databases.about.com/od/specificproducts/a/architectures.htm
  17. http://www.networkcomputing.com/netdesign/1005part1a.html
  18. http://whatis.techtarget.com/definition/in-memory-database
  19. http://whatis.techtarget.com/definition/in-memory-database
  20. http://www.gft.com/etc/medialib/2009/downloads/techreports/2012.Par.0003.File.tmp/gft_techreport_inmemorydatabases.pdf
  21. http://office.microsoft.com/en-us/access-help/create-a-query-based-on-multiple-tables-HA010096275.aspx
  22. http://office.microsoft.com/en-us/access-help/create-tables-RZ101772997.aspx?section=2
  23. http://searchdatamanagement.techtarget.com/definition/OLAP
  24. http://searchdatamanagement.techtarget.com/definition/star-schema
  25. http://www.databaseprimer.com/pages/relationship_1to1/
  26. http://www.databaseprimer.com/pages/relationship_1tox/
  27. http://wps.prenhall.com/wps/media/objects/14071/14409392/Learning_Tracks/Ess10_CH05_LT3_Hierarchical_and_Network_Data_Models.pdf
  28. http://slashdot.org/story/01/05/03/1434242/why-arent-you-using-an-oodms
  29. http://www.scribd.com/doc/6142698/oodbms
  30. http://code.tutsplus.com/tutorials/relational-databases-for-dummies--net-30244
  31. http://www.htmlgoodies.com/primers/database/article.php/3478121/To-Use-or-Not-to-Use-a-Database-That-is-the-Question.htm
  32. http://www.ehow.com/info_8219542_database.html
  33. https://support.google.com/adsense/answer/9713?hl=en
  34. https://docs.django.ac.cn/en/1.3/topics/http/middleware/
  35. http://guide.netfronts.com/Database-PHP-ASP/adding_dynamic_web_content.html
  36. http://snowwhite.it.brighton.ac.uk/staff/mas/mas/courses/html/html3.html
  37. https://w3schools.org.cn/php/php_intro.asp
  38. http://coursemate.cengage.com/CPReader/View/9781133114598/default.aspx?eISBN=9781133114598#66897dee-5c5a-4b7d-8a74-0eac7f4de56c
  39. http://ng.cengage.com/static/nb/ui/index.html?nbId=7345&nbNodeId=1013914#!&parentId=1013946
华夏公益教科书