数据库系统概念

上传人:d****1 文档编号:127427259 上传时间:2022-07-30 格式:DOCX 页数:6 大小:16.37KB
收藏 版权申诉 举报 下载
数据库系统概念_第1页
第1页 / 共6页
数据库系统概念_第2页
第2页 / 共6页
数据库系统概念_第3页
第3页 / 共6页
资源描述:

《数据库系统概念》由会员分享,可在线阅读,更多相关《数据库系统概念(6页珍藏版)》请在装配图网上搜索。

1、数据库系统概念-1 简介1. A database-management system (DBMS) is a collection of interrelateddata and a set ofprograms to access those data. The collection of data,usually referred to as thedatabase,contains information relevant to an enterprise.2. 数据库管理系统数据以及访问数据的程序的集合。数据库前面的数据的 集合,其中包含与一个企业或组织相关的信息。3. 使用 DBM

2、S 的首要目的是提供一种方便、高效的存储、访问数据的方式。4. DBMS 被设计为管理大批量的数据。对数据的管理包括:a) 定义数据的存储结构b) 提供操作数据的机制c) 当系统崩溃或者出现未经授权的对数据的访问时,保证存储的数据的安全性d) 在多个用户间共享数据时,要避免出现异常结果1.1 数据库系统应用程序5. 数据库的使用范围极广:a) 企业:i.销售信息ii.账户信息iii. 人力资源信息iv.制造业:供应链、库存、订单信息v.在线销售b) 银行、财务系统:银行、信用卡交易信息、财务信息c) 大学:学生信息、课程信息、以及常规的企业级信息d) 航班e) 通信6. 过去人们较少直接与数据

3、库打交道,随着互联网的发展人们越来越多地与数据库 打交道。在网上买东西、查网银账户时都是在访问数据库里的数据。1.2 使用数据库系统的目的7. 早期使用计算机来管理商业信息的方法的出现引发了数据库系统的兴起 Databasesystems arose in response to early methods of computerized managementof commercial data 。8. 这类方法大约出现在19 世纪60 年代。管理一个大学的教师、学生、院系、课程等信息的系统可能会选择把各种信息以文件的形式保存在操作系统中。为了让用户能使用这 些信息,系统中要包含一组操作这些文

4、件的程序,这些程序可能分别用于:a) 添加学生、老师、课程信息b) 生成学生的课程表、制作花名册c) 维护学生的年级信息、计算学生的GPA、生成成绩单9. 当新的需求出现时,就要往系统中添加新的程序,比如,如果该大学决定新增一个 专业(比如计算机专业)。则应当添加一个新的学院/系department,系统需要添加新的文 件,或者向已有文件中添加信息来记录这个新增的系的老师、新的专业里的学生、课程设置、 学位要求等。我们的大学管理系统可能需要添加新的程序来处理这个新增的专业的某些特殊 要求。新增的专业可能导致大学的管理方式也发生变化,这可能又会要求新增程序来进行处 理。随着时间的推移,我们的大学

5、管理系统可能会需要越来越多的文件,越来越多的系统。10. 传统的操作系统支持这种文件处理系统,系统把信息存储在不同的文件中,使用不同 的程序来对文件中的信息进行增、删、改操作。在D11. DBMS 出现以前,各个组织一般采用这种方式来管理自己的信息,然而使用这种方式 有以下的缺点:a) 数据冗余与不一致。因为系统中的文件和程序是由不同的程序员在不同时期创建的, 这些文件的结构可能不一致,这些程序的编程语言也可能各不相同。而且,同样的信息可能 会重复在不同的文件中。比如,如果一个学生修了数学和音乐的双学位,则数学系和音乐系 的文件中可能都会存储这个学生的地址、联系方式。这样的数据冗余,会占用的空

6、间,提高 访问成本,更严重的是,可能导致数据不一致data inconsistency 同一份信息存在不同的 位置,内容却不一致。比如前面的例子中,可能音乐系的文件中的学生的地址与数学系的文件中的学生的地址不一样。b) 数据访问比较困难。假设某个员工使用文件处理系统来找出住在某个邮区 postal-code area 的所有学生的姓名。由于程序的设计者没有料到会有这样的请求,系统中没 有现成的程序能处理这样的需求。不过系统中可能有一个程序能生成所有学生的列表。这时 这位员工有2 种选择:生成全部学生的列表,然后,要么自己手工去挑出自己所需的信息, 要么让一位程序员再写一个程序来进行挑选。两种方

7、法都会让人不爽。假设,这次写了这样 一个程序,过一段时间,这位员工要找出那些目前至少已经有60 个课时的学生,又没有现 成的程序,又得要么手工挑要么再写一个程序,不好玩。这里的问题在于:传统的文件处理 系统无法提供一种比较便捷的方式来供用户检索数据,必须有一种能更灵活积极地响应用户 的数据检索需求的系统才能满足用户需求。c) 数据隔离。数据分散在不同文件中,文件格式可能各不相同,编写新程序从现有文 件中获取数据会比较困难。d) 数据完整性问题。存储在数据库中的数据必须满足一些一致性约束 consistency constraints 。假设大学里的每个学院都有一个账户,并且要求每个账户里的余额

8、不能小于 0。 开发人员得在各个程序中都添加相应的代码来实现这样的约束,增加新的约束时,如果要通 过改代码来实现约束的话,会比较麻烦。当新的约束涉及多个文件中的不同数据时,问题可 能会更复杂。e) 原子性问题。就像其他系统一样,计算机系统也可能出故障。发生故障以后能恢复到 发生故障之前的正确状态,对大多数系统而言都十分重要。假设从A学院的账户转500美 元去B学院的账户,如果转账过程在发生错误,则可能A的账户少了 500美元,B的账户却 没有多 500 美元,导致数据库处于不一致的状态。因此,扣款和存款操作应该要么都发生, 要么都不发生。也就是说,资金操作应当是原子的要么全部发生,要么全部不发

9、生。 the funds transfer must beatomiit must happeninits entirety or not at all.传统的文件处理系统难 以保证原子性。f) 并发访问异常。多数系统都允许多个用户同时更新数据,以提高系统的性能。而并 发更新可能导致数据不一致。假设学院 A 的账户余额为10000 美元,假设该学院的两名员 工同时从A学院的账户中取钱,一个人取500, 一个人取100两人的操作几乎同时。则可能 出现更新丢失,两个程序同时开始运行,读到的账户余额都为10000, 一个程序更新完后A 学院还有9500,另一个程序更新完后,A学院还有9900.但,实

10、际上,A学院真正还有的既 不是 9500 也不是 9900,而是 9400.在这种情况下,必须有某种监督机制,但是文件处理系 统要实现这咱监督比较困难,因为数据可能会被多个程序访问,而这些程序相互之间可能并 没有协调好。另一个例子:选课系统要求一门课只能有40个学生上,假设当前已有39名学 生选上了,又有两个学生同时来选这门课,则会有两个程序并发地去访问选课数据,两个程 序读到的当前学生数都为39,都可以添加,添加完之后选上的学生的数目都是40。但实际 上,此时已经有41人了。g) 安全问题。不应该让每个用户都能访问数据库中的全部数据。起码工资就不应该能随 意被人看到。负责财务的员工也不需要看

11、到人力相关的信息。文件处理系统要实现这样的安 全性约束也比较困难。12. 以上问题,加上一些别的问题,推动了 DBMS的发展。1.3 数据的不同视图13. 数据库的一个主要作用是将数据的某种抽象视图提供给用户 provide users with an abstract view of the data。也就是说,数据库向用户隐藏数据存储与操作的某些细节。1.3.1 数据抽象14. 为了提高数据访问的效率,数据库的设计者们使用复杂的数据结构来在数据库中存储 数据。通过多个层次的抽象,开发人员向用户隐藏了这些复杂的细节,以达到简化用户与系 统的交互的目的。主要有3 种抽象层次:a) 物理层,这是

12、最底层的抽象,describeshow the dataare actuallystored详细地描述数 据的存储方式。b) 逻辑层,描述的是存储在数据库中的内容,以及它们相互间的关系。 describeswhat data are stored in the database, and whatrelationships exist among thosedata。在逻辑层,人 们用一组相对较为简单的结构来描述整个数据库。虽然逻辑层的较简单的结构的实现可能涉 及复杂的物理层的结构,但是用户并不需要知 道这些。这被被为物理数据无关physical data independence。 数据库管

13、理员由于要决定将哪些内容存储在数据库中,常在逻辑层进行思 考c) 视图层。最高的抽象层。只描述整个数据库的某个部分。虽然视图层只使用简单 的结构来描述,但是存储在数据库中的数据的多样性决定了这一层仍然存在许多复杂 的问 题。不过大多数的DB用户并不需要知道这些细节,视图层简化了他们与DB的交互。对同 一个DB,DBMS可能提供多个视图。15.在物理层,一条“教师记录”an instructor record可以被描述为一块连续的存储空间。编译器向开发人员隐藏了这层抽象,1.3.2 实例和方案 Instances and Schemas21. 随着信息的增减,数据库会发生变化。在某个特定时刻数据

14、库中存储的信息称为数据 库的一个实例Instance。而数据库的整体设计称之为方案Schema。22. The collection of informationstored in the database at a particular moment is called an instance of thedatabase. The overall design of the database is calledthe database schema. 数据 库的方案变动非常小。23. 方案好比程序中定义的变量和类型,程序运行的某个时刻,各个变量的值的集合构成 这个程序的实例。 A data

15、base schema corresponds to the variabledeclarations(alongwith associated type definitions) in a program. Each variable has a particularvalue at a given instant. The values of the variables in a program at apointin timecorrespond to an instance of a database schema.24. 在不同的抽象层,DBMS有不同的方案。physical sch

16、ema物理方案代表的是物理层的 数据库设计, logical schema 逻辑方案代表的是逻辑层的数据库设计,在视图层一个数据库 可能有多个不同方案,也被称为子方案subschemas,它们描述了数据库的各种视图25. logical schema 最为重要,应用程序的开发以数据库的逻辑方案为基础。数据库的物 理方案藏在逻辑方案之下,物理方案的更改一般不会影响应用程序。物理数据独立性物 理方案的变更不影响应用程序。1.3.3 数据模型26. Underlying the structure of adatabase is the data model: a collection of con

17、ceptual tools for describingdata, data relationships, data semantics, andconsistency constraints.27. 数据模型支撑着数据库的结构。它是一组用于描述数据、数据间的关系、数据的语法、 一致性约束等内容的概念性的工具。它能用于在物理层、逻辑层、视图层等各个层次描述数 据库的设计。28. 主要有 4 种数据模型29. 关系模型。30. 用一组表来描述数据以及数据间的关系。每个表由多个列组成,列的列名唯一。表, 也叫关系 Relationship。31. 关系模型是记录模型record-based mod

18、el的一种。称为记录模型,是因为在这种模型 中, the database is structured in fixed-format records of several types 数据库由 不同类型的 “记录”组成,一种类型的记录的格式是固定的。32. 每个表中的记录都属于某个特定的类型。每种类型的记录都包含一定数目字段或者属 性。表的列对应记录类型 的属性。33. The relational model uses acollection of tables to represent both data and the relationships among thosedata. Ea

19、ch table has multiple columns, and eachcolumnhas a unique name.Tablesarealsoknownas relations.The relational model is an exampleof arecord-based model. Record-based models are so namedbecausethe database isstructured in fixed-format records of several types. Each table contains recordsof a particula

20、r type. Each record type defines a fixed number offields,orattributes. The columns of the table correspond to the attributes of the recordtype. The relational data model is the most widely used data model, and avastmajorityof current database systems are based on the relational model.34. 关系对象模型,是现今使

21、用最广泛的数据模型。35. 实体关系模型Entity-Relationship Modelo ER模型包含一组基本对象实体以及实 体间的关系。实体指现实世界中的事物或对象。在数据库设计中ER模型使用较广泛。36. 面向对象模型。面向对象编程是目前的主流软件开发方法。面向对象模型作为在ER 模型的基础上加入了封装、方法、对象ID等内容。关系对象模型结合了面向对象模型和关 系模型的特点。37. 半结构化模型。与关系模型不同,在半结构化模型中,同一个类型的各数据项的属性 集合可能各不相同。XML被广泛地用于表示半结构化数据。38. 在关系模型之前还有网络模型和层次模型。这两种模型与底层实现紧密耦合,建模过 程较为复杂,因此目前已基本被淘汰。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!